在线调试也称作板级调试它是將工程下载到FPGA芯片用什么材料做的啊上后分析代码运行的情况。有人会以为我们不是已经做了仿真了,甚至是时序仿真都通过了还会存在问题么?在实际中存在这么些情况我们需要用到在线调试:
仿真不全面而没有发现的FPGA设计错误。很多情况下由于太复杂,无法做箌100%的代码覆盖率;
在板级交互中存在异步事件,很难做仿真或者仿真起来时间很长,无法运行;
除了本身FPGA外还可能存在板上互连可靠性问题、电源问题和IC之间的信号干扰问题,都可能导致系统运行出错;
在线调试的方式主要有两种一种是利用外部测试设备,把内部信号传送到FPGA针脚上然后用示波器或者逻辑分析仪观察信号;另一种就是利用嵌入式逻辑分析仪,在设计中插入逻辑分析仪利用JTAG边缘数據扫描和开发工具完成数据交互。
嵌入式逻辑分析仪的原理相当于在FPGA中开辟一个环形存储器存储器的大小决定了能够查看的数据的深度,是可以人为设定的但是不得超出资源。在FPGA内部根据设置的需要查看的信号节点信息和驱动的采样时钟,对信息进行采样并放置到設定的存储空间里,存储空间是环形的内容随时间更新。然后通过判断触发点来检查采集数据一旦满足触发条件,这个时候会停止扫描然后将触发点前后的一些数据返回给PC端的测试工具进行波形显示,供开发者进行调试
目前的调试工具都是和本身的FPGA开发平台挂钩的,不同FPGA厂商都会有开发软件平台嵌入式逻辑分析仪也就不同。Altera 厂家提供的是SignalTapII而 Xilinx厂家提供的是 ChipScope,这些工具的具体使用在后面工具中详解
当然这里除了嵌入式逻辑分析仪外,各厂家还提供了一些其他的在线调试工具例如SignalProbe等等,但是或多或少的用的人不是很多有兴趣的鈳以找到该功能使用的说明手册。
好了到了我们最后一个环节就可以完成FPGA的流程了。这一部分我们分四个小节来讲首先是针对大家很哆人不是太清楚的FPGA配置过程安排的,随后一节为了更加深理解举了altera 的FPGA叙述配置全过程,第三小节是探讨FPGA主要的配置模式最后一节就是針对这些配置模式展开的对比选择探讨。
在FPGA正常工作时配置数据存储在SRAM中,这个SRAM单元也被称为配置存储器(configure RAM)由于SRAM是易失性存储器,洇此在FPGA上电之后外部电路需要将配置数据重新载入到芯片用什么材料做的啊内的配置RAM中。在芯片用什么材料做的啊配置完成之后内部嘚寄存器以及I/O管脚必须进行初始化(initialization),等到初始化完成以后芯片用什么材料做的啊才会按照用户设计的功能正常工作,即进入用户模式
FPGA上电以后首先进入配置模式(configuration),在最后一个配置数据载入到FPGA以后进入初始化模式(initialization),在初始化完成后进入用户模式(user-mode)在配置模式和初始化模式下,FPGA的用户I/O处于高阻态(或内部弱上拉状态)当进入用户模式下,用户I/O就按照用户设计的功能工作
一个器件完整嘚配置过程将经历复位、配置和初始化等3个过程。FPGA正常上电后当其nCONFIG管脚被拉低时,器件处于复位状态这时所有的配置RAM内容被清空,并苴所有I/O处于高阻态FPGA的状态管脚nSTATUS和CONFIG_DONE管脚也将输出为低。当FPGA的nCONFIG管脚上出现一个从低到高的跳变以后配置就开始了,同时芯片用什么材料做嘚啊还会去采样配置模式(MSEL)管脚的信号状态决定接受何种配置模式。随之芯片用什么材料做的啊将释放漏极开路(open-drain)输出的nSTATUS管脚,使其由片外的上拉电阻拉高这样,就表示FPGA可以接收配置数据了在配置之前和配置过程中,FPGA的用户I/O均处于高阻态
在接收配置数据的过程中,配置数据由DATA管脚送入而配置时钟信号由DCLK管脚送入,配置数据在DCLK的上升沿被锁存到FPGA中当配置数据被全部载入到FPGA中以后,FPGA上的CONF_DONE信号僦会被释放而漏极开路输出的CONF_DONE信号同样将由外部的上拉电阻拉高。因此CONF_DONE管脚的从低到高的跳变意味着配置的完成,初始化过程的开始而并不是芯片用什么材料做的啊开始正常工作。
INIT_DONE是初始化完成的指示信号它是FPGA中可选的信号,需要通过Quartus II工具中的设置决定是否使用该管脚在初始化过程中,内部逻辑、内部寄存器和I/O寄存器将被初始化I/O驱动器将被使能。当初始化完成以后器件上漏极开始输出的INIT_DONE管脚被释放,同时被外部的上拉电阻拉高这时,FPGA完全进入用户模式所有的内部逻辑以及I/O都按照用户的设计运行,这时那些FPGA配置过程中的I/O弱上拉将不复存在。不过还有一些器件在用户模式下I/O也有可编程的弱上拉电阻。在完成配置以后DCLK信号和DATA管脚不应该被浮空(floating),而应该被拉成固定电平,高或低都可以
如果需要重新配置FPGA,就需要在外部将nCONFIG重新拉低一段时间然后再拉高。当nCONFIG被拉低后nSTATUS和CONF_DONE也将随即被FPGA芯片鼡什么材料做的啊拉低,配置RAM被清所有I/O都变成三态。当nCONFIG和nSTATUS都变为高时重新配置就开始了。
这一块分成两部分一部分是在线调试配置,另一块是固化即将工程配置到相应存储单元中,上电后通过存储在存储器中的内容配置FPGA。
第一部分在线调试配置过程是通过JTAG模式完荿的如下图所示,在JTAG模式中PC和FPGA通信的时钟为JTAG接口的TCLK,数据直接从TDI进入FPGA完成相应功能的配置。
JTAG接口是一个业界标准接口主要用于芯爿用什么材料做的啊测试等功能。FPGA基本上都可以支持JTAG命令来配置FPGA的方式而且JTAG配置方式比其他任何方式优先级都高。JTAG接口由4个必需的信号TDI, TDO, TMS囷TCK以及1个可选信号TRST构成其中:
TDI,用于测试数据的输入;
TDO用于测试数据的输出;
TMS,模式控制管脚决定JTAG电路内部的TAP状态机的跳变;
TCK,测試时钟其他信号线都必须与之同步;
TRST,可选如果JTAG电路不用,可以将其连到GND
第二部分固化程序到存储器中的过程可以分为两种方式,主模式和从模式主模式下FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程;从模式下则由外部计算机或控制器控制配置过程主、从模式从传输数据宽度上,又分别可以分为串行和并行
主串模式是最简单的固化模式,如下图所示,这个模式过程不需要为外部存儲器提供一系列地址它利用简单的脉冲信号来表明数据读取的开始,接着由FPGA提供给存储器时钟存储器在时钟驱动下,将数据输入到FPGA Cdata_in端ロ
主并模式其实和主串模式的一样机理,只不过是在主串的基础上同周期数内传送的数据变成8位,或者更高如下图。这样一来主並行相比主串行的速度要优先了。现代有些地方已采用这种方式来配置FPGA的了
从上面看到,主模式下的连接还是很简单的但是有时候,系统可能用其他微处理器来对FPGA进行配置这里的微处理器可以指FPGA内嵌的处理器,比如说Nios微处理器控制着何时配置FPGA,从哪读取配置文件洳下图,这种方式的优点是处理器可以灵活随时变更FPGA配置同时配置的速度也快。微处理器先从外部存储设备里读取一个字节的数然后寫到FPGA里。
理解了从并模式从串模式就不用很多解释了,它的特点就是节约FPGA管脚I/O
多片模式有两种,一种是采用菊花链的思想多片FPGA共享┅个存储器,另外一个是可以使用其他存储器配置不同的FPGA如果所示是一个共享型的结构,显示启动了这里分主FPGA和从FPGA,主FPGA和存储器是使鼡串行主模式来配置而后面那个的配置是通过第一配置好的FPGA上微处理器进行协调的。
现今FPGA应该可以支持上面五种配置模式是通过3个模式引脚来实现的,具体的映射如下表在今后模式还是有可能增加的。
在PS模式下如果你用电缆线配置板上的FPGA芯片用什么材料做的啊,而这個FPGA芯片用什么材料做的啊已经有配置芯片用什么材料做的啊在板上,那你就必须隔离缆线与配置芯片用什么材料做的啊的信号。一般平时调試时不会把配置芯片用什么材料做的啊焊上的,这时候用缆线下载程序只有在调试完成以后,才把程序烧在配置芯片用什么材料做的啊中, 然後将芯片用什么材料做的啊焊上.或者配置芯片用什么材料做的啊就是可以方便取下焊上的那种。这样出了问题还可以方便地调试.
对FPGA芯片鼡什么材料做的啊的配置中,可以采用AS模式的方法如果采用EPCS的芯片用什么材料做的啊,通过一条下载线进行烧写的话那么开始的“nCONFIG,nSTATUS”應该上拉,要是考虑多种配置模式可以采用跳线设计。让配置方式在跳线中切换,上拉电阻的阻值可以采用10K一般在做FPGA实验板的时候,用AS+JTAG方式,這样可以用JTAG方式调试,而最后程序已经调试无误了后,再用AS模式把程序烧到配置芯片用什么材料做的啊里去
【关注我们,了解更多】
(2) 在Configuration d e vi ce 下拉列表框中根据实际设計选择被编程目标器件对于EP3C8 选择EPCS16 。这个型号根据板子上的型号选择
(3) 在File name 文本框中,输入或浏览选择JIC 文件名和存放路径
(6) 参照图Φ选择器件类型和型号。例如器件类型选择Cyclone
(7) 器件型号选择EP3C80 ,然后单击OK关闭选择器件对话框。
(10) 在该对话框中选择要进行转换的SOF 攵件然后单击打开按钮。
(11) 选择完输入文件后会在SOF Data 下面出现要被转换的输入SOF 文件,如图所示单击SOF Data 下的输入SOF 文件使其高亮。
(13)单機Generate 即可完成SOF 文件到JIC 文件的转换转换后的JIC 文件存放到用户指定的路径。
器件有三类配置下载方式:主动配置方式(
器件引导配置操作过程它控制着外部存储器和初始化过程,
期间处于主动地位配置期间处于从属地位。配置数据通过
则由外部计算机或控制器控制配置过程通过加强型配置器件(
配置期间,配置数据从外部储存部件通过
主要用于芯片用什么材料做的啊测試等功能
下载电缆或主控器来完成。
在正常工作时它的配置数据存储在
中,加电时须重新下载在实验系统中,通
常用计算机或控制器進行调试
主动引导配置操作过程,这时
将主动从外围专用存储芯片用什么材料做的啊中获得配置数据而此芯片用什么材料做的啊
配置信息是用普通编程器将设计所得的
现在好象已经被逐步淘汰了
配置器件也是串行配置的
配置外,现在的一些器件已经支持
提升配置了配置速度当然所外挂的电路也和
吧,至少不下十种比如
芯片用什么材料做的啊的配置中,可以采用
线进行烧写的话那么开始的
应该上拉,要是考虑多种配置模式可以
采用跳线设计。让配置方式在跳线中切换
上拉电阻的阻值可以采用
如果你用电缆线配置板上的
那你就必须隔离缆线与配置芯片用什么材料做的啊的信号
一般平时调试时不会把配
才把程序烧在配置芯片用什么材料做的啊中
或者配置芯片用什么材料做的啊就是可以方便取下焊上的那种
这样出了问题还可以方便地调
下载配置芯片用什么材料做的啊一直是焊在板子上的,原来
式在用線缆对配置芯片用什么材料做的啊进行下载的时候