ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:1,007.59KB ,
资源ID:4164187      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4164187.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CycloneII系列FPGA配置.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CycloneII系列FPGA配置.docx

1、CycloneII系列FPGA配置 杨宁65Cyclone II系列FPGA配置杨宁 65摘要: 由于 Cyclone II 系列器件是用易失性的 SRAM 结构单元来存储配置数据的,因此在每次系统上电时都要进行重配置。用户能够利用 DCLK 频率高达 40MHz 的 AS(主动串行)模式、PS(被动串行)模式或是 JTAG 对 FPGA 器件进行配置操作。另外,为了减小存储需求和配置时刻,Cyclone II 系列器件能够利用紧缩数据进行配置。 本文的目的是让用户了解 Cyclone II 器件的配置特点,让用户把握如何利用 Cyclone II 器件所支持的配置方式对此系列 FPGA 进行

2、配置。同时,也会介绍配置管脚的利用及配置文件的格式等相关信息。关键词:Cyclone II; FPGA; 配置第一节、Cyclone II器件配置概述: 用户能够利用 AS、PS 和 JTAG 模式配置 Cyclone II 系列 FPGA。选择何种配置方式取决于 MSEL管脚的电平状态,请参照表 1-1。表1-1 Cyclone II 配置模式配置模式MSEL1MSEL0描述AS(20MHz)00使用串行配置器件(EPCS1、EPCS4、EPCS16 或EPCS64)PS01使用增强配置器件(EPC1、EPC2、EPC4、EPC8或EPC16)或者是微机加上电缆Fast AS(40MHz)1

3、0同 AS 模式JTAG*下载电缆和微机(外部控制器)第二节、配置文件格式 表2-1 列出了几个 Cyclone II 系列器件的没有紧缩过的配置文件的大小(近似值)。若是要计算多器件配置时的配置数据的存储空间,能够将相应的值相加。表2-1 Cyclone II 系列器件的.rbf文件大小(Raw Binary File)器件数据大小(Bits)数据大小(Bytes)EP2C51,265,792152,998EP2C81,983,536247,974EP2C203,892,496486,526EP2C356,858,656857,332EP2C509,963,3921,245,424EP2C7

4、014,319,2161,789,902用表 2-1 的值只是为了在设计之前大致的估量配置文件的大小。不同的配置文件格式的大小并非一样,但即便是不同款的设计软件,只要目标器件必然的情形下,那么它编译的无紧缩配置文件大小是固定的;而紧缩过的文件大小在每次编译时都有所改变,这是由设计时的紧缩比例来决定。第三节、配置数据紧缩Cyclone II 器件支持配置数据的紧缩,这能节省配置数据存储的空间和配置时刻。那个特性使得设计者能够将紧缩过的配置数据存储在配置芯片或其他的存储器 (Flash)中,而且传送的也是紧缩过的数据流文件。在配置期间,Cyclone II 器件实时解压这些数据流而且将其配置到SR

5、AM 单元中。数据紧缩能使得配置数据减小 35%-55%左右。需要注意的是,Cyclone II 器件不支持在 JTAG 模式下的配置数据流的解紧缩,只能在 AS 及PS 模式下进行。尽管紧缩算法一样,但 Cyclone II 器件与增强配置器件(EPC4、EPC八、EPC16)的解紧缩特性却不一样,在增强配置器件中存储的紧缩数据在传送给 Cyclone II 器件之前就进行解紧缩了。在 PS 模式下,为了减少配置时刻,用户能够利用 Cyclone II 器件的解压特性而发送紧缩过的配置数据进行器件配置。需要注意的是在利用增强配置器件的时候,用户不能同时利用 Cyclone II和增强配置器件

6、的解压特性。固然也能够在 AS 模式下,利用 Cyclone II 器件的解压特性进行配置,但那个时候用户寄存配置数据的是串行配置器件(EPCS一、EPCS4、EPCS16 or EPCS64)。当用户使能了紧缩功能,Quartus II 软件就会产生紧缩过的配置数据文件。那个紧缩文件能够减少数据在配置器件或 Flash(这种需要协操纵器)中寄存的空间,固然也能减少配置进程所花费的时刻。有两种方式能够使能 Cyclone II 器件配置数据的紧缩:一种是在编译之前(在编译设置中),另一种是在编译后(在转换配置文件格式下)。当用户对多个 Cyclone II 器件进行配置时,配置数据紧缩一样也能

7、够针对每一个器件进行选择。在以下图 3-1 中,在配置链路上有两个 Cyclone II 器件,若是第一个 Cyclone II FPGA 利用了紧缩使能,那么它会从配置器件中接收到紧缩过的配置数据;而第二个 Cyclone II FPGA 没有利用数据紧缩,那么它将接收到非紧缩的配置数据流文件。图 3-1 紧缩或不紧缩配置数据的配置第四节、AS 模式:在AS配置模式下,要利用串行配置器件来配置 Cyclone II 系列FPGA,这些配置器件是低本钱、非易失性设备,只有 4 个信号接口,这些优良特性使其成为理想的低本钱配置解决方案。这种器件利用串行接口来传送串行数据。在配置时,Cyclone

8、 II 系列 FPGA 通过串行接口读取配置数据或通过紧缩的数据来配置内部的逻辑单元。这种由 FPGA 来操纵外部器件的配置方式确实是主动串行模式(Active serial),而有外部设备(如 PC 机,或其他设备)操纵 FPGA 进行配置的方式称为被动串行模式(Passive serial)。表 4-1 列出了 AS 配置模式时,MESL 的管脚状态。配置模式MSEL1MSEL0AS(20MHz)00Fast AS(40MHz)101 、AS模式下配置一个Cyclone II 系列FPGA:串行配置器件具有 4 个 I/O 接口:串行时钟输入(DCLK)、串行数据输出(DATA)、AS 数

9、据输入(ASDI)和片选信号(nCS)。这四个信号与 Cyclone II 系列 FPGA 相连的示用意如以下图 4-1 所示:图 4-1 AS 模式下单芯片配置示用意注意:1、Vcc 为 ;2、CycloneII器件利用ASD0信号操纵串行配置操纵器;3、此信号能够不连接,或用于通用 I/O 口;在 Cyclone II 器件上电重起时,将 nSTATUS 和 CONF_DONE 信号拉低,将所有 I/O 口设置为高阻态(可能 100ms)。重起后,Cyclone II 器件释放 nSTATUS,使得外部 10K 的上拉电阻将 nSTATUS信号拉高,从而进入配置模式。现在所有 I/O 口仍

10、然持续高阻态。整个配置进程包括:重起(reset)、配置(configu ration)和初始化(initializa tion)时期。(1)、重起时期当 nCONFIG 或 nSTATUS 为低电平的时候,器件(FPGA)处于重起状态。重起以后,Cyclone II器件释放 nSTATUS,外部 10K 上拉电阻将其拉高,现在器件进入配置状态。(2)、配置时期由 Cyclone II 器件内部产生的串行时钟(DCLK)用来操纵整个配置进程,Cyclone II 器件内部能够产生 DCLK 信号时钟,利用 MESL 管脚能够选择时钟频率为 20MHz 或 40MHz。40MHz 的频率能够使得

11、配置所花费时刻更短。由于温度、电压等因素的阻碍,内部产生的 DCLK 的频率并非固定,见下表 5-2 所示。表4-2 DCLK的频率内部频率选择最小典型最大单位40MHz202640MHz20MHz101320MHz在 AS 和 Fast AS 模式下,串行配置器件在 DCLK 的上升沿锁定输入和操纵信号,在 DCLK 的下降沿输出配置数据。而 Cyclone II 器件在 DCLK 的下降沿输出操纵信号,也在下降沿锁定输入的配置数据。在配置时,Cyclone II 器件通过 nCSO 信号(此信号连接串行配置器的 nCS)选中串行配置器件。以后 Cyclone II 器件通过串行时钟信号(D

12、CLK)及串行地址信号(ASDO)来发送操纵命令和地址信号;串行配置器件利用 DATA 信号发送配置数据到 Cyclone II 器件的 DATAO 接口。在 Cyclone II 器件接收到所有的配置数据后,就会释放 CONF_DONE,使得外部连接的 10K 上拉电阻将其拉高。固然,现在 Cyclone II 器件停止对 DCLK 信号的操纵。一旦 CONF_DONE 信号进入高电平的时候,那么就进入初始化状态。如此也确实是说必然要在 CONF_DONE 信号上接入 10K 的上拉电阻。所有的 AS 配置信号(DATAO、DCLK、nCSO、ASDO)在 FPGA 内部都有一个一直工作的微

13、弱的上拉电阻。因此,在配置以后,这些信号都被拉高。(3)、初始化时期 在 Cyclone II 器件中,初始化时钟信号即能够是芯片内部产生(与 DCLK 不一样)也能够利用可选的 CLKUSR 管脚。内部时钟是默许的初始化时钟信号,这有利于 Cyclone II 器件进行更合理的初始化进程,也幸免用户给 FPGA 的 CLKUSR 管脚提供额外的时钟信号。现在你能够将 CLKUSR 用作通用 I/O 接口。若是用户想要延迟初始化,那么能够利用 CLKUSR 管脚。利用 CLKUSR 使得用户能够操纵芯片何时进入用户状态。当用户使能了 U ser Supplied Start-up Clock

14、选项,那么 CLKUSR 确实是初始化的时钟信号。这并非阻碍配置进程。在接收到所有的配置数据而且 CONF_DONE 被拉高后,Cyclone II 器件需要 299 个时钟周期才能完成初始化进程。CLKUSR 的最高频率为 100MHz。Cyclone II 器件用 INIT_DONE 信号的由低到高的转变,来讲明终止了初始化进程而进入到用户模式下。E nable I NIT_DONE output 选项被选中的时候 INIT_DONE 信号才有效。(有必要说明此选项在何处进行设置)。若是利用此信号,那么要将此信号线上接入 10K 的上拉电阻,目的是在配置一开始且 nCONFIG 为低时将此

15、信号拉高。一旦利用此信号的标志位(在配置数据的第一帧中)进入 FPGA器件后,INIT_DONE 信号进入低电平。此信号由低到高的转变那么标志了器件进入了用户模式状态。若是用户没有利用此信号,初始化进程的终止是在 CONF_DONE 信号变高后再通过 299 个时钟周期(现在利用了 CLKUSR)或是在 CONF_DONE 变高后经 Tcf2um(现在利用的是内部的时钟)。(4)、用户时期 当初始化进程终止后,FPGA 进入用户模式状态。在用户模式下,用户 I/O 口上并再也不利用内部微弱的上拉电阻,而是由用户的设计来决定。当器件在用户模式下,用户能够将 nCONFIG 信号置低,来进行从头配

16、置。此信号置低的时刻最少要维持 40us。当此信号为低时,Cyclone II 器件重起,进入重起时期。Cyclone II 器件也将 nSTATUS和 CONF_DONE 拉低且所有 I/O 口为三态。一旦 nCONFIG 和 nSTATUS 进入高电平后,那么进入重配置状态。(5)、配置进程中犯错 若是在配置进程中显现错误,Cyclone II 器件将 nSTATUS 信号拉低来讲明数据帧的错误,现在CONF_DONE 信号仍为低。若是用户在软件中使能了 Auto-Re start configuration aft er error 选项,Cyclone II 器件将通过 cCSO 信号

17、将串行配置器件从头设置,且在重起时刻以后(40us)释放 nSTATUS,从而进行重配置工作。若是 Auto- Restart configuration after error 没有开启,那么外部系统必需监控 nSTATUS 上的状态。一旦显现错误,那么将 nCONFIG 信号拉低至少 40us 以便从头配置器件。2 、AS模式下多器件配置用户能够利用一个串行配置器件来配置多个 FPGA 器件,能够利用芯片使能(nCE)及芯片使能输出(nCEO)信号级联多个 FPGA 芯片。将第一个 FPGA 的 nCE 接地,将输出(nCEO)接到下一个芯片的输入上(nCE),且在后面的 nCE 信号上利

18、用外部 10K 的上拉电阻。当第一个器件取得配置数据后,就会将将 nCEO 拉低,从而对下个器件进行配置。最后一个器件的 nCEO 能够悬空也能够用作通用 I/O口。在链路中的第一个 Cyclone II 器件是配置操纵者,它负责整个链路上的配置。对第一个 Cyclone II 器件选用 AS 模式来进行配置,而其他的器件利用 PS 模式。由于所有其他的 Altera 的器件都支持 PS 配置模式,因此也能够将其他器件连接到此链路中。在多器件链路中,每一个器件的 nCONFIG、nSTATUS、CONF_DONE、DCLK 和 DATAO 信号都连在一路,如以下图 5-2 所示:图 4-2 A

19、S 模式下多器件的配置电路 说明:Vcc为伏;此电压为nCEO所在的Bank区的Vccio电压;nCEO可浮空或用于一般I/O;如上图所示,连路中所有器件的 nCONFIG、CONF_DONE 都连接在一路,并在外部接入了 10K 的上拉电阻。在第一个器件接收到所有的配置数据后,将它的 nCEO 信号置低,而且释放 CONF_DONE信号,但后面的设备在接收到配置数据之前仍然维持 CONF_DONE 信号为低。当所有的设备都取得它们的配置数据后且释放 CONF_DONE 后,外部的上拉电阻将此信号拉高,从而使得链路中所有设备同时进入初始化状态。第五节、PS 模式:用户能够利用 PS配置模式对

20、Cyclone II 器件进行配置。在此模式下,由外部操纵器(如 PC机、Max II 系列CPLD或其它嵌入式系统)操纵整个配置进程。配置数据在 DCLK 的上升沿由 DATAO输入到 Cyclone II 器件的内部。(在 PS 模式下,能够利用 Cyclone II 器件的解紧缩特性)在 PS模式下 MSEL=01;1、使 用MAX II器件对单Cyclone II器件的配 置在 PS 模式下,能够利用 MAX II 器件作为外部操纵器,将配置数据从外部存储器(Flash)传送到 Cyclone II 器件。配置数据的存储格式能够是 RBF、HEX、TTF 等。图 5-1 为 MAX I

21、I 器件与 Cyclone II 器件连接的示用意。图 5-1 用外部操纵器操纵的配置模式示用意 说明:Vcc=;nCEO可浮空或用作一般I/O 系统加电后,Cyclone II 器件通过大约 100ms 的重起时期,nSTATUS 被拉低,所有效户 I/O 为高阻态。整个配置进程由:重起时期、配置时期和初 始化时期组成。(1)、重起时期:在现在期 Cyclone II 器件的 nCONFIG 和 nSTATUS 被拉低,MAX II 必需将 nCONFIG 由低拉高才能终止重起而进入到配置时期。当 nCONFIG 由低变成高时,Cyclone II 器件退出重起时期,将 nSTATUS 信号

22、释放,使得外部的10K 上拉电阻将其拉高。使得 Cyclone II 器件进入配置时期而预备接收配置数据。MAX II 能决定器件何时开始配置。(2)、配置时期:在 Cyclone II 器件的 nSTATUS 变成高电平后,MAX II 器件通过 DATAO 管脚发送配置数据。若是利用配置数据的格式为 RBF、HEX 或 TTF 类型,那么先从每一个字节的最低位开始发送。例如:你要发送的数据为 02 1B EE 01 FA,那么最先传送的数据流为:0100-0000 1101-1000 0111-0111 1000-0000 0101-1111。Cyclone II 器件通过 DATAO 管

23、脚接收数据,利用 DCLK 管脚接收时钟信号。数据在 DCLK 的上升沿存入 FPGA,直到 CONF_DONF 变高之前,数据被持续的存入到目标器件。在 Cyclone II 器件成功的接收到所有的配置数据以后,就会释放 CONF_DONE,使得外部的 10K 上拉电阻将其拉高。CONF_DONE信号由低到高的转变那么说明器件终止了配置时期而进入到初始化时期。(3)、初始化时期:在 Cyclone II 器件中,初始化时钟信号即能够是芯片内部产生(与 DCLK 不一样)也能够利用可选的 CLKUSR 管脚。内部时钟是默许的初始化时钟信号,这有利于 Cyclone II 器件进行更合理的初始化

24、进程,也幸免用户给 FPGA 的 CLKUSR 管脚提供额外的时钟信号。现在你能够将 CLKUSR 用作通用 I/O 接口。若是用户想要延迟初始化,那么能够利用 CLKUSR 管脚。利用 CLKUSR 使得用户能够操纵芯片何时进入用户状态。当用户使能了 U ser Supplied Start-up Clock 选项,那么 CLKUSR 确实是初始化的时钟信号。这并非阻碍配置进程。在接收到所有的配置数据而且 CONF_DONE 被拉高后,Cyclone II 器件需要 299 个时钟周期才能完成初始化进程。CLKUSR 的最高频率为 100MHz。Cyclone II 器件用 INIT_DON

25、E 信号的由低到高的转变,来讲明终止了初始化进程而进入到用户模式下。E nable I NIT_DONE output 选项被选中的时候 INIT_DONE 信号才有效。(有必要说明此选项在何处进行设置)。若是利用此信号,那么要将此信号线上接入 10K 的上拉电阻,目的是在配置一开始且 nCONFIG 为低时将此信号拉高。一旦利用此信号的标志位(在配置数据的第一帧中)进入 FPGA器件后,INIT_DONE 信号进入低电平。此信号由低到高的转变那么标志了器件进入了用户模式状态。若是用户没有利用此信号,初始化进程的终止是在 CONF_DONE 信号变高后再通过 299 个时钟周期(现在利用了 C

26、LKUSR)或是在 CONF_DONE 变高后经 Tcf2um(现在利用的是内部的时钟)。(4)用户利历时期:初始化完成以后,Cyclone II 器件进入到用户利历时期。在现在期,用户 I/O 口上再也不有微弱的上拉电阻,各个 IO 口如何连接,决定于用户的设置。确保在配置终止后 DCLK 和 DATAO 没有浮空,MAX II 器件必需将它们拉高或拉低。在配置完成后,Cyclone II 器件的 DATAO 管脚不能用于用户 I/O 口利用。当器件在用户模式下,用户能够将 nCONFIG 信号置低,来进行从头配置。此信号置低的时刻最少要维持 40us。当此信号为低时,Cyclone II

27、器件重起,进入重起时期。Cyclone II 器件也将 nSTATUS和 CONF_DONE 拉低且所有 I/O 口为三态。一旦 nCONFIG 和 nSTATUS 进入高电平后,那么进入重配置状态。(5)配置进程发生错误若是在配置进程中发生错误,Cyclone II 器件将 nSTATUS 信号拉低使得 MAX II 器件得知显现错误。若是用户在软件中使能了 Auto-Restart conf iguration after error 选项,Cyclone II 器件在通过一个重起时刻(大约 40us)释放 nSTATUS 信号,使得外部的10K上拉电阻将其拉高。这时MAX II 器件在不

28、给nCONFIG 低电平脉冲(重起用)的情形下从头进行 配置。若是没有选中A uto-Restart configuration after err or 选项 ,MAX II 器 件必需产生一个低脉冲(40us)给nCONFIG,使得 Cyclone II器件进行重起。MAX II 器件同时也监测 CONF_DONE 和 INIT_DONE 这两个信号来确保配置成功。MAX II 器件必需监测 Cyclone II 的 CONF_DONE 信号,来探测错误和获知配置终止。若是所有的配置数据都已经发送,但 CONF_DONE 或 INIT_DONE 都没有变高,那么 MAX II 器件就从头配

29、置目标器件。二、 使 用MAX II器件对多Cyclone II器件的配 置 用 MAX II 器件对多 Cyclone II 器件的配置与对单 Cyclone II 器件的配置很相似,不一样的是级联了多个 Cyclone II 器件。如以下图5-2 所示:图 5-2 PS 模式下 MAX II 器件对多 Cyclone II 器件的配置说明:Vcc=;Vcc连接到nCEO所在的Bank区I/O电压。在多器件 PS 模式下,将第一个 Cyclone II 器件的 nCE 接到 Gnd,将 nCEO 接到下一个器件的nCE上。在外部利用10K的上拉电阻将 nCEO 拉高。在第一个器件配置完成后,

30、会将它的 nCEO 拉低,使得下一个FPGA的 nCE 使能,让下一个 FPGA 在不到一个时钟周期内进入配置状态。因此,MAX II器件在不中断的情形下将配置数据传送给下一个 FPGA。能够使最后一个 nCEO 管脚浮空或用于通用I/O 口。用户必需将 Cyclone II 器件的 nCONFIG、nSTATUS、DCLK、DATAO 和 COBF_DONE 这些信号别离连接在一路。配置信号上可能需要 Buffer 来维持信号的完整性和避免时钟倾斜。每通过三个器件就要对 DCLK 和 DATA 这两个信号进行缓冲,这是因为所有器件的 CONF_DONE 都联在一路,所有器件初始化和进入用户利

31、用状态是在同一时刻。因为所有器件上的 nSTATUS 和 CONF_DONE 都是连接在一路的,因此在任意一个 Cyclone II 器件上显现配置错误,都会使得整个链路上的配置停止而进入重配置状态。若是用户在软件中使能了 Auto-Restart conf iguration after error 选项,Cyclone II 器件在通过一个重起时刻(大约40us)释放 nSTATUS 信号,使得外部的 10K 上拉电阻将其拉高。这时MAX II器件在不给 nCONFIG 低电平脉冲(重起用)的情形下从头进行配置。若是没有选中A uto-Restart configuration after

32、 err or 选项,MAX II器件必需产生一个低脉冲(40us)给nCONFIG,使得 Cyclone II 器件进行重起。若是在你的系统中利用的是同一种型号的 Cyclone II 系列 FPGA(大小、速度品级、封装),而且它们的配置数据相同。那么用户将这些芯片的 nCE 连接到 Gnd,且其他的配置信号别离连接在一路,就能够够像配置一个器件一样来配置这些器件(节省配置时刻)。这种情形下,nCEO 管脚就能够够用作通用 I/O 口来利用。为了保证信号的完整性和避免时钟信号倾斜,要在 DATA 和 DCLK 链路上加入 Buzzer(每 4 个器件需要加入一组)。所有器件开始配置和完成配置的时刻是一致的。图 5-3给出了 PS 模式下所有器件同时同意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1