mikrocontroller.net

Forum: FPGA, VHDL & Co. Typecast in VHDL


Autor: Andi Z. (duderino65)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

ich habe das Problem, dass ich ein Signal (Typ: std_logic) in ein Vector 
(Typ: std_logic_vector) wandeln muss. Wie kann ich das machen?

Hier ein Teil des Codes:

entity:
SDTI_OUT : out std_logic_vector(0 downto 0);

arch:
signal SDTI_BUF_1   : std_logic_vector(0 downto 0);
signal SDTI_BUF_2   : std_logic_vector(0 downto 0);
signal RDEN_BUF   : std_logic;
...
SDTI_OUT <= (SDTI_BUF_1 and (RDEN_BUF) or (SDTI_BUF_2 and 
not(RDEN_BUF));


Das Vector Signal stammt aus nem FIFO den ich mit IPexpress von Lattice 
hab generieren lassen. Deshalb nur (0 downto 0). Hab dann meine Signale 
einfach angepasst.

MfG

Andi

Autor: SuperWilly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Andi,

z.B. so:
SDTI_OUT(0) <= (SDTI_BUF_1(0) and (RDEN_BUF) or (SDTI_BUF_2(0) and
not(RDEN_BUF));

Gruß,
SuperWilly

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dumme Frage eines VHDL-Anfängers, sollte es nicht so gehen:
SDTI_OUT(0) <= (SDTI_BUF_1 and (RDEN_BUF) or (SDTI_BUF_2 and not(RDEN_BUF));

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

Bewertung
0 lesenswert
nicht lesenswert
Nimm doch nur das nullte Element des Vektors, vielleicht geht das  ;-)
So etwa:
SDTI_OUT(0) <= (SDTI_BUF_1(0) and (RDEN_BUF) or (SDTI_BUF_2(0) and not(RDEN_BUF));

Edit: Pech, Dritter ;-)

Autor: Andi Z. (duderino65)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mh, funktioniert.
habs gestern aber auch in etwar so gemacht. naja ok.

vielen dank :-)

MfG

andi

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:

> Edit: Pech, Dritter ;-)

Dafür hast du als Einziger von uns dreien geschnallt, dass die
Eingangsseite ja auch ein Vektor ist. ;-)

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

Bewertung
0 lesenswert
nicht lesenswert
Jörg Wunsch schrieb:
> Dafür hast du als Einziger von uns dreien geschnallt, dass die
> Eingangsseite ja auch ein Vektor ist. ;-)
Danke der Ehre, aber SuperWilly hat das auch schon gesehen.
Leider hat er dabei inkompatible Tags verwendet (vermutlich [c])...

Und ausserdem haben wir alle die falsche/unnötige Klammerung nicht 
korrigiert. Sei's drum...   ;-)

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.