转载自https://www.cnblogs.com/hcr1995/p/9929359.html
Vivado如何使用Chipscope
Vivado作为新的设计工具,并没有集成Chipscope,取而代之的是新的debug工具:hardware debug。后者的优势是可以与SDK联合调试,软硬件协同开发时非常有用,但其无法实时持续的观测信号的变化,且从目前2013.4的版本反应的无法抓取非顶层文件信号的问题(大量时序错误)对设计开发非常不便。
通过对Chipscope工作原理的分析,应该可以通过间接的方式在VIVADO工程中使用,经过上板测试,确实可以做到,下面是实现的步骤:
1、 Synthesis后点击Open Synthesized Design,完成后点击File原工程综合后导出netlist(.edn)和constraint(.xdc);
注:导xdc要勾选上所有引脚
2、 打开Chipscope的Core Insert软件,将step1中的netlist作为输入,指定输出文件名及路径;
注:导入的是顶层.edn文件,其他ip核的edn文件不用加上去。输出文件为顶层的.ngo。
3、 Chipscope随后自动加载step2的netlist,按照需求添加信号,方法与ISE调用时相同;
4、 点击Chipscope界面里的insert按键,生成携带ILA核的netlist文件;
注:这一步后会生成xdc文件,可以通过点击保存按钮生成cdc文件。
5、 建立新的VIVADO工程,选择post-syn方式,随后加入step4的netlist(.ngo)和step1的constraint;
注:这里的ngo选择顶层的ngo就可以了,不要选择signalbrowser的ngo文件。
6、 Implement step5建立的VIVADO工程,获得BIT文件(此过程会报一个ucf与xdc的critical warning,不用关注它);
注:这是重新建了一个vivado工程,用来通过网表的方式,建立一个新工程,产生bit流文件,导入到FPGA中。
7、 原工程按照规范流程implement、bitgen,最后导出SDK;
8、 按照规范流程完成SDK应用程序开发;
注:原工程只是用到了sdk软件端的程序,仿真的时候软件配置成run as,GDB模式
9、 用Chipscope Analyzer配置step6生成的bit文件到芯片,配置界面选择导入step4保存的cdc文件,配置完成后,运行SDK中的run as,随后设置chipscope的触发条件;
10、此时可以观察信号的实时输出;