高速数字串行加法器及其应用
3 数字串行加法器的应用
数字串行加法器可以代替传统加法器用在滤波器、乘法器、累加器等电路的设计中,能大大减小资源占用。下面以在CDMA/WCDMA系统中广泛应用的匹配滤波器为例说明数字串行加法器的应用。
匹配滤波器是一种无源相关技术,它可以快速实现相关器的功能。匹配滤波器的冲激响应为:
h(t)=s(T-t) (0≤t≤T)
设s(t)为输入波形,则其输出波形为:
javascript:window.open(this.src);" style="cursor:pointer;"/>
可知滤波输出R(t-T)是输入信号的自相关函数。javascript:window.open(this.src);" style="cursor:pointer;"/>
在CDMA、WCDMA等系统中,匹配滤波使用本地码系列来匹配输入到接收机的采样数据。在滤波器中,本地码序列与接收数据进行相乘、求和操作,得到相关值,相关值越大说明相关程度越高。其工作过程如图4所示。匹配滤波器可以使用移位寄存器和加法器来实现,结构如图5所示,其中,滤波器的系数因子h(n)为本地码序列,输入x(n)为接收数据,数据每移位一次,滤波器计算一次输出结果。当移动到两个序列相位对齐时,就产生一个相关峰值输出。
系统对匹配滤波的设计要求是:匹配长度为256,输入四路数据,每一路经过7bit量化、速率为7.68MHz,即滤波器的处理速度为4×7.68=30.72MHz。对于这样一个匹配滤波器,有很多种实现方法,例如在高速率下可以通过旋转数据/旋转本地码序列或者通过动态、静态数据互换来简化设计。这些方法都用到一个比较大型的加法树,如果用一般加法器实现,将占用大量的资源,因此有必要加以改进。
设计中用到的加法树有256个7bit输入,计算结果为15bit。采用一般加法器实现的结构如图6(a)所示,javascript:window.open(this.src);" style="cursor:pointer;"/>在VirtexE中约占1100个slice,资源消耗过大。为了减小资源消耗、提高设计密度,使用上述3bit数字串行加法器对加法树进行改进,改进后的结构如图6(b)所示。由于减小了加法器的运算宽度,大大降低了使用的逻辑资源,整个加法树大约只用512个slice。
使用数字串行加法树完成加法运算需要的时钟周期与加法器的位宽有关,增加加法器的位宽可以减小运算需要的时钟周期、提高滤波器的数据吞吐量,但是也增加了硬件资源的消耗。所以在处理能力满足的条件下,应该选择比较小的位宽。列出了用不同位宽的数字串行加法器实现的加法树的工作频率和占用资源,选用器件为XCV200E-6BG352,综合工具为XST。
对于本设计,如果使用1bit的数字串行加法器,数据经过加法树之后从7bit扩展成15bit,所以数据完全输出需要15个时钟周期。根据这些要求,为了使得滤波器达到30.72MHz的处理速度,1bit的串行加法器必须工作在15×30.72=460.8MHz。如果使用3bit串行加法器,数据完全输出需要15/3个时钟周期,即加法器的工作频率应为5×30.72=153.6MHz。3bit的数字串行加法树可以满足设计要求,而资源占用是一般加法树的50%。