Ich hätte bei meinem CPLD gerne Tristate-Ausgänge, da es sich den Adressbus zum SRAM mit einem µC teilen muss (bei µC-Zugriff soll das CPLD über einen Reset-Pin gesteuert auf High-Impedance/Z gehen). Ich hatte das Prigramm für den CPLd zuerst unter der Benützung von eingang : in unsigned (7 downto 0); etc. geschrieben, jedoch bringe ich es nicht fertig, diesen Variablen einen Z-Zustend zuzuweisen, obwohl sie ja prinzipiell als STD_(U)LOGIC-Array definiert sind. Wie geht das, bzw alternativ: Kann ich auch irgendwie von integern zu std_logic_vector konvertieren und halt dann dort auf Z gehen? Ich hab schon ein bisschen im Internet gescuht, aber alle Beispiele, die ich fand, haben (un)signed stets bloß Zahlenwerte zugewiesen.
einem unsigned wert einen Z Wert zuzuweisen geht nicht, weil nicht definiert. Um nur ein paar Beispiele zu nennen alles in std_logic_arith.all definiert, da findest du noch einige andere Funktionen als auch in std_logic_unsigned.all Druck dir am besten die Interessierenden Seiten aus der Datei aus, sonst hast du gar keinen Überblick was alles geht. Vergiss nicht Type Cast gibt es auch noch function CONV_STD_LOGIC_VECTOR(ARG: UNSIGNED; SIZE: INTEGER) function CONV_STD_LOGIC_VECTOR(ARG: INTEGER; SIZE: INTEGER) function CONV_STD_LOGIC_VECTOR [STD_ULOGIC, INTEGER return STD_LOGIC_VECTOR] CONV_STD_LOGIC_VECTOR [INTEGER, INTEGER return STD_LOGIC_VECTOR] function CONV_STD_LOGIC_VECTOR(ARG: UNSIGNED; SIZE: INTEGER)
Vielen Dank, nachdem ich jetzt auch noch nebenbei von Lattice ISE mit Synplify auf Xilinx Webpack umgestiegen bin (Reichelt hat keine preiswerten CPLDs mit >32 IOs von Lattice) scheint alles gut zu klappen...
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.