2012-04-12 3 views
0

Ich arbeite an einem Xilinx-Modul, und während der Simulation nimmt einer meiner Drähte den Wert "x00000x0000x000x". Was bedeutet das?Was bedeutet "x00000x0000x000x" in Verliog?

+0

Dies wurde schließlich gelöst, indem wir erkannten, dass wir einen Draht in unserem Code neu deklariert hatten. Es ist nicht klar, warum dieses Signal auftrat. –

+0

deklarieren Sie einen Draht mehrere Zeit ist ähnlich wie Multi-driven. Es kann simuliert werden und einige Simulatoren können es auf diese Weise anzeigen. Wenn dieser Code synthetisiert wird, erwarte ich eine Warnung, die die doppelte Deklaration sagt. –

Antwort

3

Ist das ein binärer oder hexadezimaler Wert?

Grundsätzlich bedeutet das, dass Sie einen Bus mit Drähten haben, in dem einige Bits X (unbekannt) sind und andere 0 sind.

Wenn ich diesen Binärwert sah: 0x0x0x, würde es nur bedeuten, dass die Bits 5,3 und 1 sind 0, und die Bits 4,2 und 0 sind X.

+1

Nur zusätzliche Informationen. Wahrscheinlich hängt es vom Simulator ab, aber wenn der Wert hex ist, bedeutet x & X entweder ein Bit des Nibbles ist 'x' (zB '01x0') oder alle Bits des Nibbles sind 'x' (zB 'xxxx') –

+0

Es ist ein binärer Wert. –

2

Grundsätzlich bedeutet dies zwei Probleme:

  1. die Drähte X Signalisierung diese Drähte bedeuten kann, oder deren Treiber nicht korrekt initialisiert. Wenn sie noch nicht durch irgendwelche praktischen Daten initialisiert sind oder nicht in dem Entwurf verwendet werden, kann dies ignoriert werden. Ansonsten sollten sie behoben werden.

  2. Multi-driven Problem auch Ursache X. Wenn die X-Signalisierung Ursache durch Drähte mehrere Treiber haben, sind diese Fehler und müssen behoben werden.