多通道数字相关器的优化设计
2018-01-08任晓静杜慧茜吴琼之
任晓静,李 赓,孙 林,杜慧茜,吴琼之
(北京理工大学 信息与电子学院,北京 100081)
多通道数字相关器的优化设计
任晓静,李 赓,孙 林,杜慧茜,吴琼之
(北京理工大学 信息与电子学院,北京 100081)
综合孔径辐射计中的数字相关处理器具有通道多、数据量和运算量极大的特点,对于处理器的处理速度要求很高,资源消耗巨大。基于节约资源的目的,采用了二级相关算法,即一级相关单元进行短点数的累加,二级相关单元复用长点数的累加器。本文着重研究基于FPGA的二级相关算法的优化设计方法,通过分析各个关键设计参数对处理器资源消耗的影响,得出能够使系统的资源消耗和时序性能都达到最优的一组参数组合,即最优化结构设计准则。
数字相关器;FPGA;优化;辐射计
微波辐射计是一种通过非接触的方式对地物的微波特性进行测量和分析,从而得到目标特性参数的一种无源遥感器,在遥感技术领域有广阔的应用前景,带动了一些前沿科技领域的发展,产生了重大的社会和经济效益[1]。相关器是微波辐射计的重要组成部分,主要分为数字相关器和模拟相关器两种。数字相关器与模拟相关器相比,主要有以下3个优势:
1)处理信号为数字量,运算精度高且无漂移。
2)能够用资源换速度,适用于大规模高速信号的处理。
3)使用FPGA进行设计,可根据用户需求改变配置,更具灵活性[2]。
因此,采用数字相关器进行相关处理是未来技术的发展趋势[3]。
现场可编程门阵列(FPGA)是一种可编程使用的信号处理器件,用户可通过改变配置信息对其功能进行定义,以满足设计需求[4],是现阶段大规模多通道实时信号处理的理想解决方案。在数字系统中,常使用FPGA实现多通道数字相关器[5]。大容量FPGA内部集成了大量的逻辑块、乘法器、存储器以及丰富的布线资源,比较适合多通道相关器的实现。
设计数字相关器的难点在于其模拟输入通道数较多,数据量极大,要求对处理器的处理速度要求很高。本系统需要对75对I/Q信号进行两两通道间的实相关处理,总共需要11 400个实数相关单元,数据量极大,用传统的数字相关器会消耗大量的FPGA资源。为了解决传统数字相关器资源消耗过大的问题,参考文献[5]提出了基于二级相关算法的解决方案,本文在此基础上着重讨论了二级相关算法中各个关键设计参数对处理器资源消耗的影响,给出了最优化结构的设计准则。
1 硬件系统架构
根据应用领域的不同,数字相关器的实现方法也不尽相同[6]。目前,自相关函数的估计可以通过软件或者硬件的方法实现,因此实现数字相关技术主要有硬件相关和软件相关两种方法[9-10]。文中主要通过软件相关来实现相关运算。
多通道数字相关器系统由10通道三阶量化器,FPGA和时钟网络组成。如图所示,系统输入150路模拟信号和参考时钟信号,参考时钟经过时钟网络后分发至三阶量化器和FPGA,作为整个系统的时钟。在系统时钟驱动下,10通道三阶量化器对输入的模拟信号进行采集,150路模拟信号共需要15片三阶量化器。三阶量化器完成采集后,将150路数字信号汇聚到1片FPGA进行处理,包括互相关处理,自相关处理和直流偏置计算,处理完成的结果打包之后输送至后级。
图1 多通道相关器系统框图
2 FPGA优化设计方法
FPGA具有开发周期短、功耗小和通用性强的特点,适用于复杂系统的设计,是当今高容量可编程器件市场的重要可选器件。文中使用FPGA作为系统的处理芯片,主要负责数据的汇聚、处理和分发。假设模拟输入信号有Q路,数字相关器需要通过FPGA完成复信号的互相关处理、自相关处理和直流偏差计算。Q路通道对应的实数相关处理单元数为:
当Q=75时,实数相关处理单元数可达11 400个,数据量巨大。
由于相关处理单元在积分时间内的积累点数很大,如果对两路数据相乘后的结果直接进行长点数的累加,那么2Q*(Q+1)个实数相关处理单元消耗的查找表资源会非常庞大。为了节约资源,采用二级相关算法。二级相关算法的基本思想是将相关处理分为两级,第一级处理单元完成各通道并行短点数累加 ,并将累加结果存储到RAM中;第二级处理单元依次读取各通道第一级相关处理的结果再进行累加,多通道数据在进行长点数累加时复用一个累加器,这样资源消耗可大幅度下降。
由于系统的最长相关处理时间和采样率确定,所以二级相关处理单元的累加器宽度M确定。下面着重讨论一级相关处理单元累加器宽度N和其他一些关键参数的优化设计方法。
2.1 一级相关处理单元
如图2所示,每个一级相关处理单元由两个2bit乘法器和一个Nbit加法器构成,两通道的数据和 经过串并转换后成为四路数据 I1H、I1L、I2H、I2L,数据进入一级相关处理单元后先进行2bit的相乘运算,两路相乘的结果输入一个Nbit的加法器进行累加并输出累加结果。
图2 一级相关处理单元
将P个一级相关处理单元划分为一组,每一组的P个累加结果Isum_1·Isum_p缓存在一个二级相关处理单元的RAM里,即二级相关复用一级单元数为P。
2.2 二级相关处理单元
如图3所示,一个二级相关处理单元由一个选通单元、一个Mbit加法器和一个用于存储P个一级相关单元处理结果的RAM组成。在进行二级相关处理时,选通单元依次从RAM中读取P个一级相关单元的处理结果Isum_1·Isum_p,然后输入Mbit加法器进行累加,累加结果作为整个相关处理单元的输出。
图3 二级相关处理单元
假设模拟信号通道数为Q,二级相关复用一级单元数为P时,所需要的二级相关处理单元数为K。
2.3 FPGA资源与参数选取
随着FPGA内部资源的不断丰富,功能的不断完善,FPGA所产生的功耗越来越大[14]。功耗的增加会带来一系列的问题,比如,功耗增加之后导致温度升高,可能会引起温度漂移,甚至造成芯片损坏。所以,在进行系统设计时,对于功耗问题的考虑是十分必要的。
从一级相关处理单元和二级相关处理单元的框图中可以看出,相关处理中主要消耗的是寄存器、查找表资源和RAM资源,由于每个型号的FPGA这两项资源都是有限的,所以在选取一级累加器的宽度N时要综合考虑这两项资源的消耗情况。下面具体讨论N的取值对寄存器、查找表资源和RAM资源的影响。
结合图2、图3,列出以下参数:模拟信号通道数:Q,一级相关处理时间:Tcorre-1,一级相关处理单元累加器宽度:N,一级相关处理单元数:W,二级累加器宽度:M,二级相关复用一级单元数:P,二级相关处理时间:Tcorre_2,二级相关处理单元数:K,系统时钟周期:Tclk。
系统的相关处理操作分为两级来进行,一级处理的结果会保存在RAM中,二级处理单元依次读取RAM中的数据进行处理,当下一次一级结果处理完成后,会直接保存在RAM中,此时如果RAM中还有未处理完成的上一次的一级结果,就会被覆盖掉。所以,为了保证每一次一级处理的结果都能完整地被二级单元处理,两级处理单元接口处的数据流的速度就必须要满足一定的条件,这个条件就是一级相关单元输出处理结果的时间要大于二级相关单元处理完RAM中数据的时间,即:
由于一级相关单元和二级相关单元采用同样频率的时钟,当一级加法器的位宽为N bit时,一级相关单元可进行的最大累加次数为2N-1-1(最高位为符号位),经过串并转换后,一级相关单元中每一路串行数据可进行的最大累加次数为2N-2-1,那么式(2)可以表达为:
进而得到一级相关处理累加器宽度N和二级相关复用一级单元数P之间需满足的关系:
一级相关处理单元数P与输入数据的模拟通道数Q存在以下关系:
由式(4)(5)可以看出:Q 一定时,当 N 过大时,P过大,寄存器、查找表资源超支;当N过小时,P过小,K过大,RAM资源超支。所以在选择N的取值时,要以FPGA的寄存器、查找表资源和RAM资源不超支为前提。
2.4 累加器宽度可行性分析
为节省资源,使用二级相关算法。为使二级算法成立,二级相关处理单元数K最少要为1,由式(5)可以得出,当Q一定时,可以得到二级相关复用一级单元数P的最大值:
结合式(4)(6)可以得出一级相关处理单元累加器宽度N的最大值:
根据得到的平均失效概率、损伤因子和FMS,计算得到氢气管道的失效概率Pf(t)=7.0×10-7×3×0.603=1.26×10-6,其失效可能性等级为1。
由式(6)(7)可以得出,当 Q=45 时,Pmax=4140,Nmax=14。
由上文可知,当N过小时,P过小,K过大,RAM资源超支。选用FPGA作为处理芯片,实际测试中发现,当N降低到4 bit时,RAM资源开始超支。所以,在FPGA的RAM资源总量的限制下,Nmin=5。
综上所述,可以初步得到一级相关处理单元累加器宽度N的取值范围:5 bit≤N≤14 bit。
如图4所示,当Q取45时,实测得到各项资源消耗与一级相关处理单元累加器宽度N之间的关系曲线:
图4 资源消耗与一级相关处理单元累加器宽度关系图
从图4中可以看到,随着一级累加器宽度N的增加,RAM资源消耗逐渐减少,且当N大于6 bit时,RAM资源消耗较少,低于20%,此时认为RAM资源已对系统整体资源消耗影响不大,可主要考虑寄存器和查找表资源的消耗,以这此项资源的消耗情况作为一级累加器位宽的选取依据。从寄存器和查找表资源消耗变化曲线中可以看出,在7bit≤N≤8bit这个范围内,寄存器和查找表资源消耗最少,据此可以进一步确定出最优化设计下一级相关处理单元累加器宽度N的取值范围:7 bit≤N≤8 bit。
2.5 关键参数确定
时序性能是集成电路设计需要考虑的重要因素之一[15]。由于系统输入的模拟数据量巨大,且工作在较高频率的系统时钟下,所以在确定N的取值时,还需要考虑运行实现之后程序的时序情况,否则会出现处理结果不正确的现象。在讨论不同参数设置下系统的时序性能时,选择FPGA程序在集成设计环境中运行实现之后的负的时差总数TNS(Total Negative Slack)作为时序情况的表征,TNS值越小,表明系统的时序性能越好。
由可行性分析可知,N的取值有两种:7 bit和8bit。在一级相关处理单元累加器宽度N固定的情况下,变化一级相关处理累加次数T(T≤2N-1-1)和二级相关复用一级单元数P这两个参量,统计TNS的值。表1和表2列出了模拟数据通道数Q取45,N分别取7 bit和8 bit时TNS随一级相关累加次数T和二级相关复用一级单元数P变化的情况。
表1 N为7 bit时系统的时序性能
表2 N为8 bit时系统的时序性能
根据TNS绝对值的大小,从表中可以分别得到N取7 bit和8 bit时最优的一组参数组合:
N=7 bit,T=20,P=20;N=8 bit,T=50,P=20。
由于这两组参数组合下FPGA程序实现之后TNS值相差不大,时序性能接近,此时以资源消耗情况作为选择依据。两组参数组合的资源消耗情况如表3所示。
表3 N为7 bit和8 bit时最优时序性能资源消耗对比
从表3中各项资源的消耗情况可以看出,由于两组参数组合中二级相关复用一级单元数P相同,所以RAM资源消耗情况相同;当N取7 bit时,消耗寄存器和查找表资源较少。
综合上述关于资源消耗和时序性能两方面的考虑,确定将一级相关加法器宽度N选取为7 bit。
2.6 最优化设计准则
为了降低FPGA的资源消耗,需要在多通道数字相关器系统的算法实现中使用二级相关算法。在算法实现的过程中,一些关键参数的选取情况直接影响着系统的资源消耗和时序性能。根据上述章节对于关键参数选取的讨论,可以得到一组最适宜的参数组合,即:
一级累加器宽度N:7 bit,
一级相关单元累加次数T:20,
二级相关单元复用一级单元数P:20。
在这组参数的选取下,数字相关器系统的资源消耗和时序性能都达到相对的最优值,以此作为多通道数字相关器系统二级相关算法的最优化设计准则。
3 结束语
资源消耗和时序性能是系统设计中需要考虑的两个关键因素。在二级相关算法的实现中,各个关键参数的选取会直接影响系统的资源消耗和时序性能,是数字相关器系统FPGA选型的重要依据。二级相关算法的优化设计可以大大降低FPGA的资源消耗,显著增加相关器可容纳的模拟通道数,优化程序的布局布线结果,改善FPGA的时序性能,对系统整体性能的提升具有重要作用。
[1]马腾,吴琼之,廖春兰.基于FPGA的多通道综合孔径辐射计数字相关器[J].数据采集与处理,2012,27(5):116-119.
[2]陆浩,王振占,刘憬怡,等.全极化微波辐射计系统中高速数字相关器设计[J].电子学报,2011(12):2831-2835.
[3]王新彪,李靖,姜景山.全极化微波辐射计模拟复相关器研究[J].宇航学报,2011,32(3):604-312.
[4]杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报,2010(3):714-727.
[5]苏福顺,吴琼之,孙林,等.综合孔径辐射计中二级相关算法的设计与实现[J].电子设计工程,2015(4):111-113.
[6]马玉良.基于可编程逻辑器件FPGA的数字相关器[D].济南:济南大学,2011.
[7]陈栋章,任中京.基于动态光散射原理的纳米粒度仪中数字相关器的研究与实现[C]//贵阳:第十五届中国科协年会,2013.
[8]付云丰,屈继峰,张建强.噪声温度计中新型数字相关器设计[J].计量学报,2014,35(4):335-338.
[9]陆浩,王振占.全极化微波辐射计数字化引入误差分析[J].电子学报,2013(6):1084-1087.
[10]党鹏举,陈文新,李浩.全极化微波辐射计数字相关器下变频算法设计[J].电子设计工程,2014,22(1):100-102.
[11]宋奋韬,王梦莹,付志远.FPGA发展概论[J].科技信息,2012(23):145-146.
[12]郎志强.谈谈FPGA发展的新动态[J].科技视界,2012(28):142-142.
[13]陆楠.FPGA发展策略和新方案盘点[J].EDN CHINA电子设计技术,2011(8):77-82.
[14]何小川.FPGA功耗及热点分析[D].西安:西安电子科技大学,2013.
[15]何海昌.基于时钟偏斜调度的VLSI时序优化方法研究[D].成都:电子科技大学,2015.
Design and optimization formultichannel digital correlator
REN Xiao-jing,LI Geng,SUN Lin,DU Hui-qian,WU Qiong-zhi
(School of Information and Electronic,Beijing Institute of Technology,Beijing 100081,China)
Digital correlator of synthetic aperture radiometer has the characteristics of large number of channels,vast data amount and enormous operation task,so it has a great demand for the processing speed of processor and takes large amount of resource consumption.To decrease the resource consumption,this system adopts bi-stage correlation algorithm which means that the first-stage correlative units accumulates in short fixed points and the second-stagecorrelative units shares long points accumulators.This paper emphatically researches on the design and optimization of bi-stage correlation algorithm based on FPGA,analyses the influence of resource consumption in different key parameters for processor and proposes an optimization structure with the least consumption and the most optimized timing performance.
digital correlator; FPGA; optimization; radiometer
TN911.72
A
1674-6236(2017)16-0162-04
2016-07-05稿件编号:201607032
任晓静(1993—),女,山西运城人,硕士研究生。研究方向:复杂电路系统研究与应用。