FPGA的动态重构指的是,系统可以完全处于运行状态,在改变其内部的逻辑程序时,系统自始自终都在完成之前编程所实现的功能,不管是整体改变系统电路程序还是局部改变系统电路程序。而当新的程序修改完成后,系统立即转变为新的程序所表达的应用功能。其原理框图如图所示
FPGA动态可重构原理图
静态重构系统指的是,系统虽然没有断电,但如果想要改变其内部的程序,只能在系统休息状态下,即不再完成之前写入的程序所表达的应用功能。在这期间重新载入新的程序,完成载入后,系统才可进行下一步的动作。其原理框图如图所示
FPGA静态可重构原理图
从上述对重构方式分析来看,动态重构在实际应用中比静态重构更为完善。虽然从FPGA的原理分析上,它们的含义很接近,但在如今快节奏的生产当中,动态重构还是占有很大的优势。在本文设计中,FPGA芯片不是一直在工作,有一定的工作频率,所以没必要使用动态重构来进行FPGA程序的修改。运用FPGA的静态重构,在FPGA非工作周期内对其编码,在工作周期之前完成,使之系统实现新的逻辑功能。
因为过去科技发展不完善、经济落后等诸多因素,FPGA重构技术所需要的资源比较匮乏,其发展收到了严重的阻碍。直到近几年来,由于科学家们对科技的不懈追求和努力,FPGA这个行业得到了迅猛的发展,并且与之相关的软件行业也在不断进步,在这些基础的引领下,解决了FPGA重构技术所带来的苛刻问题,从而使重构技术被广泛地应用在实际操作中。
FPGA可重构技术在不断发展中,也在不断的转变方向。为了更能有效率地利用各种资源实现大空间的模块功能,重构技术慢慢从高集成、大空间向低成本转变。这种重复利用现有资源实现逻辑功能的技术使系统元器件的使用周期变得更长。
2 FPGA配置方案的选择与设计
2.1 微型计算机配置FPGA的方案
本节选用了Altera公司所推出的Cyclone 系列的FPGA芯片,它在设计过程中,最常用的配置方式为被动串行配置方式(PS)和JTAG方式。在前者配置FPGA过程中,FPGA芯片属于被控制的一方,通过微型计算机来控制FPGA配置的整个过程。而后者配置FPGA过程中,通常情况下需要下载电缆作为连接FPGA和微型计算机的桥梁,它的端口在配置过程中,由4个信号来控制其操作,即TDI、TDO、TMS、TCK。TDI是对FPGA数据进行输入。TDO进行输出。上一级输出的TDO可作为下一级TDI的集合范围,形成相互制约的功能。TMS是用来操控JTAG各个引脚的状态。TCK是用来限制其它信号的周期,让其它信号的周期和它一样。由于本方式在配置FPGA时,不需要外加其它应用配置元件,所以它在实际系统开发设计期间有广泛的应用。这种配置方法是通过ByteBlasterII下载到所用FPGA芯片,应用PC机进行数据传输。如图2-1所示,FPGA芯片MSEL1都接地,形成低电平,而MSEL0为高电平,这两个引脚在这种情况下,既可以实现PS配置方式,也可以实现JTAG配置方式。如果只想实现PS配置方式,只需要把两个引脚全部接地,即同步置0。图中nCE在处于高电平时,可实现对多个FPGA芯片进行配置,由于本次实验只需要一个FPGA芯片即可,所以nCE引脚接地。
ByteBlaster电缆由许多导线并列连接组成,它的一端可直接与微型计算机的25针标准插头,另一端连接PCB电板的插座上。由于采用的配置方式不用,微型计算机与ByteBlaster并口相连的针引脚名称也不相同,如图表2-1所示,PS、JTAG各模式运行下的信号。
表2-1 微型计算机插头引脚介绍
引脚