下载的8051内核是MC8051,使用的VHDL。
使用ISE在FPGA中嵌入内核的步骤如下:
创建工程,将VHDL代码加入工程中,注意那些以_cfg结尾的文件不要加入,加入后可以删掉。
然后加入RAM、ROM、RAMX 的实例。
RAM的数据宽度是8位,地址线7位(128B)。
在实例ROM时,需要使用coe文件。这个coe文件就是使用keil写的51代码生成的hex文件转换而来的。在设置ROM的地址线宽度时,设置成12位(0到11)。然后修改top文件中的RAM、ROM、RAMX。在修改ROM时,由于在实例化时只是用了12位,而核心支持的是16位的,所以高4位需要悬空。代码如下:
i_mc8051_rom : mc8051_rom
port map (clka => clk,
rsta => reset,
addra => s_rom_adr(11 downto 0),
douta => s_rom_data);
s_rom_adr(15 downto 12) <= "0000";
port map (clka => clk,
rsta => reset,
addra => s_rom_adr(11 downto 0),
douta => s_rom_data);
s_rom_adr(15 downto 12) <= "0000";
RAMX按照ROM的悬空进行设置。
在mc8051_p.vhd中不要忘了修改内部的元件定义。
之后就可以产生二进制文件,进行下载了……