集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 884|回复: 3

设计在线调试

[复制链接]
小舍YZ 发表于 2017-7-6 14:45:28 | 显示全部楼层 |阅读模式
设计在线调试

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 在线调试的正弦信号发生器设计

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-6 14:46:54 | 显示全部楼层
图7-51 正弦波示例模块的Simulink设计示意图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-6 14:48:05 | 显示全部楼层
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采集结果的数字显示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-6 14:48:45 | 显示全部楼层
为了更直观地观察波形,可通过“Bus Plot”功能得到其模拟波形,如图7-53所示,可以看出本设计正确实现了预期功能。

图7-53 正弦波示例模块ChipScope采集结果的模拟显示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 23:41 , Processed in 0.061242 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表