可编程嵌入式处理器
大部分多媒体产品不仅需要进行信号处理,而且需要使用某种类型的微控制器或处理器来完成指令和控制功能或其它日常任务。对于从最小的消费产品到最大的专业视频产品的各类多媒体系统,基于FPGA的嵌入式处理器(如Nios II)向设计者提供了灵活地定制各种要求的能力。多媒体系统开发者面临的一个重大挑战是选择合适的(既不降低性能也不减少功能的)处理器。至今有众多供应商提供了数百种型号的处理器,其外围设备、存储器接口和性能特性也各不相同。
FPGA嵌入式处理器可以降低BOM和PCB版图成本。在需要多个处理器的情况,开发工具将允许用户创建多处理器系统,进而提升系统的性能或把软件应用分成更简单的任务。可以针对最大系统性能或最小逻辑使用率对Nios II内核进行优化,或者在系统性能和逻辑使用率之间取得平衡。该内核可以方便地通过配置实现乘法器、用户设定的高速缓存、定制指令、硬件调试逻辑等特性以适应特殊的性能需求。
Nios II嵌入式设计套件(EDS)支持创建定制的多内核系统。Nios II处理器与超高密度的FPGA(如Stratix III器件系列产品)相结合可以创建出非常理想的高性能多处理器应用系统。Nios II的典型应用如图4所示。
图4:NIOS II嵌入式处理器的典型系统应用。
嵌入式存储器和外部存储器接口
存储器是所有视频处理应用(如视频压缩编码、2D滤波和缩放)都需要的关键构建模块之一。现在,由于FPGA提供了众多的内部专用存储器模块,因此一个FPGA就可以实现完整的多媒体系统。这些内部存储器模块包括RAM、ROM、FIFO、双端口存储器和移位寄存器。大多数系统通常需要使用存储器来满足各种复杂功能(如通讯、数字信号处理、电子数据处理和控制应用)所需要的不同存储需求。
Stratix器件中包含的TriMatrix存储器架构提供了多种不同的存储器结构,可以实现复杂设计中的各种存储器功能。在存储器带宽不够充裕时,设计师可以使用较小的M512 RAM模块实现先入先出(FIFO)和时钟域缓存功能。M-RAM模块可以使FPGA满足大型缓存应用(如知识产权包缓存和系统高速缓存)的需求。M4K模块非常适合为消费多媒体应用(如数字电视视频增强)提供中等规模的存储器应用。另外,Stratix器件也支持DDR2和DDR3 SDRAM及RLDRAM等多种类型的外部存储器。
高速接口
带有内建高速差分接口(如LVDS、RSDS、mini-LVDS和PPDS)的FPGA可直接连接到平板LCD或等离子显示器。典型的平板显示器通常会联合运用可编程器件和ASSP在把图像提供给显示器之前进行视频质量增强。
图5显示了一个用FPGA实现视频处理和显示屏接口的完整LCD模块。除了差分接口之外,高端FPGA还带有其它高速串行接口收发器。对于专业视频应用,串行接口可以是SDI、ASI、PCI Express或Serial Rapid IO。
图5:使用Cyclone III FPGA的典型LCD模块。
设计工具
Quartus II软件等设计入门工具是完成高密度和低成本FPGA设计的最快和最高效途径。它提供了时序分析、功率分析、增量编译、用于IO分配的引脚规划器和TcL脚本接口。DSP Builder等专用视频处理工具则可以进一步提高用户的设计效率。DSP Builder是一种数字信号处理开发工具,它在设计入门工具Quartus II和MathWorks公司的MATLAB/Simulink之间架起了连接桥梁。
本文小结
从低成本系列(如Cyclone)到高端Stratix系列的可编程逻辑器件可用于实现各类音视频产品。内建的DSP和存储器模块提供了完成这些任务所需要的基本单元。Quartus II、SOPC Builder和DSP Builder等用户友好的设计工具大大提高了工程设计的效率。图6给出了FPGA的一个数字电视应用,其中的FPGA包含有嵌入式处理器、存储器接口、视频图像处理、图像缩放以及用于平板显示器(FPD)的屏显(OSD)和时序控制器(TCON)功能。
图6:典型的数字电视框图。