PicoBlaze程序仿真调试及在线快速调试说明

来源:互联网 发布:java常用设计模式详解 编辑:程序博客网 时间:2024/06/05 14:48

1、PicoBlaze程序的仿真调试工具——pBlazIDE

      这是一款非官方的调试仿真工具,官网下载地址目前无法进入,现将其上传至CSDN网站。下载地址如下。

http://download.csdn.net/detail/kpsuwen/8974053

      软件界面如下所示,不多做说明。


      pBlazIDE与标准的KCPSM3语法相比,除中断处理和其他少量语句外,大部分均相同。在导入KCPSM3程序时,pBlazIDE会自动完成语法转换,无需人工干预。必须注意的是,pBlazIDE对KCPSM3语法中I/O端口的定义不会自动转换,必须手动修改,否则编译时会报错。例如,KCPSM3语法中输出端口定义LED EQU 1应修改为LED DSOUT 1,输入端口和双向口的定义与此类似。

      pBlazIDE仿真调试步骤如下:
  1) 打开软件,在Settings里选择合适的Picoblaze 类型,对于Spartan3、VirtexII或VirtexII Pro系列FPGA选择Picoblaze 3即可,本例程中使用的器件为S6,也选择的Picoblaze 3模式。其它设置可以自己摸索,本此实验没有多做配置。

2)点击File→Import命令,导入KCPSM3语法格式的LED.psm源文件,pBlazIDE会自动完成语法转换。
  3) 手动修改I/O端口定义,以满足pBlazIDE语法要求。即输出端口定义LED EQU 1应修改为LED DSOUT 1
  4) 单击Assemble&Simulate按钮,对程序进行汇编,如果程序没有错误,即可开始仿真。仿真既可以全速运行,也可以单步运行,并可设置断点等,大部分功能与常用的单片机开发软件Keil 51类似。在仿真过程中,可以查看或修改寄存器和存储器内容,监测I/O输出是否与预期结果相符,设置输入端口值和模拟端口输入;另外,还可以对外部中断进行模拟仿真,极大地方便了用户程序调试。

KCPSM源码与pBlazIDE源码的区别如下表所示


仿真调试工具说明就此结束,此部分多是参考别人的博客、资料等。最后会将参考资料一并列出。

2、PicoBlaze程序快速调试更新说明

      KCPSM6版本相比KCPSM3版本在程序快速调试更新方面有很大不同,此处以KCPSM6为基础进行说明,参考资料来自KCPSM6_User_Guide_30Sept14文档(P25~P29)。

      程序较大时,编译综合需要很长时间,如果对PB功能程序进行更改,十分影响工作效率。还好采用JTAG Loader进行调试无需重新综合、布线,可以通过JTAG口直接修改PB的程序,几秒钟即可完成。

      1)准备,查看ROM文件是否支持快速调试,打开ROM_form.v文件,模块参数定义部分,令C_JTAG_LOADER_ENABLE = 1,表示支持快速调试。

      2)程序修改后,使用kcpsm6.exe编译,本次快速调试使用的文件是LED.hex文件,将其复制到KCPSM6包下的JTAG_Loader文件夹中。LED.v文件留作调试结束后重新烧写时使用。

      3)根据电脑操作系统版本打开命令窗口,如下图所示


打开之后,出现以下界面


      运行KCPSM6包中JTAG_Loader文件夹下的JTAG_Loader_Win7_64.exe(根据操作系统选择),对硬件进行验证,运行结果如下。



      接下来,运行JTAG_Loader_Win7_64.exe -l LED.hex,对新程序进行下载。如下所示

      看到successfully,就是成功了,可以查看硬件输出效果了。


      为了进行本次实验稍微对程序进了改动,如下所示,有兴趣可以和之前程序进行比较。

           LED:LOAD s0,02                  OUTPUT s0,LED_port                  CALL delay_1s                  LOAD s0,00                  OUTPUT s0,LED_port                  CALL delay_1s                  JUMP LED

说明:通过JTAG Loader快速调试仅止于调试,调试完成之后还是需要重新编译、烧写程序。如有不明,可以参考用户手册

参考资料

1、pBlazIDE仿真调试学习了以下资料

http://blog.csdn.net/makebuaa/article/details/7796656

http://www.eefocus.com/fpga/317087

2、书籍资料《Xilinx可编程逻辑器件设计与开发(基础篇)》,有一章讲解了PB软核的使用和仿真调试,很详细,可以学习一下。在CSDN网站上有相关资料下载。

3、tengjingshu博客有LED程序仿真调试的具体细节,再次感谢,地址如下

http://bbs.ednchina.com/BLOG_ARTICLE_228913.HTM

4、JTAG快速调试主要参考的用户手册,就在KCPSM6的压缩包内。

0 0
原创粉丝点击