浏览人次:【4048】
前言
设计工程师面对着必须以最短的时间、更少的资源,设计出更高效能通讯系统的挑战。此外,这些设计师们还必须考虑到快速改变的新兴与千变万化的技术。今日,各种应用对于效能的需求更加殷切,需要一种更具弹性并容易执行的解决方案。其中一个解决方案便是可编程逻辑(PLD),能够提供弹性、高效能并让产品及早上市。
设计师使用PLD来进行数位讯号处理(DSP)已经更加频繁,我们可以在许多种产品之中发现PLD的踪迹,从高效能的骨干网路应用,到应用在新兴的第三代无线通讯的数位用户线路存取多工器(DSLAM)。设计师在DSP应用中使用PLD是因为它能提供设计弹性与硬体层级的效能表现。想要完全发挥PLD真正的能力,设计师需要一个完整的设计环境,以能够在短时间内执行从系统架构到硬体设计。
DSP、ASSP、ASIC与PLD之比较
工程师在执行DSP应用时有多种选项,包括:
(1)DSP处理器
(2)特殊应用积体电路(ASIC)
(3)特殊应用标准产品(ASSP)
(4)PLD
传统上,设计师会选择DSP处理器来进行数位讯号处理应用(DSP),DSP处理器有一种如(图一)所示的通用架构,可让其有弹性配合各种应用。不过,这种弹性也可能限制了它的系统效能。
《图一 通用型DSP处理器架构〈资料来源:Source:The Scientist and Engineer's Guide to Digital Signal Processing〉》 ![](/art/2002/08/051400304843/P1.gif) |
技术历程
从发展历程看来,早期DSP处理器仅有一个多工器,但现今一些DSP最多已经有8个多工器。它们使用反覆的回路来产生超过2到8个多工功能,并需要额外的时钟周期来计算出结果。因此,DSP处理器最适合用于在低资料率下的后端讯号处理。许多DSP处理器在多工器中采用特殊指令来加速数学运算,然而,它们仍缺乏即时的效能。 DSP处理器具有弹性,只要更动处理器的软体程式码,便可被用于滤波或调变应用。
ASSP与ASIC可设计用于执行特定的功能,在低成本条件下比DSP处理器有更佳的效能。这些优异的特性对设计师极有吸引力,因为ASSP是用于执行特定功能的半客制化积体电路,例如有限脉冲回应(FIR)与无限脉冲回应(IIR)滤波器,它们的效能比其他采用类似制程技术的硬体解决方案还要好。然而,ASSP缺乏弹性,且当DSP应用更动时便必须重新设计。ASIC提供一个客制化且低成本的解决方案,不过,它们需要花费较长的时间(典型的设计周期是一年到一年半),且需要最低的采购量,小型的设计更动便会产生额外的非重制工程成本,与造成更长的设计周期。
评比
PLD比DSP处理器、ASSP与ASIC提供了更多优势,设计师可以规划PLD逻辑元件,并且仍能如DSP处理器一样地用平行或序列方式来处理复杂的程序(图二)。在平行模式,它们可以一次执行上百个相同的指令,以提供比DSP处理器更佳的效能,不像ASSP与ASIC,PLD提供了设计更动上的弹性,而不必牺牲产品及时上市的时间。
《图二 PLD与DSP处理器之间的架构不同处》 ![](/art/2002/08/051400304843/P2.gif) |
Altera PLD的DSP系统设计需要高阶演算法与硬体描述语言(HDL)两种开发工具。 Altera DSP Builder透过结合The MathWorks MATLAB的演算法开发、模拟与验证功能,与搭配Altera开发工具的Simulink系统层级设计工具、HDL合成器与模拟等,对这些工具进行了整合工作。
《图三 Stratix DSP区块架构》 ![](/art/2002/08/051400304843/P3.gif) |
设计流程
PLD供应商需要提供更亲近的设计流程以超越DSP工程师,以Altera为例,它提供了DSP Builder这类工具,具有The MathWorks介面,系统层级DSP工具Simulink搭配Altera的Quartus II开发软体。 DSP Builder提供了无缝式的设计流程,让设计师可以在MATLAB软体中进行演算法设计,在Simulink软体中做系统整合,并将设计转换为硬体描述语言档案以用于Quartus II软体之中。
Simulink的应用
使用DSP Builder,设计师可以从Simulink自动产生一个RTL设计与RTL测试平台。这些经过预先验证过的RTL输出档案已经为将使用于Altera的Quartus II设计软体进行最佳化,因此设计师可以快速地执行时序与模拟比较,该设计流程也可进行浮点到整数分析。有了这种简易与直觉地开发流程,设计师不需要具备使用可编程逻辑设计软体的经验。
设计师可以使用DSP Builder所提供的讯号处理IP区块,来建立一个Simulink系统模型的硬体实行。 DSP Builder包含位元与周期精确地Simulink整数区块,可以涵括如算数或储存功能等基本运算,甚至是如向前错误修正、滤波与调变等复杂功能。
DSP IP
演算法可以得益于PLD的效能,包括滤波、向前错误修正、调变/解调与加密等,业界已拥有一个广泛的标准DSP功能系列,为PLD进行最佳化,设计师可以被允许进行建构可编程单晶片系统(SOPC)设计。另外,设计师也可以个别地使用DSP IP核心来更专注于效能的提升以强化整个系统。对于需要更高传输量的系统,设计师可以在平行运算时用PLD厂商所推出的 DSP IP核心做为特定的硬体。
拥有平行处理的效能优势与典型弹性特点的PLD,以及FIR编译器与Reed-Solomon编译器的DSP核心,适用于如多通道多点分配服务(MMDS)与矩形频率划分多工(OFDM)系统等新兴应用。举例来说,Altera Reed-Solomon MegaCore功能解码效率在8位元符号时最高可达1 Gbps。搭配名义上的缓冲与控制负荷,一个Reed-Solomon解决方案解码效率可以超过10 Gbps。
相对而言,先前的德州仪器(Texas Instruments)公司测试显示C64xx DSP处理器需要大约1,095个周期来解码一个Reed-Solomon代号。在300 MHz时,C64xx处理器解码率约在450 Mbps,并使用100%该元件的运算能力。
用PLD元件执行FIR滤波器
以下的范例是一个8位元224节的FIR,以实例来说明PLD元件在DSP应用时的效能优越性。每个暂存器提供单位的样本延迟,延迟的输入被它们的滤波器协同因素加以多工化,并加总在一起以产生输出。请参见(图四)。
《图四 典型的FIR滤波器》 ![](/art/2002/08/051400304843/P4.gif) |
FIR滤波器运作可以用(公式一)来表示:
《公式一》 ![](/art/2002/08/051400304843/F1.gif) |
此处的x(n)与h(n)代表着输入讯号与滤波器协同因素的第n个样本值。
这个224节滤波器可以用Stratix DSP区块来执行,且可放进单一个Stratix PLD之中。这个设计仅使用单个时钟周期作资料输出,相对而言,相同的滤波器设计需要多个DSP处理器,因为单个DSP处理器仅有2到8个多工器。 (表一)显示这两种执行方式所产生的效能结果。 Stratix元件增强了整体系统性能几乎达12倍。
表一 Stratix元件与DSP处理器效能比较
需求 |
Stratix元件(EP1S120) |
TI 320C64x元件 |
节数 |
224 |
224 |
多工器数量 |
224 (28个DSP区块) |
最多8个 |
内部时钟速度 |
250 MHz |
600 MHz |
运算结果所需的时钟周期 |
1 |
28 |
每秒GMACs |
56 GMACs |
4.8 GMACs |
资料来源:Source:德州仪器TMS320C6414 Fixed-Point Digital
Signal Processor资料表
结论
PLD元件是个非常具有弹性,且能够提供以硬体执行DSP应用的有效率解决方案。并能够支援多样化的规划方式,以更方便地执行DSP应用。此外,DSP区块具有效率的程序以提供快速的效能,高效能的DSP区块与晶片内记忆体,可让设计师最大化系统传输量。 PLD也支援平行运算,使其成为增加整体系统效能的强有力工具。 (本文译者为Altera亚太区高级市场经理)
〈参考文件:
1. AN 214: Using the DSP Blocks in Stratix Devices
2. AN 215: Implementing High-Performance DSP Functions in Stratix Devices
3. Stratix Programmable Logic Device Family Data Sheet
4. .Smith, Steven W. The Scientist and Engineer's Guide to Digital Signal Processing, 第二版。加州科技出版公司。圣地牙哥,加州,1999年。
5. 德州仪器。 TMS320C6414 Fixed-Point Digital Signal Processor. 豪士顿,德州,2001年九月。 〉
|