汉语成语知识大全-小学初中高中作文-全民阅读!
所在位置: 首页 > 五年级作文

数字加法范文精选3篇(全文)

全民阅读 http://www.jiayuanhq.com 2023-02-12 22:00:37

数字加法篇1

摘要与传统加法器相比,数字串行加法器具有工作频率高、占用资源少、设计灵活等优点。介绍了数字串行加法器的原理,说明了该加法器在FPGA上的实现要点及其在匹配滤波器设计中的应用。

关键词加法器 位并行 数字串行 FPGA 匹配滤波器

与传统DSP相比,定制DSP具有速度更高、设计灵活、易于更改等优点,常常应用于设计方案和关键算法的验证。

在DSP运算中,加法是最常用的。常见的加法器是位并行的(Bit-parallel),在一个时钟周期内完成加法运算。其速度较高,占用的资源较多。但是,在很多应用中,并不需要这么高的速度,而且希望减小资源消耗。这时可以采用数字串行(Digit-serial)加法器,利用多个时钟周期完成一个完整的加法运算,从而使占用的资源大幅度减少。为了使数字串行加法器具有更广泛的应用范围,设计的关键是要使电路达到尽可能高的工作频率,以取得高的数据吞吐量(Throughput),从而满足系统其它部分的速度要求。

1 数字串行加法器

在数字串行加法器中,字长为W的操作数被分为P个位宽为N(N能被W整除,P=W/N)的数字,然后从低位开始相加,在P个时钟内完成加法操作。P个时钟周期称为一个采样周期(Sample Period)。

N=2的数字串行加法器结构如图1所示。如果输入操作数的字长为8,那么串行加法器可以在4个时钟周期内完成加法运算。这个加法器只用了两个全加器的资源,比一般的8bit行波进位加法器小。

数字串行加法器的控制也比较简单,输入移位寄存器完成并行-串行转换功能,通过移位操作不断为加法器提供位宽为N的操作数;Control信号指示了新采样周期的开始,此时carry清零;输出移位寄存器完成串行-并行转换,输出计算结果。

对于特定的输入字长,通过选择不同的N,可以实现速度、面积不同的数字串行加法器。这样,设计者可以根据实际情况加以选择,提高了设计的灵活性。

图2 2bit全加器连接示意图

2 高速数字串行加法器在FPGA上的实现

由于数字串行加法器要用P个时钟周期才能完成整个加法操作,因此其工作频率必须足够高。这样,在FPGA上实现时,如何使串行加法器具有尽量高的工作频率就将成为关键问题。下面以Xilinx公司的VirtexE系列FPGA为例,说明如何设计高速数字串行加法器。

VirtexE的一个CLB(Configurable Logic Block)包含两个slice,图2为在一个slice上实现2bit全加器的连接示意图(不相关的逻辑已略去)。

数字串行加法器的结构是行波进位加法器,因此必须尽量减小进位逻辑上的延迟。VirtexE的slice中提供了专用的进位逻辑和布线,充分利用这些资源可以提高加法器的性能。

对VirtexE系列,数字串行加法器应选用奇数位宽,这是因为在VirtexE中一个slice包括两个LUT(查找表)、两个触发器和一些其它的组合逻辑,因此使用一个slice刚好可以实现一个1bit的全加器,使用两个slice可以实现一个3bit的全加器。如果要实现2bit的全加,则需要一个slice完成2bit的相加和保存,另外还需要一个slice中的一个寄存器用来存储进位,这样两个slice整体的利用率就降低很多。数据位宽为2、4、6、8等偶数时都存在这样的问题。图3为N=3时加法器的布局布线示意图。由于专用的进位链布线资源仅存在于纵向的两个slice之间,所以在实现3bit加法器时,使用纵向相邻的两个slice。

加法器的关键路径在进位链上,其延时为

TCKO+T$Net_Carry_reg+TBXCY+T$Net_Carry_out+TCKCY

=1.0+T$Net_Carry_reg+0.54+T$Net_Carry_out+1.3

=2.84+T$Net_Carry_reg+T$Net_Carry_out

式中,TCKO为DFF的CLK到XQ/YQ的延时,TBXCY为BX到COUT的延时,TCKCY为CIN到DFF的建立时间。这些延时的数值可以从手册获得。连线延时包括$Net_Carry_reg和$Net_Carry_out的延时。前者是进位链,延时为0;后者为普通连线,延时约为0.47ns。因此,总延时约为3.31ns,即工作频率约为 300MHz。

为了减小延时、提高工作频率,使用FPGA Editor对布局布线进行精确控制,并把加法器做成硬宏,有利于保证多次实例化时的性能。现将使用宏完成的设计和使用HDL语言完成的设计在工作频率上做一个比较。使用Virtex50E-6pq240器件、xst综合器时,用宏完成的3bit数字串行加法器的最高工作频率为300MHz,而用HDL完成的相同设计的最高工作频率只有186MHz。这是由于设计用HDL输入时,布局布线工具用了3个slice,第一个slice完成2bit全加器,第二个slice完成1bit全加器,第三个slice只用了内部的一个触发器来存储进位,第一、二个slice之间用进位链连接,延时为0,但是第二、三个slice之间只能使用普通连线,而且第三个slice的输入CIN到触发器的建立时间较大,因而影响了串行加法器的运行速度。

3 数字串行加法器的应用

数字串行加法器可以代替传统加法器用在滤波器、乘法器、累加器等电路的设计中,能大大减小资源占用。下面以在CDMA/WCDMA系统中广泛应用的匹配滤波器为例说明数字串行加法器的应用。

匹配滤波器是一种无源相关技术,它可以快速实现相关器的功能。匹配滤波器的冲激响应为

h(t)=s(T-t) (0≤t≤T)

设s(t)为输入波形,则其输出波形为

可知滤波输出R(t-T)是输入信号的自相关函数。

在CDMA、WCDMA等系统中,匹配滤波使用本地码系列来匹配输入到接收机的采样数据。在滤波器中,本地码序列与接收数据进行相乘、求和操作,得到相关值,相关值越大说明相关程度越高。其工作过程如图4所示。匹配滤波器可以使用移位寄存器和加法器来实现,结构如图5所示,其中,滤波器的系数因子h(n)为本地码序列,输入x(n)为接收数据,数据每移位一次,滤波器计算 一次输出结果。当移动到两个序列相位对齐时,就产生一个相关峰值输出。

系统对匹配滤波的设计要求是匹配长度为256,输入四路数据,每一路经过7bit量化、速率为7.68MHz,即滤波器的处理速度为4×7.68=30.72MHz。对于这样一个匹配滤波器,有很多种实现方法,例如在高速率下可以通过旋转数据/旋转本地码序列或者通过动态、静态数据互换来简化设计。这些方法都用到一个比较大型的加法树,如果用一般加法器实现,将占用大量的资源,因此有必要加以改进。

数字加法篇2

摘 要 数字相关器在数字扩频通信系统中应用广泛,受数字信号处理器件速度限制,无法应用于高速宽带通信系统,在此提出了一种基于流水线加法器的数字相关处理算法。该算法最大限度地减少了加法器进位操作,解决了基于全加器型数字相关器存在的进位延迟过大的问题,实现了时分多址体制下的同步段数字相关,提高了同步段相关的可靠性。

关键词扩频通信; 数字相关; FPGA; 流水线加法器; 相关器

中图分类号TN911-34文献标识码A

文章编号1004-373X(2010)16-0151-03

Design of Digital Correlator Based on Pipeline Adder

LEI Qing-feng,JIA Wen-hai

(No. 20th Institute, CETC, Xi’an 710068, China)

AbstractDigital correlator is widely applied in digital spread-spectrum communication system, but it cannot be used in high speed wide-band communication system due to the limitation of low-speed DSP device. In this paper, a full-adder based digital correlation processing algorithm is proposed, which largely decreased the carry operation in the full-adder, solved the problem of carry time-delay existing in the full-adder based digital correlator, achieved the synchronization processing in time-division-multiple-access based system and improved the reliability of the synchronization correlation.Keywordsspread-spectrum communication;digital correlation;FPGA;pipeline adder;correlation device

0 引 言

数字相关器是扩频通信体制下数字中频接收机核心部件之一,在数字扩频通信系统中应用广泛,但由于受数字信号处理器件速度限制,无法应用于高速宽带通信系统。其中一个重要原因是高位数的加法器进位延迟过大,使得在一个采样时钟节拍内无法完成一次累加运算,而导致相关运算错误[1]。随着FPGA技术的快速发展,器件速度的不断提升,这一问题一定程度得到改善,但仍然无法满足高位数扩频码、高采样速率和大动态范围的数字相关器的工程实现,因此必须采用优化算法最大限度地减少加法器进位操作,从而降低电路延迟对数字相关处理的影响,较为可行的方法是通过流水线加法器构建数字相关器。

1 数字相关器基本模型分析

数字相关器类似于匹配滤波器,可以看作乘累加运算器,即输入数据流同本地码在采样同步时钟的驱动下(在一个时钟节拍内)逐级相乘并累加。以32阶数字相关器为例,假定中频信号采样速率是扩频码速率的4倍,输入采样数据流为补码(如果输入码流是2进制码应通过逻辑电路转换成补码),可建立如图1所示电路模型(全加器型)[2]。

图1 全加器型数字相关器电路模型

图1所构建的数字相关器其特点是模型较为简单,在进行FPGA逻辑电路设计时也较容易实现,同时在输入信号动态范围较小(采样数据流数据带宽较小)的情况下器对硬件资源的消耗也较少(不考虑乘法器消耗的资源)。但是当输入信号动态范围较大时,如采样数据流数据带宽超过8 b,中频信号采样速率超过40 MHz时此模型的缺陷就会暴露出来,其核心问题是∑求和加法电路要在一个时钟节拍内必须完成32个8 b补码数据的加法运算,而FPGA内部门到门的延迟会使每一位加法电路在进行运算时产生一定时间的暂态。当这种暂态逐级累加时就会造成一个时钟单位内无法产生稳定、有效的输出结果,同时如果输入的数据流产生较多的进位,则会使相关结果出错[3]。

由上述可知,图1所描述的相关器电路模型应用在实际的通信系统中会存在隐患,尤其是作为时隙信号同步头字符相关处理时,有可能造成时隙同步的误触发。若作为位同步字符时会造成整时隙的接收数据较高误码。

除此之外,此模型还存在消耗FPGA内部大量乘法器资源的缺点,实际上,数字相关器的每一阶所进行的采样数据流同本地码相乘操作其产生的数据结果并无实际物理意义,而有意义的仅是相乘之后符号,它直接决定了输入码流同本地码匹配的结果。

由表1可见乘法器符号输出的结果实际上是同或运算,即相同为正,不同为负。因此以乘法器作为相关器符号判决器效率并不高,而且浪费了大量的乘法器资源,完全可以通过组合逻辑判决得到相同的结果。

表1 符号运算表

本地码符号

采样数据符号

+-

++---+

2 流水线型数字相关器模型

针对全加器型数字相关器的不足,建立基于流水线和符号判决的全新相关器模型[4-5],如图2所示。

图2 流水线型数字相关器电路模型

3 信号处理流程

基于流水线加法器的数字相关器,其信号处理过程可分5个组成部分,即数据扩位、补码变换、抽取判决、流水延迟和累加传递。

3.1 数据扩位

相关器的设计必须要考虑到数据累加所产生的最大结果,它决定了相关器数据移位寄存器的位宽,无论是全加器型的还是流水型的数字相关器必须对输入数据采取扩位处理。例如一个32阶8 b输入位宽数字相关器,当输入补码数据流连续的32个码元与本地码符号一一对应,同时每个输入码元的数据绝对值均达到最大值127则累加的结果是25×127,即数据由8 b扩大到13 b,如果相关器所采用的扩频码位数不是2n也以2n计算。通过上述分析可以得到一个相关器数据寄存器位宽公式

corro=indat+n

式中corro为相关寄存器位宽;indat为采样数据流位宽;n为相关器阶数以2为底数的幂次。确定了数据寄存器的位宽后就必须在数据流输入相关器之前对其进行数据预处理,将数据扩位到最大动态范围,由于输入数据流是补码,因此对正负数的扩位计算不同。下面的Verilog HDL语言代码描述了一个32阶8 b输入位宽数字相关器扩位电路的算法[6]。

if( (indat & 8′h80)==8′h80)

indat_exp=indat|13′h1f00;

else indat_exp=indat_exp;

其中indat为输入采样数据;indat_exp为输入采样数据扩位后的结果。

3.2 补码变换

对于流水线型相关器,需要将每一个采用时钟节拍输入数据流分解成符合相反的数据对,以便于同本地码进行符号判决。处理的方法是在采样时钟的驱动下将输入数据流取反加1,产生其对应的补码数据。下述Verilog HDL代码描述了数字相关器数据变换电路的算法。

always @(posedge clk)

begin

n_flow = ~xflow+1;

p_flow = xflow;

end

3.3 抽取判决

抽取判决的目的有两个,一是使采样数据流降速至码流速率,这样才能与本地码进行符号判决。如采用速率为40 MHz,码流速率为10 MCPS,码长32 b其流水延迟线寄存器的级数为128级,则应采用1/4抽取,即每4级延迟线寄存器输出1级数据进行符号判决。根据表1构建的组合逻辑算法可知如果本地码符号为正,则当前时钟采样数据原码输出并同流水线延迟线上寄存的上一阶累加数据相加;如果本地码符号为负,则当前时钟采样数据补码输出并同流水线上寄存的上一阶累加数据相加。

3.4 流水延迟

流水延迟线是流水线数字相关器的核心电路,其作用是将采样数据流同每一阶本地码 进行符号判决并且将累加的结果寄存起来。由于采样数据流的速率是扩频码码速率的整数倍,则流水延迟线寄存器的级数也应是本地码阶数的整数倍。如采用速率为40 MHz,码流速率为10 MCPS,码长32 b,流水延迟线寄存器的级数为128级[7-8]。

3.5 累加传递

累加传递是流水线型相关器同全加器型相关器最大的不同之处,也是其克服加法器进位延迟的关键所在。从图1和图2可以清楚地看出全加器型相关器的加法器进位延迟是每个时钟32级加法器的总和而流水线型相关器的加法器进位延迟仅为每时钟1级。因此在同样输入数据的前提下,前者的进位延迟时间(理论上)是后者的32倍,这样两者相关运算结果必然是后者由于暂态数据而造成错误的可能性比前者小得多。但是同全加器型相关器相比,流水线相关器由于采用了累加运算的暑期培训心得体会逐级传递,增加了硬件资源的消耗。因此流水线型相关器是以增加硬件资源为代价换取可靠性和动态范围,而相对当前FPGA技术所能提供 的硬件资源而言,多出的资源消耗基本可以忽略不计。

4 结 语

目前基于流水线型相关器模型设计的数字相关器已经应用于某高速、宽带扩频通信系统信号处算法设计中,经外场试验检验已达到或超过工程设计要求。随着FPGA处理速度的不断提高,直接通过全加器型相关器实现高速、宽带、线性接收通道扩频通信也会逐渐成为可能,但就目前技术而言,流水线型相关器是实现数字相关技术较为可靠的技术。

参考文献

[1]黎洪松,张卫刚.数字通信原理[M].西安西安电子科技大学出版社,2005.

[2]刘琴涛,黄瑞光.数字相关器在MSK扩频通信中的应用[J].无线电工程,2006,36(9)46-48.

[3]孙志雄,李太君.基于FPGA的高速数字相关器设计[J].微计算机信息,2009,25(6)20-23.

[4]詹文法,马俊,谢莹,等.多位快速加法器的设计[J].合肥工业大学学报,2005,28(10)1281-1283.

[5]刘杰.多二进制数同步超前进位相加符号和益处性研究[J].昆明理工大学学报,2004,29(5)83-86.

[6]刘波.精通Verilog HDL语言编程[M].北京电子工业出版社,2007.

[7]朱小佩,萧蕴诗,岳继光.基于流水线结构的8位超前进位加法器设计[J].电子工程师,2005(9)23-25.

[8]李明,曹家麟,冉峰,等.基于流水线的自检测进位相关和加法器设计[J].微电子学与计算机,2006(4)35-38.

数字加法篇3

摘要:与传统加法器相比,数字串行加法器具有工作频率高、占用资源少、设计灵活等优点。介绍了数字串行加法器的原理,说明了该加法器在FPGA上的实现要点及其在匹配滤波器设计中的应用假如我有一只尼尔斯的鹅作文。 关键词:加法器 位并行 数字串行 FPGA 匹配滤波器

与传统DSP相比,定制DSP具有速度更高、设计灵活、易于更改等优点,常常应用于设计方案和关键算法的验证。

在DSP运算中,加法是最常用的。常见的加法器是位并行的(Bit-parallel),在一个时钟周期内完成加法运算。其速度较高,占用的资源较多。但是,在很多应用中,并不需要这么高的速度,而且希望减小资源消耗。这时可以采用数字串行(Digit-serial)加法器,利用多个时钟周期完成一个完整的加法运算,从而使占用的资源大幅度减少。为了使数字串行加法器具有更广泛的应用范围,设计的关键是要使电路达到尽可能高的工作频率,以取得高的数据吞吐量(Throughput),从而满足系统其它部分的速度要求。

1 数字串行加法器

在数字串行加法器中,字长为W的操作数被分为P个位宽为N(N能被W整除,P=W/N)的数字,然后从低位开始相加,在P个时钟内完成加法操作。P个时钟周期称为一个采样周期(Sample Period)。

N=2的数字串行加法器结构如图1所示。如果输入操作数的字长为8,那么串行加法器可以在4个时钟周期内完成加法运算。这个加法器只用了两个全加器的资源,比一般的8bit行波进位加法器小。

数字串行加法器的控制也比较简单,输入移位寄存器完成并行-串行转换功能,通过移位操作不断为加法器提供位宽为N的操作数;Control信号指示了新采样周期的开始,此时carry清零;输出移位寄存器完成串行-并行转换,输出计算结果。

对于特定的输入字长,通过选择不同的N,可以实现速度、面积不同的数字串行加法器。这样,设计者可以根据实际情况加以选择,提高了设计的灵活性。

图2 2bit全加器连接示意图

2 高速数字串行加法器在FPGA上的实现

由于数字串行加法器要用P个时钟周期才能完成整个加法操作,因此其工作频率必须足够高。这样,在FPGA上实现时,如何使串行加法器具有尽量高的工开学第一课观后感2020年300字作频率就将成为关键问题。下面以Xilinx公司的VirtexE系列FPGA为例,说明如何设计高速数字串行加法器。

VirtexE的一个CLB(Configurable Logic Block)包含两个slice,图2为在一个slice上实现2bit全加器的连接示意图(不相关的逻辑已略去)。

数字串行加法器的结构是行波进位加法器,因此必须尽量减小进位逻辑上的延迟。VirtexE的slice中提供了专用的进位逻辑和布线,充分利用这些资源可以提高加法器的性能。

对VirtexE系列,数字串行加法器应选用奇数位宽,这是因为在VirtexE中一个slice包括两个LUT(查找表)、两个触发器和一些其它的组合逻辑,因此使用一个slice刚好可以实现一个1bit的全加器,使用两个slice可以实现一个3bit的全加器。如果要实现2bit的全加,则需要一个slice完成2bit的相加和保存,另外还需要一个slice中的一个寄存器用来存储进位,这样两个slice整体的利用率就降低很多。数据位宽为2、4、6、8等偶数时都存在这样的问题。图3为N=3时加法器的布局布线示意图。由于专用的进位链布线资源仅存在于纵向的两个slice之间,所以在实现3bit加法器时,使用纵向相邻的两个slice。

加法器的关键路径在进位链上,其延时为:

TCKO+T$Net_Carry_reg+TBXCY+T$Net_Carry_out+TCKCY

=1.0+T$Net_Carry_reg+0.54+T$Net_Carry_out+1.3

=2.84+T$Net_Carry_reg+T$Net_Carry_out

式中,TCKO为DFF的CLK到XQ/YQ的延时,TBXCY为BX到COUT的延时,TCKCY为CIN到DFF的建立时间。这些延时的数值可以从手册获得。连线延时包括$Net_Carry_reg和$Net_Carry_out的延时。前者是进位链,延时为0;后者为普通连线,延时约为0.47ns。因此,总延时约为3.31ns,即工作频率约为 300MHz。

为了减小延时、提高工作频率,使用FPGA Editor对布局布线进行精确控制,并把加法器做成硬宏,有利于保证多次实例化时的性能。现将使用宏完成的设计和使用HDL语言完成的设计在工作频率上做一个比较。使用Virtex50E-6pq240器件、xst综合器时,用宏完成的3bit数字串行加法器的最高工作频率为300MHz,而用HDL完成的相同设计的最高工作频率只有186MHz。这是由于设计用HDL输入时,布局布线工具用了3个slice,第一个slice完成2bit全加器,第二个slice完成1bit全加器,第三个slice只用了内部的一个触发器来存储进位,第一、二个slice之间用进位链连接,延时为0,但是第二、三个slice之间只能使用普通连线,而且第三个slice的输入CIN到触发器的建立时间较大,因而影响了串行加法器的运行速度。

3 数字串行加法器的应用

数字串行加法器可以代替传统加法器用在滤波器、乘法器、累加器等电路的设计中,能大大减小资源占用。下面以在CDMA/WCDMA系统中广泛应用的匹配滤波器为例说明数字串行加法器的应用。

匹配滤波器是一种无源相关技术,它可以快速实现相关器的功能。匹配滤波器的冲激响应为:

h(t)=s(T-t) (0≤t≤T)

设s(t)为输入波形,则其输出波形为

可知滤波输出R(t-T)是输入信号的自相关函数。

在CDMA、WCDMA等系统中,匹配滤波使用本地码系列来匹配输入到接收机的采样数据。在滤波器中,本地码序列与接收数据进行相乘、求和操作,得到相关值,相关值越大说明相关程度越高。其工作过程如图4所示。匹配滤波器可以使用移位寄存器和加法器来实现,结构如图5所示,其中,滤波器的系数因子h(n)为本地码序列,输入x(n)为接收数据,数据每移位一次,滤波器计算一次输出结果。当移动到两个序列相位对齐时,就产生一个相关峰值输出。

系统对匹配滤波的设计要求是:匹配长度为256,输入四路数据,每一路经过7bit量化、速率为7.68MHz,即滤波器的处理速度为4×7.68=30.72MHz。对于这样一个匹配滤波器,有很多种实现方法,例如在高速率下可以通过旋转数据/旋转本地码序列或者通过动态、静态数据互换来简化设计。这些方法都用到一个比较大型的加法树,如果用一般加法器实现,将占用大量的资源,因此有必要加以改进。

设计中用到的加法树有256个7bit输入,计算结果为15bit。采用一般加法器实现的结构如图6(a)所示,在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%。


相关文章