1、第8章 在线逻辑分析技术8.1 JTAG边界扫描测试边界扫描测试8.2 在线逻辑分析仪在线逻辑分析仪ChipScope Pro概述概述8.3 在线逻辑分析仪在线逻辑分析仪ChipScope Pro的使用的使用小结小结实验项目实验项目8.1 JTAG边界扫描测试边界扫描测试当今电子制造商正面临着越来越大地要求降低成本、提高质量及缩短面市时间的压力,他们采用的电路板越来越密、器件越来越复杂、电路性能要求也越来越苛刻,这一切直接导致了电子器件的生产商和电子产品的制造商都在倾向于采用最新的器件技术,如GA、CSP、TCP 等更小的封装,以采用更小的体积而提供更强的功能,同时降低了成本。但是随之而来的接
2、入问题却日益成为测试的巨大障碍。为了解决此类问题,IEEE 1149.1边界扫描测试BST(Boundary Scan Test)技术应运而生。当今电子制造商正面临着越来越大地要求降低成本、提高质量及缩短面市时间的压力,他们采用的电路板越来越密、器件越来越复杂、电路性能要求也越来越苛刻,这一切直接导致了电子器件的生产商和电子产品的制造商都在倾向于采用最新的器件技术,如GA、CSP、TCP 等更小的封装,以采用更小的体积而提供更强的功能,同时降低了成本。但是随之而来的接入问题却日益成为测试的巨大障碍。为了解决此类问题,IEEE 1149.1边界扫描测试BST(Boundary Scan Test
3、)技术应运而生。在20世纪80年代,联合测试行动小组JTAG(Joint Test Action Group)开发了IEEE 1149.1(JTAG)边界扫描测试技术规范,该规范提供了有效的测试引线间隔致密的电路板上的集成电路芯片的能力,主要用于芯片测试和配置等功能。大多数的FPGA厂家遵守IEEE规范,并为输入引脚、输出引脚和专用配置引脚提供边界扫描测试能力。JTAG最初用于芯片功能的测试,其工作原理是在器件内部定义一个测试访问端口(Test Access Port,TAP),通过专用的JTAG测试工具对内部节点进行测试和调试。TAP是一个通用的端口,外部控制器通过TAP可以访问芯片提供的所
4、有数据寄存器和指令寄存器。现在JTAG接口还常用于芯片的在线配置,对PLD、Flash等器件进行配置。为了完成系统的调试,任何原型系统都支持JTAG配置方式,因而JTAG配置也就成为最广泛支持的配置方式。不同厂商和不同型号的绝大部分FPGA芯片都支持JTAG配置方式。JTAG边界扫描测试是一种可测试结构技术,它采用集成电路的内部外围所谓的“电子引脚”(边界)模拟传统的在线测试的物理引脚,对器件内部进行扫描测试,JTAG接口由四个必需的信号以及一个可选信号构成。它是在芯片的I/O端上增加移位寄存器,把这些寄存器连接起来,加上时钟复位、测试方式选择以及扫描输入和输出端口形成边界扫描通道。边界扫描结
5、构如图8.1所示。图8.1 边界扫描结构 该方法提供了一个串行扫描路径,它能捕获器件核心逻辑的内容,或者遵守IEEE规范的器件之间的引脚连接。IEEE 1149.1标准规定了一个四线串行接口(TDI、TDO、TMS和TCK)及可选的第五条线TRST,该接口称作测试访问端口(TAP),用于访问复杂的集成电路(IC),例如微处理器、DSP、ASIC和CPLD等。边界扫描IO引脚功能如表8.1所示。将芯片中的数据存储通过TDI引脚输入到指令寄存器中或一个数据寄存器中,串行数据从TDO(测试数据输出)引线上输出。边界扫描逻辑由TCK(测试时钟)上的信号计时,而且TMS(测试模式选择)信号驱动TAP控制
6、器的状态。TRST(测试重置)是可选项,可作为硬件重置信号,一般不用。表 8.1 边界扫描 IO 引脚功能 引脚 描 述 功 能 TDI 测试数据输入 测试指令和编程数据的串行输入引脚。数据在 TCK 的上升沿移入 TDO 测试数据输出 测试指令和编程数据的串行输出引脚,数据在 TCK 的下降沿移出。如果数据没有被移出时,该引脚处于高阻态 TMS 测试模式选择 控制信号输入引脚,负责 TAP 控制器的转换。TMS 必须在 TCK 的上升沿到来之前稳定 TCK 测试时钟输入 时钟输入到 BST 电路,一些操作发生在上升沿,而另一些发生在下降沿 TRST 测试复位输入 低电平有效,异步复位边界扫描
7、电路(在 IEEE 规范中,该引脚可选)设计人员使用BST规范测试引脚连接时再也不需要物理探针了,甚至能够在器件正常工作时捕获功能数据。器件的边界扫描单元能够从逻辑电路中跟踪引脚信号,或是从引脚或器件核心逻辑信号中捕获数据。测试数据串行地移入边界扫描单元,捕获的数据串行移出芯片的外部,同预期的结果相比较。8.2 在线逻辑分析仪在线逻辑分析仪ChipScope Pro概述概述ChipScope Pro是Xilinx公司开发的在线片内逻辑分析工具,它支持Xilinx Virtex、Virtex-E Virtex-、Virtex-Pro、Virtex-4、Virtex-5、Spartan-、Spar
8、tan-E、Spartan-3、Spartan-3E和Spartan-3A系列FPGA。ChipScope Pro的主要功能是通过JTAG电缆,实时地读出FPGA的内部信号。它的基本原理是利用FPGA中未使用的块RAM,根据用户设定的触发条件将信号实时地保存到这些块RAM中,然后通过JTAG电缆传送到计算机,最后在计算机屏幕上显示出时序波形。使用ChipScope Pro观察FPGA内部信号具有以下优点:(1)成本低廉。只要用这套软件加上一根JTAG电缆就可以进行信号分析。(2)灵活性大。观察信号的数量和存储深度由器件剩余的块RAM数量决定,剩余块RAM越多,可观察信号的数量和存储深度就越大,
9、而且ChipScope Pro可以十分方便地观测FPGA内部的所有信号,对FPGA内部逻辑调试非常方便。(3)使用方便。ChipScope Pro可以自动读取项目设计网表文件,将其测试所需的IP Core的网表插入到原设计的网表中。可以方便地选择待观测信号,也可以设置复杂的触发条件。ChipScope Pro的IP Core只使用少量的查找表资源和寄存器资源,对原设计的影响很小。ChipScope Pro系统框图如图8.2所示,其中ILA、ICON是为了使用ChipScope Pro观察信号而插入的核。一般来说,ChipScope Pro工作时,在用户设计中必须实例化两种核:一是集成逻辑分析仪
10、核ILA Pro(Integrated Logic Analyzer Pro core),提供触发和跟踪捕获的功能;二是集成控制器核ICON Pro(Integrated Controller Pro core),负责ILA核和JTAG口的通信。一个ICON可以连接多达15个ILA核。ChipScope Pro工作时,ILA核根据用户设置的触发条件捕获数据,然后在ICON核的控制下,通过JTAG口上传到计算机,最后用ChipScope Pro中的分析工具ChipScope Pro Analyzer显示信号波形。还有一些核,如IBA/OPB核适用于处理器外设总线的集成总线分析,IBA/PLB核适
11、用于处理器本地总线的集成总线分析,VIO核是虚拟I/O核,ATC2核是安捷伦跟踪核等可以根据需要生成。图8.2 ChipScope Pro系统框图 ChipScope Pro的设计流程如图8.3所示,这里可以采用手工或者自动两种方式完成核的插入。采用手工方式时,在ISE 10.1设计工具中通过ChipScope Pro的内核生成器根据用户设定条件生成在线逻辑分析仪的IP Core,包括ICON、ILA、IBA/OPB、IBA/PLB、VIO和ATC2核等内核。设计人员在原HDL代码中实例化这些核,然后将需要观察的内部信号与这些核相连,最后进行综合、布局布线、下载配置文件,就可以利用分析工具Ch
12、ipScope Pro Analyzer来设定触发条件、观察信号波形;采用自动方式时不修改源文件,首先综合设计,然后利用ChipScope Pro的内核插入器ChipScope Pro Core Inserter自动完成在设计网表(.NGC或EDIF)中插入所生成的ICON、ILA和IBA等内核的工作,不用手工在HDL代码中实例化。然后对这个新的网表文件进行综合、布局布线、下载配置文件,利用ChipScope Pro Analyzer工具观察信号波形。在第一种方式中,每修改一次ChipScope Pro的内容需要重新例化内核,重新对设计进行综合处理,相对来说,操作比较复杂和费时;第二种方式不需
13、修改源文件和对设计进行综合处理,仅进行设计实现,因此操作简单和方便,通常都采用这种处理方式。当然,如果利用上面介绍的FPGA底层编辑器可以直接编辑插入在设计中的ChipScope Pro观察探点,采用这种方法可以不用重新进行实现处理,而直接生成位流文件,操作更快捷,但这种方式不能修改分析仪所设置的条件,只能移动探点。图8.3 ChipScope Pro的设计流程 8.3 在线逻辑分析仪在线逻辑分析仪ChipScope Pro的使用的使用 1.系统要求系统要求1)软件工具ChipScope Pro软件与相配套的Xilinx ISE开发软件,如本例使用ChipScope Pro10.1i和Xili
14、nx ISE 10.1i。2)下载电缆下载电缆支持JTAG边界扫描的如下电缆之一:Platform Cable USB Parallel Cable IV Parallel Cable III MultiPRO 3)FPGA下载板FPGA下载板有Xilinx公司Virtex、Virtex-E、Virtex-、Virtex-Pro、Virtex-4、Virtex-5、Spartan-、Spartan-E、Spartan-3、Spartan-3E和Spartan-3A系列FPGA,并且具有TDI、TMS、TCK和TDO等四个JTAG边界扫描引脚信号。2.ChipScope Pro软件的安装软件的安
15、装按如下步骤完成ChipScope Pro软件的安装:(1)下载ChipScope Pro软件。(2)以administrator权限登陆Window系统。(3)单击ChipScope_Pro_10_1i_pc.exe按照向导完成安装。3ChipScope Pro Core Inserter工具的使用工具的使用ChipScope Pro Core Inserter工具可以很方便地分析综合后的设计,而不需要任何HDL的实例化。下面以计数器设计为例,介绍该工具的使用。(1)加入ChipScope 定义和连接CDC(ChipScope Definition and Connection)文件。选择菜
16、单【Project】【New Source】命令来创建文件,弹出【Select Source Type】对话框,选择【ChipScope Definition and Connection File】选项,在【File name】文本框中输入文件名,如cdc_cnt60,如图8.4所示。单击按钮,进入下一个窗口,选择与创建的CDC文件相关联的设计文件。最后单击按钮,完成CDC文件的创建。若CDC文件已经存在,可以选择菜单【Project】【Add Copy of Source】,找到该文件直接添加。加入CDC文件后,在ISE的【Sources】窗口中显示cdc_cnt60.cdc文件,如图8.
17、5所示。图8.4 创建新的CDC文件 图8.5 Sources窗口(2)创建ChipScope核来完成信号的连接,具体步骤如下:双击ISE软件的【Sources】窗口中的cdc_cnt60.cdc文件,打开【ChipScope Pro Core Inserter】对话框,如图8.6所示,单击按钮。图8.6 【ChipScope Pro Core Inserter】对话框 弹出的ICON核选项界面如图8.7所示。在该界面中可以通过单击和 按钮选择添加新的ILA与ATC2核。若选中界面中的【Disable JTAG Clock BUFG Insertion】复选框,则在布局布线时将采用普通布线资源
18、,而不是全局时钟布线资源。选择该项功能在设计中全局时钟不够用的情况下比较有用,单击按钮。图8.7 ICON选项界面 弹出的触发参数设置界面如图8.8所示。【Number of Input Trigger Ports】选项为触发端口个数,用户根据自己的设计需要进行选择。本例中选择一个端口。【Trigger Width】选项为触发信号的位宽,根据设计中触发信号的位宽设置,本例选择一位位宽。【Match Type】选项为触发方式,可选择Basic、Basic w/edges、Extended、Extended w/edges、Range与Range w/edges几种触发方式,本例选择“Basic
19、w/edges”触发方式,该方式可以指定上升沿(R)与下降沿(F)触发,其它选项采用默认设置,单击按钮。图8.8 触发参数设置界面 弹出的捕获参数设置界面如图8.9所示。默认选中【Data Same As Trigger】选项,表示数据与触发信号相同,否则数据和触发信号完全独立。【Data Width】选项为所有观察信号的总位宽,本例中选择“7”。【Data Depth】选项为数据显示深度,深度越深可显示数据长度越长,但是使用的块RAM(BRAM)资源就越多,本例中选择“512”,其它采用默认设置。完成捕获信号的设置后,可以在选项卡的左下方看到占用BRAM的数量。单击按钮。图8.9 捕获参数设
20、置界面 弹出的网络连接界面如图8.10所示。单击该界面中的按钮,进行下一步操作。图8.10 网络连接界面 选择网络【Select Net】界面如图8.11所示。在左下方【Net Name】栏找到“en_IBUF”信号,或者在【Pattern】栏输入“*en*”可以快速查找到该信号。在【Net Selsctions】栏选择【Trigger Signals】标签,单击按钮,将“en_IBUF”信号连接为触发信号。找到“clk_BUFGP”信号,在【Net Selsctions】选择【Clock Signals】页,单击按钮,将“clk_BUFGP”信号连接为时钟信号。找到“q_tmpq_tmp”与
21、“en_IBUF”信号,在【Net Selsctions】选择【Data Signals】页,将上述信号连接为观察信号。图8.11 选择网络界面 单击 按钮,完成选择网络设置。回到图8.10所示的网络连接界面,此时【Net Connections】下的信号端口变黑,单击“”按钮保存。至此信号的连接完成,ChipScope Pro Core Inserter工具自动地将核插入到设计中。(3)在ISE中布局布线,产生下载文件。将位流下载到FPGA开发板。(4)启动ChipScope Pro Analyzer工具观察信号。4.ChipScope Pro Analyzer工具的使用工具的使用ChipS
22、cope Pro Analyzer的主要功能是观察信号,下面介绍该工具的使用。(1)在ISE软件的【Processes】窗口(如图8.12所示)中单击【Analyze Design Using Chipscope】选项,启动ChipScope Pro Analyzer工具。图8.12 ISE进程窗口(2)在ChipScope Pro Analyzer界面左上方单击“”按钮,打开下载电缆,弹出如图8.13所示对话框,选择所需要观察的FPGA,单击按钮,进入下一步操作。图8.13 选择FPGA芯片(3)这时出现波形观察界面,如图8.14所示,在【Trigger Setup】栏设置触发信号,本例中由
23、于触发信号为“en”,所以触发值选择高电平“1”。【Waveform】栏为波形显示窗口。总线信号“Bus/Signal”默认名称为“DataPortx”,x表示端口号,为了方便观察波形,可以修改这些信号的名称,也可以将信号组合为总线的形式进行观察。(4)在本例中,由于观察信号为计数器输出“q”和使能信号“en”,所以将DataPort0DataPort5设置为总线形式。具体方法为选中DataPort0DataPort5信号,单击鼠标右键,如图8.15所示,选择菜单【Add to Bus】【New Bus】命令,然后将总线名修改为“q”。选中DataPort6,单击鼠标右键,选者菜单【Renam
24、e】选项,修改为“en”。图8.14 波形观察界面 图8.15 添加总线(5)在【ChipScope Pro Analyzer】界面左上方单击“”按钮,采集信号,若“en”信号为“0”,ChipScope Pro Analyzer等待触发信号;若“en”信号为“1”,则可以采集当前计数器的输出值,如图8.16所示。输出信号可以采用二进制、十进制、十六进制等形式显示。可以采集当前计数器的输出值,判断FPGA芯片工作状态是否达到了计数器的功能要求。图8.16 波形显示 小小 结结本章详细介绍了在FPGA调试阶段,使用JTAG边界扫描进行测试的原理,以及ISE集成套件中在线逻辑分析仪ChipScop
25、e Pro 工具软件的信号测试分析手段和方法。实实 验验 项项 目目实验一实验一 移位相加八位硬件乘法器电路设计移位相加八位硬件乘法器电路设计实验目的:实验目的:(1)学习应用移位相加原理设计八位乘法器。(2)比较用组合逻辑、时序逻辑实现相同电路功能在FPGA芯片资源利用和实现结果上的差异。(3)熟悉在线逻辑分析仪ChipScope Pro调试工具。实验原理:实验原理:乘法器的乘法原理:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。实验要求:实验要求:(1)用移位相加进行本乘法运算,不得使用“*”算术运
26、算符。(2)应用“自顶向下”的设计思路,合理分解子模块,降低模块实现复杂度。(3)将本乘法器设计成时序逻辑电路,要求完成以下功能:应用reset信号实现模块的同步复位。在八个时钟clk后,模块输出乘积。设置data_valid信号,同步表示有效乘积数据的输出。(4)以另一种组合逻辑电路的方式设计本乘法器。(5)用Verilog HDL完成设计、综合和仿真,分析比较两者资源占用、运行速度等的差异。(6)设计数码管显示的程序,在目标板的数码管上显示乘积值。(7)对一种设计方式进行下载。通过在线逻辑分析仪ChipScope Pro调试检查信号的输出,并与目标板的数码管上显示的乘积值进行比较。实验二实
27、验二 DDS 设设 计计实验目的:实验目的:(1)掌握DDS设计的方法。(2)锻炼FPGA设计的综合能力。(3)熟悉在线逻辑分析仪ChipScope Pro调试工具。实验原理:实验原理:生成正弦波的数字方法是利用FPGA片内ROM和片内数字逻辑资源,再外加一片DAC。在ROM中,每个地址对应的单元中的内容(正弦波的幅度)都对应于正弦的离散采样值,ROM中必须包含完整的正弦波采样值。DDS设计可以采用相位累加振荡方法实现,把正弦波在相位上的精度定位为n位,于是分辨率相当于1/2n。用时钟频率fclk依次读取数字相位圆周上各点,这里数字值作为地址,读出相应的ROM值,然后经DAC重构正弦波。DDS
28、结构框图如题图8.1所示,设正弦ROM表中存放着256个正弦信号抽样值,clk时钟为65536 Hz。当频率控制字为1时,地址每次加1,这样产生一个周期的正弦波需要256个时钟周期,相应的正弦波输出频率为65536/256;当频率控制字为2时,地址每次加2,这样产生一个周期的正弦波仅需要128个时钟周期,相应的正弦波输出频率为65536/128。依照上述方法,即可以通过改变频率控制字来改变正弦波的输出频率。题图8.1 DDS基本结构 实验要求:实验要求:(1)正弦ROM位宽为8,存储深度为256。(2)通过按键选择产生八种不同的频率(clk输入为65536 Hz)。(3)分别进行功能与时序仿真,验证逻辑功能。(4)进行下载。通过在线逻辑分析仪ChipScope Pro调试检查信号的输出。实验思考:实验思考:(1)实验中只能产生八种不同的频率,请修改程序产生16种不同的频率。(2)从ChipScope Pro上可以观察到,当正弦波输出频率变大时,其峰值会变小,为什么?
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。