hey ho ;)
ich bin grad dabei ein 32 bit ram zu bauen, das allerdings aus vier
8-bit ram blöcken besteht. funktioniert soweit auch super, nur kann ich
es nicht mit der unten stehenden funktion initialisieren.
ein "komplettes" 32-bit ram zu initialisieren ist kein problem..
aber hier krieg ich immer die warnung: line 59: Default value is ignored
for signal <MEM_FILE>
weiß einer von euch vielleicht woran das liegen könnte?
greetz
stephan
1 | type RAM_8 is array(0 to MEM_SIZE - 1) of STD_LOGIC_VECTOR(7 downto 0);
|
2 | type RAM_32 is array(3 downto 0) of RAM_8;
|
3 | type RAM_IMAGE_TYPE is array (0 to MEM_SIZE - 1) of STD_LOGIC_VECTOR(31 downto 0);
|
4 | signal RAM_IMAGE : RAM_IMAGE_TYPE :=
|
5 | (
|
6 | 000000 => x"0A001106",
|
7 | others => x"AE013FF7"
|
8 | );
|
9 |
|
10 | function load_mem(IMAGE : RAM_IMAGE_TYPE) return RAM_32 is
|
11 | variable TEMP_MEM : RAM_32;
|
12 | begin
|
13 | for j in 0 to 3 loop
|
14 | for i in 0 to MEM_SIZE - 1 loop
|
15 | TEMP_MEM(j)(i) := IMAGE(i)(j*8+7 downto j*8);
|
16 | end loop;
|
17 | end loop;
|
18 | return TEMP_MEM;
|
19 | end load_mem;
|
20 |
|
21 | signal MEM_FILE : RAM_32 := load_mem(RAM_IMAGE);
|