FPGA开发之chipscope教程

使用CoreInsert的方法进行chipscope的在线调试:

步骤:

1、建立工程

像之前建立工程那样建立好一个ISE工程,有.v和.ucf文件。并运行综合:

2、chipscope正式开始使用

在工程那里添加文件的地方可以看到ChipScope Definition and Connection File,命名随便,我是命名为test_chipscope。
这里介绍的是ICON核和ILA核的使用方法。ILA核提供触发和跟踪功能,根据用户设置的触发条件捕获数据;然后在ICON的控制下,通过边界扫描口将数据上传到PC;最后在Analyzer中显示出信号波形。

建立之后就是:

3、双击上面那个钥匙的图:

点击两次next,进入ILA的设置界面


看下图:如果弹出netlist changed的提示框,点选ok刷新网表。通过number of input trigger ports可设置要观察波形的信号的数量,通过trigger width可设置每组观察的信号的数目。

下图:点击next进入capture parameters界面。通过data depth可设置信号采集的时钟周期数,采集数目越多,观察信号的时间越长。

在Clock Signal那里我发现需要一个时钟,我觉得很可能是因为这个ChipCsope对于时序逻辑可用,不知道是否可用于组合逻辑。点击next进入net connections界面。可以看到net connections端口列表显示红色字体,表示端口没有完全连接;当全部端口都与具体信号连接时,字体变为黑色。
双击clock ports打开select net对话框。首先连接时钟信号,在右边net selections框中点clock signals,选择时钟的信道CH0,在左下方的信号列表中找到时钟信号,单击选中,然后单击右下方make connections按钮,完成clk信号的连接。

在右边net selections框中点trigger/data signals,用同样的方法连接所有想要观察的信号。如果之前设置观察多组信号,可点击右下方TP0/TP1切换信号组。连接完成后点击下方OK退出select net对话框,然后点击return to project navigator退出core inserter,并保存设置。如果你想观察什么信号就在Trigger/Data Signal选出第几个CH和左边具体是什么信号。再Make Connection。

再run一次你的Implemention。

4、生成比特流
右键单击Generate Programming File,点击properties,在startup options中将start-up clock设为JTAG clock,点击ok。
改之前是:

改之后是:

运行Generate Programming File,生成.bit文件。

5、运行Analyzer观察信号波形

点击Analyze Design Using Chipscope

出现了下图:

连接好设备,设备要连两根线出来,一根是从JTAG(UART)出来,作为调试使用;另外一个是PROG(烧代码)
连接好之后,看下图左上角点击,连接器件:

发现问题,看驱动有没有装好,看线有没有连好,有没有弄错发现之类的。
后来问题解决了,去买JTAG-USB线吧!
http://xilinx.eetrend.com/forum/895
http://www.eefocus.com/bbs/article_74_57390.html
JTAG-USB去官网买$59,但是如果买盗版板子烧了,那不是更完蛋。不得不说,安富利真是暴利,就一根线,当然线上有芯片,还是很贵。
后来买了JTAG-USB线问题也就搞定了。跟着我下面的参考教程即可搞定(http://blog.csdn.net/rill_zhen/article/details/8115756)。

不过不是每个人都是土豪,我们买的是zedboard,那么digilent自然有解决方案,不然为什么那么多人买它的板子。接下来独家放送不要jtag-usb照样搞定chipscope。
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,66,768&Prod=DIG...
digilent已经为大家装好了插件,这个插件就可以使得它的prom口就可以作为jtag口,厉害吧!一下子省了好几百!

下载好之后找到你的对应版本,有详细的说明,看着说明做就好。在做的时候你会发现可能有点和图不一样,没关系哦!照着步骤来就好。记得要先点boundary scan,再选下面的。

最后做出来什么效果呢?点了Trigger Setup(设置触发条件)和waveform(点了它才看到波形图)


参考教程:
http://wenku.baidu.com/link?url=onl-O7cBYYPtgpOgJ46p0EkY2VKD3RRr0z8LAy4s...
http://xilinx.eetrend.com/tag/513
第一种,使用CoreInsert
http://blog.csdn.net/rill_zhen/article/details/8115756
http://www.eepw.com.cn/article/269339.htm
第二种,使用Generator的方法
http://download.csdn.net/detail/sundonga/8284737
http://download.csdn.net/detail/sundonga/8285149