采用EDA技术如何实现FPGA的应用设计?
扫描二维码
随时随地手机看文章
物联网、人工智能、大数据等新兴技术的推动,集成电路技术和计算机技术得到蓬勃发展。电子产品设计系统日趋数字化、复杂化和大规模集成化,各种电子系统的设计软件应运而生。在这些专业化软件中,EDA(Electronic Design Automation)具有一定的代表性。EDA技术是一种基于芯片的现代电子系统设计方法。它的优势主要集中在能用HDL语言进行输入、进行PEn(可编程器件)的设计与仿真等系统设计。现场可编程门阵列FPGA作为集成度和复杂程度最高的可编程ASIC。是ASIC的一种新型门类,它建立在创新的发明构思和先进的EDA技术之上。
FPGA(Field Programmable Gate Array)是一种以数字电路为主的集成芯片,属于可编程逻辑器件(Programmable Logic Device,PLD)的一种。它是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。FPGA作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
采用FPGA技术集成设计数字电路产品最大的特点就是可以使设计和实现相统一。无须前期风险投资,而且设计实现均在实验室的EDA开发系统上进行,周期很短,大大有利于产品的市场竞争需求,所以FPGA的应用设计。特别适应于电子新产品的小批量开发。科研项目的样机试制以及ASIC产品设计的验证,能够进行现场设计实现、现场仿真及现场修改。
FPGA所具有的无限次可重复编程能力,灵活的体系结构,丰富的触发器及布线资源等一系列的特点使得它可以满足电子产品设计的多种需求。FPGA的应用领域主要集中在替换通用逻辑和复杂逻辑、重复编程使用、板极设计集成、高速计数器、加减法器、累加器和比较器的实现、总线接口逻辑等方面。面对科学技术高速发展,熟练的掌握EDA设计技术,灵活巧妙的使用FPGA至关重要。
FPGA设计流程可分为以下步骤:
设计输入:使用硬件描述语言(HDL)、状态图、原理图等形式进行设计输入,还可以使用一些专用语言如Quartus下的AHDL。
逻辑综合:从RTL描述生成逻辑电路的过程,输出网表文件,其中包括逻辑门、触发器等逻辑元素的集合以及它们的连接关系。
技术映射:将网表所表示的逻辑映射到FPGA实际的逻辑元素的过程。
仿真验证:用仿真工具对设计进行仿真,确认设计的电路是否得到了预期输出,包括前仿真和后仿真两个阶段。
布局布线:利用片上逻辑和布线等资源实现网表的过程,包括布局和布线两个步骤。
时序仿真与验证:在布局布线完成后,根据布局布线的仿真结果进一步仿真,估算布线时序事件并考虑这些因素。
配置下载:将最终设计的电路结构以FPGA内逻辑元素和布线开关的编程数据的形式保存,并使用编程器将这些配置文件写入FPGA器件中。这些步骤完成后,就能得出最终的FPGA应用设计方案。
FPGA的优点主要包括:灵活性高,FPGA可以重新编程以实现各种不同的逻辑功能,这使得FPGA在进行快速原型开发时具有很大的优势,可以在短时间内完成产品开发。在无法预料的应用场景下,FPGA也能快速应对变化的需求。低成本,与ASIC相比,FPGA的设计成本低得多,因为ASIC的设计需要花费大量的人力、时间和金钱进行验证和测试,而FPGA则可以通过开发板进行测试,省去了设计所需的时间和成本。
运行速度快,FPGA的逻辑门可以以并行的方式工作,相比于CPU串行的方式,FPGA具有更快的计算速度,优化计算强度较高的应用。
可重用性好:FPGA的设计可以被反复使用,减少了产品开发周期,也因此降低了开发成本。通信高速接口设计,FPGA可以用来做高速信号处理,比如对数据进行抽取滤波,降低数据速率,使信号容易处理和传输。数字信号处理,FPGA可以进行图像处理、雷达信号处理、医学信号处理等,实时性好,用面积换速度,比CPU快的多。
大规模并行度:通过并发和流水两种技术实现,并发是指重复分配计算资源,使得多个模块之间可以同时独立进行计算。
作为现代集成电路设计的重点与热点,FPGA设计一般采用自顶向下、由粗到细、逐步求精的方法。设计最顶层是指系统的整体要求,最下层是指具体的逻辑电路实现。自顶向下是将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大则进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子模块关系合理、便于设计实现为止。