基于PLC的SD加法器在DSP领域中的应用
扫描二维码
随时随地手机看文章
何召兰 袁丽英 徐倩 摘 要:本文提出了一种以sd(singed_digit)数表示的求和计算方法,克服了传统的二进制数表示求和过程中产生的进位对运算速度的限制。并在此基础上应用硬件描述语言(vhdl)设计实现了基于可编程逻辑器件(pld)的sd加法器,简化了求和运算过程。实验证明,通过这种算法可得到运算速度高、电路结构简单的高速加法器。以满足数字信号处理(dsp)系统的高性能要求。 关键词:pldsd数表示 sd加法器 dsp???? 信息社会的标志性产品是电子产品,现代电子产品的性能越来越高,复杂度越来越大。在当今信息时代,数字技术已成主流。数字信号处理技术(dsp)在许多领域内具有广泛的用途,如雷达、图象处理、数据压缩和数字通信机等。传统的解决数字信号系统设计问题的方法主要有两种:(1)采用dsp处理器,(2)采用固定功能的dsp器件或asic器件。随着dsp系统复杂程序和功能要求的提高,这些dsp解决方案暴露出缺陷。dsp处理器方案成本低,但处理数据的实时性能差,限制了它在高速和实时系统中的应用;固定功能的dap器件或asic器件可提供良好的实时性,但其灵活性差,不适合在实验室或技术开发等场和使用。现在,大规模可编程逻辑器件为dsp提供了第三种方案,cpld及fpga和dsp技术结合,能够在集成度、速度和系统功能方面满足dsp的需要,同时具备dsp处理器的灵活性和固定功能dsp芯片的实时性[2]。? 加法器和乘法器是构成所有dsp系统的基本结构。加法器是最基本的dsp算法,无论乘法、减法、除法或fft运算最终也要分解为加法运算。应用传统的二进制数表示实现的许多超大规模集成运算电路可完成大量数据的实时运算,但进位限制了运算速度[3]。因此,一个没有进位的求和运算系统是众所期望的。? sd数是一种性能优良的数值表示形式[4],在运算过程中可限制进位的产生,且位数的增加不影响运算速度,实现了真正意义上的并行运算。在本文中我们提出了一种新型的基于以2为基数p位sd数表示的加法电路。以下给出了sd数的表示方法,并用sd数在可编程逻辑器件[2]上用硬件描述语言(vhld)实现sd加法器。1 以2为基数的sd数表示方法?
2 用sd数表示的求和算法 应用以上sd数表示方法,无需进位即可实现加法运算。而通常以二进制数表示的加法运算过程中都要产生因为,位数越多产生的进位越多,将严重影响运算速度[1]。两个p位sd数相加,即s=a+b,可通过以下两步实现。? 设ci、mi和si分别是第i位sd数(i=0,1,2,…,p-1)的中间进位、中间和及结果,每一位都按以下两个步骤进行计算。
p=5时,a=(1,0,-1,-1,-1)sd=9,b=(1,-1,0,-1,-1)sd=5,图1说明了不同p值的sd数表示的5+9=14的计算过程。? 由图1可知,应用以上算法实现的求和过程只需两步即可完成,且运算速度与操作数位数无关。而传统的二进制数求和运算则有进位产生,并行进位加法器结构简单,但产生的进位信号逐级传递,降低了运算速度,操作数位数越多,运算速度越慢;超前进位加法器可缩短运算进间,但增加了电路复杂程度,当加法器位数增加时电路的复杂程度随之急剧上升[1]。sd加法器可克服其缺点。??3 用vhld实现sd加法器? 根据sd数求和算法基础上,图2给出了sd加法器的方框图。一个p位sd加法器由p个基本运算单元?sd全加器(sdfa)组成,每一个sdfa包含add1和add2,add1执行上述算法中的第一步,add2执行第二步。sdfa的逻辑电路可用vhdl实现。? vhdl是一种全方位的硬件描述语言,包括从系统到电路的所有设计层次[6]。在描述风格上vhdl支持结构、数据流行和行为3种描述形式的混合描述,几乎覆盖了以往各种语句描述语言的功能。整个自顶向下或自底向上的电路设计过程都可以用vhdl来完成[5]。本文应用hvdl设计以上提出的sd求和算法电路-sd加法器。? 表1中规定了以2为基数sd数ai的二进制表示方法,其中ai(1)是ai的符号,ai(0)是ai的绝地值。因此,以2为基数的p位sd数可由2p维向量表示:
欲知详情,请下载word文档 下载文档