FPGA设计开发软件ISE使用技巧之片上逻辑分析仪ChipScope Pro使用技巧.docx
《FPGA设计开发软件ISE使用技巧之片上逻辑分析仪ChipScope Pro使用技巧.docx》由会员分享,可在线阅读,更多相关《FPGA设计开发软件ISE使用技巧之片上逻辑分析仪ChipScope Pro使用技巧.docx(9页珍藏版)》请在冰豆网上搜索。
FPGA设计开发软件ISE使用技巧之片上逻辑分析仪ChipScopePro使用技巧
FPGA设计开发软件ISE使用技巧之:
片上逻辑分析仪(ChipScopePro)使用技巧
6.7片上规律分析仪(ChipScopePro)用法技巧
在的调试阶段,传统的办法在设计FPGA的板时,保留一定数量的FPGA管脚作为测试管脚。
在调试的时候将要测试的信号引到测试管脚,用规律分析仪观看内部信号。
这种办法存在无数弊端:
一是规律分析仪价格昂扬,每个公司拥有的数量有限,在研发期间往往供不应求,影响进度;二是PCB布线后测试脚的数量就确定了,不能灵便地增强,当测试脚不够用时会影响测试,测试管脚太多又影响PCB布局布线。
ChipScopePro是ISE下一款功能强大的在线调试工具。
面向这些问题,ChipScopePro都可以有效地解决。
6.7.1ChipScopePro概述
ChipScopePro是针对Virtex-IIpro/Virtex/Virtex-II/Virtex-EM/Spartan-IIE/Spartan-IIE系列FPGA的在线片内信号分析工具。
它的主要功能是通过JTAG口,在线实时读取FPGA的内部信号。
ChipScopePro的基本原理是利用FPGA中未用法的BlockRam,按照用户设定的触发条件将信号实时地保存到这些BlockRam中,然后通过JTAG口传送到计算机,最后在计算机屏幕上显示出时序波形。
ChipScopePro应用的框图6.34所示。
图6.34ChipScopePro应用框图
其中ILA、ICON是为了用法ChipScopePro观看信号而插入的核。
ChipScopePro工作时普通需要用户设计中实例化两种核:
一是集成规律分析仪核(ILAcore,IntegrateLogicAnalyzercore),该核主要用于提供触发和捕捉的功能;二是集成控制核(ICONcore,IntegratedContorllercore),负责ILAcore和边界扫描端口(JTAG)的通信。
一个ICONcore可以衔接1~15个ILAcore。
ChipScopePro工作时,ILAcore按照用户设置的触发条件捕捉数据,然后在ICONcore控制下,通过边界扫描端口上传到计算机,最后用ChipScopeProAnalyzer显示信号波形。
6.7.2ChipScopePro设计流程
ChipScopePro工具箱中包含了3个工具:
ChipScopeProCoreGenerator、ChipScopeProCoreInserter、ChipScopeProAnalyzer,用法ChipScopePro在线调试工具的FPGA设计流程6.35所示。
由上述流程可知,ChipScopePro有两种用法办法。
第一种是由ChipScopeProCoreGenerator按照设定条件生成在线规律分析仪IP核,包括ICONcore、ILAcore、ILA/ATCcore和IBA/OPBcore等,之后设计人员在原HDL代码中实例化这些核,然后举行综合、布局布线、下载配置文件,就可以利用ChipScopeProAnalyzer设定的触发条件,观看信号波形。
其次种是原代码完成综合后,由ChipScopeCoreInserter工具插入ICONcore和ILAcore等核,它能自动完成在设计网表中插入这些核的工作,而不用手动在HDL代码中实例化这些核,在实际中应用的比较多,也是推举大家用法的办法。
下面就重点介绍ChipScopeProCoreInserter和ChipScopeProAnalyzer的用法,这里以ChipScopePro8.2i为例来介绍。
6.7.3ChipScopeProCoreInserter简介
ChipScopeProCoreInserter的启动有两种方式。
(1)挺直在Windows环境下运行“开头”/“程序”/“ChipScopePro8.2i”/“ChipScopeProCoreInserter”指令。
运行后即可得到ChipScopeProCoreInserter的用户界面,6.36所示。
(2)可以通过新建资源的办法,6.37所示。
新建ChipScopeProInserter资源后,系统自动生成扩展名为cdc的文件。
6.38所示,双击扩展名为cdc的文件即可启动ChipScopeProInserter界面。
需要注重的是,在双击扩展名为cdc的文件时,系统会先对该工程文件举行综合。
综合完成后才会启动ChipScopeProInserter。
图6.36ChipScopeProCoreInserter用户界面
图6.37新建ChipScopeProInserter资源对话框图6.38新建ChipScopeProCoreInserter资源后的界面
这里在综合前必需先对综合属性举行设置,6.39所示,在综合属性对话框中对“synthesisoptions”/“keepHierarchy”选项举行设置。
设置“keepHierarchy”为“Yes”或“Soft”。
双击扩展名为cdc的文件,系统完成综合后,会自动启动ChipScopeProCoreInserter。
设计者通过ChipScopeProCoreInserter对触发单元个数、触发宽度、触发条件、存储深度、采样时刻等参数举行设置。
设置完毕后,在ISE下完成布局布线,下载配制文件,即可用ChipScopeProAnalyzer举行观测。
下面向ChipScopeProCoreInserter的各项设置做具体的解释。
1.用户界面
启动ChipScopeProCoreInserter后,显示6.40所示的界面。
在“InputDesignNetlist”文本框中设置输入设计网表的路径。
设置好后,“OutputDesignNetlist”和“OutputDirectory”会自动生成,设计者也可自己指定。
图6.40ChipScopeProCoreInserter用户界面
假如是通过新建资源的办法启动ChipScopeProCoreInserter,这几项显示为灰色,无需设计者设置,系统会自动找到设计网表文件。
在“DeviceFamily”下拉列表中选取设计所用的FPGA后,就可单击“Next”按扭,进入“SelectIntegratedControllerOptions”对话框,6.41所示。
图6.41“SelectIntegratedControllerOptions”对话框
2.“SelectIntegratedControllerOptions”对话框设置
在6.40所示的“SelectDeviceOptions”对话框中,可以指定是否禁止在JTAG时钟上插入BUFG。
假如选中此项,JTAG时钟将用法一般布线资源,而不是全局时钟布线。
这样会在JTAG时钟线上产生较大的布线延时。
因此在全局时钟资源足够用的状况下,应当尽量使JTAG时钟用法BUFG资源。
即使因为全局时钟资源不够而不得不禁用BUFG时,也最好附加相应约束,使延迟颤动尽量小。
推举设计者在用法时不选此项。
单击“Next”按钮,进入“SelectIntegratedLogicAnalyzerOptions”对话框,6.42所示。
图6.42“SelectIntegratedLogicAnalyzerOptions”ILA对话框
3.“SelectIntegratedLogicAnalyzerOptions”对话框设置
6.42所示,可以看到在“SelectIntegratedLogicAnalyzerOptions”ILA对话框下有3个选项卡,可对触发参数、捕捉参数、网线衔接举行设置。
“TriggerParameters”选项卡可对触发端口数目,每个触发端口的宽度、触发条件推断单元、触发条件推断单元的个数和类型等举行设置。
(1)触发端口数目。
在设计中可以按照需要设置多个触发端口,每个ILACore最多可以有16个输入触发端口,每个触发端口下又可设置多个触发条件推断单元,但各个触发端口包含的触发条件推断单元数量之和不能大于16。
(2)触发端口设置。
一个完整的触发端口设置包括:
触发宽度、触发条件推断单元个数及类型的设置。
触发宽度是指触发端口包含信号线的个数。
通过触发条件推断单元举行推断,当信号线上的信号满足设定的条件时,ChipScopePro就可将其捕捉并存储在BlockRam中,用于在ChipScopeProAnalyzer中显示波形。
对触发条件可以设置个数和类型。
当有多个触发条件时,可以将触发条件设置为几个触发条件的规律组合。
触发条件推断单元实际为,其类型可以有以下几种,如表6.4所示。
表6.4触发条件推断单元的类型
类型数值类型匹配功能Bit/Slice说明
Basic0、1、X=、8用于普通信号比较,是一种节省资源的类型
Basic(w/trans)0、1、X、R、F、B=、、transitiondetection4用于控制信号的比较,可以检测跳变的发生
Extend0、1、X=、、>、>=、、>、>=、、>、>=、、>、>=、
图6.43“CaptureParameters”选项卡设置
所谓存储深度,是指在满足触发条件后,要存储多少数据,用于终于的波形显示。
ChipScopePro可能的最大存储深度为16384,最大数据位宽为256bit。
实际的数据存储深度和位数由FPGA内部剩余的BlockRam的数量打算。
对于“DataSameAsTrigger”选项,有时要观测的信号就是设置的触发条件中的信号,此时选中此项即可。
有时设定了触发条件后,想观看别的数据信号,这时可以不选中此项,数据与触发信号彻低自立。
“NetConnections”选项卡可以设置触发端口信号线与要观测的信号的衔接,要观测哪些信号,就将这些信号与端口的信号线衔接即可,6.44所示。
图6.44“NetConnections”选项卡设置
设置的衔接信号可以分为3类:
时钟信号(CLOCKPORT)、触发端口信号(TRIGGERPORTS)和数据信号(DATAPORT)。
单击“ModifyConnections”按钮会浮现6.40所示对话框。
图6.45网线衔接对话框
设置完全部信号后,端口名字会变为黑色,否则为红色。
设置完上述各项后,单击“Inserter”按钮,规律分析仪的网表就插入到本来的设计网表当中。
之后在ISE下完成布局布线并下载后,就可以用ChipScopeProAnalyzer举行观测了。
6.7.4ChipScopeProAnalyzer简介
将规律分析的核插入设计当中后,就可以运行ChipScopeProAnalyzer举行观测了,ChipScopeProAnalyzer的启动方式有两种。
(1)挺直运行“开头”/“程序”/“ChipScopePro8.2i”/“ChipScopeProAnalyzer”。
(2)在ISE下启动。
6.46所示,双击“AnalyzeDesignUsingChipScope”即可启动,ChipScopeProAnalyzer界面6.47所示。
图6.46从ISE中挺直启动ChipScopeProAnalyzer
图6.47ChipScopeProAnalyzer用户界面
ChipScopeProAnalyzer用法步骤如下。
1.单击
图标,打开JTAG并口衔接电缆
在此之前要保证已将JTAG与器件衔接好,假如衔接无误,会浮现6.48所示的对话框。
对话框中会显示JTAG衔接的FPGA类型和所用的配置器件类型,这里用法的FPGA为Spartan3系列,配置器件选用的是XCF02S。
图6.48JTAG正常衔接后提醒
2.下载配置文件
在ISE下完布局布线后,生成配置文件*.bit文件。
注重:
ChipScopePro采纳JTAG方式观测FPGA内部信号,这就要求在生成下载文件时。
在“GenerateProgrammingFile”的属性对话框(6.49所示)中设置“StartupOptions”/“FPGAStart-UpClock”为JTAGClock,否则ChipScopePro将无法正确配置器件。
下载配置文件时,挑选“Device”/“DEV1”/“Configure”选项,6.50所示。
单击后会浮现6.51所示的对话框,挑选要下载的*.bit文件,对FPGA举行配置。
图6.50配置FPGA
图6.51挑选配置文件对话框
3.设置触发条件
胜利完成对FPGA的配置后,会浮现6.52所示界面。
图6.52胜利完成配置后用户界面
6.52所示,ChipScopeProAnalyzer的界面由两部分组成。
左边一栏为工程视窗和信号列表。
工程视窗的下拉列表中有“TriggerSetup”、“Waveform”选项。
双击后,就会有相应的视窗在右边显示。
信号列表中列出了全部信号,在这里可以增强或删除视图中的信号,对信号重命名,也可以将信号组合为以便于观看。
右边一栏主要有两个视窗:
一个为“TriggerSetup”,用于设置触发条件;一个为“Waveform”用于观看波形。
设置触发条件包括设置触发条件函数(Match)、触发条件(Trig)和捕捉参数(Capture),下面分离介绍。
(1)“Match”选项卡。
主要完成触发条件函数的设置。
所谓触发条件函数是与表6.4中的匹配功能相对应的。
要设置数值大小和函数,即挑选:
=、、>、>=、
图6.53“Match”选项卡设置对话框
(2)“Trig”选项卡。
主要用于设置触发条件。
在“Match”下设置了触发所需要满足的条件。
当有多个条件时这里可以设置是让哪一个条件起作用,也可以将条件设置为几个条件的规律组合。
或者是将几个条件设置为“条件链”,即当依次满足条件链设置的各个条件后,才可以捕捉数据,6.54所示。
图6.54“Trig”选项卡设置对话框
6.54所示,单击“TriggerConditionEquation”下的选项,会弹出6.55所示的对话框。
在对话框中,有两个选项卡。
在“Boolean”选项卡下,可以设置哪一个条件起作用,也可将条件设置为几个条件的规律组合;在“Sequencer”选项卡下,可以设置条件链,6.55所示。
当依次满足条件链下的几个条件后,就被触发。
图6.55“Sequencer”选项卡设置对话框
4.观测波形
触发条件设置好后,单击左上角的
按钮开头执行。
当满足触发条后,ChipScopePro开头采集数据,采集到一定数目后(该数目取决于存储深度),就可以观看波形了。
6.56为ChipScopePro显示波形的效果图。
在波形显示窗口下可对波形举行放大
和缩小
,也可以举行局部放缩
。
当要观看总
图6.56ChipScopePro波形显示效果图
线数据时,可以先选中全部总线数据,然后单击右键,挑选“AddtoBus”/“NewBus”即可,6.57所示。
图6.57组合总线数据
添加胜利后,就可以在新生成的bus下看到总线数据。
6.58所示,图中DataPort为新生成的总线,设计者可以按照需要修改总线的名称。
图6.58总线数据生成结果
6.7.5小结
本节对在线规律分析工具ChipScopePro作了具体介绍。
通过本节的学习,读者应当把握ChipScopePro的设计流程以及用法办法。
ChipScopePro本身的功能很强大,在调试阶段应用很广泛。
它可以观看FPGA内部的任何信号,用法也比较容易,希翼读者能够很好地把握。
为了让读者能够尽快地认识这一工具的用法,在6.8节给出一个容易的实例,分离应用两种设计流程来完成,读者可参照这一例程来进一步认识ChipScopePro的用法。