网站搜索:
5.1.5 ChipScope Pro Serial I/O Toolkit使用说明
文章出处:与非网
更新于2008-11-18 11:49:27

ChipScope Pro Series I/O Toolkit是专门用于高速串行接口(Rocket I/O)的调试和交互式配置工具,具备实时调整高速串行I/O的多种参数、与系统其他模块通信以及测量多通道误比特率等功能,并且通过JTAG链路即可调试吉比特串行收发器,无需额外的管脚和接口,是串行I/O开发中最理想的调试工具。目前Series I/O Toolkit相关的软件只提供了对Virtex-4 RocketIOGT11收发器以及Virtex-5 RocketIO GTP 和GTX收发器的误比特率性能测试,不支持Virtex 2 Pro系列芯片的Rocket IO收发器。

1. ChipScope Pro Serial I/O Toolkit的操作流程
ChipScope Pro Serial I/O Toolkit可实时调整串行高速收发器的参数,可自动调用ISE的各个工具生成二进制配置文件,只需通过JTAG接口即可下载设计并测试硬件,无需额外的管脚进行调试。其中,生成用于测试的二进制配置文件是由IBERT(Internal Bit Error Ratio Tester,内部误比特率测试器)核完成的,支持所有的高速串行标准,包括:PCI Express、RapidIO、千兆以太网、XAUI以及光纤信道等,极大地缩减了串行I/O测试场景的建立时间和调试时间。

ChipScope Pro Serial I/O Toolkit是内嵌在FPGA中的一种高速串行数据分析数字示波器,可方便地在信号的端点进行板级信号完整性分析,其基本操作流程如图5-26所示。首先配置IBRET核参数,其次生成设计工程,在后台调用ISE工具生成FPGA的二进制配置文件,并将其下载到FPGA中,通过Chipscope Analyzer统计误比特率。

 


图5-26 ChipScope Pro Serial I/O Toolkit操作流程示意图


上述操作中最主要的就是生成IBERT核。实际上,该核和ILA核一样,也需要连接到ICON核上,但其自身具备控制、监控以及改变Virtex 4和Virtex 5系列Rocket I/O收发器参数的逻辑,并且还能完成误比特性能测试,主要分为以下三个组件:
 BERT逻辑
BERT逻辑中例化了Rocket I/O收发器组件,并包括了测试模式发生器和检查器。利用comma和comma检测器,可提供从简单的时钟信号到完全的PRBS模式以及成帧计数模式。
 
 动态重配置端口(DRP)逻辑
每个RocketI/O收发器都有一个动态重配置端口,因此每个收发器属性都可在系统中改变。所有的属性和DRP地址在IBERT核中都是可读可写的,且可独立访问。
 
 控制和状态逻辑
管理IBERT核的操作。

2.Chipscope Serial I/O Toolkit的基本操作
Chipscope Serial I/O Toolkit的操作分为两个阶段:首先,配置IBERT核、生成二进制配置文件;其次利用Analyzer将比特文件配置到FPGA中完成测试。需要注意的是,IBERT核只能作为一个独立的设计,不能在用户设计中例化。不同系列芯片的IBERT核和以及在Analyzer中的配置是不同的,下面以Virtex-5平台为例对整体操作过程进行说明。

例5-1:生成IBERT核,并在ML506平台上完成验证。
 双击“Xilinx ISE Design Suit 10.1 → Chipscope Pro → IBERT Core Generator”命令,打开IBERT核生成器,其界面如图5-27所示。直接点击“Next”按键进入通用参数设置界面,如图5-28所示。其中“Output Bitstream”栏用于填写工程输入比特文件路径;“Divice Family”行下拉框中可选择芯片系列,本例选择Virtex5;“Device”行下拉框选择芯片型号,目前只支持Virtex-4和Virtex -5LXT/SXT/FXT系列,本例选择xc5vsx50t,“Package”行下拉框选择封装形式,本例选择ff1136;“Speed Grade”行下拉框选择芯片的速度等级,本例选择-1;“Silicon Revision”行下拉框可选择芯片标准试块的版本,有CES4'(工业样片)和正式产品(Product)两种选择,本例选择Product。点击“Next”按键进入下一页。


图5-27 IBERT核生成器启动界面

图5-28 芯片型号选择界面


 配置IBERT核的时钟选项,其配置界面如图5-29所示。其中“IO Standard”行下拉框中可以选择时钟信号的电平标准,本例选择LVCMOS33;“P Source Pin”编辑框用于输入时钟管脚的位置约束,本例输入AG18;“Frequency(MHz)”用于输入频率值,本例输入27。点击“Next”进入下一页。


图5-29 时钟源配置界面


其中Virtex-5 LXT/SXT/FXT系列GTP收发器的时钟结构是固定的,如图5-30所示。因此在IBERT核中的每个GTP_DUAL/GTX_DUAL设计中都有该时钟电路。可以看出,一个Tile中的两个GTP接收时钟是不同的,而发送时钟是相同的。


图5-30 GTP收发器时钟结构


 配置MGT选项,其配置界面如图5-31所示。其中“Resource Usage”栏列出了当前配置的时钟资料利用率,包括GTP Duals和DCM模块的数量,其中DCM模块不能超过芯片中的最大数目;“Patterns Setting”栏用于设置测试模式,常用的模式包括:PRBS 7-bit (X7 + X6 + 1)、PRBS7-bit Alt (X7 + X + 1)、PRBS 9-bit、PRBS 11-bit、PRBS 15-bit、PRBS 20-bit、PRBS 23-bit、PRBS 29-bit、PRBS 31-bit以及用户自定义模式(可为任意20比特模式,包括时钟信号)、成帧计数以及空闲模式,缺省值为PRBS7-bit、PRBS 23-bit、PRBS 31-bit和 User Pattern,本例选择如图5-31所示;在“GTP/GTX Settings”区域,每个GTP_DUAL/GTX_DUAL都可以被使能且单独配置。如果一个GTP_DUAL/GTX_DUAL被使能,则需要指定最大的线速率以及时钟频率,本例使能了GTP_DUAL_X0Y2和GTP_DUAL_X0Y3。配置完成后,点击“Next”按键进入下一页。


图5-31 MGT参数配置界面

 
 配置GPIO参数,其配置界面如图5-32所示。目前GPIO选项包括VIO核控制的同步输出管脚,其中的“Add VIO Controlled Output Pins”选项可使能在IBERT设计中添加VIO管脚的功能;“Number of Output Pins”编辑框用于输入同步VIO管脚数,其范围为1到256;选中“Edit Output Pin Types Individually”项可单独编辑每个VIO管脚,否则所有的VIO管脚具有相同的属性;“Pin Name”列给出了所有管脚名称,目前只支持GPIO_OUT[n]的形式,且不能被设计人员修改;“Pin Loc”列为管脚的位置约束输入栏;“IO Standard”列的下拉框可选择电平标准,支持常用的电平标准;“VCCO”列出了相应的电平值,由电平标准决定;“Drive”列为相应的驱动能力,有效范围为2到24mA;“Slew Rate”列设置转换速率,有Fast和Slow两种选择,本例选择“Fast”。配置完成后,点击“Next”按键进入下一页。


图5-32 MGT参数配置界面


 配置示例和模板参数,其配置界面如图5-33所示,一般选择缺省值即可,点击“Next”按键进入生成页面,如图5-34所示。在此过程中,IBERT核会调用ISE工具自动生成比特文件,并会在最后给出提示信息。点击“Previous”、“Cancel”或“Start Over”按键都可以取消该过程。生成比特文件后,会在Messages栏给出“IBERT Design Generation Completed”字样的提示信息,并给出6个步骤各自所占用的时间。


图5-33 MGT参数配置界面图

图5-34 MGT参数配置界面

 
 将下载线将PC机和ML506开发板连接起来,打开Chipscope Analyzer,点击工具栏的“ ”按键,将调用iMPACT工具扫描JTAG链路,其结果如图5-35所示,列出JTAG链上的5款芯片,包括FPGA芯片XC5VSX50T。


图5-35 JTAG链扫描结果示意图


然后选择“Device → DEV: 4 My Device4(XC5VSX50T)→ Configure”命令,打开比特文件选择界面,选择刚才生成的ibert.bit文件,在弹出的图5-36中点击“OK”按键,即开始配置FPGA芯片,并在右下角Analyzer显示配置进度。


图5-36 比特配置文件确认界面

 


完成FPGA配置后,双击“New Project”区域的“UNIT:0 MyBERT_V5_GTP0(BERT _V5 _GTP0)”,会弹出IBERT交互测试界面,如图5-37所示,分为3个配置页面,其中“Clock Setting”页面用于配置GTP的时钟与功率特性,用户首先要在“GTP_DUAL Power”下拉框选择“On”选项,打开相应的功率开关,GTP才可以开始工作;“MGT/IBERT Setting”栏用于设置GTP收发端参数;“Sweep Test Setting”是Virtex 5系列芯片独有的测试选项。在每一页面都会列出GTP_DUAL_X0Y1和GTP_DUAL_X0Y2两个GTP Tile,和图5-31的配置信息是一致的,由于目前GTP的功率开关尚未打开,因此在Analyzer中,GTP_DUAL_X0Y1和GTP_DUAL_X0Y2工作状态提示栏的背景为红色,正常工作后会变成绿色。

 


图5-37 IBERT交互测试界面


 为了便于说明,下面以GTP_DUAL_X0Y2为例进行说明。在图5-38中“CLKP/ CLKN Settings”栏中“GTP_DUAL_X0Y2”列、“GTP_DUAL_Power”行的下拉框中选择“On”选项,打开GTP_DUAL_X0Y2。经过短暂的时间后,相应的“GTP_DUAL_PLL_States”会由“NOT LOCKED”状态跳变为“LOCKED”,“REF CLKOUT Frag(MHz)”行显示输出频率为149.71,锁相环正常工作,且其状态指示栏的背景显示为绿色,表明GTP _DUAL_X0Y2的时钟模块工作正常,如图5-38所示。


图5-38 GTP时钟工作状态示意图


等PLL状态工作正常后,可点击“CH0 Clock Status”和“CH1 Clock Status”栏目,打开GTP_DUAL中两个GTP各自的收发时钟状态察看器,分别如图5-39、5-40所示,会列出相应的发送DCM和接收DCM的工作状态,只有“LOCKED”才表明PLL其正常工作;本设计两个GTP的收发频率都在300MHz左右。


图5-39 GTP 0通道时钟状态


图5-40 GTP 1通道时钟状态


 配置完GTP时钟状态后,可切换到“MGT/BERT Settings”页面配置GTP参数,并查看相应的测试结果。“MGT Setting”区域为GTP参数设置,如图5-41所示,其中“MGT Link Status”为“LINKED”状态、“GTP_DUAL_PLL LOCK Status”为“LOCKED”状态,且背景为绿色时,说明GTP已正常工作,可以完成交互测试;“Loopback Mode”用于选择自环测试模式,有近端PMA自环(将一个GTP的发送和接收端环回)、远端PMA自环(在一个Tile内完成自环)等不同的测试模式,本利选择近端PMA自环;“Coding”选择线路编码模式,本例未选择线路编码。此外,用户还可以设置DRP以及设定线路速率,本例采用缺省值。


图5-41 GTP交互测试界面


图5-42发送链路配置栏


配置完MGT参数后,点击“TX Setting”,打开发送链路设置栏,如图5-42所示,其中:“TXOUT/TClk DCM Status”栏为发送链路DCM工作状态指示,为“LOCKED”时表明发送链路正常工作;“Invert TX Polarity”可以改变发送极性,这一功能非常有用,可有效便面电路板设计时链路极性反接的错误;“Inject TX Bir Error”用于人为注入错误,点击相应的“Inject”按键即可加入一个错误比特;“TX Diff Boost”和“TX Diff Output Swing”选项用于设置差分输出模式和功率大小,根据需要选择即可;“Tx Pre-Emphasis”为预加重选项,在发送端主动弥补传输信道的不理想特性,由于IBERT测试在芯片内自环,因此预加重设置为0%。
接下来需要配置GTP的接收链路参数,其配置界面如图5-43所示。和发送链路一样,可察看接收时钟工作状态以及反转接收极性等匹配功能;“Enable RX EQ”选项用于使能接收端均衡器;“RX EQ Wb/HP Ratio”用于设置均衡器的强度参数,本例选择缺省值。


图5-43 接收链路参数配置界面


图5-44 BERT参数配置界面


配置完收、发链路后,可以在“BERT Setting”区域察看误比特率统计结果,其配置界面如图5-44的下半部分所示,其中:“TX/RX Data Patten”下拉框用于选择测试模式,可选项就是用户在生成IBERT核时所添加的测试项,本例选择“PRBS 7-bit”;“RX Bit Error Rati o”为相应的自环测试误比特率,本例测试结果分别为1.999E-11和3.129E-011,从数字上看来已满足各类应用的要求;“RX Line Rate”为接收链路的线路码率,分别为2.99Gbps和 3.002Gbps;“RX Received Bit Count”为接收到的比特数,5-44图中分别为5.003E010和3.186E10;“RX Bit Error Count”为误比特率个数,本例由于没有发生错误,所以错误比特数为0.000E000;“BERT Reset”为BERT统计复位键,点击后可将目前的统计结果清零,从新开始统计。


图5-45 Sweep测试设置界面


图5-46 Sweep测试结果示意图


 Sweep Test Setting(扫描测试)为Virtex5系列FPGA独有的性能测试,自动完成对某一通道的不同配置参数进行测试,只能在近端环回和远端环回测试模式中使用。其配置页面如图5-45所示,配置完成后,点击“Start”按键,即可得到图5-46所示的分析结果。
 完成上述基本测试后,读者可以进一步了解IBERT的交互测试操作合GTP特性,如果仅在发端反转极性,则肯定会有大量的误码,图5-47中“GTP_DUAL_X0Y2_0”的测试结果验证了这一特点;同时将收端极性也反转过来,重新点击“Reset”按键开始测试,其相应的测试结果如图5-48所示,回复到以前的高性能。这表明在实际设计中,收发端的极性一定要匹配。


图5-47 收发端极性不一致测试结果示意图


图5-48收发端极性一致测试结果示意图


最后一点则是说明“Inject Error Bit”的用法,分别点击4次GTP_0的“Inject”按键,1次GTP_1的“Inject”按键,可以看到相应的“RX Bit Error Count”分别增加了4和1,如图5-49所示。其实,插入误比特也是一种测试方法,如果插入误比特,而IBERT没有统计到,说明环回链路是存在问题的。


图5-49 误比特插入测试示意图


 

<上一节  下一节>



关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com