buss(1 to 1)

Gast #389337
Lesenswert?
• ▲
▼
quick question an euch

warum lässt sich das nicht zuweisen?

buss: bit_vector(1 to 3) := b"000";
c: bit;

c <= buss(1 to 1);

hab das in dem Buch gesehen, hab mich noch gewundert
und jetzt beim ausprobieren klappt das nicht.

Klar kann man buss(1); machen
Aber was ist falsh an buss(1 to 1)?

Werde mal nochmal im Buch nachschauen
Gast #389339
Lesenswert?
• ▲
▼
Grob gesagt alles mit einem range (also "(a to b)") ist ein (Teil
eines) Feld(es), während alles mit einem index (also "(a)") ein
Element des Feldes und somit kein Feld selber ist.

Also range -> std_logic_vector
index          -> std_logic;

Und dank strikter Typüberprüfung passt ein std_logic_vector nicht in
ein std_logic.
Auch wenn nur ein Element ausgewählt ist.
Gast #389340
Lesenswert?
• ▲
▼
wenn die Deklaration so aussieht

c: bit_vector(1 to 1) := "1";

dann funktioniert auch

c <= clk(1 to 1);

wahrscheinlich kommt als Typ von Slice auch ein vector
also wie FPGAküchle gesagt hat

ich schaue mal im Buch in welchem Kontext es auftrat
wenn ich finde poste ich nochmal kurz

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