Altera 的 FPGA 的 AS、PS 和 JTAG 配置模式

  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 是用来对 TAPcontroller 进行复位的,它不是必须的。通过在 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 三种。

  对 FPGA 芯片的配置中,可以采用 AS 模式的方法,如果采用 EPCS 的芯片,通过一条下载线进行烧写的话,那么开始的"nCONFIG ,nSTATUS"应该上拉,要是考虑多种配置模式,可以采用跳线设计。让配置方式在跳线中切换,上拉电阻的阻值可以采用 10K。

  在 PS 模式下的建议 : 如果你用电缆线配置板上的 FPGA 芯片,而这个 FPGA 芯片已经有配置芯片在板上,那你就必须隔离缆线与配置芯片的信号。一般平时调试时不会把配置芯片焊上的,这时候用缆线下载程序.只有在调试完成以后,才把程序烧在配置芯片中, 然后将芯片焊上,或者配置芯片就是可以方便取下焊上的那种,这样出了问题还可以方便地调试。

  在 AS 模式下的建议 :用过一块板子用的 AS 下载,配置芯片一直是焊在板子上的,原来 AS 方式在用线缆对配置芯片进行下载的时候,会自动禁止对 FPGA 的配置,而 PS 方式需要电路上隔离。

   一般是用 JTAG 配置 EPC2 和 FLEX10K,然后 EPC2 用 PS 方式配置 FLEX 10K。

  下载电缆,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。

  一般在做 FPGA 实验板,(如 Cyclone 系列)的时候,用 AS+JTAG 方式,这样可以用 JTAG 方式调试,而最后程序已经调试无误了后,再用 AS 模式把程序烧到配置芯片里去,而且这样有一个明显的优点,就是在 AS 模式不能下载的时候,可以利用 Quartus II 自带的工具生成JTAG 模式下可以利用的.jic 文件来验证配置芯片是否已经损坏,方法详见附件(这是骏龙的人写的,摘自坛子,如有版权问题,请包涵)。

  Altera 的 FPGA 可以通过单片机,CPLD 等加以配置,主要原理是满足 Datasheet 中的时序即可,这里我就不多说了。

  配置时,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 里 用 到 ,USBBLASTER,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文件生成。
  .hex(hexadecimal file) 16进制文件,单片机里很多。
  .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。

时间: 2024-10-12 02:49:55

Altera 的 FPGA 的 AS、PS 和 JTAG 配置模式的相关文章

[FPGA]FPGA配置(AS、PS、JTAG)

FPGA配置 作者:长江学者 2007-11-23 09:51:29 标签: 我记录我的校园知识/探索 很多兄弟对于CPLD下JTAG的下载很熟悉了,可转到FPGA来的时候,多多少少有些迷惑,怎么出现配置芯片了,为什么要用不同的下载电缆,不同的下载模式?我就自己知道的一点东西谈一些个人的见解,并发一些资料.希望路过的朋友喝个采,版主给点威望.有问题大家也一起讨论,欢迎拍砖. 1.FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式. AS由FP

ALTERA系列FPGA时序分析(一)

一. 约束的基本介绍 1.约束的分类 <1>.时序约束:主要用于规范设计的时序行为,表达设计者期望满足的时序条指导综合和布局布线阶段的优化算法等. 区域与位置约束:主要用于指定芯片I/O引脚位置以及指导实现工具在芯特定的物理区域进行布局布线. 其他约束:泛指目标芯片型号.接口位置,电气特性等约束属性. 2.时序约束的主要作用 <1>.提高设计的工作频率 通过附加时序约束可以控制逻辑的综合.映射.布局和布线,以减小逻辑和布线延时,从而提高工作频率. <2>.获得正确的时序

ALTERA的FPGA命名规则

DIP中文解释:双列直插式封装.插装型封装之一,引脚从封装两侧引出,封装材料有塑料和陶瓷两种.DIP是最普及的插装型封装,应用范围包括标准逻辑IC,存贮器LSI,微机电路等.        PLCC中文解释:外形呈正方形,32脚封装,四周都有管脚,外形尺寸比DIP封装小得多.PLCC封装适合用SMT表面安装技术在PCB上安装布线,具有外形尺寸小.可靠性高的优点. PQFP中文解释:芯片引脚之间距离很小,管脚很细,一般大规模或超大规模集成电路采用这种封装形式,其引脚数一般都在100以上. SOP中

xilinx和altera的fpga的不同之处!----如果不知道,你将为之付出代价! --转载

本人从2004年接触fpga开始,至今已经8年了.开发过altera的flex系列和cyclone3系列:开发过xilinx的vii和v5系列.下面谈谈本人对二者的一些不同,以便引起开发者对一些细节上的注意,免得为之付出代价,再走弯路!(1)altera的任意一个管脚都可以连接到这样的sig信号上always @ (posedge(sig)) ……:但是xilinx的fpga不能,只有clk信号才能够分配这样的信号.本人最早使用a公司flex系列的fpga,当fpga和dsp的emif连接时,为

altera公司FPGA的视频流帧抓取

我们在用FPGA对视频进行处理时,常常会遇到:有时候图像中的某些文字显示模糊----这有可能是缩放导致:有时可能是AD/DA模块采用了不同厂家的芯片----导致转换后的效果不同:有可能在图像YUV422与YUV420互相转换----算法间接导致图像效果变差.林林总总,当然还有其它不同的图像处理而有可能降低画质的场景.在针对图像质量跟踪定位时,最直观的,莫过于直接抓取各图像处理功能模块的输入输出,取出前后图像直接对比,就能立竿见影的诊断出该模块是否异常.所以:如何在FPGA中抓取视频流中的一帧图像

20150906 - Altera CPLD/FPGA中使用LCELL实现低于一个时钟周期的延时 - ongoing

问题来源:进行串行数据接口调试,希望将Data线在CPLD(EPM570)中进行纳秒级的延时: 解决过程:-->使用插入LCELL来进行延时,LCELL延时相对固定但是会受温度.器件等因素影响: -->插入方法如下: wire AD1_CH0_wire; assign AD1_CH0_wire = ADC_B0; lcell U0_Lcell/* synthesis keep */ ( .in(AD1_CH0_wire), .out(AD1_CH0) );   注意,需要/* synthesi

fpga配置过程(转载)

fpga 配置时序图如下 1.FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式.             AS 由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列.如EPCS1,EPCS4配置器件专供AS模式,目前只支持 Stratix II 和Cyclone系列.使用Altera串行配置器件来完成.Cyclone器件处于主动地位,配置器件处于从属地位.配置数据通过DATA0引脚送入 FPGA.配置数据被同步在DC

FPGA配置方式

首先介绍下AS.PS.JTAG三种模式的区别. AS模式: 烧到FPGA的配置芯片里保存的,FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程,该方法适用于不需要经常升级的场合: PS模式:EPCS作为控制器件,把FPGA当做存储器,把数据写人到FPGA中,实现对FPGA的编程.可以采用微控制器(单片机.ARM等)或者CPLD,该模式可以实现对FPGA在线可编程,升级方便: JTAG:直接烧到FPGA里面的,由于是S

FPGA开发流程1(详述每一环节的物理含义和实现目标)

要知道,要把一件事情做好,不管是做哪们技术还是办什么手续,明白这个事情的流程非常关键,它决定了这件事情的顺利进行与否.同样,我们学习FPGA开发数字系统这个技术,先撇开使用这个技术的基础编程语言的具体语法.使用工具和使用技巧不谈,咱先来弄清楚FPGA的开发流程是什么. FPGA的开发流程是遵循着ASIC的开发流程发展的,发展到目前为止,FPGA的开发流程总体按照图1进行,有些步骤可能由于其在当前项目中的条件的宽度的允许,可以免去,比如静态仿真过程,这样来达到项目时间上的优势.但是,大部分的流程步