EDA 原理及应用 何宾 2008.10
本章主要介绍了PLD的配置模式、设计文件的配置、下载和调试原理。 第10章 第十章 设计下载和调试--主要内容 本章主要介绍了PLD的配置模式、设计文件的配置、下载和调试原理。 在配置模式部分,重点介绍了Xilinx的FPGA常用的几种下载模式; 在设计的配置文件部分,重点介绍了PROM配置文件的生成过程; 在设计下载部分,重点介绍了JTAG模式下载设计流文件的过程;在调试部分,介绍了几种常用的调试PLD的手段和方法,其中提到了虚拟逻辑分析仪软件工具及其在调试PLD中的作用。
设计下载和调试-PLD的配置 第十章 ● 对PLD的编程,每个EDA厂商都有自己的EDA软件和硬件平台支持,在本章中只对Xilinx的PLD配置技术进行介绍。 对设计进行综合和实现的最终目的是要生成一个可以下载到PLD的配置文件,这个配置文件有很多文件格式,不同的文件格式所包含的编程信息也有所不同。对于常用的CPLD和FPGA芯片来说,配置文件有两部分组成:配置数据和配置命令。在设计文件被下载到器件后,这些信息就转换成了配置比特文件流。
设计下载和调试-配置单元 第十章 ● 任何能够进行可编程的器件都需要在内部有专用的配置单元。大部分的FPGA芯片使用SRAM进行配置的,比如Xilinx和Altera的FPGA芯片,有一些使用Flash单元进行配置,而其它使用反熔丝的结构,比如Actel的FPGA芯片。在FPGA内部存在着丰富的可编程的互联线资源和可编程的逻辑块。 比如,对一个只包括4输入的LUT、多路选择器和寄存器的设计。多路复用器需要一个配置的单元来确定输入。寄存器要求确定其触发方式,电平触发还是边沿触发,是高触发还是低触发。同时4输入的LUT基于一个16配置的单元。
设计下载和调试-配置单元 第十章 ● 1、基于反熔丝的FPGA 基于反熔丝工艺的FPGA器件,每个逻辑单元分布在FPGA内部的固定位置上。配置文件从计算机通过下载电缆传到编程器中,编程器根据配置文件产生较大的电压和电流脉冲输入选择的引脚,按顺序熔断每个熔丝。当熔丝处理后,FPGA从编程器中取出来,然后放置在电路板上。需要注意的是,一旦熔丝处理完毕,再想修改设计是不可能的。 2、基于SRAM的FPGA 基于SRAM工艺的FPGA通过在电路板上的下载端口进行编程,如果没有外部的存储器保存数据,每次上电需要重新下载程序。实质上,这种FPGA的配置单元可以看作是贯穿所有逻辑单元的移位寄存器。
第十章 设计下载和调试-配置端口 ● FPGA的配置方法有主串行方式、从串行方式、主并行方式、从并行方式和JTAG方式下载。当然,最近又出现了新的配置方式,比如:SPI、BPI模式。配置模式一般都是通过模式管脚M0,M1,M2进行设置。 FPGA的配置端口还包括用来指示FPGA配置的过程的信号,比如,DONE信号就是用来表示程序下载过程是否完成。此外配置端口也包括了控制引脚控制数据的下载和数据本身的输入。不同的配置模式决定所需要配置引脚的数量。下面给出了一个典型的配置模式列表。
设计下载和调试-配置端口 第十章 ● 模式管脚(M2 M1 M0) 模式 000 主串行下载 001 从串行下载 010 主并行下载 011 从并行下载 1XX JTAG下载
第十章 ● 设计下载和调试-配置电路 1、主串行方式 如图10.1(a)所示,FPGA外部接了一个存储设备,现 在常用的存储设备是FLASH。当FPGA准备读取数据时, 向存储设备发出复位信号和时钟信号。 配置数据输入 控制 存储 设备 FPGA Data in Data out 配置数据输出 (a) (b) 图10.1主串行方式下载
设计下载和调试-配置电路 第十章 ● 在该模式下,FPGA不需要向存储器提供地址信息,时钟信号将配置信息按顺序从存储设备中读取出来。如图10.1(b)所示,当有多个FPGA芯片需要同时下载时,这些FPGA以菊花链的形式级联在一起,使用一个存储设备。当级联时,第一个FPGA采用主串行模式,其它FPGA采用从串行模式。
设计下载和调试-配置电路 第十章 ● 2、主并行方式下载 如图10.2所示,在该模式下,FPGA除了提供控制信号外,在先前的设计中还向FPGA提供地址用来指示下一个要配置数据。在该模式下,FPGA内部计数器为外部存储设备产生地址。在配置开始时,计数器为0。以后计数器递增指向下一个字节的数据,直到数据全部被加载到FPGA内为止。采用这种方式,使得程序的加载速度比串行方式要快的多。 配置数据[7:0] 地址 控制 存储 设备 FPGA 图10.2 主并行方式下载
设计下载和调试-配置电路 第十章 3、从并行方式 ● 3、从并行方式 上面所介绍的主模式,实现比较简单。但是需要外接存储设备,这样做使设计很容易被拷贝和复制。所以这时候可以考虑用微处理器来将程序下载到FPGA内部。 配置数据输入 控制 微 处 理 器 FPGA Data in[7:0] 图10.3从并行方式下载
设计下载和调试-配置电路 第十章 ● 如图10.3所示,在该模式下,微处理器控制程序的下载,当下载结束后FPGA通知微处理器结束下载过程。这种模式,对FPGA的配置非常灵活,微处理器可以根据整个系统的配置要求,完成对FPGA程序下载的控制。
设计下载和调试-配置电路 第十章 ● 4、从串行方式 如图10.4所示,这种模式和前面基本一样,只不过此时程序是串行方式下载到FPGA内部的。这种下载方式要比从并行方式要慢。 配置数据输入 控制 微 处 理 器 FPGA Data in 图10.4 从串行方式下载
设计下载和调试-配置电路 第十章 ● 5、JTAG方式下载 边界扫描/JTAG,即 IEEE/ANSI 标准1149.1_1190,是一套设计规则,可以在芯片级、板级和系统级简化测试、器件编程和调试。该标准是联合测试行动小组(JTAG) 图10.5 JTAG方式下载
设计下载和调试-配置电路 第十章 ● (由北美和图10.5 JTAG方式下载欧洲的几家公司组成)开发的。IEEE 1149.1标准最初是作为一种能够延长现有自动测试设备(ATE)寿命的片上测试基础结构而开发的。可以从美国TI公司边界扫描页面获得更多信息。利用该标准整合测试设计,允许完全控制和接入器件的边界引脚,而无需不易操作的或其它测试设备。每个符合JTAG要求的器件的输入/输出引脚上都包括一个边界单元如图10.5所示。正常情况下,它是透明的和停止运行的,允许信号正常通过。借助于测试模式下的器件,您可以采集输入信号,以备后期分析之用;输出信号可以影响板上的其它器件。
设计下载和调试-配置电路 第十章 ● 简而言之,IEEE 1449.1 标准定义了一个串行协议。无论封装约束怎样,该协议都要求每个符合标准的器件上要有4个(也可以是5个)引脚。这些引脚定义了测试接入端口(TAP),以便实现片上测试基础设施的操作,从而确保印刷电路板上的所有器件安装正确并处于正确的位置,以及器件间的所有互连都与设计所描述的一致。
设计下载和调试-配置电路 第十章 JTAG标准的信号包含: 1、TCK :这是一个时钟信号,用于同步1149.1内部状态机操作。 ● JTAG标准的信号包含: 1、TCK :这是一个时钟信号,用于同步1149.1内部状态机操作。 2、TMS :1149.1内部状态机模式选择信号。该信号在TCK的上升沿被采样,用来决定状态机的下一个状态。 3、TDI :1149.1数据输入引脚。当内部状态机处于正确状态时,信号在TCK的上升沿被采样,并被移入器件的测试或编程逻辑。
设计下载和调试-配置电路 第十章 ● 4、TDO :1149.1数据输出引脚。当内部状态机处于正确状态时,该信号代表从器件测试或编程逻辑移出的数据位。 输出数据在TCK的下降沿有效。 5、TRST(可选):1149.1异步复位引脚。当置低时,内部状态机立即进入复位状态。 由于该引脚是可选的,而通常为器件增加引脚会带来额外的成本,因此很少使用。 此外,内部状态机(如标准所定义的)已经明确定义有同步复位机制。
设计下载和调试-创建配置数据 第十章 ● 在时序分析器中分析设计时序约束之后,需要创建配置数据。配置的比特流用于下载到目标器件或到PROM编程文件中。
第十章 设计下载和调试-配置属性 ● Xilinx系列PROM产生配置数据的过程。为目标器件创建一个比特流,需要进行属性设置和运行配置,下面给出了该过程的步骤: 1、右键单击Generate Programming文件; 2、如图10.6,选择属性(Properties),打开属性对话框; 3、单击Startup Options目录; 4、将FGPA Start-Up Clock选项中的CCLK改为JTAG Clock;
第十章 设计下载和调试-配置属性 ● 图10.6 FPGA startup Clock的属性设置
第十章 设计下载和调试-配置属性 ● 5、如图10.7,单击Readback Options目录; 图10.7 Readback属性选择
设计下载和调试-配置属性 第十章 6、将Security属性改为Enable Readback and Reconfiguration; ● 6、将Security属性改为Enable Readback and Reconfiguration; 7、单击OK 应用所有新属性; 8、在Processes选项卡中,双击Generate Programming 文件来产生设计比特流; 9、单击+展开Generate Programming 文件层级目录; 10、浏览Programming File Generation报告,双击Programming File Generation报告。验证配置数据所设置的属性;
设计下载和调试-创建PROM文件 第十章 ● 使用iMPACT软件工具,需要比特流(bitstream)文件。通过PROM对器件进行编程,必须使用iMPACT来产生一个PROM文件。iMPACT接收包含一个或一个以上的配置比特流产生一个或一个以上的PROM文件。下面给出在iMPACT软件工具中的配置步骤: 1、创建PROM文件; 2、增加额外的比特流; 3、产生额外的菊花链(daisy chains); 4、删除现有的比特流并重新产生,或这保存当前的PROM配置文件;
设计下载和调试-创建PROM文件 第十章 在iMPACT中,创建PROM文件过程如下: ● 在iMPACT中,创建PROM文件过程如下: 1、在Processes 选项中, 双击位于Generated Programming 目录下的Generate PROM, ACE,JTAG文件; 2、如图10.8,在Welcome to iMPACT 对话框中,选择Prepare a PROM File; 图10.8 Welcome to iMPACT界面
设计下载和调试-创建PROM文件 第十章 3、单击Next; ● 3、单击Next; 4、如图10.9,在Prepare PROM Files对话框中,设置如下参数值: 图10.9 Prepare PROM File界面
设计下载和调试-创建PROM文件 第十章 在 “I want to target a:”中, 选择 Xilinx PROM ● 在 “I want to target a:”中, 选择 Xilinx PROM 在PROM File Format中, 选择MCS 在PROM File Name中,输入stopwatch1 5、单击Next; 6、在Specify Xilinx Serial PROM Device对话框中, 选择Auto Select PROM; 7、单击Next;
第十章 设计下载和调试-创建PROM文件 ● 图10.10 指定PROM芯片对话框 8、如图10.10所示,在File Generation Summary 对话框中, 单击Finish; 9、在In the Add Device File对话框中,单击OK并选择stopwatch.bit文件;
设计下载和调试-创建PROM文件 第十章 10、当被问到是否要为数据流加入其他设计文件时,单击No; ● 10、当被问到是否要为数据流加入其他设计文件时,单击No; 11、选择Operations →Generate File,iMPACT displays 显示与比特流文件关联的PROM文件; 12、选择File → Close,关闭iMPACT;
设计下载和调试-下载环境 第十章 ● 当硬件已经设计完成后,就可以使用Xilinx公司的iMPACT工具进行设计的下载了。iMPACT是一个文件生成和器件编程工具。iMPACT通过几条并行电缆进行编程,包括平台电缆USB。iMPACT可以创建bit文件,System ACE文件,PROM文件,SVF/XSVF文件。
设计下载和调试-下载环境 第十章 1、器件支持条件 iMPACT软件支持以下器件: Virtex™/-E/-II/-II PRO/4/5; ● 1、器件支持条件 iMPACT软件支持以下器件: Virtex™/-E/-II/-II PRO/4/5; Spartan™/-II/-IIE/XL/3/3E/3A; XC4000™/E/L/EX/XL/XLA/XV; CoolRunner™XPLA3/-II;XC9500™/XL/XV; XC18V00P; XCF00S; XCF00P
第十章 设计下载和调试-下载环境 ● iMPACT软件支持以下下载电缆: 1、并行电缆IV 并行电缆连接并口,可使从串和边界扫描功能更简便。 2、平台电缆USB 平台电缆连到USB口,可使从串和边界扫描功能更简便。 3、MultiPRO电缆 MultiPRO电缆连到并口,可使Desktop Configuration Mode功能简化。
设计下载和调试-下载环境 第十章 ● iMPACT软件支持以下配置模式: 1、Boundary Scan —FPGAs, CPLDs, and PROMs(18V00,XCFS,XCFP); 2、Slave Serial—FPGAs (Virtex™/-II/-II PRO/E/4/5 and Spartan™/-II/-IIE/3/3E/3A); 3、SelectMAP—FPGAs (Virtex™/-II/-II PRO/E/4/5 and Spartan™/-II/-IIE/3/3E/3A); 4、Desktop —FPGAs (Virtex™/-II/-II PRO/E/4/5 and Spartan™/-II/-IIE/3/3E/3A);
设计下载和调试-配置文件的生成 第十章 以前面几章所描述的秒表设计文件为例,需要具有以下文件: ● 以前面几章所描述的秒表设计文件为例,需要具有以下文件: BIT文件:一个二进制文件,包含属性头信息和配置数据; MCS文件:ASCII文件,包含PROM配置信息; MSK文件:二进制文件,包含与二进制文件类似的配置命令,含有掩模数据而非配置数据。该数据不被用来配置器件,但是用于验证。如果mask位为0,该位应该被验证。如果mask位为1,该位不被验证。该文件与BIT文件一起生成。
设计下载和调试-电缆连接 第十章 ● 在启动iMPACT之前,连接电缆的并口到计算机的并口上,连接电缆到Spartan-3 Starter Kit demo板。确保板已被加电。
设计下载和调试-启动软件 第十章 ● 下面介绍如何从ISE™启动iMPACT软件,以及如何单机运行。从Project Navigator中打开iMPACT。如图10.11所示,双击Processes窗口的Processes栏下的Configure Device (iMPACT)。 图10.11 从ISE打开iMPACT
设计下载和调试-启动软件 第十章 ● 需要注意的是,可以不通过ISE工程打开iMPACT。可以使用以下任一种方法: 1、Windows操作系统下单击开始,所有程序,选择Xilinx® ISE 9.2i Accessories iMPACT; 2、UNIX操作系统,在命令提示处键入impact;
设计下载和调试-建立工程 第十章 ● 当iMPACT打开时,将会显示iMPACT工程对话框。该对话框可以加载或者创建一个新的工程。下面给出创建新工程的步骤: 图10.12 创建一个iMPACT工程
设计下载和调试-建立工程 第十章 ● 1、如图10.12所示,在iMPACT工程对话框,选择create a new project (.ipf); 2、单击Browse按钮; 3、浏览project目录,在File Name处输入stopmatch; 4、单击Save; 5、单击OK; 通过上面的步骤,在iMPACT中创建了一个新工程。
设计下载和调试-使用JTAG模式 第十章 ● 边界扫描配置模式可以对含有JTAG接口的器件执行边界扫描操作。这些器件可以是Xilinx或非Xilinx器件,只是非Xilinx器件只可以进行有限的操作。为了执行操作,电缆必须连接JTAG引脚信号:TDI,TCK,TMS,以及TDO。
设计下载和调试-使用JTAG模式 第十章 如图10.13所示,打开iMPACT之后,会提示用户指定预编程器件的配置模式。 ● 图10.13 JTAG下载界面 如图10.13所示,打开iMPACT之后,会提示用户指定预编程器件的配置模式。 选择边界扫描模式:选择Configure Devices using Boundary-Scan (JTAG),取消选中Automatically connect to a cable and identify Boundary-Scan chain。
设计下载和调试-使用JTAG模式 第十章 ● 需要注意的是,选择框提供输入一个边界扫描链选项,可以通过手工添加器件来创建。该选项可以生成SVF/XSVF编程文件。在允许的情况下,可以随时自动检测和初始化该链。 单击Finish。 iMPACT将通过器件传递数据,自动识别大小和边界扫描链的组成。任何支持的Xilinx器件在iMPACT中都将被识别和标记。其他器件将被标记为未知。该软件将高亮显示该链中所有器件,并提示用户分配一个配置文件或者BSDL文件。
设计下载和调试-使用JTAG模式 第十章 ● 需要注意的是,如果没有关于选择配置模式或自动边界扫描模式的提示,那么在iMPACT窗口右键单击,选择Initialize Chain。软件将会识别该链,判断到板上的连接是否工作。
设计下载和调试-配置文件分配 第十章 ● 如图10.14所示,初始化该链后,软件将会提示产生一个配置文件。 图10.14 分配配置文件
设计下载和调试-配置文件分配 第十章 配置文件用来编程器件,配置文件类型大体有以下几种: ● 配置文件用来编程器件,配置文件类型大体有以下几种: Bitstream文件(*.bit,*.rbt,*.isc)用来配置FPGA JEDEC文件(*.jed,*.isc)用来配置CPLD。 PROM文件(*.mcs,.exo,.hex,.tek)用来配置PROM。
第十章 设计下载和调试-配置文件分配 ● 软件提示为第一个器件(XC3S200)选择一个配置文件,下面给出配置文件的分配过程和步骤: 1、从工程工作目录选择BIT文件; 2、单击Open,弹出一个警告状态,启动时钟已经变成了JtagClk,然后单击OK; 需要注意的是,如果无法获得配置文件,可以用边界扫描文件(BSDL或BSD)文件代替。BSDL文件为软件提供了必要的边界扫描信息,从而使得器件可以获得边界扫描操作的一个子集。
设计下载和调试-配置文件分配 第十章 ● 3、为了让ISE自动选择BSDL文件(无论是Xilinx器件还是非Xilinx器件),在Assign New Configuration File对话框中选择Bypass。软件提示为第二个器件选择配置文件(XCF02S)。从工程工作目录选择MCS文件,单击Open; 4、保存工程文件; 一旦链被描述,并且指派了配置文件,就可以保存iMPACT工程文件(IPF)。选择File Save Project As。出现Save as对话框后,便可以存储工程文件到相应位置。重新打开iMPACT时重新恢复该链,选择File Open Project,浏览IPF。
设计下载和调试-参数设置 第十章 ● 对边界扫描配置进行编辑,选择Edit Preferences。该选择打开如图10.15所示窗口。单击Help,有关于该参数的详细描述。此处默认为缺省值,单击OK。 图10.15 编辑参数
设计下载和调试-执行JTAG操作 第十章 ● 可以一次对一个器件执行边界扫描操作。器件和应用到器件的配置文件的不同,导致可以执行的边界扫描操作也不同。右键单击该链中任一器件,可以看见可选项的列表。选中一个器件,并对器件执行一种操作,链中所有其他器件自动自动放置在BYPASS或HIGHZ中,这取决于iMPACT参数设置。执行操作,右键单击一个器件,选择其中的一个选项。找回器件ID和运行编程选项来验证第一个器件,步骤如下:
设计下载和调试-执行JTAG操作 第十章 1、如图10.16所示,右键单击XC3S200器件,选择Get Device ID。 ●
设计下载和调试-执行JTAG操作 第十章 2、软件访问IDCODE,结果显示在图10.17的log窗口。右键单击XC3S200器件。 ●
设计下载和调试-执行JTAG操作 第十章 ● 选择Program。弹出图10.18所示的编程选项对话框。选择Verify选项。Verify选项使器件可以被回读,同时使用比BIT文件更容易创建MSK文件。单击OK,启动编程。需要注意的是,在Program Options对话框中的选项依所选择的器件而不同。 图10.18 编程的进度条
设计下载和调试-执行JTAG操作 第十章 ● 单击OK,编程操作开始,并显示操作状态窗口。同时,log窗口报告了所有正在被执行的操作。如图10.19所示,当编程操作完成后,一个大的蓝色消息框表明编程成功。 图10.19 编程操作完成
设计下载和调试-JTAG诊断 第十章 ● 1、验证电缆连接 在边界扫描操作过程中发生错误,首先对电缆连接的建立进行验证,同时验证软件自动检测函数是否正在工作。如果已将电缆插入电路板和计算机,而连接仍未被建立,在iMPACT窗口空白部分右键单击,选择Cable Auto Connect 或者 Cable Setup。Cable Auto Connect将强迫软件寻找连接的每个端口。Cable Setup能够选择电缆以及与该电缆相连的端口。当查找到连接,iMPACT窗口底部将显示电缆连接类型,与电缆相连的端口,以及电缆速度。
设计下载和调试-JTAG诊断 第十章 2、验证链建立 ● 2、验证链建立 如果在边界扫描操作过程中发生错误,验证链被正确的建立,同时验证软件是否能和器件通讯。最简单的方式是初始化该链。在iMPACT窗口右键单击,选择初始化链。软件将识别该链是否连接到电路板。
设计下载和调试-JTAG诊断 第十章 ● 图10.20 调试JTAG链
设计下载和调试-JTAG诊断 第十章 ● 如果该链不可以初始化,可能是硬件没有被正确建立,或者电缆没有正确连接。如果链可以初始化,尝试执行简单操作。比如,尝试获得链中每个器件的器件ID。如果可以完成此操作,则说明硬件被正确建立,电缆被正确连接。如图10.20所示,调试链也可以人工输入JTAG命令。这可以用来测试命令和验证链是否被正确建立。 为使用该特性,在iMPACT中选择Debug > Start/Stop Debug Chain。iMPACT Boundary-Scan Debug的使用帮助可以参见iMPACT Help(Help > Help Topics)。
第十章 设计下载和调试-建立SVF文件 ● 本部分是可选的,前提是假设已经掌握“使用边界扫描配置模式”部分,并且已成功完成了板的编程。本部分中所有配置信息都写到SVF文件。 iMPACT支持三种格式的器件编程文件的建立,SVF,XSVF,和STAPL。如果正在使用的是第三方编程解决方案,那么需要自己手工建立Boundary Scan chain,然后创建一个器件编程文件。这些编程文件包含编程指令和配置数据,ATE机和嵌入式控制器在执行边界扫描操作时会使用到这些数据。通常不需要连接电缆,因为器件不需要执行任何操作。
设计下载和调试-建立JTAG产生SVF文件 第十章 ● 本部分必须已经完成前面章节的学习,并且JTAG链已经被检测。下面介绍SVF文件生成所需的JTAG链建立过程: 1、选择Output > SVF File > Create SVF File来表明正在创建一个编程文件; 2、在Create a New SVF File对话框的File Name域输入getid,单击Save; 3、出现一个消息框,表明所有器件操作都会被指定到.svf文件内。单击OK;
设计下载和调试-手工建立JTAG产生SVF文件 第十章 ● 如果已完成“使用边界扫描配置模式”,可以跳过本部分。Boundary-Scan chain可以手工被创建和修改,步骤为: 1、确保现在处于边界扫描模式(单击Boundary-Scan tab)可以一次添加一个器件; 2、在iMPACT Boundary-Scan窗口的空白处右键单击,选择Add Xilinx Device或Add Non-Xilinx device。出现Add Device对话框,用户可以选择一个配置文件; 3、选择stopwatch.bit,然后单击Open。该器件被添加到大指针所在的位置。为了在已存在的器件间添加一个器件,单击它们之间的连线,然后添加新器件。重复2、3步,将stopwatch.mcs文件添加到链中.
设计下载和调试-写SVF文件 第十章 ● 写到SVF文件与通过电缆执行边界扫描操作是一样的。右键单击器件,选择一种操作。任意数目的操作都可以写到SVF文件中。以下将首先写第一个器件的ID到编程文件,然后对第二个器件执行进一步的指令。图10.21 选择JTAG模式 1、写器件ID,如图10.21所示,右键单击第一个器件(XC3S200)。选择Get Device ID。
设计下载和调试-写SVF文件 第十章 图10.21 选择JTAG模式 ● 图10.21 选择JTAG模式 Get Device ID操作是必须要执行的指令,之后写到文件中。 2、选择View > View SVF-STAPL File查看结果。图10.22显示了在执行完Get Device ID操作之后,SVF文件的内容;
设计下载和调试-写SVF文件 第十章 ● 图10.22 SVF文件中从链中获得第一个器件的设备ID部分
设计下载和调试-写SVF文件 第十章 写第二个器件的进一步的操作到SVF文件的操作: 1、右键单击第二个器件(XCF02S); ● 写第二个器件的进一步的操作到SVF文件的操作: 1、右键单击第二个器件(XCF02S); 2、选择Program; 3、在Programming Properties窗口中单击OK编程第二个器件所需的指令和配置数据被添加到SVF文件。
设计下载和调试-其它配置模式 第十章 ● 1、从串行配置模式 从串行配置模式允许编程单个Xilinx器件或者Xilinx器件的一个串行链。使用从串行配置模式,双击Configuration Modes栏里的Slave Serial。 2、SelectMAP配置模式 对于iMPACT,选择MAP配置模式可以使用户编程多达3个Xilinx器件。通过调整CS管脚一次选择一个器件进行编程。为使用选择MAP配置模式,双击Configuration Modes栏里的SelectMAP。只有MultiPRO电缆可以用于SelectMAP Configuration。 注意:这些模式不能与Spartan-3 Starter Kit一起使用。
设计下载和调试-PLD调试 第十章 ● 在PLD设计位流下载到PLD内,下一个最重要的问题就是调试了,这也是EDA设计人员所面临的最头痛的问题。由于PLD内部集成了大规模的逻辑单元,内部的很多信号的逻辑运行状态无法知道,这样一旦当输出逻辑和设计不一样时,必须花很多的时间查找问题。图10.23给出了这样的一种情况。我们只能通过测试仪器或软件知道输入端口和输出端口。
设计下载和调试-PLD调试 第十章 ● 输入端口 ……….. 内部逻辑 输出端口 图10.23 FPGA的逻辑图
设计下载和调试-PLD调试 第十章 ● 而内部逻辑的运行情况不知道。EDA设计人员最容易想到的做法,就是将内部逻辑通过连线引到输出端口。但这样做的一个最大的缺点,就是会占用大量的“I/O资源”,这样就限制了可以从内部逻辑引线的数量。
设计下载和调试-多路复用技术的应用 第十章 ● 为了减少占用调试需要占用的资源,可以采用多路复用的技术,即使用同一组输出引脚输出几组信号。这样做仍然会占用一些I/O管脚,但是数目会减少。使得系统具有良好的可见性并且切换的速度很快。但是这种方法不够灵活,并且在设计时,由于考虑到复用的控制问题,所以也会增加设计代码的复杂度。同时,这些增加的额外设计一旦在调试完毕,不需要的时候,如果对这部分代码进行删除,那么需要重新布局布线,可能会产生新的问题。
设计下载和调试-多路复用技术的应用 第十章 ● 输入端口 ……….. 输出端口 图10.24 FPGA的逻辑图 内部逻辑 原始输出
第十章 设计下载和调试-虚拟逻辑分析工具 ● 随着调试技术的不断完善,Xilinx公司和Altera公司相继推出了ChipScope Pro和SignalTapII在线逻辑分析仪软件工具。其原理就是通过使用FPGA内的一部分剩余的资源完成对信号状态的捕捉,并且将这些数据存储在FPGA内部的RAM中,需要注意的是,由于CPLD器件内部没有RAM资源,所以虚拟逻辑分析工具不能在CPLD上使用。
设计下载和调试-虚拟逻辑分析工具 第十章 ● 虚拟逻辑 分析仪软件 FPGA内部块RAM资源 图10.25 虚拟逻辑分析软件工具原理 需要查看的内部逻辑 触发条件的启动信号 FPGA内部块RAM资源 JTAG数据输出 图10.25 虚拟逻辑分析软件工具原理
第十章 设计下载和调试-虚拟逻辑分析工具 ● 如图10.25所示,要使虚拟逻辑分析仪正常工作,必须要有触发条件。当且仅当触发条件满足要求时,需要观察的信号就被锁定,并且存放在FPGA内部的块RAM中,通过JTAG端口进行读取操作。 通过虚拟逻辑分析工具的使用可以大大降低调试的难度,另外从一定意义上说,省掉了一些复杂的逻辑仿真的环节,提高了调试的效率,大大降低了调试的成本。所以,虚拟逻辑分析工具从某种意义上讲,对FPGA的调试作出了很大的贡献。
第10章 习 题 1、说明Xilinx的FPGA芯片的主要配置模式,并说明每种配置模式的特点和应用场合。 2、举例说明Xilinx的PROM文件的生成过程。 3、举例说明Xilinx的JTAG下载过程。 4、说明诊断JTAG故障的方法和手段。 5、说明PLD调试的技术手段。 6、简要说明虚拟逻辑分析仪软件工具的工作原理和优点。 7、在硬件平台上完成配置、下载的设计流程。