芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 5122|回复: 0

【紫光同创】PDS软件中在线逻辑分析仪的配置和使用

[复制链接]

该用户从未签到

27

主题

29

帖子

218

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
218
发表于 2023-4-10 11:16:32 | 显示全部楼层 |阅读模式
12 在线逻辑分析仪的使用

PDS软件的在线逻辑分析仪的功能与Vivado中的ILA工具类似,下面将以上一章节的rom_top工程举例讲解如何使用在线调试工具。实现使用在线调试工具实现对信号addr和dout信号进行上板调试。

12.1   添加I/O 约束

通常,一个设计中的 FPGA 不会是独立使用的,FPGA 一定会与其他外设、接口相连接,比如时钟,按键等。因此,FPGA 设计需要指定对应的 IO 引脚位置信息。
添加 IO 约束的方法非常简单:点击图 12 1上方工具栏“Tools”栏中“User Constranit Editor(Timing and Logic) ”后点击 “Pre Synthesize USE ”选项。
1.png

图 12 1“Tools”工具栏

点击图 12 1中的“Pre Synthesize USE ”选项后,弹出图 12 2界面,首先点击 “Pre Synthesize USE ”   选项,然后点击“Device”选项,最后点击“I/O”选项,进入管脚分配页面。
2.png

图 12 2管脚分配入口

打开管脚约束窗口如图 12 3,其中LOC  ,VCCIO,IOSTANDARD是我们要约束的内容。这里,参考我们提供的管脚约束表即可完成管脚绑定。
3.png

图 12 3管脚分配页面

这样管脚约束添加完成了。但是此时约束内容保存在内存中,还没有写入文件,点击工具栏保存按钮(图 12 4中箭头指向的位置),或者直接点击Ctrl+S。
4.png

图 12 4保存约束文件

然后会出现图 12 5所示弹窗,添加约束文件名ROM,点击“SAVE”按钮
5.png

图 12 5约束文件命名

这样就将I/O 约束写入到约束文件中。如图 12 6,在Source窗口的Constraints下可找到刚保存的ROM.fdc文件。双击可以打开约束文件。
6.png

图 12 6 Source面板

12.2   配置debugcore

传统的 FPGA 板级调试是由外接的逻辑分析仪连接到 FPGA 的控制管脚,然后将内部信号引出至引脚 IO 上,进行板级调试。这种方法的缺点是首先我们需要一个逻辑分析仪,而逻辑分析仪一般价格都比较昂贵,且对于需要测试几十个引脚的时候,选择使用外接的逻辑分析仪就比较繁琐了。在线逻辑分析仪克服了以上所有的缺点,其借用了传统逻辑分析仪的理念以及大部分的功能,并利用 FPGA 中的逻辑资源,将这些功能植入到 FPGA 的设计当中。借用FPGA空闲的逻辑资源和存储器资源,构建一个逻辑分析仪的采集逻辑,对FPGA内部的设计节点进行抓取,并通过JTAG接口与PC端软件通信,完成数据的采集和分析功能。
下面将为大家介绍PDS软件中在线逻辑分析仪的使用方法。
用USB 线连接电脑USB 口和开发板JTAG 口,然后开发板上电。通过单击“Tools”(工具)栏中的 Inserter 图标启动 Inserter功能 ,如图 12 7。
7.png

图 12 7 Inserter功能入口

这时“Inserter”窗口就被打开了,如图 12 8所示,我们点击右下角的 New Debug Core Unit 按钮,就可以添加一个新的调试核。
8.png

图 12 8Inserter窗口

接下来我们点击新建好的DebugCore,也就是图 12 8中箭头指向的“U0: DebugCore”进入图 12 9页面。
9.png

图 12 9 “Trigger Parameters”选项

在图 12 9这个界面里可以对 DebugCore 参数进行配置,这是 Inserter 软件功能的主要体现。一个DebugCore 对应界面中包含以 “Trigger Parameters”、“Net Connections” 和“PowerOn Init Parameters” 为标题的标签页面,分别对应 DebugCore 不同参数的配置。
在这里,我们设置触发端口数为 1 个,Match 类型为 Basic,采样深度为 512。然后点击图 12 9中的“Next”按钮进入下一页面。
10.png

图 12 10“Net Connections”选项

点击图 12 10中“  Modify Connection” Modify Connection,会弹图 12 11 Select Net 配置界面。
11.png

图 12 11 Select Net 配置界面

在图 12 11中我们点击“Net Selsections”栏下“TriggerPort”,将功能切换到“TriggerPort”(触发端口)上,右击“Net/Netbus Name”栏下的“addr”和“nt_dout”信号,将信号加载到“Net Selsections”栏下“TriggerPort”下面。然后点击“Net Selsections”栏下“Clock” 选项将“Net/Netbus Name”栏下的“nt_clk”信号加载到“Net Selsections”栏下的“Clock”选项下。将以上设置完成后点击图 12 11页面中的“OK”按钮。
点击“OK”按钮后会返回图 12 10页面,再点击图 12 10中的“PowerOn Init Parameters”选项,进入图 12 12页面。
12.png

图 12 12 PowerOn Init Parameters”选项

12.3    下载并使用debugcore

本次示例中,我们不会用到电初始化瞬间信号的捕获,所以“Enable Capturing Power On Initial Data”选项不需要勾选。最后点击图 12 12中箭头指向的位置将以上的设置保存下来并且重新生成比特流文件。
比特流文件生成后,再点击 Tools 下的 Debugger,启动 Debugger 窗口。
13.png

图 12 13 Debugger 窗口

接下来点击图 12 14中标签1所在的位置,就可以扫描当前的器件,在标签2 处确认扫描的器件是否正确,点击标签3 处的 ok 完成配置。

14.png

图 12 14扫描器件页面

在弹出页面图 12 15中我们点击标签1中为下载按钮,核对标签2中的信息是否与我们的开发板一致,将标签3和标签4对应的文件加载进来,最后点击标5中的“OK” 按钮,程序将自动开下载到 FPGA中。
15.png

图 12 15程序自动下载页面

然后我们点击图 12 16中箭头指向的位置,就可以看到我们想要抓取的波形。
16.png

图 12 16抓取波形

在图 12 17中我们点击标签1中的“addr”信号,然后再的点击 “Bus radix”将“addr”信号设置成“Unsiged Decimal”(无符号十进制)。
17.png

图 12 17设置输出数据的显示格式

由于我们本章实验的 IP设置最终并没有勾选输出寄存器,所以“addr”信号为0时对应“dout”信号的第一个数据;“addr”信号为1时对应“dout”信号的第二个数据,依次类推。
18.png

图 12 18上板抓取波形

ROM IP加载的文件内容如图 12 19所示。文件中的数据与图 12 18中上板抓取的数据一致。
19.png


图 12 19加载的文件
由图 12 19中可以看出加载文件中的第一个数据为80,第二个数据也是80,以此类推就可以看出图 12 19中加载的数据和图 12 18中的“dout”信号一致。由此可以看出我们代码设计的正确性。
12.4   常见问题

1.        明确设计文件和管脚绑定文件的文件类型差异,设计文件的文件内容为Verilog代码,文件类型为V文件,管脚绑定文件描述FPGA管脚与代码信号名称之间的联系,文件类型为FDC文件。
2.        要注意在本章实验中不设置输出寄存器时,信号“addr”是从0开始计数,addr[0]对应信号“dout”第一个数据。

12.5    总结

至此,在线逻辑分析仪的使用基本就讲完了,如果需要了解更多有关在线逻辑分析仪的使用,可以进行更多的尝试和查看IP手册。




ROM.rar (489.04 KB, 下载次数: 460)




更多紫光同创FPGA相关资料,请查看下述汇总贴
【紫光同创】紫光同创国产FPGA产品使用自助服务手册




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

GMT+8, 2024-11-21 18:28 , Processed in 0.111612 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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