微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM设计的FPGA可重构配置方法的实现及应用

ARM设计的FPGA可重构配置方法的实现及应用

时间:12-11 来源:互联网 点击:

摘要:文中详述了FPGA被动串行配置方式的时序,给出配置流程图及实现的程序代码,并通过实例验证了该方法的优越性及应用前景.通过介绍FPGA的各种配置方式,提出了一种基于ARM处理器的FPGA动态配置方法,充分利用ARM处理器功能强、速度快、应用广的特点,结合FPGA重配置特性,实现了对FPGA的动态配置.

随着半导体工艺技术的迅猛发展,现场可编程逻辑器件FPGA的集成度迅速提高,已达到百万门量级,与此同时,FPGA中的逻辑资源也日益丰富,使得基于FPGA的片上系统设计成为可能.基于FPGA的片上系统设计因其具有开发周期短,设计成本低,软硬件可编程,系统设计灵活、可裁减、可扩充、可升级等优点正在成为电子系统设计的研究热点,且已经在通讯、工控等领域得到实际应用.

目前FPGA从实现技术上进行分类,可以分为基于查找表(LuT,k—up table)技术,SRAM工艺的FPGA、基于nash技术的FPGA和基于反熔丝(Anti—fuse)技术的FPGA,而使用最多的还是基于SRAM工艺的FPGA,如Altem的Cycl0ne和S tix系列、xilin)【的Spanan和Virtex系列.基于SRAM 的FPGA片内带有存储配置位流的sRAM,上电时,将存储在专用配置芯片中的配置信息加载到FPGA中,从而实现一定的逻辑功能,掉电时片内SRAM中的配置数据遗失,需要下一次加电时重新加载配置.这种片内易失存储器存储配置数据的结构,使得FPGA可以在线动态的对其sRAM中的配置数据进行更新,从而实现电路逻辑功能动态改变.系统可重构主要就是利用基于sRAM的FPGA这种动态重配置特性才得以实现的,下面就以Altem公司Cyclone II系列FPGA分析其配置方式及其可重构应用.

1 可重构配置方法

根据FPGA在配置过程中的角色可把cyclone II系列FPGA的配置方式分为三种:FPGA主动串行(As)方式、FPGA被动串行(PS)方式和JATG方式.不同配置模式通过配置模式选择管脚MsEL[1:0]进行选择,其中MsEL[1:0]=o0时选择As模式,MsEL[1:O]=01时选择PS模式,对于某些串行配置器件当MsEL[1:0]=l0时为快速AS模式,配置速度比PS模式快一倍.Cyclone II系列FPGA支持配置数据自解压,将压缩的配置数据存储在配置器件或其它存储器中,配置时传送压缩的位流数据到FPGA中,FPGA可实时的解压缩并对内部sRAM进行编程,配置数据的压缩比例可达35%-5O% ,可有效节省配置存储空间.

在As方式下,由FPGA主动输出控制和同步信号给专用串行配置芯片,配置芯片接收到配置命令后,就开始将配置数据串行的发送至FPGA,完成配置工作.目前常用的专用串行配置芯片为容量为4 Mb的EPCS4和16 Mb的EPcS16等.AS配置模式主要用到四个信号:串行数据输入DcLK、控制信号输入AsDI、片选信号ncs和串行数据输出DATA.

在PS方式下,由系统中其它设备发起配置过程,FPGA在配置过程中只输出应答信号,发起控制配置过程的设备可以是处理器、Altem EPC系列配置芯片、CPLD等功能设备.在下一小节将对PS配置方式做详细的介绍.JTAG调试接口已经作为一个标准接口集成在芯片内,主要用于芯片的测试,cycl0ne II系列FPGA都支持JTAG方式对FPGA进行配置,JrrAG方式具有比其它配置方式都高的优先级.JrI'AG接口定义了四个标准信H号:

● rI℃K测试时钟,各种信号都需要与测试时钟同步;

● TDI测试数据输入,测试数据串行输入,数据在TCK上升沿传送;

● TDO测试数据输出,测试数据串行输出,数据在TCK下降沿传送;

●TMs测试模式选择,决定JTAG电路内部TAP控制器状态机的变化.

2 基于ARM的配置方法及实现

2.1 PS配置原理

如图l所示,利用s3c2410x作为主控制器采用被动串行方式对EP2c20内部逻辑进行重构.FPGA的PS配置方式是比较常用的一种配置方式,可以有效实现FPGA的在线配置,其基本流程为:在系统中将FPGA被动配置方式配置接口与ARM处理器的IO管脚相连,在处理器端通过软件控制相应管脚的高低电平将数据串行的发送到FPGA中.重构程序运行在ARM处理器中作为实时系统的一个任务,当需要重配FPcA内部逻辑时,调用相应任务,配置完成后,删除当前任务即可,因此,可将预先建立的配置文件库存储到ARM的nash中,由ARM处理器中运行的配置程序来完成动态重构任务。FPGA与Ps配置方式有关的管脚功能如表l所示:

整个配置过程几个关键信号的时序图如图2所示,配置过程可以分为复位、配置和初始化三个阶段:

在复位阶段,微处理器首先在nc0NFIG信号线上产生一个宽度大于8 s的负脉冲,然后开始检测nsTATus信号的状态.FPGA检测到ncONFIG信号的下降沿后会迫使nsTATus和cONF—DONE信号拉低,使FPGA处于复位

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top