DDS逻辑优化设计及Verilog实现[1]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DDS 逻辑优化设计及 Verilog 实现
摘 要:本文主要介绍了在 DDS 系统中,为了提高芯片运算速度,加大输出带宽,减小芯片规模从而提 高可靠性和频谱纯度而采用的优化方法及其 VerilogHDL 实现。
关键词:流水线;输入寄存器结构;加法器最低位修正;压缩存储查找表
概述
制造上来说是不实际的,所以要对 间插入了一个数据转换器,负责进
图2 流水线加法器框图
法器流水线。Dffn 是输出为 QN 的
D 触发器,其输出端接加法器最低
进位。
波形折叠及抬高算法
波形折叠( 地址转换器)
always@(adri)
if(adri[14])
图3 加法器最低进位修正图
adro=14'h1fff^adri[13:0]; else
压缩 S I N 值 R O M 查找表逻辑 的结构描述实现
ROM1 gate1(daone,adro[13:5], clk,ren,dinone);
ROM2 gate2(datwo,{adro[13:9], adro[4:0]},clk,ren,dintwo);
adderone gate3(daone, datwo,result[11:0]);
由于 D D S 频率合成方法具有 算法进行改进。
行数据转换。相位累加器输出的地
低频率转换时间、低失真输出波
址码位宽为 16 位, Data[12:0]为查
形、高分辨率、高频谱纯度、可编
D D S 设计优化
找表输出的二进制 S I N 值,它经过
程和宽频率输出范围等优良性能,
这一部分对 D D S 设计进行了 数据转换器后和 adri[15]反拼接成
co2,net1,net3,c o1,clk3,clk,k,rst);
forlineaddg ate5(q[31:24],co,co2,
clk4,clk,k,rst);
这是用 VerilogHDL 的结构描
述方法实现的,对应于用电路图输
入逻辑。其中的lineadd,twolineadd,
trilineadd,forlineadd是带寄存器的加
储器做查找表,通过高速 D A C 产生 找表逻辑实现。查找表用字长为 13 实现加法器可以提高累加器的运算
已经以数字形式存入的正弦波,并 位的 R O M 实现,存储压缩后的 S I N 速度 3 倍之多。为了提高运算速度,
用频率控制字 K 来调制 DDS 的输出 值。本芯片在相位累加器和查找表 加法器算法采用的是目前速度最快
而压缩存储查找表在保证芯片使用精度的情况下减少了大部分面积利用sin函数的对称性和三角恒等式以及最后的sin值压缩算法经过具体实验可以达到79241的压缩率大大节约了rom的容量可以使芯片在满足性能要求的基础上节约相当大的芯片面积同时节约了功耗提高了芯片的可靠性
通信与计算机
■ 西安电子科技大学微电子研究所 史吉 吉 杨银堂
XpertDSP 平台是对 SoC 更高集
接口。
间通信邮箱(ICPM)定义并实现一个 成水平、快速上市时间和更好性能
标准。C E V A 在使用 D S P + A R M 系 要求的一种综合性解决方案。与
处理器间通信规范定义的主 统进行 DSP 应用开发方面的经验已 A R M 核标准接口结合的高层次整
(收稿日期:2003-11-12)
15 trigging)规格的支持。
XpertTeak 已包含一组硬件功能,使 软件提供商的更高层次的标准化。
此外,C E V A 为提取硬件的应 A P B 从属桥内处理器间的通信得到
用开发提供一种应用开发基础设 简化。作为相应领域里的领导者,
综合性解决方案
施,并为应用开发商提供一种标准 C E V A 和 A R M 已联手为一种处理器
参考文献 1 J Vankka, M Waltari, and M
Kosunen, 褹 Direct Digital Synthesizer with an On-chip D/A- Converter IEEE JSolStaCirc,1998;33(2):218-227
2 J. Vankka, 襍pur Reduction Techniques in Sine Output Direct Digital Synthesis , in Proc. 1996 IEEE Frequency Control Symp., June 1996; 951 59
系统要求有一套硬件和软件开发工 应用面对不同的 S o C 实现,拥有一 蜂窝电话应用开发商能够把精力集
在现代频率合成领域中具有越来越 优化,目的是在保持其原有优点的 14 位数据输入 DAC,变换成连续的
重要的地位。在许多应用领域中, 基础上,尽量减少硬件复杂性,降 正弦信号 V 输出。
如通信、导航、雷达和电子对抗等, 低芯片面积和功耗等,提高芯片速
对 D D S 优化如下:
D D S 频率源都是主流的关键部件。 度。核心结构如图 1 所示。图中相位
用中都是可以忽略的,在生成波形 clk,datain,k,rst);
则用全 1 和从 R O M 中取出的数相
的精确度上已经可以满足要求了。
twolineadd gate3(q[15:8],co1, 加,就相当于原数据减 1 后再在最
但由此而产生的截尾误差却会对频 co0,clk2,clk,k,rst);
结语 总体而言,DDS 可以得到下面 的改进:使用流水线算法和输入数 据寄存器可以在不过多增加门数的 条件下,大幅提高芯片的工作频 率;修正加法器最低进位位带来 3dB 左右的频谱性能提高,提高了 输出波形的频谱纯度;而压缩存储 查找表在保证芯片使用精度的情况 下减少了大部分面积,利用 SIN 函 数的对称性和三角恒等式以及最后 的 S I N 值压缩算法经过具体实验可 以达到 79.24:1 的压缩率,大大节约 了 R O M 的容量,可以使芯片在满足 性能要求的基础上,节约相当大的 芯片面积,同时节约了功耗提高了 芯片的可靠性。按照此优化方法设 计的芯片可以工作在 7 5 M H z 频率 上 , 输出信号谐波小于 -60dB,而芯 片规模是 13000 门左右。■
度。在设计中增加一个时钟分配器, 响,在实际应用中可以忽略。
样比用减法器要节约门数。
通过时钟的分配时序,可以节省保
抬高算法( 数据转换器)
存输入频率控制字的级联寄存器。
主要优化算法的Verilog实现
always@(data,adri[15])
还同时节约芯片的 24 个 I/O 口,唯
VerilogHDL 语言专门面向硬件
216,把 ROM 容量的单元数从 2 32 降 低进位修正实现
end
到 216。损失的低16 位相位累加数值
dffng ate1(ci,ci,clk,rst);
根据 adri[15]的数值可以判断
对应 0.02 度的间断,在绝大部分应
lineaddg ate2(q[7:0],co0,ci,clk1, 波形值应该是正是负,如果是正,
3 S. Mortezapour, E. K. F. Lee, 褼 esign of Low-Power ROM-Less Direct Digital Frequency Synthesizer Using Nonlinear Digital-to-Analog Converter on IEEE Journal of Solid- State Circuits,Vol. 34, No. 10, October 1999:1350-1359
高位拼接 1,以 1LSB 的偏移量为代
谱纯度和输出带宽产生影响。相应
trilineadd gate4(q[23:16], 价,可以省略减法器。如果是负,则
4 0 2004.4 电子设计应用 www.eaw.com.cn
通信与计算机
用按位异或实现相减,得到经过抬 高处理的数据。抬高处理是为了满 足 D A C 的输入全为正值的需要。
减少,详见图2。对输入寄存器结构 进行优化,以降低硬件复杂度,减小
尾误差为2,即频率控制字(奇数)和 去adri值,从而实现地址码对π/2的 截尾误差(2 的整数次幂)之间互质。 折叠。因为被减数是确定的而且是
芯片面积,从而进一步提高运行速 这样带来的地址上1/2LSB 的误差影 全 1,所以可以用异或实现减法,这
4. L. K. Tan and H. Samueli,“ A 200 MHz Quadrature Digital Synthesizer/Mixer in 0.8µm CMOS” on IEEE Journal of Solid-State Circuits Vol. 30, No. 3, March 1995:193-200
频率。
之间插入了一个地址转换器,负责 的预先进位算法。为了避免因预先
从算法可以看出,DDS 的工作 进行地址转换。在查找表和 DAC 之 进位加法器中进位传输链过长而影
主频决定它输出的频率:
fout=fclk*K/2N(N 为相位累加器的位 数,K 为频率控制字, 位宽32 位,fclk 是芯片主频) ,所以提高 D D S 的主
频就可以提高它的输出频率和输出
带宽,同时对于 R O M 的实现来说,
如果用 32 根地址线来寻址,则需要
一个非常大的 ROM ,要 232 那么大。 这种 R O M 从存取时间、可靠性和
图 1 优化后的 DDS核心结构框图
www.eaw.com.cn 电子设计应用 2004.4 3 9
通信与计算机
要合作者
帮助创建了硬件和软件工具标准集, 合使 C E V A 能够垂直开发其产品。
涉及多个芯核的应用开发,其 使用户专注于高层次的附加值特性。 完整的 D S P 平台可做到标准软件应
主要问题之一是整合。一个包含 I C P M 标准使开发商能够为应用开 用、开发工具和处理器间通信协议
CEVA XpertDSP 和 ARM 处理器的 发实现一种公共接口。D S P 和 A R M 的最佳供应。这种综合性的供应使
响速度,每8 位加法器由两个4 位的 的解决办法如图 3 所示:将D 触发器
adro=adri;
预先进位加法器级联而成。因引入 的输出端连接到相位累加器最低位
根据 adri[14]的数值可以判断
流水线而多加入 80 个寄存器中的48 的 c0,相位累加器字长变为32+1位, 地址码是否需要对 π/2 进行折叠。这 个可以通过改进的输入数据寄存器 频率控制字的值相当于 2K+1,而截 里用 ^ 是按位异或,作用是用全 1减
addertwo gate4(adro[13:5], result[11:0],data[12:0]
R O M 1 和 R O M 2 是两个读写存 储器,R O M 1 是主值存储器,R O M 2 是修正存储器,分别存放预先计算 好的主值和修正值。d i n o n e 和 dintow 是 ROM 的数据写入端,daone 和 datwo 是数据读出端。Allader 是 一个 12 位加法器,将主值和修正值 相加。addertwo 是 13 位加法器,完 成 [Sin(π x/2)-π x/2]+π x/2,从而得 到Sin(π x/2)的值。
1. 引入流水线对累加器进行优
累 加 器 为 3 2 位 , 如 果 主 频 为 化。将 32 位累加器分成4 条流水线,
D D S 的改进构想
7 5 M H z ,则确定频率分辨率为 每条流水线完成8位的加法运算,流
Байду номын сангаас
D D S 电路的关键是利用高速存 0.0174Hz。相位-幅值转换部分由查 水线的进位进行级联。运用流水线
else
32 位输出中提取高 16 位作为 R O M 活,可直接描述硬件单元结构,而
{datum}=data-13'h0001;
的查找地址,相位累加器的输出截 且具有很好的可读性。
end
尾可以减少 ROM 的尺寸到原来的 1/
流水线加法器阵列和加法器最
result={ !adri[15],datum};
begin
一的缺点是数据要保持 4 个时钟周 与系统设计。可以在芯片算法、功
i f(adri[15])
期,会降低系统跳频的跳转频率。 能模块、层次结构和测试向量等方
datum=13'h3fff^data;
2. 从图1可知,从相位累加器的 面进行描述。VerilogHDL 简单、灵
相关文档
最新文档