Forum: FPGA, VHDL & Co. Xilinx CPLD XC95xxXL, Multiple Treiber


von Sebastian H. (sebihepp)


Lesenswert?

Hallo,

ich mache gerade meine ersten Gehversuche mit CPLDs. Ich möchte einen 
kleinen Speichercontroller "Schematisch" erstellen, welcher DualPort RAM 
nachahmt. Ich will erst das Design machen, bevor ich einen CPLD kaufe um 
zu sehen, ob das alles da rein passt. Später soll daraus nämlich eine 
kleine Grafikkarte werden.

Nun zu meinem Problem: Ich habe 2 Adressbusse. Diese werden über einen 
Outputbuffer mit Enable verbunden. Aber Xilinx ISE meckert immer, dass 
ich mehrere Treiber an den selben Bus hänge. Aber das ist ja gewollt und 
ich passe auf, dass nicht mehr als einer gleichzeitig Treibt, indem ich 
den anderen Disable. Wie kann ich Xilinx ISE das beibringen? Ich wollte 
erst noch ORs benutzen, aber da scheint es keine für 24Bit Busse zu 
geben?

Viele Grüße
Sebihepp

von Klaus F. (kfalser)


Lesenswert?

Ein CPLD und auch (fast) kein FPGA haben interne Treiber die hochohmig 
werden können. Du kannst deshalb keinen Bus innerhalb des CPLDs haben.

Die Tri-state Driver des CPLDs sind nur für Pins nach außen.

von Sebastian H. (sebihepp)


Lesenswert?

Okay, danke.

Verdammt. Dann muss ich mir etwas anderes überlegen. Kann ein FPGA das?

Edit:
Sorry, hab gerade gelesen, dass auch fast keine FPGA das können. Hmmm, 
jetzt ist Gehirnschmalz gefragt. =)

von Bürovorsteher (Gast)


Lesenswert?

> Ich wollte erst noch ORs benutzen, aber da scheint es keine für 24Bit
> Busse zu geben?

Nein, die gibt es in der Tat nicht. Die schnellste Lösung ist hier ein 
in VHDL geschriebener Multiplexer. Das sind nur ein paar wenige Zeilen.
Solche Sachen waren für mich der Antrieb, VHDL zu lernen.

von Sebastian H. (sebihepp)


Lesenswert?

Okay, dann werd ich mir VHDL beibringen müssen. Schaden tut's ja nicht. 
;)

Ich frag mich nur noch, was das Objekt "OutputBuffer mit Enable" macht? 
Schaltet der dann auf Low, wenn Enable Low ist?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> was das Objekt "OutputBuffer mit Enable" macht?
Der schaltet den internen Pegel an einen Ausgangspin durch, wenn 
"Enable" aktiv ist. Ist "Enable" inaktiv, dann ist der Pin hochohmig. 
Das funktioniert aber wie schon gesagt nur an IO-Pins, nicht innerhalb 
des CPLDs...

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.