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