Содержание Файла MIF автоматически изменяется после инициализации ROM с файлом

Я работаю над единственным циклом risc процессор. Я использую altera LPM волшебный порт ROM 1 для памяти инструкции. ROM инициализируется mif файлом. Содержание файла дано ниже

WIDTH=16;
DEPTH=256;

ADDRESS_RADIX=HEX;
DATA_RADIX=HEX;

CONTENT BEGIN
-- default value
[00..FF] : 00;

-- instructions

00  : 2401;  -- ADI R1, R0, x01
01  : 2802;  -- ADI R2, R0, x02
02  : 2C03;  -- ADI R3, R0, x03
03  : 3011;  -- ADI R4, R0, x11
04  : 1648;  -- ADD R5, R4, R4
05  : 1AC8;  -- ADD R6, R5, R4
06  : C0C1;  -- ST  R1, R4
07  : C151;  -- ST  R2, R5
08  : C1E1;  -- ST  R3, R6
09  : 80FF;  -- BZ  R0, -1

END;

После того, как я закончу процесс инициализации, содержание mif файла автоматически изменяется на

-- Clearbox generated Memory Initialization File (.mif)

WIDTH=16;
DEPTH=256;

ADDRESS_RADIX=HEX;
DATA_RADIX=HEX;

CONTENT BEGIN
000  :   FFF0;
001  :   FFF1;
002  :   FFF2;
003  :   FFF3;
004  :   FFF4;
005  :   FFF5; 
     -------------
    -------------
    0fd  :   FFFD;
0fe  :   FFFE;
0ff  :   FFFF;
END;

Я понятия не имею, что происходит, поэтому, пожалуйста, помогите.. Я просто изучаю программирование VHDL

0
добавлено
Просмотры: 1
de

1 ответы

Это не проблема VHDL! Но IMO, VHDL дает вам лучший ответ. Замените это "Волшебный ROM LPM" простым VHDL постоянное множество, инициализированное (в VHDL) к ценностям, которые вы хотите.

package InstMem is

type Instruction is std_logic_vector(15 downto 0);
type ProgMem_Array is array 0 to 255 of Instruction;

constant Progmem : Progmem_Array := (
   00  =>  16#2401#,  -- ADI R1, R0, x01
   01  =>  16#2802#,  -- ADI R2, R0, x02
   02  =>  16#2C03#,  -- ADI R3, R0, x03
   others => (others => 0) );

end package InstMem;

Убеждение вашего ассемблера или сценария Пайтона, чтобы написать этот пакет VHDL тривиально...

0
добавлено
моя домашняя работа должна проектировать risc процессор при помощи Волшебного порта ROM 1 LPM как память инструкции, таким образом, я могу изменить это. Я закончил другие вещи, но здесь я застрял.
добавлено автор kajay, источник
Я проверил в Куарте II 12.0, и это хорошо работает. В Куарте II 8.1 это не работало.
добавлено автор kajay, источник