Resize funktioniert nicht

#2414886
Lesenswert?

Hallo

Ich habe folgenden Resize probiert nur leider funktioniert er nicht und 
ich habe keine Idee was ich falsch machen:
1
my_logic_vector <= std_logic_vector(resize(unsigned(x"434A"), my_logic_vector'length));

Fehlermeldung "Expression has ambiguous type" ich vermute es liegt am 
unsigned(x"434A") habe jedoch keine idee wie ich es sonst schreiben 
könnte.

lg Michael
Moderator (Firma: Titel) Persönliche Seite #2414995
Lesenswert?

Hier mal eine Aufstellung, was geht und was nicht:
1
signal slv  :  std_logic_vector (15 downto 0);
2
signal uv   :  unsigned (15 downto 0);
3

4

5
slv <= std_logic_vector(resize(x"1234", slv'length));
6
--> Expression in type conversion to std_logic_vector has 2 possible definitions in this scope, for example, SIGNED and UNSIGNED.
7

8
slv <= std_logic_vector(unsigned'(resize(x"1234", slv'length)));
9
--> ok, das Ergebnis von resize ist ein unsigned Vektor
10

11
slv <= std_logic_vector(resize(unsigned(x"1234"), slv'length));
12
--> Expression in type conversion to unsigned has 7 possible definitions in this scope, for example, std_ulogic_vector and std_logic_vector.
13

14
slv <= std_logic_vector(resize(unsigned'(x"1234"), slv'length));
15
--> ok, die Konstante x"1234" ist ein unsigned Wert
16

17
uv <= resize(unsigned(x"1234"), uv'length);
18
--> Expression in type conversion to unsigned has 7 possible definitions in this scope, for example, std_ulogic_vector and std_logic_vector.
19

20
uv <= resize(unsigned'(x"434A"), uv'length);
21
--> ok, die Konstante x"1234" ist ein unsigned Wert
22

23
uv <= resize(x"434A", uv'length);
24
--> ok, der Typ von uv wird für resize verwendet
Gast #2415440
Lesenswert?

QuestaSim kompiliert mir das auch für einen 58 Bit Vektor (für die 
Simulation hab ich hier grad keine Zeit) und ich sehe nicht, warum das 
nicht mit beliebigen Vektrogrößen gehen soll. Ich hab noch den 
pedantic-switch dazu getan, da stört sich der Questa an zwei anderen 
Dingen aber diese Zuweisung geht durch.

Warum sollte es denn nicht gehen?

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