摘要:剖析了DDS中流水线结构及输入数据在其间移动的特色,提出了一种DDS流水线结构的改善计划,给出了完结的办法并作了仿真,剖析了对DDS电路功能的改善计划。
关键词:DDS 流水线 改善的流水线结构
DDS(Direct Digital Synthesizer)以其频率分辨率高、转化速率快及波形改换灵敏等特色,已广泛使用于通讯、雷达、GPS、蜂窝基站有HDTV等范畴。DDS相位字长及运算速度决议了DDS的功能[1],相位累加器、移相加法器及LUT的字长越长,频率分辨率及波形精度越高,相位截尾差错越小[2]。现在DDS相位累加器的位数一般在32~48位之间;而时钟频率越高,输出频率的规模越大。流水线是高速电路中一种常用的技能[3],高速、高精度DDS的相位累加器、相移加法器、用于调幅及正交调制的乘法器都选用了流水线结构。
一般的流水线结构所占用的寄存器资源和其级数的平方比正比,无论是现有的专用DDS集成电路,仍是选用FPGA等可编程器材完结,都将占用许多寄存器资源。其实,DDS中的输入数据一般在一个较长的时间内坚持不变。根据这一特色,本文提出一种改善的DDS流水线结构,能够大大削减占用的寄存器资源。
1 问题的提出
1.1 DDS结构及作业原理
图1是包括移相及调幅部分的相位累加型DDS的结构框图。每一时钟周期,N位相位累加器PA与N位频率操控字FW累加一次。其成果的高M位作波形表LUT(Look-Up Table)的地址,假如加上PSR的值可完结移相,从LUT中读出D位波形数据送DAC。若乘以AR的值还可完结调幅。改动FW的值可改动输出频率,改动PSR的值可完结调相,改动AR的值能够完结调幅。一般状况下,FW、PSR及AR改写频率要比DDS体系时钟慢得多。
1.2 DDS中流水线结构
当DDS的相位字长较长、速度较高时,相位累加器、移相加法器或其归纳及调幅乘法器一般都选用流水线结构。以下仅以相位累加器为例,剖析流水线的结构、功能及其改善。当相位累加器选用m级n位流水线结构时,有, 这儿PA,FW分别是相位累加器的值和相位阶距,PAm是各级加法器的部分和。其间,输入缓冲流水线为m级n位,占用寄存器[(m-1)×m×n]/2 位,而相位累加器输出的高M位需m1=int[(m-1)/m]+1级流水线,占用[(m1-1) ×m1×n]/2+m1×(M mod m)(int[·]是取整运算)。图2、3分别是m=4、n=4、M=8时相位累加器的结构及时序图。此刻,输入流水线占用24位寄存器;m=8、n=4 时(32位相位累加器),输入流水线占用112位寄存器;m=12、n=4,(48位相位累加器),占用264位寄存器;若选取m=48、n=1,则占用 1128位寄存器。假如省去输入流水线,改动相位阶距时,将导致相位紊乱。
2 改善的流水线结构
2.1 结构及其作业原理
一般来说,DDS操控数据改写速率远低于体系时钟。以相位累加器为例,进入各组加法器的频率操控字值,只在数据更新后的前m个时钟周期改动。今后各个周期不再改动。根据这种状况,能够对累加器进行改善,然后节约部分寄存器。图4是改善输入流水线的相位累加器结构图,图5是输入数据及操控信号的时序图。
在输入数据D0~15(N)准备好后,由外部操控体系向流水线改写操控电路 CON宣布一发动信号Start,CON在Start下降沿后的榜首时钟上升沿到来时,输入写入脉冲WR0,将D0~3(N)写入榜首级流水线寄存器;第二时钟上升沿到来时,输出写入脉冲WR1,将D4~7(N)写入第二级流水线寄存器;顺次类推,到第四上升沿到来时,输出写入脉冲WR3,将 D12~15(N)写入第四级流水线寄存器,完结一次数据的改写。在今后的周期内,这些数据将坚持不变,直至新的Start到来。
改善后的流水线所占用的寄存器位数和相位的字长持平,
与流水线的级数无磁。相位字长较长时,这种改善的作用是十分显着的。
2.2 改写操控器的规划
改写操控器实质上是一种阵发式脉冲分配器,由Start发动,当完结一个周期的脉冲分配输出后,便中止计数。阵发式脉冲分配器的规划及完结办法许多,以下是根据Altera的FPGA,以MAX+Plus Ⅱ的HDL完结的阵发式脉冲分配器,流水线中的寄存器为上升沿有用,延迟时间为12.5ns,速度可达80MHz(FLEX 10K20RC240-4),图6是其仿真成果。
(FLEX 10K20RC240-4),图6是其仿真成果。
SUBDESIGN control
(cp,start : INPUT;
q3,q2,q1,q0 : OUTPUT;)
VARIABLE
s:MACHINE OF BITS (q3,q2,q1,q0)WITH STATES
(s0=b0000,s1=b0001,s2=b0010,
s3=b0100,s4=b1000);
BEGIN
s.clk = cp;
s.reset = start;
TABLE s=>s;
s0=>s1;s1=>s2;s2=>s3;s3=>s4;s4=>s4;
END TABLE;
END;
2.3 功能改善
2.3.1 寄存器的削减
输入流水线结构改后后,寄存器的位数和相位累加器的位数呈线性关系,位数大大削减,特别是对级数较多的流水线,即便对寄存器密集型的FPGA,这也是有利的。
2.3.2 功耗下降
因为仅在改写数据时,流水线中触发器的状况产生改动,在今后很长一段时间内,状况不再改动,这对下降电路功耗是有利的。
2.4 使用
在改写数据时,只需输出一个发动信号,使用办法和计划相同快捷。发动信号一般由外部操控电路给出,上例中,
改写动作从发动信号Start后的榜首个时钟上升沿开端。
需求留意的是,在改写数据时,每一组数据坚持的时钟周期数有必要大于流水线的级数。上命名中,数据有必要坚持4个时钟周期以上,不然高位数据将不能传送到相应级的累加器。
本文剖析了高速DDS中的频率操控字、相移字等输入数据的改动特色。提出了一种 DDS流水线结构的改善计划,给出了详细完结的办法及仿真,并成功地用于高频高精度AWG的研发。用这种办法规划的DDS及NCO等电路,下降了寄存器的占用,也下降了体系的功耗,可有用进步电路的功能价格比。这种规划办法对其它的流水线结构规划也有必定的参考价值。