EDA技术及其创新实践(Verilog HDL版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.11 编程与配置

在大规模可编程逻辑器件出现以前,人们在设计数字系统时,把器件焊接在电路板上是设计的最后一个步骤。当设计存在问题并得到解决后,设计者往往不得不重新设计印制电路板。设计周期被无谓地延长了,设计效率变得很低。CPLD、FPGA的出现改变了这一切。现在,人们在未设计具体电路时,就把CPLD、FPGA焊接在印制电路板上,然后在设计调试时可以一次又一次随心所欲地改变整个电路的硬件逻辑关系,而不必改变电路板的结构。这一切都有赖于CPLD、FPGA的在系统下载或重新配置功能。

目前常见的大规模可编程逻辑器件的编程工艺有三种:

(1)基于电可擦除存储单元的EEPROM或Flash技术。CPLD一般使用此技术进行编程(Progam)。CPLD被编程后改变了电可擦除存储单元中的信息,掉电后可保持。某些FPGA也采用Flash工艺,比如Actel的ProASIC plus系列FPGA、Lattice的Lattice XP系列FPGA。

(2)基于SRAM查找表的编程单元。对该类器件,编程信息是保持在SRAM中的,SRAM在掉电后编程信息立即丢失,在下次上电后,还需要重新载入编程信息。大部分FPGA采用该种编程工艺。所以对于SRAM型FPGA,在实用中必须利用专用配置器件来存储编程信息,以便在上电后,该器件能对FPGA自动编程配置。

(3)基于反熔丝编程单元。Actel的FPGA;Xilinx的部分早期的FPGA采用此种结构。

相比之下,电可擦除编程工艺的优点是编程后信息不会因掉电而丢失,但编程次数有限,编程的速度不快。对于SRAM型FPGA来说,配置次数为无限,在加电时可随时更改逻辑,但掉电后芯片中的信息即丢失,每次上电时必须重新载入信息。

Altera的FPGA器件有两类配置下载方式:主动配置方式和被动配置方式。主动配置方式由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,而被动配置方式则由外部计算机或控制器控制配置过程。FPGA在正常工作时,它的配置数据(下载进去的逻辑信息)存储在SRAM中。由于SRAM的易失性,每次加电时,配置数据都必须重新下载。在实验系统中,通常用计算机或控制器进行调试,因此可以使用被动配置方式。而实用系统中,多数情况下必须由FPGA主动引导配置操作过程,这时FPGA将主动从外围专用存储芯片中获得配置数据,而此芯片中的FPGA配置信息是用普通编程器将设计所得的POF或JIC等格式的文件烧录进去的。

EPC器件中的EPC2型号的器件是采用Flash存储工艺制作的具有可多次编程特性的配置器件。EPC2器件通过符合IEEE标准的JTAG接口可以提供3.3/5V的在系统编程能力;具有内置的JTAG边界扫描测试(BST)电路,可通过USB-Blaster或ByteBlasterMV等下载电缆,使用串行矢量格式文件pof或Jam Byte-Code(.jbc)等对其进行编程。EPC1/1441等器件属OTP器件。对于Cyclone、Cyclone2/3/4/5等系列器件,Altera还提供AS方式的配置器件,EPCS系列专用配置器件。EPCS系列(如EPCS1/4/16等)配置器件也是串行配置的。