Hallihallo, ich möchte einem Bitvektor mit 32bit breite, die Werte aus einem array aus Bitvektoren mit 8bit Breite zuweisen. Bisher hab ich das immer so gemacht: Output_Word_1 : out std_logic_vector(31 downto 0); type receive_array is array(0 to (Receive_Words * 4 + 3)) of std_logic_vector(7 downto 0); Output_Word_1 <= receive_buffer_2(4) & receive_buffer_2(5) & receive_buffer_2(6) & receive_buffer_2(7); Das ganze wird aber bei vielen oder sehr großen Vektoren sehr unübersichtlich. Geht das irgendwie einfacher? So in der Richtung: Leider falsch: Output_Word_1 <= receive_buffer_2(4 to 7); Danke.
Jannis N. schrieb: > Geht das irgendwie einfacher? Du könntest es mit einer Funktion lösen, in der dann (per Schleife) diese Concatenation gemacht wird. Aber ob das einfacher ist, das lasse ich mal dahingestellt.
Ich hätte da mal diesen Vorschlag:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.