分布式运算单元的原理及其实现方法

分布式运算单元的原理及其实现方法

ID:20175053

大小:55.00 KB

页数:4页

时间:2018-10-10

分布式运算单元的原理及其实现方法_第1页
分布式运算单元的原理及其实现方法_第2页
分布式运算单元的原理及其实现方法_第3页
分布式运算单元的原理及其实现方法_第4页
资源描述:

《分布式运算单元的原理及其实现方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、分布式运算单元的原理及其实现方法

2、第1内容显示中摘要:以Xilinx公司的XC4000系列FPGA(现场可编程门阵列)为例,介绍了分布式运算单元DA(DistributedArithmetic)在高速DAP设计中的原理及实现方法。随着FPGA集成度的不断提高,在单片FPGA中完成复杂的数字信号处理过程变成了现实。譬如:FIR滤波器、FFT以及雷达信号处理中的数字脉冲压缩、数字鉴相等,都可以在单片FPGA中实现。在基于XilinxXc4000系列FPGA设计的DAP中,分布式运算单元DA扮演着重要的角色。本文介绍其原理及其实现方法。1分布式运算单元原理DA的运算原理非常简单,但是

3、它的应用却十分广泛。一个线性时不变网络的输出可以用下式表示:500)this.style.ouseg(this)">其中,y(n)为第n时刻网络的输出;XK(n)为第n时刻的第K个输入变量;AK为第K个输入变量的权值。在线性时不变系统中,对于所有n时刻,AK都是常量。如果该网络表现为滤波器,常量AK即为滤波器系数,变量XK为单一数据源的抽样数据(如A/D的输出)。而在时-频转换系统中(如离散傅立叶变换及快速傅立叶变换),常数AK即为旋转因子值,变量XK为单一数据源的数据块(多源数据的例子可以在图像处理系统中发现)。仔细观察式(1)可以看出,单个输出y(n)需要将K个乘积累加。在

4、以XC4000系列FPGA中的可配置逻辑功能块(CLB)的查找表(Look-UpTable)结构[1]为基础的DA中,这种乘积累加可以由查找表来实现。XC4000系列的CLB结构特点使得它很容易被高效的配置。为了使得乘法之后的数据宽度不至于展宽,先把数据源数据格式规定为浮点数2的补码形式。需要注意的是,常数AK不一定要进行格式转换来匹配输入数据的格式,它可以根据所要求的精度进行定义。变量XK可以用下式表示:500)this.style.ouseg(this)">其中,XKb为二进制数,即取值为0或1;XK0为符号位,XK0为1表示数据为负,为0表示数据为正。将式(2)代入式(1

5、)可以得到:500)this.style.ouseg(this)">将求和符号展开,可以得到式(4)500)this.style.ouseg(this)">500)this.style.ouseg(this)">可以看出,每个方括号中进行的是输入变量的某一个数据位和所有常数A1~AK的每一位进行位与并求和。而指数部分则说明了求和结果的位权。现在就可以建立查找表来实现方括号中的操作了,其查找表用所有输入变量的同一位进行寻址,如图1所示。图1中所示的DA查找表,其宽度为对常数AK定义的宽度,深度为2K,K是能够对数据源抽样数据进行处理的数据长度,对于滤波器就表现为滤波器阶数

6、;对于FFT就表现为FFT点数。这样,式(1)所表示的方程就可以由加法、减法和二进制除法来实现了。但是,DA仅仅是运算方程(1)的核心,要完成式(1)还需要根据系统对时间以及FPGA资源的考虑,选择相应的方法。2几种实现方法2.1全并行实现方法市场上已经有大量的通用DAP芯片,这些芯片以并行的乘法、加法运算,地址产生器和片内存储器为主要特点,如TMS320C620x、ADAP2106x、及各种通用的FFT芯片如PDAP16510。为什么还要选择FPGA呢?主要是考虑速度。要实现一个64阶FIR滤波器,如果采用全并行方式,FPGA可做到50MHz的数据率,可以和系统时钟相匹配

7、,这是通用DAP芯片无法做到的。下面就举出全并行的例子。若将式(4)每个方括号之间的加法并行执行,即将每个DA查找表的输出采用并行的加法,就得到了全并行结构。现将式(4)中的某个方括号重写如下,并缩写为500)this.style.ouseg(this)">将式(5)改写如下:500)this.style.ouseg(this)">500)this.style.ouseg(this)">利用式(6),可以得到一种直观的树形阵列,如图2所示。图2中,首先要建立一个K×B位的寄存器阵列,将其输出进行排列,用所有K个输入数据的相同位,对DA查找表寻址,从图中可以看出,当b=16时,

8、输入到输出所需的路径最长,该路径为关键路径,影响着电路处理的速度,在进行设计时应该注意到这点,所以应该采用流水线设计方法[1],并进行适当的约束,其数据率可以达到50MHz。图中的15个节点代表着15个并行的加法器,中间过程的数据宽度既可以保持双精度(B+C)位数据(C是常数AK的宽度),也可以采用截尾的办法得到单精度b位数据,可根据系统所要求的精度确定。2.2全串行实现方法当系统对速度的要求不是很高的时候,可以用全串行设计方法,即一个DA查找表,一个并行的加法器以及简单少量的寄存器就可达到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。