fpga jtag 调试 (fpga jtag设计规范)
怎么完结fpga的jtag仿真
关于Altera来说,先树立根本的工程,编写代码,编译正确今后,发动signalTapII,在其间挑选触发时钟,触发条件,加上需求调查的内部网络(信号),把文件存储,退出signaltapII的时分软件会主动提示是否把方才树立的文件参加工程,挑选是,回到本来的工程,再次编译,生成的加载文件经过JTAG加载到FPGA后就能够在signaltapII中进行JTAG调试了。
Altera的FPGA的AS,PS和Jtag装备形式的差异
1 FPGA器材有三类装备下载办法:主动装备办法(AS)和被迫装备办法(PS)和最常用的(JTAG)装备办法。
AS形式(active serial configuration mode):FPGA器材每次上电时作为操控器,由FPGA器材引导装备操作进程,它操控着外部存储器和初始化进程,从装备器材EPCS主动宣布读取数据信号,从而把EPCS的数据读入FPGA中,完结对FPGA的编程装备数据经过DATA0引脚送入 FPGA,装备数据被同步在DCLK输入上,1个时钟周期传送1位数据。
PS形式(passive serial configuration mode):则由外部计算机或操控器操控装备进程。经过加强型装备器材(EPC16,EPC8,EPC4)等装备器材来完结,EPCS作为操控器材,把FPGA当作存储器,把数据写人到FPGA中,完结对FPGA的编程。该形式能够完结对FPGA在线可编程。在下载装备的时分关于Cyclone II的器材,如EP2C8,在JTAG下载办法对应.sof,AS下载办法对应.pof。
JTAG:JTAG是直接烧到FPGA里边的 由所以SRAM 断电后要重烧,AS是烧到FPGA的装备芯片里保存的 每次上电就写到FPGA里。
一般情况下,Cyclone II开发板上应该有两种下载形式,AS和JTAG。
AS便是下载.pof文件到EPCS中。而JTAG便是下载.sof文件到FPGA中的RAM中。
关于JTAG的原理,我们能够参阅OPEN-JTAG 开发小组写的《ARM JTAG 调试原理》。JTAG、BDM 都比较相似,实际上是将仿真功用嵌入到芯片内部,接上比较简略的调试东西就能够进行开发了,省掉了高价的仿真器。
JTAG 调试用到了 TCK、TMS、TDI、TDO 和 TRST这几个脚。其间 TRST 是用来对TAP controller进行复位的,它不是有必要的。经过在 TMS脚也能够使 TAP controller复位。
Test Clock Input (TCK)
TCK为 TAP的操作供给了一个独立的、根本的时钟信号,TAP 的一切操作都是经过这个时钟信号来驱动的。TCK在 IEEE 1149.1 规范里是强制要求的。
Test Mode Selection Input (TMS)
TMS信号用来操控 TAP状况机的转化。经过 TMS信号,能够操控 TAP在不同的状况间彼此转化。TMS信号在 TCK的上升沿有用。TMS在 IEEE 1149.1 规范里是强制要求的。
Test Data Input (TDI)
TDI 是数据输入的接口。一切要输入到特定寄存器的数据都是经过 TDI 接口一位一位串行输入的(由 TCK驱动)。TDI在 IEEE 1149.1 规范里是强制要求的。
Test Data Output (TDO)
TDO 是数据输出的接口。一切要从特定的寄存器中输出的数据都是经过 TDO 接口一位一位串行输出的(由 TCK驱动)。TDO在 IEEE 1149.1 规范里是强制要求的。
Test Reset Input (TRST)
TRST 能够用来对 TAP Controller 进行复位(初始化)。不过这个信号接口在 IEEE 1149.1规范里是可选的,并不是强制要求的。因为经过 TMS也能够对 TAP Controller进行复位(初始化)。
FPGA在正常作业时,它的装备数据存储在SRAM中,加电时须从头下载。在试验体系中,一般用计算机或操控器进行调试,因而能够运用PS。在有用体系中,大都情况下有必要由FPGA主动引导装备操作进程,这时FPGA将主动从外围专用存储芯片中取得装备数据,而此芯片中FPGA装备信息是用一般编程器将规划所得的.pof格局的文件烧录进去。
专用装备器材:EPC类型的存储器
常用装备器材:EPC1,EPC2,EPC4,EPC8,EPC1441(现在如同现已被逐渐筛选了)等,关于Cyclone II系列器材,ALTERA还供给了针对AS办法的装备器材,EPCS系列.如EPCS1,EPCS4装备器材也是串行装备的。留意,他们只适用于cyclone系列。
除了AS和PS等单BIT装备外,现在的一些器材现已支撑PPS,FPS等一些并行装备办法,提高装备了装备速度。当然所外挂的电路也和PS有一些差异。还有处理器装备比方JRUNNER 等等,假如需求再百度吧,至少不下十种。比方Altera公司的装备办法主要有Passive Serial(PS),Active Serial(AS),Fast Passive Parallel(FPP),Passive Parallel Synchronous (PPS),Passive Parallel Asynchronous (PPA),Passive Serial Asynchronous(PSA),JTAG等七种装备办法,其间Cyclone支撑的装备办法有PS,AS,JTAG三种。
2 对FPGA芯片的装备中,能够选用AS形式的办法,假如选用EPCS的芯片,经过一条下载线进行烧写的话,那么开端的"nConFIG ,nSTATUS"应该上拉,要是考虑多种装备形式,能够选用跳线规划。让装备办法在跳线中切换,上拉电阻的阻值能够选用10K。
3 在PS形式下tip:假如你用电缆线装备板上的FPGA芯片,而这个FPGA芯片现已有装备芯片在板上,那你就有必要阻隔缆线与装备芯片的信号。一般平常调试时不会把装备芯片焊上的,这时分用缆线下载程序.只要在调试完结今后,才把程序烧在装备芯片中, 然后将芯片焊上,或许装备芯片便是能够便利取下焊上的那种,这样出了问题还能够便利地调试。
在AS形式下tip:用过一块板子用的AS下载,装备芯片一直是焊在板子上的,本来AS办法在用线缆对装备芯片进行下载的时分,会主动制止对FPGA的装备,而PS办法需求电路上阻隔。
4 一般是用JTAG装备epc2和flex10k,然后 epc2用PS办法装备flex10k.这样用比较好.(这是我在网上看到的,能够这样用吗?置疑中)望达人奉告.
5 下载电缆,Altera下的下载电缆分为ByteBlaster和ByteBlasterMV,以及ByteBlaster II,现在还推出了依据USB-blaster.因为BB根本现已很少有人运用,而USB-Blaster现在又过于贵重,这儿就说一下BBII和 BBMV的差异.
BBII支撑多电压供电5.5v,3.3v,2.5v,1.8v;
BBII支撑三种下载形式:AS,可对Altera的As串行装备芯片(EPCS系列)进行编程;PS可对FPGA进行装备 ;JTAG,可对FPGA,CPLD,即Altera装备芯片(EPC系列)编程;而BBMV只支撑PS和JTAG。
6 一般在做FPGA试验板,(如Cyclone系列)的时分,用AS+JTAG办法,这样能够用JTAG办法调试,而最终程序现已调试无误了后,再用 AS形式把程序烧到装备芯片里去,并且这样有一个显着的长处,便是在AS形式不能下载的时分,能够运用Quartus II自带的东西生成JTAG形式下能够运用的.jic文件来验证装备芯片是否现已损坏,办法详见附件(这是骏龙的人写的,摘自坛子,如有版权问题,请包容).
7 Altera的FPGA能够经过单片机,CPLD等加以装备,主要原理是满意datasheet中的时序即可,这儿我就不多说了,有爱好的朋友能够看看下面几篇文章,应该就能够理解是怎么回事了。
8 装备时,Quartus软件操作部分:
(1).assignment-->device-->device&pin options-->挑选configuration scheme, configuration mode, configuration device
注:意在不支撑长途和本地更新的机器中configuration mode不行挑选,而configuration device中会依据不同的装备芯片发生pof文件,假如挑选主动,会挑选最小密度的器材和合适规划;
(2).能够界说双口引脚在装备结束后的效果,在方才的device&pin option-->dual-purpose pins-->能够在装备结束后持续当I/O口运用;
(3).在general菜单下也有许多可钩选项,默许情况下一般不做改动,详细用法拜见Altera configuration handbook,volume2,sectionII.
(4)关于不同后缀名的文件的适用范围:
.sof(SRAM Object File)当直接用PS形式下将装备数据下到FPGA里用到,USB BLASTER,MASTERBLASER,BBII,BBMV适用,Quartus II会主动生成,一切其他的装备文件都是由sof生成的。
.pof(Programmer Object File)也是由Quartus II主动生成的,BBII适用,AS形式下将装备数据下到装备芯片中
.rbf(Raw Binary File)用于微处理器的二进制文件。在PS,FPP,PPS,PPA装备下有用途。
rpd(Raw Programming Data File)包括bit stream的二进制文件,可用AS形式装备,只能由pof文件生成。
.he(hexadecimal file)这个就不多说了,单片机里许多。
.ttf(Tabular Text File)适用于FPP,PPS,PPA,和bit-wide PS装备办法。
.sbf(Serial Bit stream File)用PS形式装备Flex 10k和Flex6000的。
.jam(Jam File)专门用于program, verify, blank-check。
北京大学隶属高中 Crossboundaries
FPGA用JTAG下载现已修正的程序成功可是运转修正之...是不是你的计数器模块没有起效果啊,JTAG办法是最简略的办法了,要不然你加个CHipscope或许SiganlTapII 抓取一下信号,看看你的计数器为什么没有起效果了。我觉得程序下进去了,在线抓取信号看看吧,一定能找到原因的。