Integerzahl bitvektor zuweisen

Gast #2897572
Lesenswert?
• ▲
▼
Hey, ich bin Anfänger in VHDL.


in meiner Entity habe ich als Port
1
ausgang: std_logic_vector(2 downto 0)

deklariert.

in der architecture habe ich
1
variable counter: integer range 0 to 7 :=3;

deklariert.

bei der zuweisung
1
ausgang <= counter;

kommt eine Fehlermeldung.


Gibt es einen einfachen Mechanismus in VHDL mit dem ich eine gewöhnliche 
Zahl dem Ausgang zuweisen kann und der daraus automatisch eine Binärzahl 
macht?


beste Grüße und Vielen Dank

Alex
Gast #2897600
Lesenswert?
• ▲
▼
Hallo Alex

alex schrieb:
> Gibt es einen einfachen Mechanismus in VHDL mit dem ich eine gewöhnliche
> Zahl dem Ausgang zuweisen kann und der daraus automatisch eine Binärzahl
> macht?
Du musst casten. Probier das hier mal. Hab schon lange kein VHDL mehr 
gemacht..
1
ausgang <= std_logic_vector(to_unsigned(integer(counter,ausgang'length)));

Ansonsten schau mal hier:
http://www.lothar-miller.de/s9y/categories/1-VHDL


Gruß Steffen
Moderator (Firma: Titel) Persönliche Seite #2897674
Lesenswert?
• ▲
▼
alex schrieb:
> variable counter: integer range 0 to 7 :=3;
Wo lernt man heutzutage eigentlich, für jeden schäbigen Zähler eine 
Variable zu verwenden? Siehe dazu den 
Beitrag "Variable vs Signal"

> bei der zuweisung
>   ausgang <= counter;
> kommt eine Fehlermeldung.
Ja, denn da bleibst du an der restriktiven Typprüfung von VHDL hängen. 
Es gibt keinen impliziten Automatismus, der zwischen Vektor, Integer und 
Real-Zahl hin- und her castet wie z.B. bei C oder Basic...

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