ISE IOBUF MACRO

Gast #418021
Lesenswert?
• ▲
▼
Servus,

versuche angehangenes Macro mit Modelsim zu simulieren, bekomme es
jedoch nicht hin. Gelesen wird mit data_tri_en = '1' und geschrieben
mit data_tri_en '0'. Einzeln funktioniert, das heißt, wenn ich in der
Testbench die jeweilige Zeile auskommentiere. Also, wenn ich "data <=
std_logic_vector(cnt_up);" auskommentiere ist funktioniert das lesen
und wenn ich "rd_data <= std_logic_vector(cnt_down);" auskommentiere
funktioniert das schreiben.  Aber wenn beides zusammen spielen soll,
funktioniert nur das Schreiben, beim Lesen bekomme ich dan´n an den
Stellen im std_logic_vector, wo eine '1' stehen müsste ein 'X'. Bin
am Verzweifeln, falls ich etwas falsch mache, klärt mich bitte auf. Als
Testdaten wird jeweils ein Counter verwendet, UP zum Schreiben und Down
zum Lesen. Testbench folgt.

Gruß ehde76
Angehängte Dateien:
Gast #418024
Lesenswert?
• ▲
▼
Hallo,
ich glaube, der Fehler liegt daran, daß Du "data" beim Lesen nicht
hochohmig schaltest.
data ist ja dein externer Bus. Mit
data <=std_logic_vector(cnt_up);
schreibst Du etwas auf diesen Bus. Dieser Wert bleibt bestehen.
Wenn Dein Tristate-Treiber nun auch etwas schreibt, gibt's einen
Konflikt.
Du muß vor dem Lesen den Bus data mit
data <= (others => 'Z')
hochohmig schalten.

Grüße
Klaus

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren