Aschenbecher schrieb:
> signal vektor_a, vektor_b : std_logic_vector(3 downto 0);
> signal erg1, erg2, erg3 : std_logic_vector(7 downto 0);
> erg1 <= -- oberes Nibble von erg1 = Vektor_a
> Ich solle hier eine Konkatenation durchführen
Damit kannst du eigentlich kannst du keine Konkatenation machen. Denn
eine Konkatenation ist wie das englische Wort "concatenation" schon
aussagt, eine Verknüpfung/Verkettung. Du hast aber nur eine Teilmenge...
Seis drum...
Hier eine mögliche Lösung deiner Hausaufgabe:
1 | erg1(7 dwonto 4) <= vektor_a; -- oberes Nibble von erg1 = Vektor_a
|
Oder, wenns unbedingt mit einer Konkatenation sein muß:
1 | erg1(7 dwonto 4) <= vektor_a(3 downto 1) & vektor_a(0); -- oberes Nibble von erg1 = Vektor_a
|
Eine Frage bleibt allerdings: was soll mit dem unteren Nibble von erg1
passieren?
Dir ist klar, dass dir meine Antworten nichts bringen, wenn du die
vorige Frage nicht beantwortest?
Aschenbecher schrieb:
> aber wenn man nichts findet,
Fasl gesucht!
Such mal nach concatenation vhdl
http://www.google.de/search?q=concatenation+vhdl&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a
Und er erste Link:
http://www.gmvhdl.com/operator.htm
beschreibt:
1 | The following statement would connect a to the right half of b and make the left half of b constant '0'.
|
2 | b<="0000" & a;
|
3 | The & appends the a to the end of the "0000" to form a result that contains 8 bits.
|