Altera FPGA 配置注意事项

合集下载

Altera_FPGA_配置模式

Altera_FPGA_配置模式

FPGA配置模式时间:2011-09-12 23:15:16 来源:作者:FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。

如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。

在很多项目设计中采用Altera 公司基于SRAM架构Cyclone系列器件。

Cyclone器件与其他FPGA器件一样是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。

这些配置数据可通过多种模式加载到FPGA内部的SRAM中,由于SRAM的易失性,每次上电时,都必须对FPGA进行重新配置。

1 Cyclone FPGA 配置模式Cyclone系列FPGA器件配置方案主要有三种,包括使用低成本配置芯片的主动串行(AS)配置、被动串行(PS)配置以及基于JTAG配置,实际应用时可以使用其中的一种方案配置Cyclone系列FPGA器件,来实现用户编程所要实现的功能。

Cyclone系列FPGA器件是用SRAM单元配置数据的。

由于SRAM掉电后容易丢失数据,配置数据必须即时地下载到上电的Cyclone器件中。

不同的配置模式可采用不同的专用配置芯片或数据源这三种配置模式是由Cyclone器件的模式选择引脚MSEL1和MSEL0的高低电平来决定的,如果你的实际应用只要求单一的配置模式,可以把模式选择引脚连接到VCC端或接地端在切换引脚的过程中,器件的运行状态不会被影响。

Altera的FPGA_常见问题汇总

Altera的FPGA_常见问题汇总

常见问题汇总1. alt2gxb模块的每个发送端都需要一个高速的pll_inclk时钟(至少100M以上),请问这个时钟一定要从FPGA外面引进来吗?通常情况下一定要从FPGA外面引进来,首选是GXB模块的专用时钟引脚,或上下BANK 的专用时钟输入脚。

时钟是至少60M以上。

2. 如果我一个FPGA里面有多个alt2gxb模块,是否能共用一个这样的输入时钟?可以。

3. gxb模块里面的Calibration clk 是干嘛用的,能不能不用它?校准内部匹配电阻用。

此时钟可以内部提供,频率在10M到125M都可以,如果外部时钟不合适的话,甚至可以用逻辑来分频(比如参考钟是156M,内部触发器作个2分频就可以用了。

4. 用到gxb模块的bank的参考电压是否必须接1.5V?因为我看到资料上有3.3V的CML和LVDS电平(附件里面的截图)gxb用1.5V 或 1.2V, 推荐客户用1.5V. 3.3v是用在别的普通bank的。

5. gxb模块的输入端如果平时不需要传数据,是否置0?还是需要我们在数据线上发送别的数据,是否gxb模块能自动发送同步码?平时可以置0,但在上电后,你必须首先发送对端接收侧的word aligner码型(通常用k28.5), 这是需要手工控制的。

6. LVDS模块没有同步码,做接收时好像没办法数据对其,比如8比特数据容易错开2、3位,我们现在是另外加逻辑把它调整过来的,请问有别的好的同步的方法吗通常需要逻辑去进行word aligner操作,如同GXB一样。

某些特定情况下可以预先知道边界。

这个问题讨论过好多次了,所谓的特定情况你可以看STRATIX II手册(不是Stratix II GX 手册),搜索“Differential I/O Bit Position”7.请问在alt2gxb模块,有两个时钟:pll_inclk和cali_clk,手册上说cali_clk要求不是很高,可以用计数器产生,那么输入的并行数据txdata_in应该用哪个时钟锁存呢?cali_clk仅用于校准内部匹配电阻用的状态机,跟业务是完全独立的。

fpga硬件设计注意事项

fpga硬件设计注意事项

fpga硬件设计注意事项FPGA硬件设计注意事项FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,广泛应用于数字电路设计、嵌入式系统和数字信号处理等领域。

在进行FPGA硬件设计时,有许多注意事项需要考虑,以确保设计的正确性、可靠性和性能。

本文将从不同的角度介绍一些FPGA硬件设计的注意事项。

一、设计规范与原则1. 时钟设计:合理规划时钟域,避免时钟冲突和时序问题。

确保时钟信号的稳定性和时钟分配的合理性,防止时钟抖动和时钟偏移。

2. 信号的同步与异步:减少异步信号的使用,尽量采用同步信号。

异步信号可能引发时序问题和数据不一致性。

3. 电源与地线设计:合理规划电源和地线,避免电源噪声和地线回流问题。

注意电源的稳定性和电源线的阻抗匹配。

4. 状态机设计:合理设计状态机,减少状态数量和状态转移的复杂性。

状态机的设计应简洁清晰,易于理解和维护。

二、资源利用与性能优化1. 逻辑资源利用:合理利用FPGA芯片的逻辑资源,避免资源浪费和资源冲突。

优化逻辑电路的结构,减少逻辑门数量。

2. 存储资源利用:合理规划存储资源,包括寄存器、RAM和ROM等。

避免存储资源的过度使用和冲突。

3. 时序优化:通过合理的时序约束和时序分析,优化电路的时序性能。

减少时序路径的延迟,提高电路的工作频率。

4. 时钟域划分:合理划分时钟域,减少时钟域之间的转换和同步问题。

避免时钟域跨越过多的逻辑。

三、可靠性与稳定性设计1. 异常处理与容错设计:考虑到硬件设计可能遇到的异常情况,合理设计异常处理机制和容错设计。

保证系统的可靠性和稳定性。

2. 时序分析与时序约束:进行时序分析,确保电路的时序约束满足要求。

避免时序问题导致的功能错误和不稳定性。

3. 时钟和复位信号的处理:合理设计时钟和复位信号的处理逻辑。

确保时钟和复位信号的稳定性和可靠性。

四、仿真与验证1. 仿真环境搭建:搭建适合的仿真环境,对设计进行全面的仿真验证。

alterafpga配置

alterafpga配置

alterafpga配置配置是连接FPGA软件设计到硬件功能实现的桥梁,配置电路部分有误,配置文件无法下载到配置器件中,对FPGA编程,则再好的设计都是浮云。

上电后,配置数据保存在配置RAM中,将配置数据载入配置RAM即是对FPGA编程。

配置方式有很多种,主要区别为FPGA所处的地位和打入数据的方式不同,其基本时序基本相同。

基本时序波形如下:配置过程主要由nCONFIG、nSTATUS、CONF_DONE以及可选的INIT_DONE四个状态信号控制。

一个器件完整的配置过程包括上电复位、配置、初始化三个阶段。

正常上电后,nCONFIG管脚被拉低,器件复位,此时配置RAM的所有内容被清空,所有I/O处于高阻态,其余三个状态信号亦均被拉低,复位结束后,FPGA释放nCONFIG管脚,使其被外部上拉电阻拉高,FPGA在nCONFIG检测到由低到高的跳变沿,配置开始,同时FPGA 采样MSEL的信号状态,决定接受何种配置模式。

随后,FPGA释放nSTATUS管脚,外不上拉电阻将其拉高,FPGA在nSTATUS管脚检测到由低到高的跳变沿,表示FPGA开始接受数据。

配置数据由DATA管脚打入,配置时钟经DCLK管脚送入(被动方式下,主动方式DCLK 由FPGA提供),配置数据在上升沿锁存至FPGA中,配置数据全部打入到FPGA后,FPGA释放CONF_DONE管脚,使其由外部上拉电阻拉高,说明配置结束,进入初始化过程。

INIT_DONE是一个可选的指示初始化完成的信号(Device-Pin&Options-general),INIT_DONE在nCONFIG信号为低或配置的初期时为高电平,而当使能INIT_DONE的比特位(在配置数据的第一帧中)被配置进FPGA后,INIT_DONE信号变低,因此INIT_DONE信号由高到低的跳变表示FPGA配置真正开始,开始接收配置数据,如果INIT_DONE一直保持为高,说明FPGA没有接收到正确配置数据的文件头。

altera fpga 配置总结

altera fpga 配置总结
altera fpga 配置总结2009-12-02 16:291、根据FPGA在配置电路中的角色,配置数据可以使用3种方式载入到目标器件中:
(1) FPGA主动方式:由FPGA来主动输出控制和同步信号给FPGA的串行配置芯片(EPCS系列),配置芯片收到命令后,把配置数据发给FPGA,完成配 置过程;在AS模式下,FPGA必须与AS串行配置芯片配合使用,它与FPGA的接口为四跟信号线,分别为:串行时钟输入(DCLK),AS控制信号输入 (ASDI),片选信号(nCS),串行数据输出(DATA)。
AS模式下: 用过一块板子用的AS下载,配置芯片一直是焊在板子上的,原来AS方式在用线缆对配置芯片进行下载的时候,会自动禁止对FPGA的配置,而PS方式需要电路上隔离。
4、一般在做FPGA实验板,(如cyclone系列)的时候,用AS+JTAG方式,这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用AS模式把程序烧到配置芯片里去,而且这样有一个明显的优点,就是在AS模式不能下载的时候,可以利用Quartus自带的工具生成JTAG模式下可以利用的jic文件来验证配置芯片是否已经损坏。
PS方式:可以对FPGA进行配置;
JTAG方式:可以对FPGA、CPLD以及Altera配置芯片(EPC系列)编程。
3、AS及PS模式下的注意事项
PS模式:如果你用电缆线配置板上的FPGA芯片,而这个FPGA芯片已经有配置芯片在板上,那你就必须隔离缆线 与配置芯片的信号一般平时调试时不会把配置芯片焊上的,这时候用缆线下载程序.只有在调试完成以后,才把程序烧在配置芯片中,然后将芯片焊上.或者配置芯 片就是可以方便取下焊上的那种.这样出了问题还可以方便地调 试.
(2) FPGA被动方式:被动模式下,由系统的其他设备发起并控制配置过程ห้องสมุดไป่ตู้这些设备可以是配置芯片(EPC系列),或者单板的微处理器、CPLD等。FPGA 在配置过程中完全处于被动地位,只是输出一些状态信号来配合配置过程;在PS模式下,需要配置时钟(DCLK),配置数据(DATA0),配置命令 (nCONFIG),状态信号(nSTATUS),配置完成指示(CONF_DONE)这四个信号来完成配置过程。

Altera公司FPGA的配置

Altera公司FPGA的配置
6.1 Altera公司的下载电缆

针对FPGA器件不同的内部结构,Altera公司
提供了不同的器件配置方式。Altera FPGA的配
置可通过编程器、JATG接口在线编程及Altera在
线配置等方式进行。

Altera器件编程下载电缆的有:
ByteBlaster并行下载电缆,ByteBlasterMV并行
MAX9000(包括MAX9000A)、MAX7000S和MAX7000A
进行编程。ByteBlaster为FPGA提供了一种快速而
廉价的配置方法,设计人员的设计可以直接通过
ByteBlaster下载电缆下载到芯片中去。
(1)下载模式
ByteBlaster并行下载电缆提供两种下载模式: • ①Passive serial mode(PS,被动串行模式)
1. PS(被动串行)模式

在PS(被动串行)模式下,MasterBlaster
下载电缆和ByteBlasterMV下载电缆可以对单个
与多个APEXⅡ、APEX20K、Mercury、ACEX1K、
FLEX10K或 FLEX6000系列器件进行配置。在PS模
式,配置数据从数据源通过MasterBlaster下载
电缆和ByteBlasterMV下载电缆串行地传送到器
件,配置数据由数据源提供的时钟同步。
(1)PS模式单个器件的配置电路设计

PS模式可以完成对单个APEXⅡ、 NhomakorabeaPEX20K、
Mercury、ACEX1K、FLEX10K或 FLEX6000系列器件
的配置,配置电路如图6.2所示。

图中:除 APEX20KE、APEX20KC系列器件外,

Altera FPGA配置及升级

Altera FPGA配置方式及升级方式(针对cyclone II器件)1、配置cyclone II FPGA对于altera fpga,主要配置方式为AS,PS,JTAG三种配置方式。

这几种配置方式在于电路上对器件配置方式引脚选择不同:如图1.1所示:图1.1注意1:对于快速AS模式,只支持配置芯片EPCS16,EPCS64;2:对于JTAG配置模式,只应用JTAG,该引脚连接到地;2、配置器件(图2.1):图2.13、FPGA配置方式具体分体3.1AS(Active Serial)配置:3.1.1原理AS由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列.如EPCS1,EPCS4配置器件专供AS模式,目前只支持Cyclone系列。

使用Altera串行配置器件来完成。

Cyclone器件处于主动地位,配置器件处于从属地位。

AS配置器件采用四引脚接口处理:DCLK、DATA、ASDI、nCS;配置数据通过DATA0引脚送入FPGA。

配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。

3.1.2电路连接方式(图3.1)图3.13.1.3配置时序(图3.2)图3.2在配置完成后到初始化完成所需要299个时钟周期(100M)3.1.4配置文件.pof .jic .rbf3.2PS(Passive Serial)配置方式3.2.1配置原理主动串行配置方式可以通过altera配置器件,一个下载电缆,或者通过一个主控制器,诸如MAX II器件、MCU等来配置FPGA。

配置数据通过DATA0在每个DCLK的上升沿送入器件。

FPGA配置方式选择引脚配置如图3.3所示图3.33.2.2电路连接:配置器件配置(图3.4)图3.4MAX II配置,图3.5图3.5MCU配置,图3.6图图3.63.2.3配置时序图3.73.2.4配置文件格式.rbf .hex .ttf3.3JTAG配置方式3.3.1原理对于cyclone II器件来说,JTAG配置方式优先于其他器件配置方式。

ALTERAFPGA在微处理器系统中的在应用配置

ALTERA FPG 在微处理器系统中的在应用配置摘要:ALTERA 公司SRAM 工艺可编程器件应用广泛,专用配置器件比较昂贵。

在具有微处理器的系统中, 使用微处理器系统的存储器来存储配置数据,并通过微处理器配置FPGA 这种方法几乎不增加成本。

微处理器根据不同的程序应用, 采用不同的配置数据对 FPGA 进行配置,使FPGA 实现与该应用有关的特定功能。

详细介绍了微处理器系统中连接简单的被动串行配置方法和被动并行异步配置方法。

关键词:在应用配置FPGA 配置被动串行被动并行异步可编程逻辑器件(PLD 广泛应用在各种电路设计中。

基于查找表技术、 SRAM 工艺的大规模PLD/FPGA 密度高且触发器多,适用于复杂的时序逻辑, 如数字信号处理和各种算法的设计。

这类器件使用SRAM 单元存储配置数据。

配置数据决定了 PLD 内部互连和功能,改变配置数据,也就改变了器件的逻辑功能。

SRAM编程时间短,为系统动态改变PLD 的逻辑功能创造了条件。

但由于 SRAM 的数据是易失的,配置数据必须保存 在PLD 器件以外的非易失存储器内,才能实现在线可重配置(ICR )。

1在应用配置(动态配置)同一设备在实现不同的应用时, 要求FPGA 实现不同的功能。

如手持多媒体设备,可拍摄分辨率较高的静止 图像照,采用JPEG2000压缩,也可传送活动图像,采用 H.263,H.264/AVC 等。

单纯使用软件实现速度慢, 需要对算法进行精细的优化;而使用硬件实现则速度快,但灵活性差。

为此,采用微处理器和 FPGA 相结合来实现手持多媒体终端,微处理器实现程序控制,FPGA 实现大量的规则运算。

此外,手持设备的某些应用(如静止图像和活动视频压缩)可能并不同时实现。

若在一片FPGA 同时实现这些功能,不仅布线复杂,功能难以实现,而且需要更大规模的 FPGA 若使用不同的配置数据进行配置,使 FPGA 在不同时刻实现不同 的功能,则FPGA 的容量可以显著降低,从而降低设备的体积、功耗及成本。

FPGA使用LVDS差分信号的一些注意事项

FPGA使⽤LVDS差分信号的⼀些注意事项最近在调试⼀个LVDS的屏显功能,涉及到了⼀些LVDS的东东,简单地整理如下,后续会再补充。

(1)对于altera FPGA(CYCLONE III)1、对于作为LVDS传输的BANK必须接2.5V的VCCIO;2、左右BANK(即1/2/5/6 BANK)的LVDS发送差分对信号⽆需外接匹配电阻,⽽上下BANK(即3/4/7/8 BANK)则需要,如果硬件⼯程师忘了,还可以在FPGA的IO引脚分配时⾥加端接电阻设置;3、分配管脚时,左右BANK的LVDS差分信号脚在IO分配时选择的IO电平标准是LVDS,⽽上下BANK的LVDS差分信号脚在IO分配时选择的IO电平标准是LVDS_E_3R;4、分配管脚时,只要指定LVDS信号的p端(+),则n端(-)会⾃动分配。

在verilog代码中只要⼀个信号接⼝即可,⽆需在代码中定义⼀个差分对接⼝;5、在altera FPGA内使⽤的LVDS收发IP核是altlvds_rx和altlvds_tx,相应的IP使⽤说明在megawizard⾥有。

(2)对于xilinx FPGA区别altera的地⽅在于⾸先在Verilog的代码⾥,xilinx的LVDS信号需要定义⼀对差分对信号,通过xilinx的原语进⾏差分对转单端或者单端转成差分对信号。

另外在IO引脚分配时,xilinx的电平标准都是⼀样的,⽐如都是LVDS_33。

下图1是altera下的LVDS信号引脚分配,可见⽤户只需要分配p端(+)引脚即可。

图1 altera LVDS引脚分配情况下图2是xilinx的LVDS信号引脚分配,xilinx的LVDS引脚区分p端和n端。

当然在vivado下引脚分配可以只分配P端脚号,N端脚号会⾃动分配。

⽽在代码⾥都需要写明差分对信号,再通过原语转成单端信号。

图2 xilinx下LVDS的引脚分配情况By 我有风⾐~~。

配置 ALTERA_FPGA

刚学FPGA,唉,有点困难,呵,搞了很长时间,略懂一点,发个文章,保存经验。

先建一个工程,这个工程主要是为了验证FPGA的配置。

ALTERA 的FPGA配置有两种方式:一种是在线配置方式,即用.SOF(SRAM Object File)文件来配置FPGA。

这种方式断电后数据就消失。

另一种是通过EPCS来配置FPGA。

在这种方式下,我们要先把FPGA的配置数据下载到EPCS存储器中,这里有三种方式,可以进行,本文只讲两种,后一种在以后的博文中会体现。

先写用.SOF文件在线配置FPGA。

工具 EP2C8Q208C8N SDRAM EPCS4 CFI Flash QUTARTUS II 9.0 先建一个工程,目的是点亮开发板上的四个LED。

如上图,我们让四个LED两个亮起来,两个灭掉。

下一步是给其指定管角。

建一个TCL文件。

单击 FILE->new->tcl script file,这样就建立一个TCL(Tool Command Language)文件,来为其指定管角。

编辑之后,保存。

单击 Tools->TCL scripts…单击RUN,进行配置。

之后信息栏中会提示成功:下一步要对FPGA进行一些配置的设定。

点击Q II软件工具栏上的,进入此界面:在Device这一栏中,我们看右边,有我们所要用到器件,正确选择后,点击:,进入界面后,进行如下设定:将 unused pins 设为 as input tri-stated;再将dual-purpose pins 都设定为use as regular I/O,不能设定的就算了。

如下图。

好了,设定完了,就确定。

以上对FPGA的设计就算是完成了。

我们要生成.SOF文件和.POF文件,就要综合,编译。

点击工具栏上的:,进行综合编译。

这个时候可能会长一点,根据你的设计大小不同而不同。

之后会提示成功。

会有很多WARNINGS,这个没有关系,我们不去管它。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Altera FPGA 配置注意事项
(1) DATA0:输入;单片机串行的配置数据输入口。

(2)DCLK:输入;为外部数据源提供时钟。

(3)nCONFIG:输入;配置控制输入。

低电平使ACEX1K器件复位,在由低到高的跳变过程中启动配置。

(4)nSTATUS:双向漏极开路(需接上拉电阻);上电后,ACEX1K立即驱动该引脚到低
电平,然后在100ms内释放掉它。

nSTATUS必须经过1K电阻上拉到VCC,如果配置中发生错误,ACEX1K将其拉低。

(5) CONF_DONE:双向漏极开路(需接上拉电阻);状态输出。

在配置期间,ACEX1K将其驱动为低电平。

所有配置数据无误差接收后,由于有上拉电阻,所以将其变为高电平,表示配置成功。

CONF_DONE必须经过1K电阻上拉到VCC。

其中在配置中还有另外几个引脚需要注意:
(1)nCE:输入;ACEX1K器件使能输入;nCE为低电平时使能配置过程,为单片配置时,nCE必须始终为低。

(2)nCEO:输出(专用于多片器件);ACEX1K配置完成后,输出为低电平。

在多片级联配置时,驱动下一片的nCE端,从而实现多片FPGA
的配置。

在AS模式下如果出现如下错误
Error: Can't recognize silicon ID for device 1
1。

确认你的QII中选择的配置芯片是否和电路板中的芯片一致
2。

检查你的下载线是否损坏,据说下载线长不应该超过30CM 但是我自己做的大概有50CM也可以正常使用
3。

确定你的配置芯片是否损坏,可以使用JTAG烧写配置芯片测试下,如果可写那就可以排除该错误4。

检查你的电路中的AS模式中的上拉电阻和下拉电阻是否虚焊,还有MSEL0与MSEL1是否选择正确和nSTATUS是否接上拉电阻等。

相关文档
最新文档