查看: 3222|回复: 1

如何使用Microblaze软核

[复制链接]
  • TA的每日心情
    开心
    2014-5-14 13:12
  • 签到天数: 180 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-1-22 13:58:56 | 显示全部楼层 |阅读模式
    分享到:
    [size=13.63636302947998px]建立一个ISE的工程,工程的顶层文件为schematic的。然后根据实际需要添加自己的逻辑或处理部分。Microblaze可以像一个IP一样同时应用到自己的设计中去。具体方法如下:
    [size=13.63636302947998px]1、在工程中选择Add Source,在选择框中选择Embedded Processor,假设为该处理器起名为Microblaze_xxx。
    [size=13.63636302947998px]2、此时ISE会自动启动XPS,在XPS中根据导向设置自己的Microblaze_xxx处理器的参数,并生成网表(注意必须在EDK中生成)。
    [size=13.63636302947998px]3、选中Microblaze_xxx,双击View HDL Instantiation Template 生成例化文件。如果要使得Microblaze的管脚既可以和FPGA的外部通用IO连又能和内部的用户逻辑连接,则要将例化文件中关于对Microblaze管脚加BUF类的语句删除。
    [size=13.63636302947998px]4、由例化文件生成一个schematic symbol。
    [size=13.63636302947998px]5、这个schematic symbol即为Microblaze处理器核。用户可以像使用其他普通核一样使用它。
    [size=13.63636302947998px]6、下面是生成mcs烧写文件。具体步骤如下:
    [size=13.63636302947998px]7、/*将整个顶层的schematic生成schematic symbol并产生位流文件(.bit),然后将该位流文件改名为download.bit(因为后面用到的XPS中的批处理文件download.cmd文件里的链接文件名为download.bit,当然也可以改把这个名字改成与前面一样。两个名字改其中之一就行了)
    [size=13.63636302947998px]8、将download.bit文件拷入工程所在文件夹下Microblaze_xxx文件夹下的implementation文件夹。*/
    [size=13.63636302947998px]9、在XPS中编写软件。
    [size=13.63636302947998px]10、如果想要microblaze自举加载,则要在处理器设置的PARAMETERS中的C_NUMBER_OF_PC_BRK的参数改为1。
    [size=13.63636302947998px]12、将edkBmmFile.bmm文件中的每一行第一个 / 删除,并将文件属性改成只读,改名microblaze1_stub.bmm文件为microblaze1_bd.bmm文件
    [size=13.63636302947998px]12、将Microblaze_xxx_bd.bmm文件里加上PLACED语句指定对应使用哪个Block RAM。格式如:
    [size=13.63636302947998px]// File: f:/qpsk/microblaze1/implementation/microblaze1_stub.bmm
    [size=13.63636302947998px]ADDRESS_BLOCK lmb_bram RAMB16 [0x00000000:0x00001fff]
    [size=13.63636302947998px]BUS_BLOCK
    [size=13.63636302947998px]microblaze1_i/lmb_bram/lmb_bram/ramb16_s9_s9_0 [31:24] PLACED=X0Y0;
    [size=13.63636302947998px]microblaze1_i/lmb_bram/lmb_bram/ramb16_s9_s9_1 [23:16] PLACED=X0Y1;
    [size=13.63636302947998px]microblaze1_i/lmb_bram/lmb_bram/ramb16_s9_s9_2 [15:8] PLACED=X0Y2;
    [size=13.63636302947998px]microblaze1_i/lmb_bram/lmb_bram/ramb16_s9_s9_3 [7:0] PLACED=X0Y3;
    [size=13.63636302947998px]END_BUS_BLOCK;
    [size=13.63636302947998px]END_ADDRESS_BLOCK;
    [size=13.63636302947998px]13、在PACE里也对应的对Block RAM进行配置。
    [size=13.63636302947998px]14、写好用户软件后先将函数库链接好(用tool菜单下的Generate Libraries and
    [size=13.63636302947998px]BSP)然后编译(用tools菜单下的Build All User Applications)
    [size=13.63636302947998px]15、在ISE下,双击Update Bitstream with Processor Data,重新生成比特流文件将原来的download.bit文件覆盖。
    [size=13.63636302947998px]16、再用ISE由download.bit产生MCS文件,烧写到FPGA中去即可。
    [size=13.63636302947998px]17、在FPGA中实时调试Microblaze——在XPS中,先打开XMD,检测到Microblaze,并且不要将XMD关掉,然后打开Software Debugger(这两个命令在ISE的命令窗中和XPS的Tools菜单下都有)就可以开始调试了。如果以UART作为标准输入输出,则在Microblaze的程序中用print命令就可以在超级终端中输出相应的内容了。
    [size=13.63636302947998px]18、在生成mcs文件的过程中还会产生下面两个错误,但应该不影响应用。如果要消除着俩个错误,则要将工程所在文件夹下.bmm文件里的第一个“/”删掉,并将该文件属性改为只读型。
    回复

    使用道具 举报

    该用户从未签到

    发表于 2013-2-27 20:23:36 | 显示全部楼层
    嗯,不错,学习了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 14:43 , Processed in 0.112457 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.