ChipScope Pro详细教程(Xilinx在线逻辑分析仪)
chipscope例程
ChipScope例程ISE13.1简介FPGA的在线调试,一般是在FPGA中嵌入一个类似于逻辑分析仪的模块,在满足触发条件时,对需观测的信号进行采集,并通过JTAG线缆将存储的波形上传至计算机,供调试人员检查。
Xilinx在线调试工具为ChipScope,Altera为SignalTap。
一ChipScope模块添加1. 新建cdc文件在打开的ISE工程中,找到“Design”窗口,在工程所对应的目标器件上右击,选择“New Source”。
在File name中输入文件名。
点击next,点击finish。
Design窗口中会显示刚添加的.cdc文件。
双击*.cdc。
进入编辑界面。
在新的界面中点击next。
在上图所示的界面中,选中“Trigger Parameters”窗口,然后在“Number of Input Ports”后面的下拉列表中选择触发通道的个数。
简单起见这里设为1。
在TRIG0对应的选项中选择位宽(Trigger Width)及触发类型(Match Type)。
点击“Next”,或是中“Capture Parameters”窗口。
在上图中,勾选需要用到的Trigger Port,设置采样深度。
点击“Next”,或是中“Net Connections”窗口。
为clock通道和Trigger通道指定网络标号。
在上图中双击CLOCK PORT。
在“Net Name”对应的列表中找到待指定的信号,也可以在Pattern中输入*clk*,点击Fitter 找到clk信号,选中该信号,然后点击右侧的“make connections”按钮,则该信号便与时钟通道对应起来。
点击OK。
添加成功后会在Net Connection中显示。
双击Trigger Ports。
用相同的方法添加信号。
注意右上角的Net Selection这时要选中Trigger/Data Signals。
所有通道的信号均定完成之后,点击菜单栏的“File”->“Save”,或是在工具栏找到快捷图标,单击保存cdc文件,然后关闭此窗口。
片内逻辑分析仪工具——ChipScopePro
第11章片内逻辑分析仪工具——ChipScope Pro11.1 ChipScope Pro工具介绍在FPGA调试阶段,传统的信号分析手段要求在设计时保留一定数量的FPGA管脚作为测试管脚,这种方法灵活性差,对PCB布线也有一定的影响。
当今先进的FPGA器件所具有的规模、速度和板级要求使得利用传统逻辑分析方法来调试采用FPGA器件进行的设计几乎是不可能的。
Xilinx公司推出的片内逻辑分析仪ChipScope Pro能够通过JTAG口,实时地读出FPGA的所有内部信号,而只需要片内的少量BlockRAM和逻辑资源,使得逻辑分析灵活方便。
ChipScope Pro是与ISE配套使用的,其版本经过了ChipScope 4.1i,ChipScope 4.2i,ChipScope Pro 5.1i,ChipScope Pro 5.2i和ChipScope Pro 6.1i的升级过程,ChipScope Pro 6.1i是与ISE 6.1配套使用的最新版本。
ChipScope Pro软件由3个工具组成:(1) ChipScope Pro内核生成器:为综合控制器(ICON)内核、CoreConnect™ OPB的总线分析内核(IBA/OPB)、逻辑分析(ILA)内核及安捷伦跟踪内核(ILA/ATC)提供网表和实例化的模板;(2) ChipScope Pro内核插入器:自动地为用户已经综合完的设计中插入ICON、ILA和ILA/ATC的内核;(3) ChipScope Pro分析仪:提供器件的配置、触发的设定和ILA、IBA/OPB及ILA/ATC核的踪迹显示功能。
各种内核实现了信号的触发和捕获,而ICON内核专门用于与边界扫描(Boundary Scan)管脚的通信。
使用ChipScope Pro工具的设计可以容易地同任何标准的FPGA设计流程结合起来,其中要用到标准的HDL综合工具和Xilinx ISE的实现工具,设计流程如图11.1所示。
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中的信号已经有原来的红色变为了黑色,这说明说有的网络都已经建立起了链接关系。
9.4 ChipScope Pro分析仪_Xilinx可编程逻辑器件设计与开发(基础篇)_[共7页]
第9章 ChipScope Pro调试设计328小节中介绍。
9.4 ChipScope Pro分析仪ChipScope Pro 分析工具(Analyzer tool)直接与ICON、ILA、IBA、VIO及IBERT核相连,用户可以实时地创建或修改触发条件。
注意:虽然ChipScope Pro分析工具能识别设计中的ATC2核,但是需要将JTAG接口与安捷伦逻辑分析仪相连,建立ATC2核与安捷伦逻辑分析仪的通信。
分析工具有两部分:分析工具服务器和客户端。
(1)服务器是命令行服务程序,可以通过JTAG下载电缆连接目标器件的JTAG口。
如果用户想通过JTAG下载线调试本地目标系统,不需要手动打开分析工具服务器,只有当用户需要和远程客户端相连时,才需要手动打开分析工具服务器(2)分析工具客户端是一个图形化的用户接口界面(GUI),它连接目标系统的JTAG链,与目标器件中的ChipScope内核通信。
分析工具的客户端和服务器可以运行在一台机器上(local host模式)或者不同机器上(remote模式),remote模式在以下情况下非常有用。
∙调试一个远程系统。
∙和其他同事共享一个系统资源。
∙给远程客户演示问题或功能。
在大部分情况下,用户是通过分析工具客户端来对设计进行分析的,这里详细介绍客户端界面和功能。
客户端界面如图9-38所示。
图9-38 【Chipscope Pro Analyzer tool】客户端接口分析工具客户端由菜单栏、常用工具栏、项目浏览器、信号浏览器、主窗口以及信息显示窗口组成。
(1)菜单栏。
ChipScope Pro 分析仪 329 ∙ 【File 】文件菜单:包含与工程相关的操作,如【New Project 】新建项目、【Open Project 】打开项目、【Save Project 】保存项目、【Save Project As 】项目另存、【Page Setup 】页面建立、【Print 】打印、【Import 】导入、【Export 】导出以及【Exit 】退出等命令。
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教程
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。
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的使用方法
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暂时不知道干嘛用的。
在ISE中直接调用chipscope进行在线逻辑分析(4)
在ISE中直接调用chipscope进行在线逻辑分析
(4)
然后可以打开下载电缆和开发板的电源了。
接下来在ISE Project Navigator的工程文件夹视图中点击Analyze Design Using ChipScope,ISE即可自动完成翻译、映射、布局布线、生成可编程下载文件等操作,并在全部操作完成之后chipscope Pro Analyzer的主界面,如图8所示。
图8 配置JTAG链
点击左上角JTAG链装的图标,然后进入选择器件的界面,在这里我们选择相应的FPGA器件,即XC3S400。
在其上点击右键,并选择config,如图9所示。
图9 配置FPGA器件
FPGA中的配置方法如图10所示。
这里要将Import Design-level CDC File 文件选中,才能将前面配置好的Chipscope核下载到器件中。
第11 章 片内逻辑分析仪工具——ChipScope Pro
第11章片内逻辑分析仪工具——ChipScope Pro11.1 ChipScope Pro工具介绍在FPGA调试阶段,传统的信号分析手段要求在设计时保留一定数量的FPGA管脚作为测试管脚,这种方法灵活性差,对PCB布线也有一定的影响。
当今先进的FPGA器件所具有的规模、速度和板级要求使得利用传统逻辑分析方法来调试采用FPGA器件进行的设计几乎是不可能的。
Xilinx公司推出的片内逻辑分析仪ChipScope Pro能够通过JTAG口,实时地读出FPGA的所有内部信号,而只需要片内的少量BlockRAM和逻辑资源,使得逻辑分析灵活方便。
ChipScope Pro是与ISE配套使用的,其版本经过了ChipScope 4.1i,ChipScope 4.2i,ChipScope Pro 5.1i,ChipScope Pro 5.2i和ChipScope Pro 6.1i的升级过程,ChipScope Pro 6.1i是与ISE 6.1配套使用的最新版本。
ChipScope Pro软件由3个工具组成:(1) ChipScope Pro内核生成器:为综合控制器(ICON)内核、CoreConnect™ OPB的总线分析内核(IBA/OPB)、逻辑分析(ILA)内核及安捷伦跟踪内核(ILA/ATC)提供网表和实例化的模板;(2) ChipScope Pro内核插入器:自动地为用户已经综合完的设计中插入ICON、ILA和ILA/ATC的内核;(3) ChipScope Pro分析仪:提供器件的配置、触发的设定和ILA、IBA/OPB及ILA/ATC核的踪迹显示功能。
各种内核实现了信号的触发和捕获,而ICON内核专门用于与边界扫描(Boundary Scan)管脚的通信。
使用ChipScope Pro工具的设计可以容易地同任何标准的FPGA设计流程结合起来,其中要用到标准的HDL综合工具和Xilinx ISE的实现工具,设计流程如图11.1所示。
ChipScope培训
看我们的DEMO演示!
ChipScope增强功能
• IBA (Integrated Bus Analyzer):用来Debug
IBM coreconnect总线 • ATC(Agilent Trace Core):Agilent为Xilinx FPGA开发的支持片外采样数据存储的设 备。
缩略语解释
Chipscope Pro Core Inserter 流程
• Step1 : 综合的时候要保留设计层次
– XST 缺省设置是将设计打平以取得好的综合 效果 – Synplifcity 缺省设置是保留设计层次
• Step2: 在ISE 中做Translate的时候需要设置
”Preserve Hierarchy on Sub module” . 缺省情 况下为不设置.
Xilinx Shenzhen
什么是 ChipScope Pro?
ChipScopePro 是基于Xilinx FPGA的内嵌的逻辑分析 仪。它只需要一个JTAG口就可以访问到FPGA 内部的所有信号。极大的方便了Xilinx FPGA的 现场调试。
为什么要用 ChipScope?
•验证FPGA内部/外部的功能 •探测不容易看到的信号 •避免购买昂贵的“逻辑分析仪”
从windows 开始菜单单独启动
• Step4: 设置输入网表和输出网表,输出目录,
器件类型
– 一般情况下只需将输入网表设置为工程目录 下translate后的输出网表即可,工具会自动设置 缺省的输出目录和输出网表文件名
Chipscope Pro Core Inserter 流程
Chipscope Pro Core Inserter 流程
• 启动Chipscope Pro Analyzer
Lab05_使用ChipScope_Pro分析6 位计数器
实验五试验名称:使用 ChipScope Pro 分析6位计数器1、功能描述:(0)设计一个 7 分频电路模块,将开发板的时钟信号分频,获得的 clk_div7 = 50MHz/7 的时钟信号;module clock_div7(output clk_div7,input clock,input rst_n );这里,clk_div7 是分频时钟信号输出;clock 是系统时钟输出;rst_n是异步复位;(1)设计一个 6 位计数器,在分频获得的频率近似为 F= 7142857.14Hz的时钟信号控制下,进行计数。
该计数器的输入/输出端口如下:i)、输出端口:count —— 6 位计数器,连接Spartan‐3E FPGA Starter Kit Board上的 8 个LED:LED7 ~LED2。
ii)输入端口:clock —— 连接50MHz 的时钟晶振(C9);rst_n —— 异步复位输入端口,低电平(1’b0)有效;连接开发版上SW0,当 SW0 = 0(off)时,计数器复位。
dir —— 计数方向控制,高电平(1’b1)有效,连接开发版上SW1:a)当计数器复位 SW0 = 0(off)时,如果 SW1 =0(off)时,计数器初始值:count = 6’b0;如果 SW1 =1(on)时,计数器初始值:count = 6b’h3f;b)当计数器复位 SW1 = 0(off)时,计数器递增计数;当计数器复位 SW1 =10(on)时,计数器递减计数;module counter(output[5:0] count,input clock,input rst_n,input dir);2、使用ChipScope Pro分析设计:在设计添加 ICON 和 ILA。
这里,ILA的“Sample Data Depth”改为:2048,“Data Port Width”为:6,与count相连,“Trigger Port Width”设置为:2,与count[5:4]相连。
ChipScope工具使用技巧
下面介绍一个十分简单工具,完成向FPGA或加载EPROM中写程序版本号的功能。这个功能也许因为太简单,而被大家忽略了。但是使用它确实能很好的防止版本混淆。
以我们3G研发为例,现行单板(BPU,TRIF,BIF,TRDU等)中大量使用FPGA,而在调试过程中,根据不同需要产生了许多FPGA程序版本。现在的区分方法是在FPGA上贴上版本标签。但是如果更新FPGA程序时没有及时更改标签或者标签破损,将混淆版本。
图9:将版本号写入结烧文件(bit文件)
另外,8个16进制数需要制定规则,是大家容易得到版本信息。如规定前两个数为版本号,然后用一个F分割,第四位表示功能(如PRACH:0,公共信道:1,专用:2,等等),再用一个F分割,后三位为自定义版本号。如Node B 2.0,的PRACH信道,第001版,可以写成:20F0F001。
图1:ChipScope Core Generator
ChipScope Analyzer的作用是根据生成的工程,接收JTAG传输的FPGA内部信号,再现为波形。其使用界面就像是JTAG Programer(下载工具)+Agilent 逻辑分析仪。
前两项使用方便,不需冗述。下面着重介绍一下ChipScope Core Inserter。该模块完成读取并分析原设计的网表,设置待分析信号,设定触发条件,和自动生成的该在线逻辑分析仪lP核的网表,并将网表插入到原设计的网表中去。其实最方便的使用方法是不手工使用ChipScope Core Generator,而直接使用ChipScope Core Inserter,完成逻辑分析仪模块的设定,自动生成的在线逻辑分析仪的网表,并将网表插入到原设计的网表中生成.ngo文件,然后跳过Translate(Design Manager的 Flow Engine)这一步骤,按Map-Place&Route-Configure顺序生成结烧文件(.bit,etc)。下载到FPGA后,上测试环境,用ChipScope Analyzer读取波形。
Xilinx FPGA的Chipscope工具使用方法
Xilinx FPGA的Chipscope工具使用方法1 ChipScope简介ChipScope是Xilinx FPGA自带的实时调试和验证系统,它将逻辑分析器、总线分析器和虚拟I/O小型软件核直接插入到设计当中,使我们可以查看任何内部信号或节点,包括嵌入式硬或软处理器。
以操作系统速度或接近操作系统的速度采集信号,并通过设计接口传输出来,避免了使用管脚。
采集到的信号可以通过ChipScope逻辑分析器进行分析。
ChipScope主要有以下关键特性:¾分析任何内部FPGA信号,包括嵌入式处理器总线¾在设计采集时,或综合之后插入小型的、可配置的软件核¾将管脚影响降至最低¾在板上以达到或接近操作系统的速度验证DUT功能¾利用FPGA的可重编程性能,可以在几分钟或几小时内确定设计问题并进行修改,而无需传统ASIC设计中所需的几周或数月时间¾内置的软件逻辑分析器可以用来识别设计问题并进行调试,包括高级触发、滤波器和显示选项¾利用远程调试(从办公室到实验室,或在全球范围内)通过互联网联接进行调试¾逻辑分析器使用的Agilent技术的最优链接,以实现最强大的验证,包括从FPGA 内部到板上任何地方的交叉互联信号。
本文档主要讲解如何使用ChipScope的Core Inserter和Analyzer工具替代逻辑分析仪对DUT逻辑功能进行分析。
2 ChipScope组成ChipScope由三部分构成:The ChipScope Pro Core Generator、The ChipScope Pro Core Inserter和The ChipScope Pro Analyzer。
The ChipScope Pro Core Generator与Xilinx的Core Generator功能相似,用该工具可以产生ICON、ILA、ILA/ATC、IBA/OPB、IBA/PLB、VIO、ATC2等ChipScope Core,通过在DUT中例化这些软核,就把相应的逻辑分析仪功能加入了设计,从而可以观察和调试FPGA内部信号。
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软件,在这个软件中新建一个工程,配置芯片型号以及合适的语言(V erilog 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打开这个软件后,新建一个工程。
学习使用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位作为输出。
搭建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界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ChipScope Pro实例教程宋存杰1. ChipScope Pro简介ChipScope Pro的主要功能是通过JTAG口、在线实时地读出FPGA的内部信号。
基本原理是利用FPGA中未使用的BlockRAM,根据用户设定的触发条件将信号实时地保存到这些BlockRAM中,然后通过JTAG口传送到PC机,显示出时序波形。
一般来说,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 Pro Core Inserter更方便一些,可以较好地满足大多数调试要求,建议优先掌握。
本次练习中,第3、4两章主要描述了ChipScope Pro Core Inserter的流程。
第5章简要描述了使用ChipScope Pro Core Generator的流程。
2. 创建简单的ISE工程2.1 新建工程ISE启动Xilinx-ISE。
新建Project。
File -> New Project。
填入工程的名字以及所在路径。
Next。
选择工程所对应的开发板的器件类型。
Next。
创建源文件窗口。
因为我们已有了源文件,所以这里直接点击Next。
添加已有的源文件到工程中。
选择源文件led.v与led_top.v,打开。
由于事先已经把两个源文件都放到了工程目录下,所以不用选择Copy to Project,Next。
直接点击Finish,完成工程的创建。
选择默认的Synthesis/Imp + Simulation即可。
OK。
2.2 绑定管脚在Processes区域中,选择User Constraints下面的Assign Package Pins,右键点击Run。
绑定管脚的约束,需要建立UCF文件,点击Yes。
与switch[0]L13相连,led的输出信号diode与开发板上8个led灯相连。
Ctrl+S,保存,在弹出框中选择XST Defalut即可,OK。
然后关闭Xilinx PACE软件。
2.3 综合在Processes区域中,选择Synthesize – XST,右键点击Run。
综合完成后,Synthesize –XST前面会出现绿色的对勾。
表示综合完成且没有任何错误和警告。
2.4 实现在Processes区域中,选择Implement Design,右键点击Run。
连续执行翻译Translate、映射Map、布局布线Place & Route工作。
2.5 产生编程文件在Processes区域中,选择Generate Programming File,右键点击Run。
2.6 下载编程文件在Processes区域中,选择Generate Programming File下面的Configure Device(iMPACT),右键点击Run。
打开iMPACT软件。
选择使用JTAG扫描链配置设备。
为FPGA芯片选择编程文件led_top.bit。
启动时钟切换为JtagClk。
另外两个直接点击Cancel即可。
同上。
右键点击FPGA芯片图标,选择编程Program。
点击OK。
下载成功。
可以看到开发板上的LED灯开始流动点亮。
3. 配置ChipScope Pro Core Inserter3.1 添加ChipScope Core Inserter工程文件选择ChipScope Definition and Connection File,设置文件名称。
选择需要观察内部信号的源文件。
工程中出现led.cdc文件。
打开led.cdc文件在ISE中启动Core Inserter,网表的输入输出目录是ISE自动设置的,且其参数只能在ISE中改变,不能在Core Inserter中修改。
3.4 配置ICON核ICON核是所有核和JTAG扫描电路的通信控制器,因此首先对其进行说明,如下图所示,要指定是否禁止在JTAG时钟上插入BUFG。
如果选中此项,JTAG时钟将使用普通布线资源,而不是全局时钟布线,这样会在JTAG时钟线上产生较大的布线延时差别,因此,在全局时钟资源足够的情况下,应该尽量使JTAG时钟使用BUFG资源。
这里不选中此项,使用BUFG资源。
3.5 配置ILA核ILA核的配置分为3个部分:触发参数、捕获参数、网线连接。
Trigger Parameters选项卡用于设置触发输入信号和触发条件判断单元。
Number of Input Trigger Ports下拉列表中可以选择ILA核输入触发端口的数目。
每个ILA核最多可以有16个输入触发端口。
每个触发端口都有位宽(触发端口的信号线总数)、触发条件判断单元的类型和数目等。
Capture Parameters选项卡用于对存储深度、数据位宽、采样时刻等参数的设置。
ChipScope存储缓冲区所能够存储的最大采样值个数成为存储深度,与数据宽度共同决定了Block RAM的占用数。
如果选中Data Same As Trigger选项,则数据与触发信号相同,这是一种很常用的模式,可以捕获和采集触发逻辑分析仪的任何数据。
在这种模式下,ILA核省略了数据输入端口,可以减小CLB和布线资源的占用,但总的数据宽度不能大于256bit。
不选中Data Same As Trigger选项时,数据和触发信号完全独立,当采样的数据位宽小于触发宽度时,能减少采集的数据,节省Block RAM资源。
在本次练习中,我们选择Data Same As Trigger这种常用模式,存储深度选择8192,在时钟上升沿采样。
完成捕获参数的设置后,Core Inserter能够根据相应配置准确给出Block RAM的个数,如下图左侧中Core Utilization框所示。
Net Connections选项卡用于将在线逻辑分析仪的输入信号和设计中的网线连接起来。
由于目前尚未建立连接,所以Net Connections中的所有信号都为红色显示。
点击ModifyConnection,会弹出Select Net配置界面。
利用Select Net对话框,可以把ChipScope的工作时钟、触发信号、数据信号与设计中的网线连接起来,方法是在右侧选中ChipScope的信号,在左侧下方选中需要连接的网线,单击Make Connections按钮,即可完成一条信号线的连接。
所有信号都连接好之后,单击Ok按钮。
在本次练习中,我们将led设计中的count[16]选择为采样时钟,而没有选择led设计本身的时钟信号clock。
这是因为我们在设计中使用了25位宽的计数器,计数满一次之后,led 灯才移动一次。
由于采样深度只有8192,如果使用clock来采样,只能采样8192个时钟周期,这明显是不够的。
根据测算,我们选择count[16]为采样时钟,在8192次采样后,能采样到led循环4次。
触发和数据端口与设计中的diode输出信号相连。
端口名字为黑色,否则为红色。
最后,返回工程中。
4. 启动ChipScope Pro Analyzer4.1 重新运行Implement DesignChipScope Core Inserter产生的网表要被插入到原来的设计网表中,需要重新实现设计Implement Design,完成翻译、映射、布局布线后生成BIT文件,下载到FPGA中后,利用ChipScope Pro Analyzer分析信号波形。
以后每次通过Core Inserter修改网表之后,都需要重新运行Implement Design,重新生成编程文件。
4.2 重新生成编程文件选择Analyze Design Using ChipScope,右键点击Run。
ChipScope Pro Analyzer启动后,界面如下图所示。
4.4 配置目标芯片在常用工具栏上点击图标,初始化边界扫描链,成功完成扫描后,项目浏览器将会列出JTAG链上的器件。
选择我们使用的开发板FPGA芯片型号XC3S500E。
点击“DEV:0 MyDevice0(XC3S500E)-> Configure”进行配置。
在弹出的配置对话框中,选择需要下载的.bit文件。
需要注意的是:ChipScope利用JTAG 链来观察芯片内部逻辑,因此在生成配置文件时只能利用.bit格式的配置文件,且时钟选择“JTAG CLK”,选择“CCLK”可能会配置失败。
4.5 设置触发条件把ChipScope 设计和工程下载到FPGA 中以后,还需要设定触发条件才能在Analyzer 中捕获到有效波形。
Analyzer 的触发设置由Match (匹配)、Trig (触发)以及Capture (捕获)三部分。
其中Match 用于设置匹配函数,Trig 用于把一个或多个触发条件组合起来构成最终的触发条件,Capture 用于设定窗口的数目和触发位置,双击Trigger Setup ,典型的配置界面如下图所示。
4.6 观察信号波形观察信号波形需要打开Waveform窗口,双击Waveform命令,显示界面如上图所示。
由于波形显示窗口中列出的是ChipScope核中的信号,而不是设计中线网信号,需要通过导入.cdc文件来添加信号网表名。