mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL: Typkonvertierung Integer<->irgendwas mit Tristate


Autor: Thomas Faust (Gast)
Datum:

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

Autor: toddoy (Gast)
Datum:

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

Autor: Thomas Faust (Gast)
Datum:

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

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.