std_logic_vector auf Integer testen

#548613
Lesenswert?

@ Peter

>Gibt es eine Möglichkeit einen std_logic_vektor auf eine bestimmte
>Dezimalzahl zu prüfen?

Sicher.

>Klar, ich könnte die Dezimalzahl erst manuell in Binär umrechnen und

Aua! Nein, so macht man das nicht.

>dann auf das Binärmuster testen, aber gibt es noch eine andere
>Möglichkeit?

Einfach hinschreiben. Damit das funktioniert brasucht man nur die 
Bibliotheken.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;


....

signal my_vector: std_logic_vector(7 downto 0)

--im Prozess

if my_vector = 55 then

MFG
Falk

Gast #549702
Lesenswert?

Okey, danke für eure nette und mehr als schnelle Hilfe!
Verwendet habe ich
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.STD_LOGIC_ARITH.ALL;
4
use IEEE.STD_LOGIC_UNSIGNED.ALL;
Syntetisieren konnte ich jetzt alles ohne Probleme. Bin nur mal 
gespannt, ob es auch läuft, so wie ich mir das vorstelle, aber das werde 
ich erst am Montag erfahren.
Gast #549987
Lesenswert?

Merkt der Compiler auch wenn die Integerzahl die ich angebe zu groß für 
den Vektor ist?

z.b.

signal my_vector: std_logic_vector(7 downto 0)

--im Prozess

if my_vector = 401 then

Grüsse

Sebastian
Gast #2021569
Lesenswert?

Auch wenn das hier alt ist:
Spaßvogel... "der Compiler" - selbst ohne verschiedene Versionen sind es 
mindestens 3 (und da wird es noch ein paar mehr geben als ich bisher 
gesehen habe...)
--> kann sein, dass "der Compiler" erkennt, dass die Zahl zu groß ist 
für den Vector, kann aber auch sein, dass er es ignoriert, die Zahl 
einpasst und nur mit x Bit testet...(i.A. ist selber testen bei sowas 
leichter/schneller als rumfragen und am Ende wundern warum die Antworten 
nicht stimmen - falsches Tool, falsche Version, veränderte 
Einstellungen, ...)

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