当前位置:首页 > 电源 > 数字电源
[导读] 随着FPGA集成度的不断提高,在单片FPGA中完成复杂的数字信号处理过程变成了现实。譬如:FIR滤波器、FFT以及雷达信号处理中的数字脉冲压缩、数字鉴相等,都可以在单片FPGA中实现。在基于Xilinx XC4000系列FPGA设计的

 随着FPGA集成度的不断提高,在单片FPGA中完成复杂的数字信号处理过程变成了现实。譬如:FIR滤波器、FFT以及雷达信号处理中的数字脉冲压缩、数字鉴相等,都可以在单片FPGA中实现。在基于Xilinx XC4000系列FPGA设计的DSP中,分布式运算单元DA扮演着重要的角色。本文介绍其原理及其实现方法。
1 分布式运算单元原理
  DA的运算原理非常简单,但是它的应用却十分广泛。
  一个线性时不变网络的输出可以用下式表示:
  
  其中, y(n)为第n时刻网络的输出;Xk(n)为第n时刻的第k个输入变量;Ak为第k个输入变量的权值。
  在线性时不变系统中,对于所有n时刻,Ak都是常量。如果该网络表现为滤波器,常量Ak 即为滤波器系数,变量Xk为单一数据源的抽样数据(如A/D的输出)。而在时-频转换系统中(如离散傅立叶变换及快速傅立叶变换),常数Ak即为旋转因子值,变量Xk为单一数据源的数据块(多源数据的例子可以在图像处理系统中发现)。
  仔细观察式(1)可以看出,单个输出y(n) 需要将k个乘积累加。在以XC4000系列FPGA中的可配置逻辑功能块(CLB)的查找表(Look-Up Table)结构[1]为基础的DA中,这种乘积累加可以由查找表来实现。XC4000系列的CLB结构特点使得它很容易被高效的配置。
  为了使得乘法之后的数据宽度不至于展宽,先把数据源数据格式规定为浮点数2的补码形式。需要注意的是,常数Ak 不一定要进行格式转换来匹配输入数据的格式,它可以根据所要求的精度进行定义。
  变量Xk可以用下式表示:
  

  其中,Xkb为二进制数,即取值为0或1;Xk0为符号位,Xk0为1表示数据为负,为0表示数据为正。
  将式(2)代入式(1)可以得到:
  
  可以看出,每个方括号中进行的是输入变量的某一个数据位和所有常数(A1~Ak)的每一位进行位与并求和。而指数部分则说明了求和结果的位权。现在就可以建立查找表来实现方括号中的操作了,其查找表用所有输入变量的同一位进行寻址,如图1所示。


  图1中所示的DA查找表,其宽度为对常数Ak 定义的宽度,深度为2K,K是能够对数据源抽样数据进行处理的数据长度,对于滤波器就表现为滤波器阶数;对于FFT就表现为FFT点数。
  这样,式(1)所表示的方程就可以由加法、减法和二进制除法来实现了。但是,DA仅仅是运算方程(1)的核心,要完成式(1)还需要根据系统对时间以及FPGA资源的考虑,选择相应的方法。
2 几种实现方法
2.1 全并行实现方法
  市场上已经有大量的通用DSP芯片,这些芯片以并行的乘法、加法运算,地址产生器和片内存储器为主要特点,如TMS320C620x、 ADSP2106x、及各种通用的FFT芯片(如PDSP16510)。为什么还要选择FPGA呢?主要是考虑速度。要实现一个64阶FIR滤波器,如果采用全并行方式,FPGA可做到50MHz的数据率,可以和系统时钟相匹配,这是通用DSP芯片无法做到的。下面就举出全并行的例子。[!--empirenews.page--]
  若将式(4)每个方括号之间的加法并行执行,即将每个DA查找表的输出采用并行的加法,就得到了全并行结构。现将式(4)中的某个方括号重写如下,并缩写为sum:


  
  利用式(6),可以得到一种直观的树形阵列,如图2所示。


  图2中,首先要建立一个K×B位的寄存器阵列,将其输出进行排列,用所有K个输入数据的相同位,对 DA查找表寻址,从图中可以看出,当B=16时,输入到输出所需的路径最长,该路径为关键路径,影响着电路处理的速度,在进行设计时应该注意到这点,所以应该采用流水线设计方法[1],并进行适当的约束,其数据率可以达到50MHz。图中的15个节点代表着15个并行的加法器,中间过程的数据宽度既可以保持双精度(B+C)位数据(C是常数Ak的宽度),也可以采用截尾的办法得到单精度B位数据,可根据系统所要求的精度确定。
2.2 全串行实现方法
  当系统对速度的要求不是很高的时候,可以用全串行设计方法,即一个DA查找表,一个并行的加法器以及简单少量的寄存器就可达到目的,这样能够节省大量的FPGA资源。同样,设K=16,B=16,将式(4)改写如下形式:


  
  为了实现式(7),先从最低位开始,用所有K个输入变量的最底位对DA查找表进行寻址,得到了[sum15],将[sum15]右移一位即将 [sum15]乘2-1后,放到寄存器中,设为[tem15];同时,K个输入变量的次低位已经开始对DA查找表寻址得到[sum14],右移一位后,与 [tem15]相加,重复这样的过程,直至得到[sum0],并用前面得到的累加结果减去[sum0]。要实现上述过程,需要K个长度为B的串并行转换移位寄存器、一个容量为2K×C的DA查找表和一个累加器。该全串行电路的数据率为输入数据抽样频率的1/B,即完成一次运算需要B个时钟周期。由此可以得到全串行DA模式,如图3所示。

2.3 串并行相结合实现方法
  以上介绍的全串行方式是每个时钟周期对所有K个变量的一位进行串行处理,全并行方式是每个时钟周期对所有K个变量的所有B位进行并行处理;这两种方法是针对速度优化和资源优化设计的两种极限情况。在有些情况下,我们可以对这两种情况进行折中考虑,获得最佳资源利用和系统速度。我们可以从每个时钟周期对K个变量的两位进行处理开始着手,回顾一下式(5),并将该式改写如下:
  

  完成该式功能的功能框图如图4a所示。[!--empirenews.page--]
  将图4(a)与图3进行比较后就可以发现,图3中的DA查找表由16个输入变量的同一位进行寻址,而图4(a)中的DA查找表的寻址是由16个输入变量的连续两位进行的,即寻址的位数由16位变成了32位。这样,查找表的内容也需要相应的改变;而且完成一次运算也由原来的B个时钟周期变成了需要B/2+1个时钟周期。
  下面介绍一种更易于理解的串并行混合设计方法。
  将式(5)改写成如下形式:


  
  从式(9)得到流程图如图4(b)所示。
  实现过程中应该注意DA查找表的内容,累加之前要乘2-1,注意进位等。
  从以上给出的两种串并行结合的设计方法可以看到,只要将式(5)进行适当的变换,还有其它的硬件实现方法,这里就不一一叙述了。
  下面给出在K=8、B=16的情况下,不同的DA查找表所占用的资源。Xilinx公司的XC4000系列FPGA的一个CLB可以实现32×1大小的RAM,在图4(a)中所描述的DA查找表占用2,048个CLB,而在图4(b)中所描述的两个DA查找表只占用256个CLB。用一片XC4025即可完成后者,其数据率可达到16MHz。

 


  综上所述,由于分布式运算单元的应用,改变了传统的设计观念,为基于FPGA的DSP设计提出了新的思路,必将在高速的FIR滤波器设计、高速FFT设计中得到广泛的应用。随着FPGA集成规模的不断提高(Xilinx公司Virtex系列已经达到了百万门级),许多复杂的数学运算已经可以由FPGA来实现,单片FPGA实现系统的设想即将变为现实。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年4月16日 /美通社/ -- 根据研究和经验, 设备和系统50%的故障或失效可直接或间接地是由转子不平衡引起的。在先前申克现场动平衡仪的基础上, 申克又创新了一套更成熟的移动式平衡设备:SmartBalan...

关键字: BALANCE SMART FFT 振动分析

近年来,电推进技术在汽车、动车等传统运输工具领域得到了较为广泛的应用。而航空飞行器对轻量化、可靠性、能源能量密度、发动机功率等要求较高,因此电推进技术在航空领域的应用仍处于探索阶段[1]。目前,应用于中小型飞行器的分布式...

关键字: 大展弦比 分布式 激励盘

在监督学习中,系统会被给定一组已知输入和输出,需要学习到一种函数,使得该函数能够根据给定的输入预测出正确的输出。代表算法有线性回归、逻辑回归、决策树、深度神经网络等。

关键字: 机器学习 数据源 图像

在这一步中,需要从不同的数据源收集数据,包括结构化数据(例如数据库中的表格数据)和非结构化数据(例如文本、图像和音频)。

关键字: 机器学习 数据源 图像

华为鸿蒙系统是一款面向全场景的分布式操作系统,具有高度创新、技术领先、安全可靠等特点。鸿蒙系统采用微内核设计,可实现不同设备之间的能力共享和数据无缝流转,为开发者提供了丰富的API和开发资源支持。鸿蒙系统在华为生态中具有...

关键字: 华为鸿蒙系统 分布式 微内核

北京2023年9月19日 /美通社/ -- 随着科技的快速发展,我们正处在一个数据爆炸的时代。超大规模数据中心作为数据的重要存储和处理场所,其数量在不断增长,与之而来的数据量也在呈指数级增长。这不仅包括原始数据,还包括分...

关键字: 分布式 节点 软件 数据中心

北京2023年9月15日 /美通社/ -- 大模型是当前通用人工智能产业发展创新的核心技术,目前国内已发布的生成式AI模型超过了100个。面向以大模型为核心的生成式AI开发与应用场景,近日浪潮信息发布了大模型智算软件栈O...

关键字: AI STATION 模型 分布式

深圳2023年9月5日 /美通社/ -- 9月4日,《财经网》发布了微众银行等数字金融的相关报道,以下为报道全文: 中国经济的新周期悄然而至,面对"工具"爆发、"边界"消失、服务...

关键字: 数字化 IO AN 分布式

北京2023年8月21日 /美通社/ -- 8月18日,《哈佛商业评论》中文版携手 FESCO 成功举办"第九届人才经济论坛"暨"2022-2023 高能团队奖颁奖典礼"。论坛秉承...

关键字: AI 数据库技术 分布式 可持续发展

北京2023年8月16日 /美通社/ -- 近日,2023年开放计算中国社区技术峰会(OCP China Day 2023)在北京举行。会上,浪潮信息正式发布自动驾驶计算方案AutoDRRT(Autonomous Dri...

关键字: 开源 自动驾驶 分布式 BSP
关闭
关闭