Bi-Directionale PINs in VHDL

Gast #202119
Lesenswert?

Hallo,
bidirectionale Ports erreichst du in dem du sie als "inout"
definierst.
z.B. :  data: inout std_logic_vector(7 downto 0);

Multiplex weiss ich z.Zt. auch noch nicht (bin selbst Anfänger mit
CPLDs).

Gruß
-=jens=-
Gast #202120
Lesenswert?

Erst mal einen inout def., wie Jens schon schrieb.
Du schaltest deinen Port hochohmig, indem du ihm statt eines Wertes
'Z's zuweist. Dann kannst du den Wert von aussen lesen. Da
Macrozellen auf dem Chip keinen hochohmigen Zustand kennen, wird das
der Fitter über Multiplexer realisieren. Die Anschlüssse des CPLDs sind
aber natürlich bidirektional. (war es vielleicht das, was du mit
multiplexen gemeint hast?)
Multiplexer programmiert man mit der case-Anweisung. Je nach
verwendeter Software und der Art der Benutzung können aber auch
if-Anweisungen zu Multiplexern "gefittet" werden. Lerne die Sache
selbst auch noch.
Hoffe, dass hilft weiter.

Gruß Henrik
Gast #202122
Lesenswert?

Unter gemultiplexten Adress- und Datenbus würde ich die Übergabe von
Adressen und Daten über den selben Adress/Datenbus verstehen ein Pin
bestimmt og gerade Adresse oder Daten eingelesen werden sollen.
Übliches Verfahren bei Controllern und Speicher einfach um Pins zu
sparen.
Ansonsten kann ich euch nur zustimmen...
Gast #202123
Lesenswert?

Also der OBUFE dürfte ein Output Buffer mit Enable sein.

Falls du wirklich einen gemultiplexten Bus anschliessen willst, dann
ist woll IOBUF das bessere Makro.

Das mit dem INOUT stimmt nur teilweise.
Ihr solltet euch mal den unterschied vo INOUT unf BUFFER klar machen.

Beim INOUT kann die Datenrichtung rein exclusive oder raus sein.

Beim BUFFER könnnt ihr den getrieben Zustand zurücklesen  oder den
angelegten Zustand einlesen.

Es kommt dabei aber immer auf die Technologie an, für die man das ganze
beschreibt.
Z.B. braucht man bei Atmel PLDs fast immer Buffer anstatt INOUT.

Ein Buffer entspricht auch eher der Funktion einer Makrozelle eines
GALs oder PLDs.

Gruß


Max

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