基于FPGA的数字信号处理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 FPGA使数字系统设计理念发生变革

传统的电子系统设计理念是基于PCB级完成的。系统设计人员利用各种IC制造商生产的通用集成电路,在PCB上构成系统,系统的调试也在PCB上进行。这种开发设计方法要求设计师具有丰富的硬件知识和调试能力,产品开发周期长,投资较大,设计、修改较难。此外,由于PCB连线的延时、空间尺度、重量和可靠性的制约,整机性能尤其是在高速运算方面受到很大的限制。

20世纪90年代末,在半导体产业0.18μm生产线成熟运行后,鉴于可将一定规模系统中的大量电路集成于同一个芯片内,人们提出了片上系统(System On Chip,SOC)这一理念。SOC仍然是ASIC的范畴,它是在单片上实现电子系统的集成。与ASIC相比,它不再是单一应用目的的电子系统单片,而是将信号采集、处理和输出等完整的系统集成在一起实现一个或多个更大更复杂系统的超大规模集成电路。简言之,SOC是一种单芯片系统解决方案。图1.14 所示为一个简单的SOC应用案例。不难看出,SOC将硬件与软件整合在一起。硬件的最直接体现就是逻辑门和寄存器等,软件的最直接体现则是微处理器执行的指令。

FPGA使得软件和硬件之间的界限越来越模糊。在微处理器方面,Xilinx公司提供了全面的解决方案:有小型的8位处理器软核PicoBlaze,只需要使用150个LC;有32位的基于经典的RISC(Reduced Instruction Set Computer)架构的处理器软核MicroBlaze。MicroBlaze是一个真正的32位处理器,即指令和数据都是32位的。相比而言,MicroBlaze需要大约一千多个LC。此外,在Virtex-4和Virtex-5 FX系列FPGA中还有32位硬核处理器Power-PC。在IP(Intellectual Property)方面,Xilinx公司提供了大量丰富的面向不同应用领域的IP核。不仅如此,FPGA内部还嵌入了一些专用的硬核。这样,结合大量可配置于FPGA硬件结构中的参数化的IP核,就可以将整个数字系统在一片FPGA内实现,这实际上就是所谓的可编程SOC,即SOPC(System On Programmable Chip)。这是巨大的进步,因为这样能够让多个器件相互“交谈”时不必以芯片间通信必然导致的降速为代价。这也使得SOC设计所关注的焦点不是某个新功能的设计实现,而是如何去评估、验证和集成多个已经存在的软、硬件模块。SOC的设计方法也不是以功能设计为基础的传统IC设计流程,而是以功能整合为基础的SOC设计全新流程,形成了自己的鲜明特色,包括更深入的系统级设计,软、硬件协同设计与验证,在设计流程的所有层次上进行验证,以及合理利用外界的设计咨询服务等。

图1.14 一个简单的SOC应用案例

Xilinx在发布的7系列产品中推出了一个全新的数字处理平台,即可扩展处理平台(Extensible Processing Platform,EPP),与之相应的产品为Zynq -7000系列。在该产品中,除了具有常规的可编程逻辑资源外,还嵌入了两个ARM Cortex-A9 MPCore,这进一步增强了FPGA的功能,拓宽了FPGA的应用领域。