基于EDA技术的FPGA设计对传统电子系统设计方法与现代电子系统设计方法进行了比较,引出了基于EDA技术的现场可编程门阵列(FPGA)电路,提出现场可编程门阵列(FPGA)是近年来迅速发展的大规模可编程专用集成电路(ASIC),在数字系统设计和控制电路中越来越受到重视。
集成电路技术和计算机技术的蓬勃发展,让电子产品设计有了更好的应用市场,实现方法也有了更多的选择。传统电子产品设计方案是一种基于电路板的设计方法,该方法需要选用大量的固定功能器件,然后通过这些器件的配合设计从而模拟电子产品的功能,其工作集中在器件的选用及电路板的设计上。
随着计算机性价比的提高及可编程逻辑器件的出现,对传统的数字电子系统设计方法进行了解放性的**,现代电子系统设计方法是设计师自己设计芯片来实现电子系统的功能,将传统的固件选用及电路板设计工作放在芯片设计中进行。从20世纪90年代初开始,电子产品设计系统日趋数字化、复杂化和大规模集成化,各种电子系统的设计软件应运而生。
在这些专业化软件中,EDA(Electronic Design Automation)具有一定的代表性,EDA技术是一种基于芯片的现代电子系统设计方法。它的优势主要集中在能用HDL语言进行输入、进行PLD(可编程器件)的设计与仿真等系统设计自动化上;20世纪90年末,可编程器件又出现了模拟可编程器件,由于受技术、可**作性及性价比的影响,今后EDA技术会向模拟可编程器件的设计与仿真方向发展,并占据市场的一定份额。
EDA技术主要包括大规模可编程逻辑器件、硬件描述语言、开发软件工具及实验开发系统4个方面。其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体硬件,描述语言是利用EDA技术进行电子系统设计的主要表达手段,开发软件工具是利用EDA技术进行电子系统设计的智能化与自动化设计工具,实验开发系统则是提供芯片下载电路及EDA实验、开发的外围资源。
FPGA结构概述
现场可编程门阵列FPGA作为集成度和复杂程度最高的可编程ASIC。是ASIC的一种新型门类,它建立在创新的发明构思和先进的EDA技术之上。运算器、乘法器、数字滤波器、二维卷积器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计都可选用FPGA实现。以Xilinx的FPGA器件为例,它的结构可以分为3个部分:可编程逻辑块CLB(Configurable Logic Blocks)、可编程I/O模块IOB(Input/Output Block)和可编程内部连接PI (Programmable Interconnect)。CLB在器件中排列为阵列,周围环形内部连线,IOB分布在四周的管脚上。Xilinx的CLB功能很强,不仅能够实现逻辑函数,还可以配置成RAM等复杂的形式。
现场可编程门阵列FPGA是含有大规模数字电路的通用性器件。这些数字电路之间的互联网络是由用户使用更高级的软件来定义的。FPGA可以进行无限次的重复编程,从一个电路到另一个电路的变化是通过简单的卸载互联文件来实现的,极大地推动了复杂数字电路的设计,缩短了故障检查的时间。
传统的数字逻辑设计使用TTL电平和小规模的数字集成电路来完成逻辑电路图。使用这些标准的逻辑器件已经被证实是最便宜的手段,但是要求做一些布线和复杂的电路集成板(焊接调试)等工作,如果出现错误,改动起来特别麻烦。因此,采用传统电子设计方案人员的很大一部分工作主要集中在设备器件之间物理连接、调试以及故障解决方面。正是因为FPGA的EDA技术使用了更高级的计算机语言,电路的生成基本上是由计算机来完成,将使用户能较快地完成更复杂的数字电路设计,由于没有器件之间的物理连接,因此调试及故障排除更迅速、有效。
可编程特点有助复杂电路设计
FPGA能进行无限次的重复编程。因此能够在相同的器
在一个FPGA芯片上的基本部件数量增加了很多,这使得在FPGA上实现非常复杂的电子电路设计变成比较现实。由于采用FPGA的EDA技术所产生的性价比更高一些,从而使得最近有多家公司开始采用这项技术,并且这种增长趋势仍旧在继续。
FPGA中的逻辑块是CLB,逻辑块是指PLD(Programmable Logic Device)芯片中按结构划分的功能模块,它有相对独立的组合逻辑单元,块间靠互连系统联系。FPGA的逻辑块粒度小,输入变量为4~8,输出变量为1~2,每块芯片中有几十到上千个这样的单元,使用时非常灵活。FPGA内部互连结构是靠可编程互联P I实现逻辑块之间的联接。它的互联是分布式的,它的延时与系统布局有关,不同的布局,互联延时不同。根据FPGA的不同类型,可采用开关矩阵或反熔线丝技术将金属线断的端点连接起来,从而使信号可以交换于任意两逻辑单元之间。
采用FPGA技术集成设计数字电路产品最大的特点就是可以使设计和实现相统一,无须前期风险投资,而且设计实现均在实验室的EDA开发系统上进行,周期很短,大大有利于现代产品的市场竞争需求,所以,FPGA的应用设计,特别适应于电子新产品的小批量开发,科研项目的样机试制以及ASIC产品设计的验证,能够进行现场设计实现、现场仿真及现场修改。由此,受到电子产品设计工程师的广泛推崇和欢迎。
FPGA的应用领域
FPGA所具有的无限次可重复编程能力,灵活的体系结构,丰富的触发器及布线资源等一系列的特点使得它可以满足电子产品设计的多种需求。FPGA的应用领域主要集中在替换通用逻辑和复杂逻辑、重复编程使用、板极设计集成、高速计数器、加减法器、累加器和比较器的实现、总线接口逻辑等方面。
应用和开发FPGA必须对器件的性能有一个全面了解,例如对器件的容量、速度、功耗,接口要求和引脚数目等进行综合考虑,同时还要注意以下几个细节问题:
● 时序电路应用“上电”复位电路,保证开机加电后,置时序电路于初始状态;
● 器件的电源与地引脚必须并接一只0.1μF的无感电容,起滤波和去耦作用;
● 不能采用数目是偶数的反向器串联的方法构成“延时电路”,一则延时的时间不准确,二则自动编译时会作为冗余电路被简化掉;
● 主要的全局缓冲器必须由半专用的焊盘驱动,次要的全局缓冲器可以来源于半专用的焊盘或内部网线;
● 引脚之间严禁短路,忌用万用表直接测量器件引脚;
● 器件的I/ O口如被定义为输出端,忌对该端加信号,否则将损坏芯片;
● 低功耗的器件如接负载过大时,不仅会使所用器件的工作效率显著降低,甚至会损伤芯片。