ChipScope使用方法说明

合集下载

chipscope

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文件进行编辑和查看(如果需要),也可以使用matla
b命令
xlLoadChipScopeData(‘username.prn’);
把之前chipscope导出的bus总线数据导入为malab空间变量,并且空间变量的名字和在chipscope 中bus总线对应信号线的名字一样的。

呵呵,信号变量有了,以后就可以方便进行相关信号分析处理了。

步骤详细-ISE中使用chipscope

步骤详细-ISE中使用chipscope

说明:核插入器不仅能产生常用的核,还能将其自动插入设计网表,不需要手工在HDL代码中例化,它在很多场合替代了核生成器的功能。

在ISE中直接调用ChipScope的应用实例。

在XC3S500E芯片上实现一个计数器实例,详细介绍如何在ISE中新建ChipScope应用以及观察、分析数据的操作。

1.新建一个用户工程,计数器代码如下:module counter(clk,reset,sout);input clk,reset;output sout;reg [19:0] cnt = 0;always @ (posedge clk)beginif (!reset)cnt <= 0;elsecnt <= cnt + 1;endassign sout = cnt[19];endmodule2..添加相应的约束,clk=>C9 reset =>K17 sout=>A4 随便约束一下即可。

其实并不是很容易的,一定要添加相应的管脚约束3.综合工程,之后添加“ChipScope Definition and Connection”命名为mychipscope2.在工程区双击mychipscope.cdc文件,即可自动打开ChipScope Pro Inserter软件。

设置参数。

添加触发单元设置触发位宽。

其中触发类型选为Basic,位宽为20bit,设置采样深度为4096。

其中Number of input trigger port---用于设定触发端口数,每个端口ILA核可以支持多路比特数据,最多可有16个端口,具体的比特数取决于用于测试的逻辑资源。

Trigger Width用于设定每个端口的触发比特数。

#Match Units为触发单元的级联数,最多可设置16级,默认选择1级吧。

Sample on Rising Clock Edge--样本在时钟的上升沿进行采样。

选中Data Same As Trigger选项,则数据与触发信号相同,这是一种很常用的模式,可以捕获和采集触发逻辑分析仪的任何数据。

Chipscope实例教程

Chipscope实例教程

Chipscope 用法1、Chipscope基础(1)原理:Chipscope可以理解为FPGA中的一个IP核,但是是一种在线调试用的,所以必须以硬件的连接为基础。

在FPGA已经下载程序的情况下,添加我们关心的信号或者接口,将选定了端口Chipscope(不妨理解为一个嵌入的系统)加入到程序后重新布局布线下载到FPGA中,此时我们就可以观察信号和接口的值了。

注意:从图形上看,有点类似于Modelsim的仿真结果,但其本质区别在于Chipscope用的实际的信号波形,而Modelsim仅仅是仿真的结果!(2)方法:一般的,我们会按照信号的方向一步一步进行排查验证。

在下载程序之前如果我们已经在Modelsim中进行过了充分的仿真,而下载到板子上之后程序运行结果没有达到预期时,我们可以先考虑将所有的输入输出结果用Chipscope抓出来观察对比,看能不能找到问题所在。

如果输出结果没有达到预期,我们就采用按照信号传输方向排查的方法一步一步检查,如果输出结果和预期一致,我们应该考虑硬件的连接甚至设计是否出了问题,有时候要对总体方案进行重新评审。

2、具体步骤第一步:新建一个Chipscope 文件,比如命名为test。

第二步:双击打开test.cdc文件,进入Core Insert界面,选择需要观察的信号或者端口(1)一直按照默认的设置点Next直到出现Trigger Width时进行选择,表示一共需要选择的信号的位数;(2)Data Depth选项表示一步要采用的深度,可以理解为运行一次能抓到多少个单位的数据(时间单位一般是固定的,且与选择的时钟有关);同时采用可以选择时钟的上升沿或者下降沿(分别对应Rising和Falling);(3)Next进入到时钟和信号的连接设置,点击Modify Connections即可进入设置界面(4)Clock Signals表示需要采样的时钟信号,一般选择最高频率的那个时钟,而且尽量避免出现跨时钟域采样信号的情况(5)Trigger/Data Signals表示需要采用的数据为,在左侧选中后点击右侧的Make Connections即可,把所有关心的信号连接完后点OK返回到设置界面(6)此时,信号选择完毕,点Return to Project Navigator 并在弹出是否保存的提示框中选择是,返回到ISE环境。

ChipScope的用法

ChipScope的用法

ChipScope的用法实验的背景:用ChipScope检测AD的输出是否正确。

实验板为JNS100,Xilinx版本为12.1,信号源为东方联星信号源,只输出单载波(1575.42Mhz)。

下载程序为调试AGC的程序:F:\E\01_GNSS_TOTAL\01_GNSS\03_edition_3\05_Hardware_test\02_all_agc_finally\all_agc\all _agc.xise;(管脚已经分配)实验步骤:(1)打开工程all_agc.xise;右键-> New Source->建立ChipScope_all_agc.cdc文件,文件自动加入到工程。

(2)双击ChipScope_all_agc.cdc,弹出如下界面:(3)点击Next(4)点击New ILA(Integrated Logic Analyzer Pro cores),进入如下界面:我们在此界面中可以设置;即为所要查看的信号的数目,在此我设置为4,分别用来查看:半秒计数闪灯变量j;红灯闪烁时的电平r_light;GPS的AD输出的8位采样数值:(~(ad_data_gps[7]),ad_data_gps[6:0],注:因为AD输出为偏移二进制码,所以最高位要取反才能转换为二进制补码);GLN的AD输出的8位采样数值。

设置完后界面如下;将产生4个TRIG;再分别设置每个变量的位数(j为25位;r_light为1位,GPS,GLN 的AD输出分别为8位):如下图:(5)点击NEXT:(6)继续点击NEXT,进入信号分配界面:(7)点击,为每个变量建立与实际信号直接的链接关系,如下图:A:首先建立时钟的链接:左键点击NetName中的DSP_AECLKIN_OBUF,然后点击右下角的,即建立起了实际信号与clock之间的连接关系。

B:点击右上角的按钮,进入所需查看的信号的链接。

有图可见:TP0为信号j对应的列表,TP1为信号r_light对应的列表,TP2为信号GPS的AD输出的8位采样数值对应的列表,TP3为信号GLN的AD输出的8位采样数值对应的列表,如下图:(9)分别建立各个信号间的链接关系,最后结果如下所示:(10)分配完之后点击OK返回可以看到,Net Connections中的信号已经有原来的红色变为了黑色,这说明说有的网络都已经建立起了链接关系。

ChipScope使用说明

ChipScope使用说明

ChipScope使用说明目录1.建立工程...................................................................................................... 错误!未定义书签。

2.插入及配置核 (3)2.1运行Synthesize (3)2.2新建cdc文件 (3)2.3 ILA核的配置 (4)3. Implement and generate programming file (7)4.利用Analyzer观察信号波形...................................................................... 错误!未定义书签。

4.1连接器件........................................................................................... 错误!未定义书签。

4.2下载配置fpga (9)4.3载入信号端口名 (10)4.4设置触发信号 (10)4.5运行并观察信号波形 (11)补充 (12)1.建立工程ChipScope是配合Xilinx Ise使用的片内逻辑分析工具,使用的第一步是建立ise工程文件,详细步骤可参考ise使用说明。

如果已有建好的ise工程,可跳过此步骤,打开已有工程即可。

建立工程时注意正确添加.v源文件和.ucf管脚配置文件。

2.插入及配置核这里介绍的是ICON核和ILA核的使用方法。

ILA核提供触发和跟踪功能,根据用户设置的触发条件捕获数据;然后在ICON的控制下,通过边界扫描口将数据上传到PC;最后在Analyzer中显示出信号波形。

2.1运行Ise的Synthesize单击选中sources栏中的顶层源文件,右键点击processs栏中的Synthesize,点击Run,进行代码综合。

Chipscope教程

Chipscope教程

Xilinx的Chipscope类似于Altera的Signaltap。

下面记录一下Chipscope的使用方法。

1. 生成Chipscope文件第一步: 打开ISE Design Tools下的CORE Generator工具。

第二步: 在Xilinx CORE Generator的环境中选择菜单File->New Project,在弹出的对话框中选择存放的目录保存即可。

设置如下。

些,呵呵!选完后Apply一下OK关闭。

第五步: 双击IP Catalog窗口的Debug&Verification下的ICON(chipscope Pro –integrated Controller) 。

第六步: 在弹出的窗口中点击Generate就可以了。

第七步: ICON生成完成后,再双击IP Catalog窗口的Debug&Verification下的ILA(Chipscope Pro –Integrate Logic Analyzer)。

第八步: 在ILA的配置可以根据自己的需要来选择,我们这里不强求,我们这里选择一个触发Group,选择数据的采样深度为2048,就是一次采样2048个点,这个深度当然越大越好,但FPGA资源有限啊!设置完后点击Next。

也会用到Chipscope, 这样程序中基本上的信号都能观察了。

设置完后再Generate。

第十步: 这样我们所需的Chipscope文件都已经生成好了,我们可以在eeprom_test 的目录下看到生成的文件,特别要注意下图中我用红色圈出来的文件,如果在其它的工程中我们需要使用Chipscope的话,只要把这四个文件拷过去就好了,不要费老大力气的再重新生成一边。

接下来是Analyzer:点击Open cable按钮建立JTAG连接。

如果开发板和JTAG连接正常的话,Chipscope能找到开发板使用的FPGA芯片。

点击OK把Data Port里的CH0 ~CH7组合成一个组,方法是按Ctrl键,再选择Data port 里的CH0~CH7, 点击右键,选择Move to Bus->New Bus。

搭建Xilinx开发环境使用ChipScope进行调试

搭建Xilinx开发环境使用ChipScope进行调试

搭建Xilinx开发环境使用ChipScope进行调试Xilinx的ChipScope工具就相当于Altera的SignalTap II,能够捕捉FPGA内部的信号,方便了调试过程。

下面就以一个简单的实例描述一下使用ChipScope的过程(ISE版本为11.1)。

Step1:打开一个以后的ISE工程,进行管脚约束,并进行综合。

Step2:添加ChipScope Definition and Connection File添加完成后,会在工程中多出一个.cdc文件。

Step3:双击*.cdc文件,弹出ChipScope Pro Core Inserter对话框。

首先是指定输入网表和输出网表的路径,以及所选的器件族。

由于ChipScope Pro Core Inserter是从ISE调用的,所以这些选项都已经设置好了,不用修改,直接点NEXT。

不用修改,继续点击NEXTStep4:进行配置ILA核(Integrated Logic Analyzer Pro core)界面。

ILA核用来设置触发条件和捕获数据,并提供将ChipScope核信号和设计中的网表信号连接的功能。

首先是Trigger Parameters界面。

(1)、Number of Input Trigger Ports:用来设置需要观察的信号的数目,例如这里我们需要观察两个信号,所以这里设置为2。

一个ILA最多可以观察16个信号。

(2)、Trigger Width:设置每个要观察信号的位宽。

第一信号是一个计数器30bit计数器,所以第一个设置为30,第二个信号是一个8bit信号,所以这里设置为8(3)、Match Type:设置每一观测信号的触发条件。

ChipScope可以对每一个要观察的信号设置触发条件,最后再采集数据时采用哪个触发条件可以再指定,在这里需要对每一个信号都指定一个触发条件。

主要设置这三个选型,其他保持默认,设置完成后点击NEXT现在进入Capture Parameter界面。

Chipscope 快速入门详细教程(青山紫木原创)

Chipscope 快速入门详细教程(青山紫木原创)

Chipscope 快速入门详细教程——青山紫木本教程是继《Xilinx ISE 快速入门详细教程》之后推出的。

上一教程旨在帮助FPGA新手入门,而该教程则是向有一定FPGA基础的广大FPGA爱好者介绍现在非常流行的一种调试方法——利用逻辑分析仪Chipscope在线调试。

通过Chipscope,我们可以非常方便的分析FPGA 内部的信号,这样便可以在没有样板只有核心板的前提下就能够验证、调试整个数字系统。

怎样,够强吧!当时我也在网上看到一些介绍chipscope的,虽然收获很大,但介绍的稍微有点深,这对未入门者来说并不是很好。

我写本文就是基于ISE14.2通过图文说明,一步步的引导chipscope新手们迅速掌握chipscope的基本操作。

本文实践性强,对相关理论、概念只做简要说明,建议读者先跟本教程走,把基本流程掌握好后,再去看那些理论、概念。

相信只要跟着本文走,是一定可以在很短的时间内掌握chipscope的基本操作的。

当然,本文只是介绍基本操作(入门嘛,入了门就好办了),更加深入的理解、使用还要靠诸位自己的练习、尝试、操作。

好了,废话少说,LET’S GO!先简要介绍下chipscope工作原理:在FPGA内部时钟的触发下,chipscope会捕获FPGA内部用户想要观察的信号并通过可视化的窗口显示出波形。

这样便可以帮助设计者快速的检查设计的正确性。

但是要做到这一点,则首先要对.cdc进行相关操作。

关键的有两点,其一,用FPGA内部时钟信号与chipscope的时钟触发端口“clock signals ”相连;其二,把用户想要观察的信号与chipscope里的触发端口TP0,TP1等相连。

因此,用户想要观察的信号可以在.cdc 文件中进行设置,连接,这是非常灵活方便的。

第一步,新建.cdc文件。

新建.cdc 文件是使用chipscope的前提。

新建.cdc 文件的方法为,单击下图中红色区域中图标:图一新建.cdc文件1之后,会弹出下面的对话框:图二新建.cdc文件2然后选择图二左边红色区域,再在右边红色区域内输入.cdc文件名,下面的路径不用管。

ise_chipscope使用实例

ise_chipscope使用实例

ChipScope Pro 使用说明本文档介绍一个在ISE设计中使用ChipScope的例子。

1. 打开要插入Chipscope仿真的工程(略)2.综合及需要的设置注意:综合的时候要保留设计层次,以取得好的综合效果。

3.在工程中右键选择New Source ,新建文件,如下图:4.双击新建的.cdc文件,启动ChipScope。

1、在DEVICE界面,点击NEXT2、在ICON界面,点击NEXT3、在ILA界面分为3页,如下第一页,在Trigger Width栏填入要触发的数据位宽。

NEXT第二页,Data Depth选择采样深度;Data Same As Trigger为触发条件与采样数据是否相同。

Next第三页,添加时钟触发信号及采样信号。

双击红色CLOCK PORT,选择触发信号关联的时钟信号。

同样双击TRIGGER PORTS关联触发信号(若触发信号TIGGER跟采样信号DATA SIGNALS不同,则分开关联信号)(注,查找信号时,可试用Fitter工具,在Fitter中可以使用通配符*,代表任意个任意字符,帮助快速查找)5.在关联完成所有信号后,点击OK返回。

点击Return to Project Navigator返回ISE。

6.双击Process窗口中的Analyze Design Using Chipscope直到弹出ChipsScpoe工具。

7.选中器件,右键Configure,弹出如下窗口,点击OK。

下载程序后,双击左侧边框打开各窗口。

(注:上方黑色三角表示开始触发采集,黑色方块i代表停止采集,Ti代表无需触发条件满足立即采集。

)系数计算方法:例如,cut_x总线为16位宽,1位符号位、1位整数位、14位小数位,则,试用计算器计算为0.00006103515625。

幅度偏移不需要改,显示精度一般2-4左系数为12右即可。

将所有需要修改格式的总线修改后,双击Bus Plot可打开总线绘图,查看总线波形。

FPGA设计开发软件ISE使用技巧之:片上逻辑分析仪(ChipScope Pro)使用技巧

FPGA设计开发软件ISE使用技巧之:片上逻辑分析仪(ChipScope Pro)使用技巧

FPGA 设计开发软件ISE 使用技巧之:片上逻辑分析仪(ChipScope Pro)使用技巧6.7 片上逻辑分析仪(ChipScope Pro)使用技巧在FPGA 的调试阶段,传统的方法在设计FPGA 的PCB 板时,保留一定数量的FPGA 管脚作为测试管脚。

在调试的时候将要测试的信号引到测试管脚,用逻辑分析仪观察内部信号。

这种方法存在很多弊端:一是逻辑分析仪价格高昂,每个公司拥有的数量有限,在研发期间往往供不应求,影响进度;二是PCB 布线后测试脚的数量就确定了,不能灵活地增加,当测试脚不够用时会影响测试,测试管脚太多又影响PCB 布局布线。

ChipScope Pro 是ISE 下一款功能强大的在线调试工具。

面对这些问题,ChipScope Pro 都可以有效地解决。

6.7.1 ChipScope Pro 概述ChipScope Pro 是针对Xilinx Virtex-II pro/ Virtex/ Virtex-II/ Virtex-EM/ Spartan-IIE/ Spartan-IIE 系列FPGA 的在线片内信号分析工具。

它的主要功能是通过JTAG 口,在线实时读取FPGA 的内部信号。

ChipScope Pro 的基本原理是利用FPGA 中未使用的BlockRam,根据用户设定的触发条件将信号实时地保存到这些BlockRam 中,然后通过JTAG 口传送到计算机,最后在计算机屏幕上显示出时序波形。

ChipScope Pro 应用的框其中ILA、ICON 是为了使用ChipScope Pro 观察信号而插入的核。

ChipScope Pro 工作时一般需要用户设计中实例化两种核:一是集成逻辑分析仪核(ILA core,Integrate Logic Analyzer core),该核主要用于提供触发和捕获的功。

xilinx的Chipscope的使用方法

xilinx的Chipscope的使用方法

Chipscope的使用方法首先插入chipscope核,在以下路径打开:
然后加载工程的NGC文件:
加载完之后,选择NEXT。

继续next。

这里要选择Trigger的宽度,最大是256,我们一般选择256,以后用多少再返回来修改。

剩下的2项的选择,如下:
然后选择modify connections,
首先选择工程的主时钟,
在选择想要抓取的信号,
选择完后,如果所用的CH少于256,则需要返回之前的地方修改一下,
当所有的信号添加完成后,我们选择insert,加入chipscope核到工程中。

此时,ISE会重新跑一遍synthesize(综合),当执行完后,会产生下面蓝色的信息。

此时,在ISE中执行implement,点击run。

然后,记得保存chipscope,
会保存为.CDC文件,我这里命名保存的是test.cdc。

然后生成bit文件。

这样chipscope核就添加好了。

然后打开ISE中的analyze design using chipscope。

或者这样打开也行,如图:
然后选择连接V6平台,
然后配置V6平台,
选择bit和cdc文件,
这样点击OK,ISE会重新下载一遍工程,然后点击T!,就可以看到需要的信号数据了。

点击这个地方你可以看到想看到的选项,
BUS Plot选项是可以看到数据的波形的,waveform可以看到数据。

Trigger setup是设置触发条件和执行触发的,listing暂时不知道干嘛用的。

chipscope使用方法

chipscope使用方法

chipscope的学习与使用(1) chipscope有三个主要的功能:1、ChipScope Core Inserter配置ICON核配置ILA核触发参数、捕获参数、网线连接2、ChipScope Pro Analyzer初始化边界扫描链,选择芯片型号配置芯片(JTAG CLOCK)设置触发条件观察信号波形3、ChipScope Pro Generator生成ICON核生成ILA核通过功能1生成了一个CDC文件,在这个CDC文件中需要配置一下触发参数的个数、深度以及连接。

最后工程需要重新run一下。

功能1通过后,可以双击Analyze Design Using ChipScope来启动分析仪,通过分析仪可以查看CDC 文件中配置的连线的波形。

功能3是一个集成功能,它把功能1和功能2集成为一个功能。

功能3需要打开ChipScope Pro Generator软件,在这个软件中新建一个工程,配置芯片型号以及合适的语言(Verilog HDL),配置ICON核和ILA核。

之后在工程中加入这两个文件:xxx_icon.xco和xxx_ila.xco文件在工程.v文件中加入ICON核和ILA核的调用,这时不需要把cdc文件,而且CDC文件需要从工程中移除。

下面是一个小的例子(调用ICON核和ILA核):wire [w_icon-1 : 0] con;wire [w_trig-1 : 0] p_data;xxx_icon u_icon(.CONTROL0(con));xxx_ila u_ila(.CLK(clk),.CONTROL(con),.TRIG0(p_data));最后再打开分析仪就可以来查看波形了,如果需要有时候可以再次加载CDC 文件。

以下是具体的操作说明:ChipScope Pro Generator打开方式:(见图《软件打开》)开始->程序->Xilinx ISE Suite 12.4->ISE Design Tools->CORE Generator打开这个软件后,新建一个工程。

EDK中chipscope使用说明

EDK中chipscope使用说明

EDK中使用Chipscope进行硬件调试一、实验内容及目的1. ChipScope Pro简介ChipScope Pro的主要功能是通过JTAG口、在线实时地读出FPGA的内部信号。

基本原理是利用FPGA中未使用的BlockRAM,根据用户设定的触发条件将信号实时地保存到这些BlockRAM中,然后通过JTAG口传送到PC机,显示出时序波形。

图1为ChipScope Pro工作原理示意图图1 chipscope pro工作原理示意图一般来说,ChipScope Pro在工作时需要在用户设计中实例化两种核:一是集成逻辑分析仪核(ILA core,Integrated Logic Analyzer core),提供触发和跟踪捕获的功能;二是集成控制器核(ICON core,Integrated Controller core),负责ILA核和边界扫描端口的通信,一个ICON核可以连接1~15个ILA核。

2、实验环境简介本实验的开发环境是在Xilinx公司研发的EDK开发环境,版本是14.2.所用到的开发板是diligent公司生产的型号为ATLYS开发板。

3、实验目的及内容本实验的主要目的是学会在EDK开发环境下使用chipscope pro进行硬件调试。

本实验是在H:\atlys_ziliao\microblaze\led目录下原有点灯的工程上进行的。

新建立一个文件夹H:\atlys_ziliao\microblaze\led_chipscope将H:\atlys_ziliao\microblaze\led 目录下的工程文件拷入到该文件夹下。

本实验的内容是使用chipscope获取GPIO的输出引脚的信号。

硬件连接图如图所示图2 硬件连接示意图二、实验步骤步骤一:用XPS打开原来的点灯工程。

图3 XPS打开原来的LED工程步骤二:在原来的硬件系统中添加ICON与ILA IP核如图所示图4 在原有的硬件系统中添加ICON与ILA IP核步骤三:配置chipscope_icon_0 IP核的参数。

Chipscope 简明教程

Chipscope 简明教程

Chipscope 简明教程stevechou@一、操作环境本教程假定用户已有安装好仿真、综合、ISE和相应的Chipscope,教程使用的环境如下:仿真:Modelsim 5.8综合:Synplify pro 7.5.1布局:ISE 6.2分析:Chipscope 6.2二、RTL设计及其仿真RTL 源代码参见rtl/lfsr.v,testbench 参见rtl/lfsr_tb.v,其仿真波形如下:三、逻辑分析仪产生逻辑分析仪的产生有两种方法:Core Generator(核产生器)和Core Inserter(核插入器),Core Inserter 的流程为:1)的RTL 综合成Netlist;2)调用Core Inserter 插入逻辑分析仪;3)布置和布局;4)产生bit 文件下载验证。

而Core Generator 的流程为:1)调用Core Generator 产生逻辑分析仪的Netlist;2)修改用户的RTL,插入逻辑分析代码;3)布置和布局;4)产生bit 文件下载验证。

因为使用Core Inserter 需要在网表中搜索信号,相对修改RTL 来说比较麻烦,并且每次修改RTL 后需要重新插入逻辑分析仪,故本教程以Core Generator 流程为例,这样每次修改RTL 后,只需要重新综合、布置和布局即可。

1)从“开始”-->“程序”-->“ChipScope Pro 6.2”--> “ChipScope Pro Core Generator”2)选择ICON,即集成控制器产生3)选择输出目录和设备家族4)选择语言和综合工具5)点击“Generate Core”产生集成控制器6)点击“Start Over”,回到主菜单,选择“ILA”,即产生集成逻辑分析仪7)选择输出目录、设备家族和采样时钟边缘8)在Trigger Width 框填入触发宽度329)选择“Data Same AsTrigger”,即数据端口和触发端口相同;从Data Depth下拉框选择采样深度,“Number of Block RAMs”处将同时显示需要的Block RAM 块数,对于Sparten II 200 来说,共有14 块Block RAM,注意不要超过限制10)选择语言和综合工具11)点击“Generate Core”产生集成逻辑分析仪Chipscope 将在相应目录产生以下主要文件:icon.edn 集成控制器的网表icon.ncf 集成控制器的网表约束文件icon_synplicity_example.v 集成控制器的嵌入例子代码ila.edn 集成逻辑分析仪的网表ila.ncf 集成逻辑分析仪的网表约束文件ila_synplicity_example.v 集成逻辑分析仪的嵌入例子代码用户需要依照例子代码修改RTL 代码,以下示出最后的结果,请特别注意红色部分://-----------------------------------------------------------------//// ICON core wire declarations////-----------------------------------------------------------------wire [35:0] control0;//-----------------------------------------------------------------//// ICON core instance////-----------------------------------------------------------------icon i_icon(.control0(control0));//-----------------------------------------------------------------//// ILA Core wire declarations////-----------------------------------------------------------------wire [31:0] trig0;//-----------------------------------------------------------------//// ILA core instance////-----------------------------------------------------------------ila i_ila(.control(control0), //控制器接口.clk(clk), //采集的时钟.trig0(trig0));assign trig0 = q; //需要采集的信号列表四、综合代码将文件icon_synplicity_example.v、ila_synplicity_example.v和lfsr.v添加到工程中综合:五、 布置、布局和下载电路将icon.edn 、icon.ncf 、ila.edn 和ila.ncf 拷贝到综合器生成 edf 的目录。

chipscope教程

chipscope教程

ChipScope Pro实例教程1.ChipScope Pro简介ChipScope Pro的主要功能是通过JTAG口、在线实时地读出FPGA的内部信号。

基本原理是利用FPGA中未使用的BlockRAM,根据用户设定的触发条件将信号实时地保存到这些BlockRAM中,然后通过JTAG口传送到PC机,显示出时序波形。

图表1一般来说,ChipScope Pro在工作时需要在用户设计中实例化两种核:一是集成逻辑分析仪核(ILA core,Integrated Logic Analyzer core),提供触发和跟踪捕获的功能;二是集成控制器核(ICON core,Integrated Controller core),负责ILA核和边界扫描端口的通信,一个ICON核可以连接1~15个ILA核。

ChipScope Pro工具箱包含3个工具:ChipScope Pro Core Generator(核生成器)、ChipScope Pro Core Inserter(核插入器)和ChipScope Pro Analyzer(分析器)。

ChipScope Pro Core Generator的作用是根据设定条件生成在线逻辑分析仪的IP核,包括ICON核、ILA核、ILA/ATC2核和IBA/OPB核等,设计人员在原HDL代码中实例化这些核,然后进行布局布线、下载配置文件,就可以利用ChipScope Pro Analyzer设定触发条件、观察信号波形。

ChipScope Pro Core Inserter除了不能生成IBA/OPB核和ILA/ATC2核以外,功能与ChipScope Pro Core Generator类似,可以生成ICON核和ILA核,但是它能自动完成在设计网表中插入这些核的工作,不用手工在HDL代码中实例化,在实际工作中用得最多。

ChipScope有两种使用方法:ChipScope Pro Core Generator和ChipScope Pro Core Inserter。

chipscope IP

chipscope IP

ChipScope的两种使用方法ChipScope是xilinx提供的调试工具,在国内教材中普遍介绍的使用方法都是直接在ise工程中添加相关的ip,如下图然后综合,添加希望观察的信号。

再然后布局布线后,加载到板子上就可以调试了。

我在才开始接触xilinx fpga的时候也是用这种方法,但是发现有些问题:1)寻找到某个信号比较困难,原因很多:综合出来的信号网表名和代码里的不符,综合过程将部分逻辑优化为另外一种形式,比如多级寄存器在xilinx fpga中通常被优化成基于LUT的SRL,或者因为有冗余的逻辑,就可能被复用了。

当然这些可以通过综合约束来指导XST在综合时避免这些问题,但是有没有其他的办法呢?2)特别的触发条件比较难实现:在上面的调用方法中,触发条件比较单一,就是列入在触发信号列表内的信号的组合。

如果在调试时,希望触发一个特殊的事件,比如经过一些逻辑判断来触发,由于产生这个触发的逻辑在连入ChipScope之前先要综合,XST往往认为这一部分的逻辑没有用,而直接综合掉了。

3)如果要观察的信号很多时,每个都手动寻找并添加费时费力。

随着使用越来越多的xilinx提供的ip,我发现在官方的代码中ChipScope的调用方法是直接在代码中调用ICON,ILA,VIO及ACT2等核来实现的,这种方法使上面的问题引刃而解。

实际上前一种方法调用的ChipScope只是封装这些核而已。

那这些核都实现些什么功能:1)ICON就是用于将其他核和JTAG链相连接的模块,一个工程里面只能有一个ICON,其他所有的包括ILA,VIO,ATC2这些核都要连接在ICON上。

最多一个ICON可以连接15个其他的核。

2)ILA核用于采集内部逻辑产生的信号。

3)VIO提供一种双向通道,可以通过JTAG链,在电脑上直接设置内部逻辑的值和读取内部逻辑的值。

4)ACT2适用于外接逻辑分析仪的使用,这个不常用。

5)IBA/OPB,IBA/PLB都是专用与调试包含IBM CoreConnect on-Chip Peripheral Bus和IB M CoreConnect Processor Local Bus的嵌入式项目。

学习使用chipscope逻辑分析仪v1.1

学习使用chipscope逻辑分析仪v1.1

学习使用chipscope逻辑分析仪v1.1学习使用chipscope逻辑分析仪帮助FPGA调试*******************文档说明:本文档叙述在ISE10.1工程环境中使用代码例化Chipscope相关核调试核来帮助FPGA 板上调试。

1. 认识ChipscopeChipScope的基本原理是利用FPGA内部的逻辑和BlockRAM,根据用户设定的触发条件将信号实时地保存到BlockRAM中,然后根据用户设定的触发条件将信号实时地保存到BlockRAM中,通过JTAG 口传回到计算机显示波形。

Chipscope安装好之后,有下面几个工具:在ISE中使用Chipscope有两种方法,如下图所示:方法1:使用Core Generator生成自己需要的Chipscope调试核,并在自己的工程中手工代码中例化和连接,然后综合实现。

方法2:使用Core Inserter工具,向自己已经综合的工程的网表中添加Chipscope核并由图形界面帮助连接,然后综合实现。

两种方法比较:方法2简单,但功能有限,不够灵活,有很多内部信号不能从网表中找到;方法1手工连线虽然复杂一点,但是功能强大!可以选择自己工程中的任何信号点连接调试,有了这个法宝,在调试FPGA时候便有了纵横驰骋的感觉。

2. 建立一个简单的工程建立一个ISE工程。

并添加文件,编写如下代码。

绑定引脚约束。

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity main isPort (clk : in STD_LOGIC;cnt : out STD_LOGIC_vector(3 downto 0));end main;architecture Behavioral of main issignal counter:std_logic_vector(31 downto 0):=(others =>'0');beginprocess(clk)beginif(clk'event and clk='1')thencounter<=counter+1;end if;end process;cnt<=counter(25 downto 22);end Behavioral;这部分代码非常简单,对时钟做32位计数,并将中间的4位作为输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ChipScope使用方法说明
拟制李雷鸣
日期2005-6-4
1 ChipScope简介
ChipScope的主要功能是能通过JTAG口,在线、实时地读出FPGA内部逻辑的任何信号。

其基本原理是利用FPGA中未使用的Block Ram,将想要观察的信号(寄存器,网线)实时地存到这些BlockRam中,然后根据用户设定的触发条件生成特定的地址译码选择数据读出,送到JTAG口,然后在计算机中根据这些数据动态地画出时序波形来。

使用ChipScope分析FPGA内部信号的优点如下:
1. 成本低廉,只要有这套软件加上一根JTAG电缆就可完成信号的分析。

2. 灵活性大,可观测信号的数量和存储深度仅由器件剩余的Block Ram数量决定。

剩余
Block Ram越多,可分析的信号的数量和存储深度就越大。

3. 使用方便,该软件可以自动读取原设计生成的网表(*.ngc,*.edf,*.edn)区分时钟信号和
普通信号,待观测信号的设定也十分方便,存储深度可变。

可以设计多种触发条件的组合。

然后软件自动将其IP核的网表插入到原设计的网表中。

其IP核只使用少量的查找表资源和寄存器资源,对原设计的影响很小。

4. 使FPGA不再是“黑箱”。

Chip Scope 可以十分方便的观测FPGA内部的所有信号,包
括寄存器,网线型,甚至可以观测综合器产生的重命名的连接信号,使FPGA不再是“黑箱”,对FPGA内部逻辑调试非常方便。

2 ChipScope组成
ChipScope工具箱包含三个工具:ChipScope Core Generator, ChipScope Core Inserter,和ChipScope Analyzer。

ChipScope Core Generator的作用是根据设定条件生成在线逻辑分析仪的IP核。

使用方法和Xilinx的Core Generator相似。

ChipScope Core Inserter完成读取并分析原设计的网表,设置待分析信号,设定触发条件,和自动生成的该在线逻辑分析仪lP核的网表,并将网表插入到原设计的网表中去。

ChipScope Analyzer的作用是根据生成的工程,接收JTAG 传输的FPGA内部信号,再现为波形。

其使用界面就像是JTAG Programer(下载工具)+Agilent 逻辑分析仪。

3 ChipScope使用方法
ChipScope 有两种使用方法。

第一种是ChipScope Core Generator+ChipScope Analyzer方式,第二种是ChipScope Core Inserter+ChipScope Analyzer方式。

第一种方法是在ISE设计工具中通过内核生成器产生ICON,ILA,IBA等内核,将这些内核例化后添加到设计源文件中,并对包含ChipScope内核的文件进行综合,实现,下载到器件中。

第二种方法是不修改源文件,利用内核插入器将所生成的ICON,ILA,IBA等内核插入到综合工具所产生的设计网表文件(.NGC或EDIF)中,然后再对这个新的网表文件进行设计实现和下载。

第一种方法每修改一次ChipScope的内容需要重新例化内核,重新对设计进行综合处理,相对比较复杂费时。

第二种方法不需修改源文件和对设计进行综合处理,因此操作简单方便。

通常我们采用第二种方式。

在使用ChipScope之前需要对ISE开发工具进行以下两个参数设置。

1)在使用XST 综合工具时需要使能“Keep Hierarchy”参数,以保持设计的层次结构,防止XST综合工具对所有层次的设计都进行优化。

2)将器件的配置模式设置成JTAG模式,将配置时钟设置成JTAG Clock时钟。

3.1 ChipScope Core Inserter使用方法
ChipScope Core Inserter使用方法分三步骤如下:
1)建立CDC文件。

2) ICON参数设置。

3) ILA参数设置。

包括触发参数设置,捕捉参数设置,网络连接设置。

下面详细介绍使用步骤及各步骤要注意的问题。

首先在指定的设计文件上建立CDC文件;
然后双击该CDC文件,进入如下页面。

点击“next”,进入ICON参数设置界面如下图。

ICON参数设置主要用来指定是否禁止在JTAG时钟上插入BUFG。

如果我们的设计中全局时钟资源紧张,则需禁止插入BUFG,否则应使能JTAG时钟BUFG插入。

点击“next”,进入ILA参数设置界面。

首先是触发参数设置,如下图。

触发参数栏用于设置触发输入,匹配单元参数,以及触发条件参数。

每个ILA内核最多可以提供16个输入触发端口。

每个触发端口可以有1~16个触发匹配单元。

这些触发条件判断单元可以组合起来构成逻辑分析仪的触发条件,用于捕获数据。

需要注意的是,触发匹配单元设置的越多,占用的逻辑资源越多,因此在满足设定触发条件要求的情况下应尽量减小触发匹配单元的数目。

点击“next”,进入捕获参数设置界面。

如下图所示。

捕获参数栏用于设置存储深度,数据位宽,采样时刻等参数。

采集数据的深度和位宽直接由FPGA内部剩余的Block Ram的数量决定。

我们知道Xilinx的一个Block Ram为4096bit,则采集数据的深度和宽度要满足:采集数据的宽度×采集数据的宽度≤4096×剩余的Block Ram块数。

点击“next”,进入网络连接设置界面。

见下图。

网络连接参数栏用于将ILA内核的输入信号与设计中的网线连接起来。

当时钟端口,触发端口和数据端口的名称由红色变为黑色时表明全部连接成功。

需要说明的是,触发主时钟是整个逻辑分析仪的工作时钟,一般为原设计的主时钟,或者是频率最高的稳定时钟,否则在线逻辑分析仪将采不到数据。

3.2 ChipScope Analyzer使用方法
ChipScope Analyzer模块的作用是根据生成的工程,接收JTAG传输的FPGA内部信号,再现为波形。

ChipScope Analyzer的用户界面如下图。

它可以通过直接点击ISE里的”Analyze Design Using Chipscope”按钮启动。

使用ChipScope Analyzer主要分配置器件,设置触发参数,观察波形3个步骤。

其中配置器件和观察波形比较简单,这里主要介绍一下触发参数设置。

触发条件设置窗口包括三部分:捕获设置,匹配函数设置,触发条件设置。

如下图所示:
在捕获设置窗口中可以设置视窗的数目和视窗中触发事件的位置。

在匹配函数设置窗口中设置触发条件的匹配函数,多个函数的组合构成Chipscope的整个触发条件。

在触发条件设置窗口中,可以把一个或多个触发条件函数组合起来,构成最终的触发条件。

触发条件设置完成后就可以运行捕获,并通过窗口观察波形如下图所示。

在上图中要想看到每条信号的名称,可以通过点击主窗口上的”import”按钮实现。

/article/08-11/57629s.html。

相关文档
最新文档