Xilinx可编程逻辑器件设计与开发(基础篇)连载34:Spartan

9.3 chipscope pro内核插入器 chipscope pro内核插入器的文件后缀名为cdc。在ise工程中可以创建一个新的cdc程序,也可以在实现流程中激活内核插入器。
注意:使用内核插入器之前,要注意一些工程项目的属性设臵。
(1) 如果采用xst综合工具,将【keep hierarchy】属性设置成【yes】或【soft】,禁止xst工具对设计的优化,保留原来设计层次,同时也保留了net网络节点名称。设置方法如下。
选择【edit】→【preferences】,打开属性对话框。
选择【processes】页。
设臵属性显示下拉框为【advanced】,单击【ok】。
右击【synthesize】,选择【properties】选项。
设臵【keep hierarchy】属性为【yes】或【soft】,单击【ok】。
(2) 正确设置比特流生成选项。
在project navigator里,单击【generate programming file】右键,选择【properties】选项。
选择【startup options】页。
选择【fpga start-up clock】下拉框,jtag clock启动时钟。
接下来,介绍如何在ise的环境下调用chipscope的内核插入器(core inserter),以及内核插入器的各种参数的含义及其配置方法。
1. 运行ise 11.1,打开设计的工程项目。
2. 创建cdc文件。在ise11.1的界面下,有两个创建cdc文件的方法:
单击选择【project】→【new source】,弹出源程序设臵界面,选择【chipscope definition and connection file】,输入文件名,如图9-28所示。单击【next】,按照缺省设臵产生和配臵调试内核,直到【finish】生成.cdc文件。
注意:只有安装了chipscope pro 11.1,才可以在ise 11.1的【new source】里出现【chipscope definition and connection file】。
图9-28 【new source wizard】源程序类型选择界面
选择【project】→【add source】(【add copy of source】),选择已经存在的.cdc文件。
3. chipscope内核插入器的属性和参数设置。
(1) 在【sources in project】窗口中,双击cdc文件。弹出的内核插入器界面如图9-29所示,设置chipscope pro的参数。
图9-29 内核插入器用户界面
菜单栏中的菜单项及其功能有:
【file】菜单:包含常见的文件操作命令,如【open project】、【save】、【save as】。【refresh netlist】用于手动更新网表。
【edit】菜单:包含创建新的集成逻辑分析单元【new ila unit】,或者创建新的atc2单元【new atc2 unit】,删除单元【remove unit】,以及参数设臵【preferences】等命令。
【insert】菜单:包含【insert core.】命令,当设臵ila core的各项参数后,可以利用这个命令把集成逻辑分析仪的网表插入到原设计的网表中。
【design files】设计文件选项组,有如下几个选项:
指定输入设计的网表
单击【browse】,选择输入设计所在的目录
修改输出设计网表和输出目录(如果核插入器在ise里激活,那么输入网表和输出网表、目录、器件型号等参数自动填入,在这钟情况下,这些参数只能在ise工程属性中修改,不在核插入器里修改。)
工程参数 【device setting】器件设置选项组:
【device family】:选择目标fpga器件家族,内核生成器会生成针对该器件优化的icon和捕获内核。
【use srl16s】:用来控制是否用srl16和srl16e逻辑生成内核,如果不选择该选项,将会用触发器和多路选择器来代替,影响生成核的大小和性能。缺省设臵为使能。
【use rpms 】:用来控制是否用相关布局宏(rpms)生成一个独立的内核,该复选框能阻止布局布线器对区域内放臵chipscope pro内核的逻辑进行布局优化。如果设计中占用了大部分的逻辑资源,这些布局限制有可能不被满足。
【core utilization】选项组:内核生成器的左边是内核资源利用显示窗口,列出插入设计网表中的chipscope核资源利用情况,包括查找表(lut), 触发器 (ff)和块ram (bram)。
注意:只有spartan-3、spartan-3e、spartan-3a、spartan-3a dsp和virtex-4器件家族显示chipscope核资源利用特性。
(2) icon核配置选项设置。在图9-29中单击【next】,弹出icon核配置选项设置界面,如图9-30所示。
图9-30 icon核配置选项界面
【boundary scan chain】下拉选择框:边界扫描链,分析仪可以通过user1、user2、user3或user4边界扫描链与chipscope内核通信。(spartan-3、spartan-3e、spartan-3a或spartan-3a dsp器件不支持该选项。)
可以禁止bufg插入。
打开【edit】菜单→【preferences】属性,弹出【edit preferences】属性编辑对话窗,如图9-31所示。
使能jtag全局时钟缓冲器控制:在【miscellaneous】选项卡里,【show manual jtag global clock buffer control in icon panel】复选框选中。
禁止jtag时钟上的bufg:【put jtag clock on a global clock buffer】复选框不选中。
图9-31 【edit preferences】界面
(3) 在图9-30中单击【new ila unit】,弹出ila触发选项和参数设置界面,如图9-32所示。
图9-32 ila触发选项和参数设置界面
trigger parameters选项卡:
trigger input and match unit settings选项组:
【number of input trigger ports】下拉列表框:选择ila核输入触发端口数目,ila核最多支持16个输入触发端口。每个触发端口的参数在下方列出,包括触发宽度、触发匹配条件判断类型和数目。
trign选项组:
【trigger width】编辑框:触发端口由一条或者多条信号线组成,信号线的总数成为触发宽度,最大为256。
【# match unit】下拉列表框:触发比较匹配单元是个比较器,和触发端口相连,用于检测触发端口是否满足设定的条件。每个触发端口可以有1~16个触发匹配单元。触发匹配设置单元设置的越多,触发事件就越灵活,但是要占用更多的内部资源。在满足条件的情况下,尽量减少触发匹配单元的数量。
【matchtype】下拉列表框:请参见表9-1。
【count width】下拉列表框:匹配单元计数器宽度,用于选择满足匹配条件的次数,最大32位。
trigger condition settings选项组
【enable trigger condition sequencer】复选框:设臵是否使能触发队列器和队列器深度。触发序列是为了增加触发的复杂性,使触发的条件更加特殊,我们可以把若干个状态组合起来形成触发条件,这样就能更好的使用有限的资源存储有用的数据。
【max number of sequencer levels】下拉列表框:设臵最大的触发条件序列级数。
storage qualification condition settings选项组
【enable storage qualification】复选框:存储器限制条件。请参考9.2.2小节中的相关内容。
captures parameters选项卡:采样参数选项卡(参见图9-33)。
图9-33 【captures parameters】参数设置界面
【sample on】下拉选择框:设臵在时钟的上升沿或者下降沿采集数据。
【data depth】下拉选择框:设臵ila核存储的最大数据采样个数。
【data same as trigger】复选框:设臵ila触发端口和数据采集端口是否相同。请参考9.2.2小节中的相关内容。
trigger port used as data选项组:
如果选中了【data same as trigger】复选框,那么在数据选项的每个trign端口前都会出现一个【include trign port】复选框,选中该选项,表明数据和触发端口合并。
net connections选项卡(参见图9-34)。
图9-34 【net connections】网络连接界面
net connections选项组:用于将集成逻辑分析仪ila核的输入信号与设计中的网线连接起来。如果触发和数据信号分离,那么必须指定数据、时钟和触发端口。双击【clock port】或者单击【clock port】左边的加号(+)。如果还没连接,该选项显示为红色。如图9-34所示,包括【clock port】和【trigger ports】两组端口的连接。
【modify connections】按钮:单击该按钮弹出【select net】对话框,对话框很容易地将ila核工作时钟、触发信号、数据信号与设计中的网线连接起来,如图9-35所示。
【structure/nets】窗格:列出设计的层次结构。
【net name】:edif网表中的网络名,由于重命名或者综合中的优化原因,可能和hdl中的源码名字不一样。
【source instance】:当前综合结果中较低层次的元件例化名称。
【source component】:【source instance】选项中描述的组件。
【base type】:最底层的组件类型,基本类型为原语(primitive)或黑盒子。
【pattern】编辑框和【filter】按钮:通过这两个选项,可以有选择地显示设计中可用于chipscope的网线。
【remove connections】按钮:删除当前的连接。
【move nets up】按钮:向上移动连接的位臵。
【move nets down】按钮:向下移动连接的位臵。
【make connections】按钮:连接所选择的网络节点和chipscope内核。
图9-35 【select net】界面
在【structure/nets】中,选择想要连接到chipscope核的网络节点(可以配合shift/ctrl键,选择多个网线)。在【net selections】中选择【clock signals】、【trigger signals】或【data signals】选项卡,选择想用于连接网络节点的通道,例如ch0,单击【make connections】按钮建立网络节点与chipscope内核的连接,如图9-36所示。
图9-36 【select net】界面
chipscope pro只能分析fpga内部逻辑信号,不能直接连接到fpga的输入,所以输入信号全部以灰色显示,如图9-35所示的clk、reset信号。如果要观察输入信号,可连接此输入信号的输入缓冲器的输出来实现,时钟信号选择相应的bufgp,如图9-36所示的clk_bufgp信号,普通信号选择相应的ibuf。
连接完成后,单击“ok”按钮返回连接显示界面,发现所有提示字符“unit”、【clock port】以及【trigger ports】没有红色,则单击【return project navigator】,退出chipscope,返回到ise 中。
(4) 在图9-30中单击【new atc2 unit】,弹出atc2的选项和参数设置界面,如图9-37所示。
图9-37 atc2【pin selection parameters】参数设置界面
pin selection parameters选项卡。
【capture mode】下拉选择框:可以设臵成state模式和timing模式,state模式用于和clk输入信号同步的数据捕获。数据信号经atc核输出到fpga引脚上的通道由流水线触发器和clk组成。timing模式用于异步数据捕获。数据信号经atc核输出到fpga引脚上的通道由组合逻辑组成。
【max frequency range】下拉列表框:atc2核的最大频率范围。有效的最大频率选项为0~100 mhz、101~200 mhz、201~300 mhz和301~500 mhz。当【capture mode】设臵成【state】,【max frequency range】的选择对atc2核实现有效。
【pin edit mode】下拉列表框:引脚编辑模式,用于设臵引脚是否为一组,如果设臵成【same as atck】一组,那么所有atd的io标准、驱动、slew斜率都和atck相同。设臵成【individual】,则要设臵每个引脚的属性。
【atd pin count】下拉列表框:atd输出引脚数,范围为4~128。
【endpoint type】下拉列表框:atck和atd输出驱动类型为单端或者差分。
【signal bank count】下拉列表框:atc2核内部包含了一个实时可切换的多路数据信号组选通器,【signal bank count】代表了多路信号选通器的输入信号组数量。有效的信号组为1、2、4、8、16、32或64。
【tdm rate】下拉列表框:atc2核不用片上存储器资源来存储捕获的数据,agilent逻辑分析仪通过一个专用探头和fpga引脚连接传送捕获的数据。atc2内核数据传送到fpga引脚上的速率可以和atc2输入端口data的速率相同或者是2倍速率。只有当目标数据捕获方式设臵成【state】时,tdm速率才可以设臵成2倍。
【data width】:atc2核的每个输入信号组数据宽度与捕获模式及tdm速率相关。在【state】模式,每个信号组数据端口的宽度等于【atd pin count】atd引脚数和【tdm rate】tdm速率的乘积。在【timing】模式下,每个信号组数据端口的宽度等于(【atd pin count】atd引脚数+1)和【tdm rate】tdm速率的乘积。
【enable auto setup】复选框:使能agilent逻辑分析仪自动设臵atc2核引脚和逻辑分析仪pod的连接。这个属性使得agilent逻辑分析仪能自动设定每个atc2引脚的相位和采样电压偏移。缺省状态为使能。
individual pin settings选项组。
【pin name】引脚名。
【pin loc】编辑框:设臵引脚的位臵。
【io standard】下拉列表框:设臵atck或每个atd引脚的i/o标准,标准根据器件和驱动器终端类型而定。
【vcco】:选择【io standard】后,vcco会自动显示该标准对应的输出电压。
【drive】下拉列表框: 设臵引脚输出驱动器的最大输出驱动电流,2~24ma。
【skew rate】下拉列表框:设臵atck和atd引脚的信号边沿斜率为fast或slow。
net connections选项卡:atc2核网络连接,操作和ila的网络连接部分一样。
net connections选项组:用于将atc2核的输入信号与设计中的网线连接起来。
【modify connections】按钮:单击该按钮弹出【select net】对话框,对话框很容易地将ila核工作时钟、触发信号、数据信号与设计中的网线连接起来。
4. 单击【return project navigator】,退出内核插入器的配置,返回ise中。
5. 在ise的【process】中双击【implement】和【generate programming file】,可以生成比特流,并将刚才插入的各类核包含在比特文件中。如果只对chipscope内核插入器修改,不需要重新【sythesize】综合。
6. 打开chipscope analyzer,对采样数据进行分析。chipscope analyzer在后面小节中介绍。

Oukitel投入了大量的金钱和精力来升级相机
对比CYT1000AE,为什么更多人愿意使用这款高压线性恒流icSM2082EGS?
protel上些常用的快捷键
变频控制系统单片机外围电路设计探讨
浅析储能电池多元化技术升级趋势
Xilinx可编程逻辑器件设计与开发(基础篇)连载34:Spartan
教你实现用Python自动玩王者荣耀
苹果新任设计掌门人的上位之路
基于FPGA芯片和RISC在图像驱动中的应用
紧随Apple Pay 三星支付24日将公开测试
基于区块链技术的TransCrypt平台正在计划推出一种新的通用支付系统
为什么买华为Mate 9不买iPhone 7 Plus?看完你就知道!
探析晶硅光伏电池漏电的原因
食物腐败程度测定仪
AVEVA 剑维软件助力厦门大学深化产学研用深度融合
MiniLED背光:从底层到表现,全新下一代显示技术
英特尔FPGA系列再扩容,打造完美产品矩阵
FAN5400系列USB兼容锂离子电池开关式充电器
HT for Web可视化产品在传统农业中的应用
顺舟智能荣获2023年度海尔智能家电最佳合作奖