微 处 理 机
M I CROPROCESS ORS
基于CP LD 及Flash 实现FPG A 配置的研究
钟 祺,谢顺依,杨迎化
(海军工程大学,武汉430033)
  摘 要:分析了Xilinx 公司的Spartan II 型FPG A 配置原理及时序图,在此基础上利用有限状态
机给出了使用CP LD 结合Flash 实现FPG A 配置功能的设计,并进行了仿真,仿真结果完全符合FPG A 的配置时序。设计经过调试已经得到实际应用,并且可以用于其它型号的FPG A 。
关键词:场可编程门阵列;配置;有限状态机中图分类号:T N46  文献标识码:A   文章编号:1002-2279(2008)05-0011-02
Research on Conf i gura ti on of FPGA Ba sed on CPLD and Fl a sh
ZHONG Q i,X I E Shun -yi,Y ANG Ying -hua
张嘉妮
(N aval Engineering U niversity,W uhan 430033,China )
  Abstract:This paper analyses the configurati on theory and cl ocking sequence of FPG A which is the p r oduct of Xillinx Company .Based on this,using the finite state machines the design is given t o realize the functi on of FPG A configurati on by CP LD and Flash .Si m ulati on and experi m ental results show that the cl ocking sequences is correct and design is p ractical .
Key words:FPG A;Configurati on;Finite states machines
1 概 述
目前市场上FPG A 大多是基于SRAM 结构的,掉电后其内部程序不能保存,需要重新配置,所以需要专门的配置ROM 芯片。比如Xilinx 公司的V irtex 系列及Spartan 系列FPG A 芯片,一般均需为其配置专用的xc18v00系列Pr om 芯片。用户编写的程序保存在其中,每次通电工作时由Pr om 芯片中自动下载到FPG A 中,如果没有这块芯片配合,则FPG A 掉电后就不能正常工作。
但是由于市场原因,购买FPG A 芯片的配置ROM 比较困难,同时其价格也比较昂贵。本文介绍了配置芯片的工作原理及时序,并利用CP LD 结合Flash 实现了配置芯片的功能,方便易行,并且较大幅度的节省了配置芯片的费用。本文使用的CP LD 为Xilinx 公司的XC9572,Flash 为A t m el 公司的AT29C040A,对Xilinx 公司的Spartan II 系列FPG A 实现配置,其原理同样适用于其他的FPG A 。
2 Xilinx FPG A 的配置
2.1 配置模式的选择
双人旁
Xilinx 公司的Spartan 系列FPG A 的配置方式主要有四种:主串模式(Master serial mode )、从串模式
(Slave serial mode )、从并模式(Slave parallel mode )以及边界扫描模式(Boundary -scan mode )。通过
配置模式选择引脚M0、M1、M2的不同设置可以选择这四种模式中的一种。其中主串模式和从串模式的主要区别在于:主模式的下载同步时钟(CCLK )由FPG A 自身提供;从模式的下载同步时钟(CCLK )由外部时钟源或者外部控制信号提供。本文采用的是主串模式,将M0、M1、M2三引脚均接地。2.2 配置引脚的连接及设置
Spartan 系列的FPG A 配置引脚在配置过程结束后仍可作为一般的I/O 脚使用,分为两类:专用配置引脚及通用配置引脚。专用配置引脚只使用于配置过程,包括上面提到的M0、M1、M2,以及下载同步时钟引脚CCLK,配置结束引脚DONE,异步配置触发引脚Pr ogra m 等;而通用的配置引脚则配置包括数据传输引脚D0,起始引脚I nit 等。使用CP LD 及Flash 实现配置ROM 功能时其与FPG A 的连接如图1所示。配置引脚的具体功能如表1所示。
3 主串模式下载时序
3.1 启动下载时序
在Pr ogra me 引脚上产生1个超过2
μs 的低脉冲,等待I N I T 回应1个低脉冲以及DONE 引脚变
作者简介:钟祺(1976-),男,湖南人,博士研究生,主研方向:交流电机调速。
收稿日期:2006-09-01
祝老师元旦快乐祝福语简短第5期2008年10月
No .5
Oct .,2008
低。这时候表明FPG A 已经进入到了下载状态,等
待至少5
μs 以后就可以开始下载了
。图1 CP LD 、Flash 及FPG A 的连接示意图
表1 配置引脚功能定义
引脚
方向
(对FPG A )  功能说明
CC LK
输出
同步时钟,每个CC LK 时钟周期对
FPG A 输入1bit 数据
I N I T 输出该引脚变高说明FPG A 对其内部存储器清除完毕,允许向其输入数据。如在下载过程中该引脚变低说明校验出错,需重新下载。
DONE 输出该引脚变高说明程序下载过程结束Pr ogra me 输入用户拉低该引脚可异步启动配置过程D0
输入
把从Flash 读出的程序通过该引脚送到FPG A 中
3.2 下载时序
FPG A 产生下载同步时钟,通过CCLK 引脚传
送给CP LD 。CP LD 将19位的地址信号送给Flash,Flash 根据地址把相应的存储在内部的程序通过8
位数据总线送给CP LD 。CP LD 再根据同步时钟信
号CCLK 每个周期通过D0向FPG A 传送一位数据。下载时序如图2所示。3.3 结束下载
数据下载完成以后,DONE 脚变高,标志配置过程结束。
4 配置软件设计及仿真实现钟祺
配置程序使用veril og 编写,使用有限状态机实现。状态转换过程如图3所示,每一步状态的含义
如下所述:
step0:idle,表示配置启动后的初始化阶段;step1:waite_status,初始化结束后首先等待一段时间;
step2:address_out_status,在该阶段向Flash 输出相应的读数据地址以及最后一位数据;
step3:data_out_status,CP LD 在每个CCLK 周期由向FPG A 送出一位数据;
step4:st op,发送完数据,结束配置过程。
在配置的第三步step3中包含有另外一个状态机,用来配合CCLK 时钟顺序向FPG A 输出每一位数据:由B it7到B it0。由于需要的数据是连续的输出,所以最后一位数据在step2更新地址环节中输出,这样可以保证输出数据的连贯。当整个程序下载完成后,FPG A 会向CP LD 回送一个信号,使DONE 引脚拉高,这样整个下载过程就结束了
图3 配置状态图
  仿真使用的是Modelsi m 5.8,得到的时序如图4所示。(下转第16页)
完美女人的标准单元(LE )只有复数乘法器的58%左右,比起文献
[2]中的常系数乘法器实现也有显著降低,而且由处理瓶颈引起的处理延迟问题也得到解决。与传统的CORD I C 实现相比,由于省去了幅度校正处理,所需的资源只有原来的68%。整个FFT 处理器最终使用2829个LE,可工作于20MHz 。数据串行输入,
处理器的处理延迟为3.7
μs,即74个时钟周期,满足I EEE 802.11a 标准要求。
表1 FFT 处理器中旋转因子处理方法比较结构出处
处理时间(时钟)使用资源(LE )
复数乘法器[6]13108常系数乘法器[3]1、2或4
2216传统CORD I C [4]12634新方法
---
金融市场包括
1
1794
  均衡和相位跟踪联合处理器需要949个LE,而
为了得到相同的系统性能,传统实现共需要1471个LE 。联合处理器硬件规模减小的原因一方面是由
于相位运算的合并,另一个原因是双模CORD I C 处理器的使用。
6 结束语
利用面向自适应调制均衡器结构,提出了FFT 处理器、均衡器和相位跟踪器的联合设计。设计对幅值和幅角运算进行了合并,同时设计使用的双模CORD I C 处理器进一步节省了硬件资源。实现结果表明,新设计显著降低了接收机的实现成本。
参考文献:
[1] I EEE Std .802.11a -1999.W ireless LAN M ediu m
AccessContr ol (MAC )and Physical Layer (PHY )Speci 2ficati ons:H igh S peed Physical Layer (PHY )in the 5GHz Band[S].1999.[2] ZhongW and M ao Z -G .Design and VLSI architecture of
a channel equalizer based on adap tive modulati on f or I EEE 802.11a WLAN [C ].A sia Pacific Conference on Circuits and Syste m s,Singapore,2006.
[3] Maharatna K,Grass E,and Jagdhold U.A 64-point
Fourier transf or m chi p for high -s peed wireless LAN app licati on using OF DM [J ].I EEE J.Solid -State Circuits,2004,39(3):484-493.
[4] Zhang G,Chen F .Parallel FFT with CORD I C for ultra
wide band [C ].I nternati onal Sy mposiu m on Pers onal,I ndoor and Mobile Radi o Communicati ons,Barcel ona,Spain,2004:1173-1177.
[5] Lee D,Yeo G,W ang Z,Zhao B,and He Y .Low power
i m p lementati on of FFT p r ocess or f or I EEE 802.11a wireless LAN transceiver[C ].I nternati onal Conference on Communicati ons System s (I CCS ),Singapore,2002:250-254.
[6] Zhong K,Zhu G,and He H.A single chi p,ultra high -s peed FFT architecture [C ].I nternati onal Conference on ASI C,Beijing,China,2003:752-756.
(上接第12页
)
图4 仿真时序
  由图可见,用户首先拉低引脚Pr ogra m 给FPG A 发出一个信号,异步启动配置过程。FPG A 接到信号后,会清除自身的内存,此时I N I T 引脚上是低电平,当它准备好接收数据后将把I N I T 脚拉高,随即向CP LD 输出CC LK 时钟信号。CP LD 已经发给Flash 第一个地址信号,同时也接收到Flash 返回的八位数据:10101010。在CC LK 信号到来后,等待几个微秒,然后通过D0引脚在每个时钟上升沿
向FPG A 发送一位数据。在此后每个周期快结束前,CP LD 都更新地址并发送给Flash,得到回送的新的八位数据后,随即配合时钟信号发送给FPG A 。如此不断继续,直到所有数据发送完毕,结束配置过程。
5 结束语
采用CP LD 结合Flash,可以实现xc18v00系列Pr om 的功能,简单易行,并且具有很好的经济效益。整个设计经过实际调试,已成功应用于Spartan II 的XC2S50芯片的开发板中,效果良好。
参考文献:
[1] Xilinx,Spartan -II FPG A Fa m ily Configurati on and
Readback[R ].[2] A t m el .4-megabit 5-volt Only 256-byte Sect or Flash
Me mory AT29C040A Data Sheet[R ].[3] 王钿,卓兴旺.基于Veril og HDL 的数字系统应用设计
[M ].北京:国防工业出版社,2006.