用EEPROM对大容量FPGA芯片数据实现串行加载

2010-03-03 21:20:38来源: 云南省昆明理工大学信电学院

  自大规模现场可编程逻辑器件问世以来,先后出现了两类器件,一类是基于SRAM体系结构的FPGA系列,如XILINX公司的4000系列和最新的Virtex系列;另一类是基于faxtFLASH技术的CPLD器件,如XILINX公司的9500系列和Lattice公司的ispLSxx系列芯片。FPGA具有容量大、设计资源丰富、片内ROM及RAM设计灵活等特点1,但是它们需要在每次上电时进行数据加载。目前实现加载的方法有以下三种:①采用PROM并行加载;②采用专用SROM串行加载;③采用单片机控制实现加载。第一种方式需要占用较多的FPGA管脚资源,虽然这些管脚在加载完成后可用作一般I/O口,但在加载时不允许这些管脚有其他任何外来信号源;另外数据存储器PROM与FPGA之间的大量固定连线如8位数据线以及大量访问PROM的地址线等,使得PCB设计不便。但是第一种方式有一个有利的方面,即PROM的容量较大、容易购置、价格低、技术支持(编程器)较好。第二种方式情况刚好与第一种方式相反,即占用资源少、PCB布板方便,但是容量小、价格较高、兼容性差。第三种方式采用单片机控制,由PROM中读取并行数据,然后再串行送出。由于涉及到单片机编程,对于开发者来说较为不便;另外,如果单片机仅用来实现该任务,较为浪费硬件资源。CPLD的一个最大优点是采用计算机专用开发工具,通过JTAG口直接一次性实现编程数据加载,并永久保留,除非进行再次编程(与GAL器件相似)。该类器件比较适合在实验室内进行现场调试,但是由于其数据的加载必须通过计算机,因此对于从事野外作业者来说会产生不便。

  通过上述比较,并结合实际工作情况,我们认为采用串行数据加载比较方便、可靠(这种可靠性得益于FPGA与SROM之间较少的接口线)。但随着FPGA规模的不断升级,其CONFIG数据量越来越大,截止到本文写作时,CONFIG数据量最大已到6MBIT,虽然XILINX公司有相关的XC17X系列SROM提供使用,但皆为一次性芯片2、开发成本较高、代理商供货周期长、价格较高,这给FPGA的应用及普及带来很大的障碍。我们曾使用过AT&T公司的ATT17系列电可擦除SROM,但是该类SROM芯片能与XILINX系列FPGA芯片实现接口的种类不多,且容量小。由于种种原因,其价格往往是同样存储容量的EEPROM的五、六倍,甚至更高,并且来源困难。那么能不能结合并行加载与串行加载的优点,从而解决大容量FPGA数据加载的问题呢?我们在仔细分析了串行加载机制后,认为采用EEPROM作为数据存储器,经过可控的并-串转换,应该可以实现数据加载。下面以XILINX公司Virtex系列XCV100芯片为例,采用ATMEL公司1兆位的AT29C010A进行数据存储,采用XILINX公司9500系列XC95108芯片作为加载控制器件进行设计。

  1 原理设计

  原理性Master Serial模式串行加载时序如图1所示

原理性Master Serial模式串行加载时序

  在该加载模式中,比较重要的几个信号为/INIT、CCLK、DATAIN、DONE。/INIT表示FPGA芯片上电时或者当/PROGRAM信号为低时FPGA内部数据初始化过程,并作为外送信号给数据加载控制器件作为复位之用。当/INIT信号跃为高电平时,CCLK开始启动。加载数据DATAIN在CCLK的上升沿打入,与通用串行通讯相类似,加载数据流也有开始位与结束位,且以数据帧的方式接收。一旦发生错误,FPGA立即停止接收数据,并将/INIT信号置为低电平,因此该信号又称为错误指示信号。当数据全部接受并验证无误后,FPGA将DONE信号置为"1"3。 在分析了FPGA加载数据流特性后,可以得出这样一个结论:保证CCLK与DATAIN之间的严格同步与连续性,就可以实现加载。基于此结论,在生成加载数据格式时,产生单片SROM串行格式,对于XILINX公司的FPGA系列,该格式为.MCS文件格式;然后用ALL07编程器以INTEL HEX数据格式将其写入EEPROM中。余下的工作是在CCLK、/INIT、DATAIN的控制下完成并-串转换。该控制过程采用一片CPLD之95系列XC95108芯片来承担,在设计容量上采用一片XC9536即可完成,之所以采用XC95108是因为其尚需要完成其他任务。其原理框图如图2所示。

原理框图

  2 并-串转换时序设计

  在时序设计上,关键在于要保持DATAIN加载数据的连续性、DATAIN与CCLK加载时钟的同步性以及EEPROM访问地址的复位问题。对于复位问题,采用上电时FPGA产生的/INIT信号对95108内部的EEPROM地址发生器复位。这样做的原因是/INIT与FPGA之CCLK时钟产生有着同步关系,但同时也默认上电加载是一次成功;在考虑串行DATAIN数据的连续性时,采用两组移位寄存器,设定它们为R_shiftA和R_shiftB,当R_shiftA在进行移位操作时,R_shiftB由EEPROM中读入八位并行数据,反之亦然;为保持DATAIN与CCLK时钟的同步性,所有上述操作都以CCLK为同步时钟,值得注意的是,由于DATAIN串行数据是在CCLK的上升沿打入FPGA,因此我们给予XC95108芯片设计的运转时钟是经过反相的CCLK时钟,这样就保证了CCLK与DATAIN的时间关系。

  以下是为该加载设计的VHDL硬件编程语言设计程序45,其中的计数器及移位寄存器模块用F2.11设计软件之LogicBlox模块产生。整个程序经F2.1I开发软件仿真、编译成功后,经JTAG编程电缆写入XC95108芯片。加电后便加载成功,经多次加电实验,成功率为100%。

[1] [2]

关键字:EEPROM  FPGA  串行加载

编辑:小甘 引用地址:http://www.eeworld.com.cn/FPGA/2010/0303/article_1000.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
EEPROM
FPGA
串行加载

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved