首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Xilinx MicroBlaze的使用方法

Xilinx MicroBlaze的使用方法

建立一个ISE的工程,工程的顶层文件为schematic的。然后根据实际需要添加自己的逻辑或处理部分。Microblaze可以像一个IP一样同时应用到自己的设计中去。具体方法如下:

1、在工程中选择Add Source,在选择框中选择EmbeddedProcessor,假设为该处理器起名为Microblaze_xxx。

2、此时ISE会自动启动XPS,在XPS中根据导向设置自己的Microblaze_xxx处理器的参数,并生成网表(注意必须在EDK中生成)。

3、选中Microblaze_xxx,双击View HDL Instantiation Template生成例化文件。如果要使得Microblaze的管脚既可以和FPGA的外部通用IO连又能和内部的用户逻辑连接,则要将例化文件中关于对Microblaze管脚加BUF类的语句删除。

4、由例化文件生成一个schematic symbol。

5、这个schematicsymbol即为Microblaze处理器核。用户可以像使用其他普通核一样使用它。

6、下面是生成mcs烧写文件。具体步骤如下:

7、

9、在XPS中编写软件。

10、如果想要microblaze自举加载,则要在处理器设置的PARAMETERS中的C_NUMBER_OF_PC_BRK的参数改为1。

12、将edkBmmFile.bmm文件中的每一行第一个 /删除,并将文件属性改成只读,改名microblaze1_stub.bmm文件为microblaze1_bd.bmm文件

13、将Microblaze_xxx_bd.bmm文件里加上PLACED语句指定对应使用哪个BlockRAM。格式如:
// File:f:\qpsk\microblaze1\implementation\microblaze1_stub.bmm
ADDRESS_BLOCK lmb_bram RAMB16 [0x00000000:0x00001fff]
BUS_BLOCK
microblaze1_i/lmb_bram/lmb_bram/ramb16_s9_s9_0 [31:24]PLACED=X0Y0;
microblaze1_i/lmb_bram/lmb_bram/ramb16_s9_s9_1 [23:16]PLACED=X0Y1;
microblaze1_i/lmb_bram/lmb_bram/ramb16_s9_s9_2 [15:8]PLACED=X0Y2;
microblaze1_i/lmb_bram/lmb_bram/ramb16_s9_s9_3 [7:0]PLACED=X0Y3;
END_BUS_BLOCK;
END_ADDRESS_BLOCK;
14、在PACE里也对应的对Block RAM进行配置。

15、写好用户软件后先将函数库链接好(用tool菜单下的GenerateLibraries andBSP)然后编译(用tools菜单下的Build AllUser Applications)

16、在ISE下,双击Update Bitstream with ProcessorData,重新生成比特流文件将原来的download.bit文件覆盖。

17、再用ISE由download.bit产生MCS文件,烧写到FPGA中去即可。

18、在FPGA中实时调试Microblaze----在XPS中,先打开XMD,检测到Microblaze,并且不要将XMD关掉,然后打开SoftwareDebugger(这两个命令在ISE的命令窗中和XPS的Tools菜单下都有)就可以开始调试了。如果以UART作为标准输入输出,则在Microblaze的程序中用print命令就可以在超级终端中输出相应的内容了。

19、在生成mcs文件的过程中还会产生下面两个错误,但应该不影响应用。如果要消除着俩个错误,则要将工程所在文件夹下.bmm文件里的第一个“/”删掉,并将该文件属性改为只读型。
返回列表