Forum: FPGA, VHDL & Co. QuartusII 13.0.1 Problem


von Holm T. (Gast)


Lesenswert?

Servus,

ich bin auf ein seltsames Problem bei Quartus II gestoßen,
wie schon erwähnt bin ich dabei ein TTL Grab in ein CPLD (EPM3064) zu 
verpflanzen und aus der existierenden Schaltung etwas Platzsparendes zu 
machen. Es handelt sich um einen IDE Controller für eine PDP11.

Das Ding besteht im Wesentlichen aus einer Zeit-und Zustandssteuerung 
und diversen Registern für den Controller, z.B. muß ein Interruptvektor 
erzeugt und auf den Bus geschaltet werden als auch z.B.ein 
Statusregister.
Ich habe zuerst die Zeit und Zustandssteuerung in das CPLD integriert 
und zwar mit dem Schematic Editor in Form von den TTL Primitives die 
auch in der originalen Schaltung verwendet werden. Ich benötige dann 
aber immer noch extern 6 Stück 74LS244 um auf dem Datenbus eben die 
Register darzustellen oder den Vektor einzublenden etc.
Ich habe deshalb zuerst versucht Sowas wie "alt_buffer_tri" zu 
verwenden, da hat mich das Ding angebrochen das die bei dem von mir 
verwendeten Device nicht unterstützt sind. Ok, nehme ich halt 74244. 
Jetzt beschwert sich der Analyzer das das Signal DB6 (das auch zur 
Decodierung interner Zustände als Eingang existiert, aber keine 
Rückführung in dem Sinne ist) nun von 2 Ausgängen getrieben wird, 
nämlich der jeweilige Ausgang 6 von 2 verschiedenen LS244. Diese beiden 
Treiber sind aber nie gleichzeitig aktiv, da deren /OE Eingänge eben 
freigegeben werden wenn entweder ein Vektor auszugeben oder das 
Statusregister zu lesen ist.

Wie mache ich das dem Analyzer klar? Mir ist klar, das wenn ich über 
diesen Fehler drüber komme, die restlichen Datenbuspins angemeckert 
werden
bei denen ja auch 2 Ausgänge aufeinander führen.

Bitte keine Hinweise wie "das wäre mit VHDL/Verilog nicht passiert". Das 
nützt mir im gegebenen Fall wirklich herzlich wenig.

BTW: das was ich umzubasteln gedenke findet sich hier:

http://www.telegraphics.com.au/pdp11/dsu/

als WAU1420.pdf (eine SM1420 hatten wir mal im Rechenzentrum der Uni in 
FG)

Falls sich hier Jemand fpr Geriatronic Interessiert, hier ist ein Bild 
der E60 in der der Controller werkeln soll, die oberste Platine ist die 
in etwas PDP11/03 kompatible CPU mit 4K Worten DRAM (links, rosa):

http://www.tiffe.de/Robotron/PDP-VAX/E60/CPU-oben.jpg

Gruß und Dank im Voraus,

Holm

von Schorschi (Gast)


Lesenswert?

Hi,

die Kurschlüße an den Ausgängen wirst du so nicht einfach wegbekommen.
Ich würde hier einen Multiplexer / Umschalter einbauen der abhängig von 
der Auswahl der Ausgangsbausteine den Ausgang weiter schaltet. Damit 
kann die Synthese auch was anfangen und es gibt keine Kurzschlüße 
zwischen Ausgängen.

Gruß,
Schorschi.

von Holm T. (Gast)


Lesenswert?

Das Problem hat sich verkrümelt als ich die Ausgänge auf bidirektional 
gesetzt hatte, (das machte sich zum Teil notwendig durch andere 
Schaltungsteile notwendig).

2 zu verschiedenen Zeiten eingeschaltete Ausgangstreiber sind bereits 
ein Multiplexer, ich hätte nach deiner Methode also durch zusätzliche 
Hardware den Softwarebug vertrieben..glücklicherweise ging es auch so.

Danke trotzdem,

Holm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.