IO-Problem : 2 Treiber simulieren

Gast #965762
Lesenswert?

Modelsim kommt mit dem Fehler "unresolved Signal" während ein Signal aus 
2 Quellen getrieben wird.

Wie muss ich da die Ausgänge beschalten? Konkret treiben 2 FPGAs einen 
einzigen Addressbus, wobei jeweils einer als Tristate arbeitet. (Der 
Addressbus geht an die RAMs.)

Die RAMs habe ich alle auf Input, die Addressbusse der FPGAs auf INOUT, 
obwohl sie nicht lesen. Ist das so nicht richtig ?

Müsste ich beide auf OUT?
Moderator (Firma: Titel) Persönliche Seite #966215
Lesenswert?

>Konkret treiben 2 FPGAs einen einzigen Addressbus,
>wobei jeweils einer als Tristate arbeitet
Dein Problem ist nicht neu, das passiert beim MISO-Pin bei jedem 
SPI-Device: nur der gerade selektierte Slave darf die Datenleitung 
treiben.

Wie Falk schon sagte, wäre ein einfaches OUT richtiger.

Schreib das einfach concurrent hin, fertig ist die Laube:
1
   entity...
2
      port...
3
          AddrOut : OUT std_logic_vector(15 downto 0);
4
   end...;
5
   :
6
   :
7
   AddrOut <= Addresse when (IchBinAmBus='1') else (others=>'Z);
8
   :
Gast #966449
Lesenswert?

Da blicke ich aber immer noch nicht durch. Es geht wie gesagt darum, daß 
die Sim überhaupt mal laäuft. Modelsim lädt ja schon die Sim nicht. Ob 
das also mit TRistate überall stimmt, kann Modelsim eigentlich noch 
nicht wissen.

Daß ich den Bus korrekt bedienen muss und Kollisionen zu unterbinden 
habe, ist mir schon klar, genau das will ich ja simulieren.

Warum geht inout nicht? Wenn ich z.B. den Datenbus benutze, muss ich es 
ja auch so machen, daß mehrere treiben (RAM, FPGA), aber auch lesen 
können, wenn der Prozessor schreibt.

?

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