您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

用CPLD和Flash实现FPGA配置

发布日期:2011-05-21

  FPGA可以通过串行接口举行配置。本文对传统的配置要领举行了研究,并从更新配置文件的要领入手,提出了利用处理惩罚机通过网络更新的要领,给出了一个用CPLD和Flash对FPGA举行配置的应用实例。
 

     电子计划主动化EDA(Electronic Design Automation)是指以谋略机为事变平台,以EDA软件为开辟环境,以硬件形貌语言为计划语言,以可编程逻辑器件PLD为实行载体(包括CPLD、FPGA、EPLD等),以集成电路芯片为目标器件的电子产品主动化计划进程。

     该进程如今已遍及应用于电子电路与体系的计划和产品的开辟中.渐渐代替了传统的手工硬件电路计划方法。计划的体系具有体积小、重量轻、功耗小、速率快、代价低、可靠性高、计划周期短等好处。一个成果完备的EDA计划软件加上一片平凡成果的可编程逻辑芯片就可以构成过去需几百个集成电路才华构成的电子体系。

     如今常用的可编程逻辑器件有CPLD(Complex Programmable Logic Device,巨大可编程逻辑器件)和FPGA(Field Programmable Gate Array,现场可编程门阵列)。常用的EDA软件包括VHDL、Verilog HDL、ABEL等硬件形貌语言。此中,VHDL作为IEEE的产业标准硬件形貌语言,受到浩繁EDA东西厂家的支持,在电子工程范畴,已成为究竟上的通用硬件形貌语言。

     Xilinx公司和Ahera公司的FPGA可编程部分的物理实现方法为RAM。它最大的好处是可以多次重复编翟,缺点是易失性。因此每次上电后,处理惩罚机都必要将用户计划的FPGA配置文件从外部存储器中下载到FPGA中。从外部存储器将FPGA配置文件下载更新的方法有以下三种:

     (1)JTAG口下载方法
   

      将配置文件放到一台主机中,主机通过专用线与单板上的JTAG口硬件相连接。在这种方法下每次下载都必要硬件操纵,因此只实用于开辟、调试阶段,配置在现场事变时就不克不及再利用这种方法。

     (2)片外串行PROM下载方法
   

     在每片FPGA四周安排一片或几片(由FPGA容量决定)串行PROM,在体系上电时,主动将FPGA配置文件从PROM下载到FPGA中。此方法也是Xilinx、A1tera等公司重点先容的方法,实用于比较稳固的体系。但随着FPGA芯片密度的增长,串行PROM已不克不及适应大容量、高密度的FPGA的配置。而大容量的并行PROM所请求的寻址方法又不克不及直接与FPGA接口。当体系中的FPGA配置文件必要升级更新时,必须将机箱打开,通过JTAG口起首将.PROM中的配置文件更新,然后再重新启动体系,将更新后的配置文件从PROM下载到FPGA中,如许才华完成一次FPGA配置文件的更新。

     以上两种方案都存在必须举行硬件操纵(将机箱打开,利用主机通过JTAG口)的缺点,在主机上必须安置专业软件才华完成FPGA配置文件的更新。

     (3)处理惩罚机控制Flash下载方法
   

      本文根据Xilinx、Altra公司手册及过去的事变经历,提出和完成了一种新的FPGA配置文件下载更新的方法。这种方法实用于支持网络通讯的体系中。在每次体系启动时。由处理惩罚机从Flash中读出FPGA配置文件,再下载到FPGA中。即当必要升级更新FPGA配置文件时,通过网络将配置文件发送给处理惩罚机,由处理惩罚机更新体系中的Flash。当Flash内容更新后,再由处理惩罚机控制将配置文件主动下载到FPGA中。如许在不必要任意硬件举措和专业软件的环境下,只必要举行老例软件操纵就可以更新FPGA的配置文件。但由于Flash是并行数据线,必要通过一片CPLD将从Flash中读来的数据转换成串行数据输出到FPGA

     1 FPGA下载配置模式
   

      FPGA配置文件的下载模式有五种:主串模式(masterserial)、从串模式(slave serial)、主并模式(master selectMAP)、从并模式(slave selectMAP)及JTAG模式。此中,JTAG模式在开辟调试阶段利用。为了便于开辟计划阶段的调试,本内核路由器计划将JTAG口直接做在信号处理惩罚板上。

     主、从模式的最大区别在于:主模式的下载同步时钟(CCLK)由FPGA提供;从模式的下载同步时钟(CCLK)由外部时钟源大概外部控制信号提供。主模式对下载时序的请求比从模式严格得多。因此从处理惩罚机易于控制下载进程的角度思量,选择利用从串模式或从并模式较为符合。本计划采取从串模式举行FPGA配置。从串模式引脚阐明如表l所示。

     从串配置时序图如图l所示。TPROGRAM是配置逻辑的复位时间,对xilinx VIRTEXE和VIRTEX2系列,最小应大于300ns。TPL为复位耽误时问,表明配置逻辑复位的连续。对VIRTEXE系列来说,当复位信号PROG变为高电平常,INIT立即变为高电平,配置逻辑就可以吸取配置数据流;而对付VIRTEX2系列,TPL最小有500ns的耽误。TICCK为配置时钟CCLK的输出耽误。

     当PROG有效(对配置逻辑举行复位)时,FPGA将置低INIT和DONE;PROG变为高电平常,INIT将耽误一段时间用于表明复位状态的连续,连续置低INIT可以耽误配置的举行。当FPGA正在吸取配置数据时,INIT变低,表明CRC校验错。当配置完全部的数据时,若配置精确,DONE将会变高。以后FPGA开始启动序列,连续置低DONE可以耽误启动的举行。

     2 详细计划
   

  国度数字互换体系工程技能研究中间包袱的国度863项目高性能IPv6内核路由器采取一片Intel E28F128J3A150 16位Flash作为BootFlash对PowerPC2860(MPC860)处理惩罚机举行加电配置下载更新的方案,其多余的存储空间完全可以存放下FPGA所需的配置文件。加电复位、体系启动后,由处理惩罚机与一片XilinxXC95288XL CPLD共同,控制FPGA配置文件从Flash下载到FPGA中,完成对FPGA的配置。860处理惩罚机支持网络成果,当配置文件必要更新时,可通过网络将新的配置文件发送到处理惩罚机,然后再由处理惩罚机更新体系中的Flash。采取XC95288CPLD配置FPGA的详细电路计划布局如图2所示。

     图2中,CPLD重要成果是把从Flash中读出的数据转换成串行输出,然后再将地点递增。CCLK(信号由CPU时钟孕育产生。PROG信号则由CPU输出的地点数据经译码模块孕育产生。XC95288C PLD逻辑布局如图3所示。

     下面分别先容各成果模块的详细实现:
   

   (1)数据转换成串行输出成果模块:利用了一个右移寄存器。从16位Flash来的并行数据DIN[0:15]加载到移位寄存器后,依次从DOUT串行输出到FPGA中。
   

  (2)地点递增成果模块:此成果由两个计数器完成。由于Flash是16位并行数据端口,因此第一个计数器成果是逢16进1,第二个计数器成果是Flash地点递增。当移位寄存器的16位数据都输出到FPGA中后,第一个计数器输出端口CNT[0:3]都为“1”,颠末“与门”逻辑使得第二个计数器加l。Intel E28F128J3A150 Flash为16MB,共必要25根地点线。由于Flash是16位的,因此ADD[3l]不连接。以是第二个计数器和地点线ADD[7:30]相连.以完成Flash地点的递增。
   

   (3)CCLK信号孕育产生模块:CPU来的时钟信号将数据信号DOUT输出,经一个“非门”逻辑耽误半个周期后孕育产生CCLK,CCLK再将DOUT上的数据送到FPGA中。如许将读写。DOUT数据的时候叉开,克制了辩论。
   

  (4)PROG信号孕育产生模块:当必要下载FPGA步伐时,由CPU孕育产生一个地点信号ADD[O:30],经译码器译码产牛PROG控制信号。此地点由用户自行设置。
    以上模块均采取VHDL语言形貌。数据转换成串行输出成果模块是内核部分,它可实现并行数据串行输出。

     本文先容了通过处理惩罚机用CPLD和Flash实现FPGA配置文件下载更新的要领。与传统的JTAG或PROM串行下载配置要领相比,此要领具有更新配置文件机动方便、易于操纵、实用于大容量FPGA下载的特点。采取此要领可以不消打开机箱即可随时更新FPGA配置步伐,分外实用于必要不绝更新的体系计划中,具有较为广阔的应用远景。