www.mikrocontroller.net

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


Autor: Sebastian Hepp (sebihepp)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian Hepp (sebihepp)
Datum:

Bewertung
0 lesenswert
nicht 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. =)

Autor: Bürovorsteher (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian Hepp (sebihepp)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.