Realisiere den Anschluß eines gemultiplexten Adress/Datenbusses an einen Xilinx CPLD. Wie realisiere ich die Bidirectionalen PINs die ich dafür brauche? Gruß Falk S.
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=-
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
Danke für eure Antworten! Ich habe das jetzt auf der schematic-Ebene gelöst: obuf, den man hochohmisch abtrennen kann (obufe)...vermutlich das gleiche in grün, was Du in VHDL beschrieben hast. Gruß Falk S.
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...
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.