FPGA 设计方法的发展可划分为三个时代,即硬件描述时代、嵌入式软核时代和异构系统时代。
硬件描述时代是 FPGA设计的第一个时代。设计人员根据待设计的电路功能使用硬件描述语言 ( Hardware Description Language, HDL)完成开发。由于模块化数字电路可被封装为 IP (Intellectual Property)核的形式,使用 IP 核完成FPGA 的最终设计,可大大提高效率。
嵌入式软核时代是 FPGA 设计的第二个时代。它以 Altera 公司的微处理器软核 Nios Ⅱ和 Xilinx公司的微处理器软核Microblaze 为代表。设计人员利用 FPGA内部的逻辑资源搭建微处理器软核,再将 I/0 接口等IP软核连接至微处理器软核总线,从而构成可编程系统芯片 (Programmable System on Chip,PSoC)。设计人员可使用C、C++等高级语言控制可编程片上系统工作,实现软硬件协同设计。
在功耗、性能和开发周期等因素的驱动下,FPGA 设计进入了异构系统时代。以CPU 为核心的哈佛结构(或冯氏结构)和可编程逻辑电路同时存在于FPGA中,使异构系统更具综合优势。例如,Altera 的 Cyclone V 系列和 Xilinx 的Zynq系列均包含ARM 硬核。同时,随着高层次综合 ( High -Level Synthesis,HLS)的推出,FPGA 的 EDA 工具得到进一步的发展,可直接使用C、C++等语言对 FPGA 进行硬件编程,更大程度地提高了 FPGA 的设计效率。
2010 年后,神经网络技术在人工智能领域得到了广泛的应用。FPGA 因具有高度并行、高吞吐量、低功耗和可重构等特点而备受关注,成为在实现深度学习算法的系统中提高性能功耗比的重要器件。