现场可编程门阵列(field-programmable gate array,FPGA)是一种可编程逻辑器件,由成千上万个完全相同的可编程逻辑单元组成,周围是输入/输出单元构成的外设。它采用计算机辅助设计技术进行器件的开发与设计,其优越性大大超过普通TTL集成门。制造完成后,FPGA可以在工作现场编程,以便实现特定的设计功能。
FPGA是上世纪80年代末开始使用的大规模可编程数字集成电路器件。它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。它充分利用计算机辅助设计技术进行器件的开发与应用。用户借助于计算机不仅能自行设计专用集成电路芯片,还可在计算机上进行功能仿真和实时仿真,及时发现问题,调整电路,改进设计方案。这样,设计者不必动手搭接电路、调试验证,只须在计算机上操作很短的时间,即可设计出与实际系统相差无几的理想电路。而且,FPGA器件采用标准化结构,体积小、集成度高、功耗低、速度快,可无限次反复编程,因此,成为科研产品开发及其小型化的器件,其应用极为广泛。
目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 --2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用、风险最小的器件之一。
5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的选择之一。
设计输入是将要实现的逻辑关系以开发系统所支持的方式输入计算机,这是设计FPGA的开始。有多种方法实现设计输入,最常用的是原理图编辑器。它允许用2种方式进行设计输入:
1)图形输入这种输入方式允许使用元件库中提供的各种常规门电路及逻辑部件(宏单元)设计电路,并以原理图的方式输入;
2)文本输入这种输入方式允许使用可编程逻辑设计语言,如VHDL,ABEL、CUPL语言等编写输入文件,也允许直接用布尔方程进行输入。
设计输入的目的是要产生一个XNF(Xilinx Netlist Format)文件,这是设计实现和设计验证的输入文件。如果同时采用图形输入和文本输入,则还需要进行归并(XNFMERGE)处理,以产生一个完整的XNF文件。
设计实现是设计开发过程的核心,其主要任务是对归并后的XNF文件进行分割、布局和布线。分割是把XNF文件中的逻辑设计经过化简,分割成为以CLB及I/OB为基本单元的逻辑设计。布局是把分割后的逻辑设计分配到FPGA的相应CLB及I/OB位置。布线是对已布局好的CLB,I/OB进行连线。Xilinx开发软件具有自动布局、布线功能,它能在布局、布线过程中采用一系列优化程序,找出布局、布线方案。设计实现的最终目的是产生符合设计要求的比特流文件。这是用来为FPGA芯片装载的二进制文件。
设计验证主要是对电路进行仿真测试。仿真测试包括功能仿真和实时仿真。功能仿真假设信号通过每个逻辑门产生同样的延迟时间(0.1ns),而通过路径没有延时。这种仿真可测试系统功能是否满足设计要求。实时仿真是在布局布线后进行,它能按照所选器件的实际延迟时间进行模拟,主要用来验证系统的时序关系。
设计输入、设计实现和设计验证三个部分交替进行,得到完全满足设计要求的二进制文件。用该文件通过加载电缆或编程EPROM对FPGA加载,即可得到用户需要的专用集成电路芯片。
随着微电子技术、EDA技术、以及应用系统需求的发展,FPGA正在逐渐成为数字系统开发的平台,并将在以下方面继续完善和提高:
(1) 高集成度、大容量、低成本、低电压、低功耗;
(2) 资源多样化;
(3) 适用于片上系统:处理器、高速串行I/O、DSP等等;
(4) 深亚微米工艺的使用。目前基于90nm工艺的FPGA已经商用,正在向65nm挺进;
(5) 各种软硬IP库的发展和完善;
(6) 动态可重构技术实用化。
维库电子通,电子知识,一查百通!
已收录词条48243个