Hey Leute, ich möchte einen großen std_logic_vector Byte für Byte füllen und zwar mit jedem Aufruf meines Prozesses. Meine Idee ist in dem Code-Schnipsel zu sehen, leider stoße ich bei der Kompilierung auf ein Problem mit Quartus 13.1, welches diesen Code aufgrund eines internen Fehlers so nicht verarbeiten kann. http://www.altera.com/support/kdb/solutions/rd12122013_218.html Ein Upgrade der Quartus Software ist wegen Cyclon II Support nicht möglich. Deshalb meine Frage, gibt es eine andere Möglichkeit den Vektor schritt für schritt mit Daten zu füllen?
1 | -- Signal Declaration
|
2 | SIGNAL pc_input_buffer_r : std_logic_vector(5119 downto 0) := (others => '0'); -- 640 Bytes |
3 | SIGNAL usb_datain : std_logic_vector (7 downto 0); |
4 | SIGNAL i : integer := 1; |
5 | |
6 | -- Code inside my process
|
7 | pc_input_buffer_w <= pc_input_buffer_w(i*8-1 downto 0) & usb_datain; -- shift bytes left and add new data |
8 | i <= i + 1; |