ChipScope Pro核生成器的作用就是根据设定条件生成在线逻辑分析仪的IP核,然后设计人员在原HDL代码中实例化生成的核,然后进行布局布线、下载配置文件,就可以利用ChipScope Pro分析仪设定触发条件、观察信号波形。本节主要介绍核的基本知识以及核生成器的基本使用方法。
1.ChipScopePro核的基本介绍
ChipScopePro提供了7类不同的核资源,其中ICON核、ILA核、VIO核以及ATC2核获得了广泛应用,下面对这4类核进行简要说明。
(1)ICON核
如前所述,所有的核都需要通过JTAG电缆完成计算机和芯片的通信,在ChipScope Pro 中,只有ICON核具备和JTAG边界扫描端口通信的能力,因此ICON核是ChipScope Pro应用必不可缺的关键核。一个ICON核可以同时最多连接15个ILA、IBA/OPB、IBA/PLB、VIO或者ATC2核。在Virtex-4以及Vitex-5芯片中,可以通过BSCAN_VIRTEX原语来使用USER1、USER2、USER3或者USER4扫描链,且由于BSCAN_VIRTEX原语实现了一条单独的扫描链,因此就没有必要导出未使用的用户扫描链。在其余类型芯片中,只能使用USER1或者USER2扫描链。
(2)ILA核
ILA核提供触发和跟踪功能,根据用户设置的触发条件捕获数据,然后在ICON的控制下,通过边界扫描口将数据上传到PC上,最后在Alalyzer中显示出信号波形。由于ILA核和被监控设计是同步的,因此设计中的所有时钟约束会被添加到相应的ILA核中。ILA包括下面3个主要组件:
输入、输出触发逻辑
输入触发逻辑用于检测各种细微触发条件;输出触发逻辑用于触发外部测试设备以及其它逻辑。
数据捕获逻辑
数据捕获逻辑用于捕获数据,并将所捕获的数据存储到芯片的块RAM中。
控制和状态逻辑
控制和状态逻辑用于管理ILA的各种操作。
(3)VIO核
虚拟输入、输出核用于实时监控和驱动FPGA内部的信号,可以观测FPGA设计中任意信号的输出结果,以及添加虚拟输入,如DIP开关、按键等,且不占用块RAM。VIO核面向模块操作,支持下面4类信号:
异步输入信号
对于异步输入信号,通过JTAG电缆的时钟信号(TCK)采样,周期地读入PC,再将结果在ChipScope Pro分析仪界面上显示。
同步输入信号
对于同步输入信号则利用设计时钟采样,然后周期地读入PC,在分析仪界面上显示。
异步输出信号
异步输出信号由用户在ChipScope Pro分析仪中定义,再将其送到周围的逻辑中,且其每个输出信号逻辑“1”、“0”的门限可以由用户自己定义。
同步输出信号
同步输出信号由用户定义,同步于设计时钟,其“1”、“0”的逻辑门限亦可独立定义。
(4)ATC2核
ATC2核由Xilinx和Aglient合作开发,适配于Aglient最新一代的逻辑分析器,联合完成调试捕获,允许逻辑分析仪访问FPGA内部设计中任何一点的网表,提供更深的捕获深度、更复杂的触发设置,还支持网络远程调试,功能十分强大。与单独使用ChipScope Pro相比,可以更加减少用于调试的FPGA内部块RAM,使其更多地用于设计中。ATC2可以为每个信号提供2M的捕获深度,是ILA深度的60倍。此外,最多允许在FPGA内部添加64个观测信号组,和逻辑分析仪的链接数最多可达128管脚。大的捕获深度以及多的观测信号对于查找设计故障原因是非常有用的。
2.ChipScope核的生成流程
在ChipScope的各个核中,除了ICON核用于控制是必不可缺的之外,其余所有核的功能是类似的,都是用于不同场合的逻辑测试核,属性和配置过程基本一样。因此,本节只介绍ICON核和使用频率最高的ILA核的生成方法。
(1)ICON核的生成流程
点击“开始 → 所有程序 → ChipScope Pro 9.1i → ChipScope Pro Genatator”,则进入ChipScope Pro Genatator的向导界面,如图5-6所示。选中“ICON(Integrated Controller)”选项,点击“Next”进入配置页面。

图5-6 ChipScope Pro Genatator的向导界面
ICON的配置页面如图5-7所示。“Design Files”选项用于设定生成目录,单击“Browse”按键,选择ICON核输出网表的存放目录;根据目标芯片型号在“Device Family”下拉框中选择相应的器件类型;然后在“Number of Control Ports”下拉框中选择Port数;其余一般选用默认配置,则“Core Utilization”栏会给出ICON核所占的硬件资源,例如带1个Port的ICON核,要占用97个查找表(LUT)单元和28个触发器(FF)单元。

图5-7 ICON核的配置界面
需要注意的是,Port数并不是信号端口数,而是外挂的集成分析仪核(如ILA、ATC2以及VIO等)的个数。
配置完毕后,点击“Next”按键,进入ICON核生成页面,如图5-8所示。其中可根据源文件的硬件语言形式,选择VHDL/Verilog HDL示例代码,并选择合适的综合工具,点击“Generator Core”按键,进入信息确认页面,点击“Start Over”按键即可完成ICON核的生成,同时会出现和图5-8一样的核生成向导界面,让用户继续添加所需的分析仪核。

图5-8 ICON核的生成界面
(2)ILA核的生成流程
在图5-6所示的向导界面中选择“ILA(Integrated Logic Analyzer Pro cores)”选项,进入ILA核的一般属性配置界面,如图5-9所示。“Design Files”选项用于设定生成目录,单击“Browse”按键,选择ICON核输出网表的存放目录;“Device Setting”选项用于设定芯片型号,在“Device Family”下拉框中选择和ICON核相同的器件类型。“Clock Setting”用于设定信号采样时刻,有上升沿和下降沿两种选择。配置完成后,点击“Next”,进入ILA核触发条件设置界面。

图5-9 ILA核的配置界面
ILA核触发条件的设置界面如图5-10所示。

图5-10 ILA核触发条件配置界面
“Number of input Trigger Ports”用于设定触发端口数,每个端口ILA核可支持多路比特数据,最多可有16个端口,具体的比特数取决于用于测试的逻辑资源。如果选择默认值N,则下面只会出现TRIG0~TRIG(N-1)的配置栏。图5-10中选择了默认值1,则只有TRIG0的配置栏,其中的“Trigger Width”用于设定每个端口的触发比特数,这里输入8;“#Match Unit”为触发单元的级联级数,最多可设置16级,这里选择了1级;“Counter Width”选项选择Disable,以节省资源;“Match Type”为触发条件类型,有6类触发条件类型(Basic、Basic w/edges、Extended、Extended w/edges、Range以及Range w/edges),如含义说明如表5-3所列。“w/edges”表明可以使用时钟的上升沿和下降沿来采样数据。其余选项选择默认值。配置完毕后,会在“Core Utilization”栏自动给出核所占用的资源。点击“Next”按键,进入数据端口配置界面。
表5-3 触发条件判断单元类型列表

相关说明,1:其中“0”表示“逻辑0”,“1”表示“逻辑1”,“X”表示“未知”,“R”表示“从0到1的跳转”,“F”表示“从1到0的跳转”,“B”表示“任何电平跳转”。2:比特/Slice数值只是为了说明不同匹配单元的大致资源利用率,不能用精确的硬件资源消耗评估。
ILA核数据端口设置界面如图5-11所示。
图5-11 ILA核数据端口配置界面

ILA核的数据端口设置界面比较简单,只是选择存储深度和数据位宽。建议读者选择“Data Same As Trigger”选项,可节省逻辑资源和布局布线的使用,当然,建议的前提是数据与触发信号相同。点击“Next”按键,进入ILA核生成的最后一步——ILA核示例和模版配置界面,如图5-12所示。一般来讲,选择默认值即可。点击“Generate Core”完成核生成过程。

图5-12 ILA核示例和模版配置界面
<上一节 下一节>