设计在线调试
设计在线调试System Generator提供了使用ChipScope和共享存储器两种方法来实现系统的在线调试,它们都可以利用相关工具获得可视化的测试信号,都支持十六进制、十进制以及二进制数,允许在模型中比较参考信号,且支持逻辑值和模拟量两种信号显示方式。
使用ChipScope完成在线调试,需要在模型中插入ChipScope模块,在FPGA芯片中插入ChipScope探头,通过JTAG接口实时地完成芯片内部信号的采集。如果使用共享存储器的方式,则需要由FPGA硬件、Simulink设计以及MATLAB软件共同提供一个独立的共享地址空间,将FPGA芯片中的数据实时地存储到空间中,然后再读回Simulink设计,可简化整个在线调试的数据分析。
本次以ChipScope法为例介绍如何完成设计的在线调试。
例7-4 利用System Generator实现一个正弦波信号发生器,并通过ChipScope在FPGA芯片中实时分析。
1. 在MTALB中启动Simulink,建立设计模型,从Xilinx模块库中添加Counter模块、SinCosine模块、ChipScope模块、Gataway Out模块、System Generator模块以及Scope模块,其连接关系如图7-50所示,并保存为mychipscope.mdl。
2. 双击SinCosine模块,选定Function为Sine;双击Counter模块,设置步长为1。
3. 双击ChipScope模块,在Triggers栏中选择Number of trigger ports为1;Triggers Setting栏中设定Match type为Extended;Nunber of data ports设定为1,且选中“Use trigger ports as data”选项。
4. 双击Gataway Out模块,选中Specify IOB location constraints选项,在IOB pad location(cell array {' MSB',…,'LSB'})中输入{'F12','E12','E11','F11','C11','D11','E9','F9'}。
5. 在Simulink中单击运行键开始仿真,结果如图7-51所示。由于Counter的步长设置的比较小,所以正弦信号的频率较低,需要将仿真时间设置的长一些。
图7-50 在线调试的正弦信号发生器设计
图7-51 正弦波示例模块的Simulink设计示意图
6) 双击System Generator模块,在“Compiliation”下拉框中选为Bitstream;Part为Spartan 3E系列的XC3S500E-fg320,时钟周期设为20ns(50MHz),时钟管脚为C9。完成上述设置后,单击“Generator”按键,生成相关文件,由于选择了编译生成比特文件,因此完成后,可在设计文件夹中找到mychipscope_cw.bit的配置文件。
7) 从开始菜单中打开ChipSocpe Pro,点击JTAG链扫描按键,选择XC3S500E,按照下载程序,组合总线信号,可得到的观测波形如图7-52所示。
图7-52 正弦波示例模块ChipScope采集结果的数字显示
为了更直观地观察波形,可通过“Bus Plot”功能得到其模拟波形,如图7-53所示,可以看出本设计正确实现了预期功能。
图7-53 正弦波示例模块ChipScope采集结果的模拟显示
页:
[1]