1.人工绘制的 电路结构RTL设计图
DDS 具体工作过程如下:每来一个时钟脉冲CLK,N位全加器将频率控制字FQWD与累加寄存器输出的累加相位数据N相加,把相加后的结果送至累加寄存器的输入端。累加寄存器一方面将上一时钟周期作用后所产生的新的数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数字相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路,此电路根据取样地址输出相应的波形数据。最后经D/A 转换器和低通滤波器将波形数据转换成所需要的模拟波形。
DDS的工作原理:在本次实验中一共用了4个拨码开关SW[3..0],其中拨码开关SW[3]用于频率控制时能,SW[2..0]用于产生不同的频率控制字,根据输出频率公式: f=(M∗fc2N) f = ( M ∗ f c 2 N ) ,已知相位累加器的位数N=10,故要输出某一确定频率即调整频率控制字M的大小即可。
2.Quartus扫描生成的电路RTL图
(1)generate_freq_word模块的RTL结构图:
(2)phase_accumulator模块的RTL结构图:
(3)DDS_CORE_ROM模块的RTL结构图:
3.相位累加器的输出,SignalTap截图
(1)当频率控制字:FQWD=10
此时一个完整的正弦波周期采样102个点,在50MHZ的晶振脉冲下,采样一个点的时间为0.02s,故当频率控制字为10时,输出正弦波的频率约为: f=(