APP下载

Cyclone FPGA配置模式及应用

2009-11-04蔡雄志

关键词:低电平高电平配置文件

蔡雄志

摘要:本文主要通过介绍Cyclone系列FPGA器件的配置方案,主要阐述了低成本专用配置芯片的主动串行(AS)配置方案以及基于微处理器的被动串行(PS)配置方案的配置过程。介绍了如何结合工程设计选择配置方案,改变现在的任意选择配置方案的现象。提出一种实时解压数据减少贮存要求和配置时间的配置方案,这些方案在工程项目中具有很高的实际应用价值。

关键词:CycloneFPGA配置模式主动串行被动串行

0 引言

FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。FPGA技术广泛应用于通讯、视频、信息处理等特定领域。FPGA主要生产厂商有Altera、Xilinx、Actel和Lattice,对比不同的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器件中。不同的配置模式可采用不同的专用配置芯片或数据源,如表-1所示。

这三种配置模式是由Cyclone器件的模式选择引脚 MSEL1和 MSEL0的高低电平来决定的,如表-2所示。如果你的实际应用只要求单一的配置模式,可以把模式选择引脚连接到VCC端或接地端在切换引脚的过程中,器件的运行状态不会被影响。不管怎样,在重新配置之前,必须保障模式选择引脚的电平是有效的。

2 配置芯片的主动串行(AS)配置

在AS配置模式中,利用了新型低成本器件(如EPCS1、EPCS4),这种专用配置芯片是带有永久性存储器和四个引脚简单接口的串行配置器件,由于它的成本较低,可以解决配置器件成本高的问题。串行配置芯片提供一个串行接口去存取数据。在配置期间,Cyclone FPGA通过串行接口读取数据,如果有需要的话,对数据进行解压以及配置FPGA的SRAM单元。此模式是由FPGA去控制配置接口的,这种方案称为主动串行配置,简称AS配置。采用AS模式配置一个Cyclone FPGA器件的原理图如图1所示。

专用串行配置芯片可选用EPCS1或EPCS4,其中EPCS1的存储空间是1Mbits, EPCS4存储空间是4Mbits ,设计者可根据配置文件的大小进行选择。主动串行配置芯片的主要配置引脚如下图2所示。

DCLK,串行时钟输入端,来自Cyclone FPGA器件,提供串行接口时钟;DATA,串行数据输出端,在DCLK下降沿读出数据;ASDI,控制信号输入端,在DCLK上升沿锁存数据;nCS,使能输入端,低电平有效。

在系统上电期间,两芯片进入到上电复位阶段。当一旦进入上电复位,nSTATUS端为低电平,正在复位;同时CONF_DONE端为低电平,芯片还没有被配置。复位后,延迟100ms,FPGA释放nSTATUS端,由于上拉电阻的作用,该端变为高电平,此时进入到配置状态。一旦退出复位,所有用户I/O端进入三态状态。时钟信号DCLK是由FPGA内部产生的,用来控制整个配置循环以及为配置芯片串口电路提供时钟,时钟信号的频率范围在14MHZ至20MHZ之间。当DCLK下降沿到来时,使FPGA输出控制信号以及使配置芯片输出配置数据;当DCLK上升沿到来时,使FPGA锁存配置数据以及使配置芯片锁存控制信号。在所有配置数据被接收后,FPGA释放CONF_DONE端,通过10K的上拉电阻置为高电平,开始进入初始化阶段。Cyclone FPGA器件需要136个时钟周期严格地进行初始化。然后开始进入用户状态,这时INIT_DONE引脚跳变到高电平。

3 基于单片机的被动串行(PS)配置

图3为采用微处理器的Cyclone FPGA被动串行配置方案的简化电路图。单片机配置过程很简单,单片机只需用5个I/O口与FPGA相连这5根信号线分别是:DATA0、DCLK、nCONFIG、nSTATUS和CONF_DONE。

具体配置过程如下:①nCONFIG=0 、DCLK=0,保持2us以上;②检测nSTATUS,若为0表明FPGA已响应配置要求,可开始进行配置,否则报错。正常情况下,nCONFIG=0后1us内nSTATUS将为0;③nCONFIG=0,并等待5us;④DATA0上放置数据,DCLK=1,延时;⑤DCLK=0,检测nSTATUS,若为0,则报错并重新开始;⑥准备下一位数据,并重复执行(4)、(5),直到所有数据送出为止;⑦此时CONF_DONE应变为1,表明FPGA的配置已完成。若所有数据送出后,CONF_DONE不为1,必须重新配置;⑧配置完成后,则送出若干个周期的DCLK,以使FPGA完成初始化。

值得注意的是,用MAX+PlusⅡ或QuartusⅡ生成的SOF或POF文件不能直接用于单片机配置FPGA,需要进行数据转换才能得到可用的配置数据。在MAX+PlusⅡ或QuartusⅡ中,都有数据转换选项,将.SOF文件转换为.rbf文件,然后再将.rbf文件直接写入单片机系统的某一ROM或Flash区域,这段数据的起始地址和长度都是已知的,按以上过程编写相应软件即可。

4 配置数据压缩方法

Cyclone器件是一种支持解压配置数据的FPGA器件,允许存储在配置芯片或其他存储器的配置数据是经压缩处理的数据,在配置期间,这此压缩数据发送到Cyclone器件中即时被解压并对SRAM单元进行编程。AS配置模式和PS配置模式都可支持压缩方式,但基于JTAG配置模式却不支持压缩方式。初步数据表明压缩可减少35﹪至60﹪的配置数据位流,可减少数据的存储空间和传输速度以及配置设备的成本。

QuartusⅡ能生成带压缩的配置文件,可减少配置芯片和flash闪存空间及位流的传送时间。下面以QuartusⅡ5.1版为例介绍两种压缩配置文件的操作方法。

4.1 方法一:设计程序编写前在项目程序设置中激活压缩。

首先在Assignments菜单下点击Device项,弹出Settings窗口, 然后在Family选项中选择Cyclone器件,点击下面的Device&Pin Options弹出窗口,再选择Configuration窗口点击Generate Compressed bitstreams选项,最后按确定键结束设置。

4.2 方法二:设计程序编写后从Convert Programming Files窗口创建程序文件激活压缩。

首先下拉File 菜单,点击Convert Programming Files 弹出窗口,选择文件类型Programming File type(POF,SRAM HEXOUT,RBF,orTTF),然后为POF output files,选择配置器件,再选择Add File 添加一个Cyclone SOF 文件,选择文件名加入到SOF Data 区,单击Properties选项,再确定,最后按Generate键生成。

5 结束语

串行配置方法的硬件电路简单、配置过程软件实现比较容易、工程应用方便。Cyclone 系列的FPGA器件逻辑资源、芯片速度等技术参数能够达到项目要求,性价比高,而且还有一定的扩充性。此种FPGA 的配置实现方法也适用于和其它CPU结合,应用于其它场合,只要严格按照软硬件的配置要求即可,因此在实际应用中具有参考价值。如今,CPLD/FPGA 已经成为数字系统开发的平台,并且以后将朝着高集成度、大容量、低成本、低电压、低功耗、资源多样化、适用于片上系统(SOC)、深亚微米工艺、各种软硬IP 库、动态可重构技术实用化等方面不断完善和提高。

参考文献:

[1]Cyclone 器件数据手册(第一卷)、串行FLASH配置芯片(EPCS1或EPCS4)数据手册.

[2]李新红.FPGA配置及Cyclone 系列PS 模式的工程应用[J].第14 卷第4 期北京电子科技学院学报2006 年12 月.

[3]温淑鸿,崔慧娟.ALTERA FPGA在微处理器系统中的在应用配置[J].电子技术应用.

猜你喜欢

低电平高电平配置文件
掌握颜色查找表的魔力
从Windows 10中删除所有网络配置文件
用软件处理Windows沙盒配置文件
互不干涉混用Chromium Edge
一种实用的电脑接口判断方法
高电平MMC子模块电容电压控制策略研究
数字电子技术的应用
浅谈物理电路与数字电路
关于Multisim10.0的高电平调幅电路仿真研究
DX型中波发射机PB200单元控制板时钟电路工作原理