Modelsim仿真MC8051(V1.5)软核时ROM的初始化

 1 Modelsim仿真MC8051(V1.5)软核时ROM的初始化
2
3 一、仿真文件自动初始化
4 1. hex2dual程序将mcu的intel hex文件转为*.dua文件;
5 2. 文件mc8051_rom_.vhd 中 N75: generic (c_init_file : string := "mc8051_rom.dua");指定了ROM的初始化文件
6 3. 文件mc8051_rom_sim.vhd中 N68: signal s_init : boolean := false 说明由vhd自动初始化ROM.
7 下面的代码具体实现了ROM的初始化:
8 if (not s_init) then
9
10 v_loop := 0;
11
12 while ((not endfile(f_initfile) and (v_loop < 65535)))
13 loop
14
15 readline(f_initfile,v_line);
16
17 read(v_line,v_rom_data(v_loop));
18
19 v_loop := v_loop + 1;
20
21 end loop;
22
23 s_init <= true;
24
25 end if;
26
27 二、手动初始化ROM
28 1. hex2dual程序将mcu的intel hex文件转为*.dua文件。用notepad++打开mcu的hex文件,使用插件--->NppExec--->Execute--->Commands--->hex2dual将hex文件转换为*.dual的二进制文件;(NppExec插件中hex2dual命令的配置为:H:\F_FPGA\8051软核\MC8051\V1.4\MC8051V1.4\mc8051\c\hex2dual $(FILE_NAME) )
29 2. 将*.dual改为*.mem;
30 3. 在mc8051_rom_sim.vhd中 N68: signal s_init : boolean := false; 改为 signal s_init : boolean := true;
31 3. Modelsim执行仿真后,在Memory中将ROM打开,并用import--->Verilog Binary将*.mem刷进ROM
posted @ 2012-03-07 09:59  fishplj2000  阅读(967)  评论(0编辑  收藏  举报