chipscope数据导入matlab
借助matlab对chipscope采集的数据进行分析,希望对大家有用!
1、 首先按平时一样用chipscope对数据进行采样!不过为了方便以后导入matlab查看,这里我们建议查看采样信号要使用bus总线方式,这个不多说了,应该都会的。
2、 点击file->export 选项,弹出一个export signals窗口,format选择ascii选项,signals to Export选择bus plot buses,core默认就行。
3、 点击export按钮,保存为.prn后缀文件。如username.prn.
4、 打开matlab软件,我们可以直接打开这个.prn文件进行编辑和查看(如果需要),也可以使用matlab命令xlLoadChipScopeData(‘username.prn’);把之前chipscope导出的bus总线数据导入为malab空间变量,并且空间变量的名字和在chipscope中bus总线对应信号线的名字一样的。呵呵,信号变量有了,以后就可以方便进行相关信号分析处理了。
chipscope
Chipscope是XILINX推出的一款在线调试软件,价格便宜,通过它完全可以脱离传统逻辑分析仪(太贵)来调时序,观察FPGA内部的任何信号,触发条件、数据宽度和深度等的设置也非常方便,但是肯定也存在不足,比如速度和数据量方面。Chipscope本身是一个逻辑分析仪,主要用于在上板
测试过程中采集并观察芯片内部信号,以便于调试。
它的原理是,在你综合完的网表里插入用于采集数据的core(包括ILA和ICON),插入的方式可以用core inserter,也可以用core generator,只不过后者需要在
源代码中实例化。用core inserter更为快捷,基本上就是选择你要观察的信号以及触发源、时钟等,然后运行之后会自动生成一个新的网表文件,再用这个网表在ISE里面进行布局布线,生成下载文件,通过JTAG方式下载到芯片里运行。在芯片运行的过程中,如果你选择的触发源发生跳变,或满足触发条件时,芯片里的core会将你要观察的信号采集并存储在芯片内的RAM(也可以是FF)中,然后通过JTAG口将采集到的信号上载到PC,最后在PC的chipscope analyzer的界面中以波形的方式显示出来,因此你就能看到芯片里的信号波形。
我们平时都是使用Chipscope的 core inserter 方式来往我们的工程里面植入Chipscope核。凡事都是利弊相生的,XILINX的Chipscope core inserter工具帮你便捷地把core植入到你的工程里面,那么存在一定的弊端,那就是
编译时间被延长得很长,而且每次编译过程中,都会根据你的cdc工程文件重新生成一次ICON、ILA内核网表,再重新编译整个工程,那么编译时间就不可避免地被延长了。
所以,如果要采集到你所要的信号波形,首先是你的触发条件被满足。chipscope不会去改变你的原始设计中的信号,只对他们作采集。
总结来说,chipscope是利用植入FPGA的两个core: ILA 和 ICON,利用JTAG数据线传回数据的方式来观察、调试设计的。