Abfragen von signalen unterschiedlicher Länge

OP #1267132
Lesenswert?
• ▲
▼
Hallo -

ich habe folgendes Problem:

datain ist in einem package als std_logic_vector deklariert.
Die Länge von datain kann somit also im package geändert werden.


bisher war datain ein 16bit vector und ich konnte getrost folgendes 
abfragen:

if datain = (x"FFFF") then

wie schreibe ich das allgemein hin, um ebend nicht auf 16bit festgelegt 
zu sein, sondern ebend die Länges des datain auf F überprüft wird?
OP #1274287
Lesenswert?
• ▲
▼
Ich hätte noch eine weitere Frage was Deklarationen im package 
anbelangt:

Folgendes:

Ich habe folgende subtypes:

subtype tmp is std_logic_vector(15 downto 0);
subtype tmp2 is std_logic_vector(15 downto 0);

Ja nachdem wie groß tmp bzw. tmp1 gewählt werden
(also 15 downto 0 oder 7 downto 0 etc..)
soll ein subtype realisiert werden, der abhängig von den bit-breiten von
tmp und tmp1 ist..

Bsp:

subtype tmp is std_logic_vector(15 downto 0);
subtype tmp2 is std_logic_vector(15 downto 0);
subtype ergebnis is std_logic_vector(31 downto 0);

oder:

subtype tmp is std_logic_vector(7 downto 0);
subtype tmp2 is std_logic_vector(7 downto 0);
subtype ergebnis is std_logic_vector(15 downto 0);

wie kann ich für den subtype Ergebnis die Vectorlänge in Abhängigkeit 
von den Vectorlängen tmp und tmp1 angeben?

Grüße,
tOM
OP #1274331
Lesenswert?
• ▲
▼
Tschuldige..

Und wie fülle ich den Rest eines Vectors mit Nullen auf, wenn der Vector 
ein subtype ist?

subtype tmp is std_logic_vector(7 downto 0);


später im code:

signal a : std_logic_vector(10 downto 0);
..


a <= ('0' + tmp + "00");

die "00" muesste ich auch abhängig von der Vectorlänge von tmp machen..

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