Xilinx FPGA的Chipscope工具使用方法
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文件,然后关闭此窗口。
chipschop调试计数器
1打开chipschop analayzer2选择下载线我们选择的是USB并行下载线,点击选项Speed可以选择下载速度,然后点击确定。
Chioschop通过下载线缆自动搜索实验板上的器件,然后可以看到如下对话框,选择OK回到主界面。
3对FPGA进行配置选择Configure,然后选择我们需要配置的bit文件,点击Select New File进行选择,选定后点击OK,chipschop就可以对器件开始进行配置4查看加载的核在下面的控制台中不仅可以看到chipschop的一些基本信息,还可以看到chipschop找到了两个核在new project的菜单栏下可以看到我们插入的两个核5VIO的仿真5.1进入VIO核的控制界面双击VIO的核就可以进入VIO的控制从屏幕上可以看出,这些数字的变化正是计数器的跳变规律,AsyncIn【0~7】正是我们八位计数器的输出,而AsyncOut是我们的复位信号。
5.2添加总线将AsyncIn【0~7】加入到一个命名为counter的总线中去,点击new bus然后看到如下界面5.3端口重命名对端口进行命名,右键点击AsyncIn选择rename,输入你所需要的名称。
对AsyncOut进行同样的操作,完成后如下图所示5.4更改显示进制Counter8是按照默认的十六进制来显示的,我们可以按照我们的需要选择显示方式,右击counter85.5虚拟按键开关对于控制信号如reset我们可以设置它的虚拟动作来模拟实际情况在type中选择相应的选项Push Button中有high和low选项,表示按键按下的时候分别表示1和0Toggle Button表示每按下一次,reset的值就改变一次,适合数值需要观测一段时间的情况6ILA核的仿真ILA核是一个比较大的核,容许有多个触发端口6.1waveform窗口双击waveform,打开waveform窗口触发端口的设定和触发端口的位数是在ILA核中设置的6.2Trigger setup窗口双击Trigger setup,打开Trigger setup窗口。
ChipScope Pro详细教程(Xilinx在线逻辑分析仪)
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流程。
片内逻辑分析仪工具——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中的信号已经有原来的红色变为了黑色,这说明说有的网络都已经建立起了链接关系。
ChipScope使用方法说明
ChipScope使用方法说明拟制李雷鸣日期2005-6-41 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核的网表,并将网表插入到原设计的网表中去。
FPGA设计开发软件ISE使用技巧之:典型实例-ChipScope功能演示
FPGA设计开发软件ISE使用技巧之:典型实例-
ChipScope功能演示
6.8 典型实例11:ChipScope 功能演示
6.8.1 实例的内容及目标
1.实例的主要内容
本节通过一个简单的计数器,使用ChipScope 的两种实现流程,基于Xilinx 开发板完成设计至验证的完整过程。
本实例的工作环境如下。
- 设计软件:ISE 7.1i。
- 综合工具:ISE 自带的XST。
- 仿真软件:ModelSim SE 5.8C。
- 在线调试:ChipScope Pro 8.2i。
- 硬件平台:红色飓风II 代Xilinx 开发板。
- 实例内容:计数器。
通过ChipScope Pro 观测计数器的计数值,代码参见本书实例代码的典型实例11 文件夹。
其中count_new 文件夹对应采用流程1 实现的工程,count 文件夹对应用流程2 实现的工程。
使用ChipScope Pro 进行在线调试主要有两种实现流程。
(1)基于ChipScope Pro Core Generator 的实现流程。
- 调用ChipScope Pro Core Generator 生成逻辑分析仪的网表文件。
- 修改用户RTL,插入逻辑分析仪代码。
- 综合,实现,下载bit 配置文件。
- 调用ChipScope Pro Analyzer 观察波形。
(2)基于ChipScope Pro Core Inserter,通过新建资源的实现流程。
- 对工程文件进行综合,生成网表文件。
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。
搭建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界面。
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暂时不知道干嘛用的。
实验【chipscope使用】:芯片调试实验
实验:芯片调试实验芯片调试实验实验内容这个实验将指导你通过加入ILA/ICON内核到设计来执行片上查证的过程。
实验目的完成这个实验后,你将能够:●生成一些能在PicoBlaze上运行的任务。
●使用Chipscope-Pro生成ILA 和ICON 内核,将其插入一个PicoBlaze设计中。
●下载位流,在硬件上运行程序。
●执行片上确认,通过Chipscope分析器查看波形。
实验步骤在这个实验中,你将要修正一个以PicoBlaze为目标板的应用软件,使用Chipscope-Pro执行片上确认。
这个实验包括五个主要步骤:●加入一个Chipscope工程文件到设计●修正ILA参数和连接●修正软件,更新设计●对于没有相连的转换输入,分配终端约束●执行片上查证根据以下给出的每条指令,你将找到在以下的实验步骤中,配合每一步操作,我们配有相关的图示。
如果对流程比较熟悉,可以跳过其中的一些操作。
注意:如果在以后你想看这些实验,您可以从Xilinx的大学计划网站/univ上下载相应的文件。
设计总结你将使用Chipscope-Pro插入ICON 和ILA 内核到设计中,ILA内核触发端口从设计中的uar t_rx 和uart_tx 模块实现信号反馈,接着,当文本输入via hyperterminal后,建立的触发端口将捕捉数据。
当缓冲器满的时候,你将看见最终结果列在Chipscope中。
产生一个新的Chipscope-Pro工程步骤1启动ISE™ Project Navigator,打开工程文件。
1.打开Xilinx ISE软件,选择Start → Programs → Xilinx ISE 8.2i → Project Navigator2.选择File → Open ProjectVerilog users: Browse to c:\xup\fpgaflowlabs\verilog\lab4VHDL users: Browse to c: \xup\fpgaflow\labs\vhdl\lab43. 选择chipscope.ise点击Open通过Project Navigator生成一个新的Chipscope-Pro工程1.在Project Navigator中选择Project New Source,打开新的源文件对话框,点击ChipscopeDefinition and Connection,命名为loopback_c s.点击<Next>继续2. 选择loopback作为源文件,点击<next>,然后点击<finish>,一个Chipscope-Pro源文件将被增加到Sources in Project窗口。
ise里用chipscope
Chipscope的使用本来论文都差不多了,但是老师说缺少实验数据,没有办法,自己再加班加点补吧。
好在自己恰好有ChipScope的盘,于是赶快安装上,临阵磨枪,突击看了一晚上,有了一点点概念,这次记一下,下次就不用绞尽脑汁了。
还要感谢King帮忙查找资料。
逻辑分析仪的产生有两种方法:Core Generator(核产生器)和Core Inserter(核插入器),第一种方法产生内核,将这些内核例化后添加到原设计文件,最后综合,实现,下载。
第二种方法不需要修改原文件,它是将生成的内核添加到综合后的网表文件中,所以我们采用第二种方方法。
Core Inserter 的流程为:1)的RTL 综合成Netlist;2)调用Core Inserter 插入逻辑分析仪;3)布置和布局;4)产生bit 文件下载验证。
1. 首先用ISE对所设计的文件进行综合,然后再添加新建文件,选择ChipScope Definition 文件,选择完毕之后,添加到ISE工程。
2.对core Inserter进行配置,选择器件族,其它的默认即可,接下来是选择数据位宽,捕捉对比,进行信号连线等配置,可以根据自己的情况详细设置。
需要注意的是综合的设置需要保存Keep Hierarchy,防止优化过度。
3.按照以前运行ISE的步骤即可,知道最后下载到FPGA开发板,在ISE的最后会有ChipS cope Pro Analyze,然后点击,就运行逻辑分析仪。
然后点击JTAG连接方式,我的是用U SB的,然后选择[Device] configure 进行器件配置。
在window菜单下面可以选择触发设置窗口等选项,然后运行就可以观察你想要的波形了。
搭建Xilinx开发环境(3)…… 使用ChipScope进行调试Xilinx的ChipScope工具就相当于Altera的SignalTap II,能够捕捉FPGA内部的信号,方便了调试过程。
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 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逻辑分析仪帮助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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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内部信号。
其优点是生成的软核可以重复调用,但每次调用都需要编写相应的逻辑。
The ChipScope Pro Core Inserter是把ICON、ILA、ILA/ATC和ATC2等软核插入DUT 的另外一种方式:它的输入是综合后的网表文件,把相应软核加入网表中,作为DUT的一部分直接插入DUT中,重新综合和布局布线后就可以观察调试FPGA内部信号。
用这种方式插入软核不需要做任何HDL的例化。
The ChipScope Pro Analyzer通过FPGA配置接口与FPGA连接,可以配置FPGA功能,可以抓取FPGA中软核设置信号的运行状态,也可以设置触发,满足某个条件或某些条件的逻辑组合后再抓取相应场景下的运行状态。
需要注意的是:软核要占用FPGA的资源(尤其占用memory资源较多),当DUT已经占用FPGA较多资源时,软核的插入可能会对FPGA性能有影响;此时应该更加注意FPGA 的约束设计。
3 The ChipScope Pro Core Inserter的设置
(1)前提:
在XILINX ISE工具下对project进行synthesize,生成网表文件*.ngc文件
(2)The ChipScope Pro Core Inserter的设置:
第一步:打开The ChipScope Pro Core Inserter,选择网表文件和器件
选input design netlist列的Browse,选择网表输入文件,即ISE产生的*.ngc文件。
chipscope将自动指定输出文件和输出目录,一般不用修改;
在Device Family中选择器件,如下图:
选择Next,进入第二步;
第二步:确定是否使能JTAG时钟使用BUFG进行综合,我们一般使能这个功能,即复选框不选中,如下图;
第三步:设置触发信号和需要捕获的信号
¾触发信号设置:
1)触发信号个数设置:如下图,一共可以设置16个触发信号;
2) 我们选择两个触发信号,则出现下图
3) 触发信号可以设置单信号触发,也可以设置总线触发,总线最多可以设置位宽为16bit ; 4) Match Type 有6种设置方式,如下图,包括Basic 、Basic w/edges 、Extended 、Extended
w/edges 、Range 和Range w/edges ;
各种设置方式的参数表如下表: Match Type Bit Values
Functions
Basic 0、1、X =
、<> Basic w/edges 0、1、X 、R 、B 、F =
、<>
Extended
0、1、X =
、<>、>、>=、<、<=
Extended w/edges 0、1、X
、R 、B 、F =
、<>、>、>=、<、<= Range 0、1、X =
、<>、>、>=、<、<=,in range ,
out of range Range w/edges 0、1、X 、R 、B 、F =
、<>、>、>=、<、<=,in range ,
out of range
5) 使能触发信号
¾ capture parameters 设置
Data Depth 设置要捕获的信号数量,Data Width 设置要捕获多少根信号线,这两个参数确定了需要占用FPGA 多少资源,在Resource Utilization 中对使用的资源进行统计。
¾ 设置网络连接
需要设置的信号共有三类:Clock Port 、Trigger Ports 和Data Port ,如下图:
点击modify connection,设置信号
选中要连接的信号,点击Make Connection,则CH0和clk_out_1连接在一起。
信号设置完成后,点击Insert,把软核插入设计网表中,
在messages窗口会出现结果
返回ISE,加入chipscope文件*.cdc到project中,重新生成bit文件,下载到FPGA中,准备测试。
4 The ChipScope Pro Analyzer的使用
打开ChipScope Pro Analyzer,出现如下界面:
选择图标(Open Cable/Search JTAG Chain),当FPGA下载电缆与JTAG接口正确连接时,出现如下提示(以JTAG链上有两个器件为例):
此时FPGA中还没有配置相应的逻辑,按如下步骤配置并捕获数据进行分析:
1)选择Device——>DEV:1…——>Configure…
2)选择要配置的bit文件
3)FPGA配置完成后,自动加载Core Inserter中设置的信号和触发条件信号和触发条件等信息
的信号;
5)触发条件的设置
6)开始捕获数据
7)ChipScope还支持多次触发,可以设置多个窗口
从上图中可以看出,我们设置了5个触发窗口,每个窗口64个时钟周期的数据,在触发时刻前会捕获10个时钟周期的数据。
8)设置完成后,捕获数据会出现如下界面:
其中红线表示触发时刻,图中显示了四个触发时刻的数据。
根据触发条件和捕获的数据,可以与仿真数据进行比较分析,从而判断结果是否正
确。