
引言
本篇仍然基于LUT查找表,设计DDS,思路与上篇基本一致。不同点:
1、LUT深度变为之前的一半,存储一半波形。
2、使用双口ROM替代两个单口ROM。
设计源码
此处仅给出FPGA 的设计源码,至于用于COE文件产生的MATLAB的代码置于上篇不再赘述。
1、此处仅用相位累加器的低9位作为ROM的地址。
2、当相位累加器的最高有效位位1时需要对ROM读出数据进行相反数操作。
其他都相同,与前文一致。下面给出源码:
// |----------------------------------【基于LUT设计DDS】----------------------------------
// | 作者:Xu Y. B. (优快云 昵称:在路上,正出发)
// | 时间:2022 10 15
// | 说明:
// | -1- LUT 深度1024,位宽16
// | -2- 频率分辨率 f_clk/1024
// | -3- 根据奈奎斯特采样定理,输入的频率控制字应小于 512
// | -4- 信号 I_INT_PHASE_SEL 定义如下,表示输出信号的初始相位
// | |-- 3'd0:0
本文继续探讨数字信号处理中的DDS模块设计,采用LUT深度减半并使用双口ROM,通过FPGA的Verilog HDL实现。相位累加器的低9位作ROM地址,高有效位为1时数据取反。附带仿真结果。
订阅专栏 解锁全文
949

被折叠的 条评论
为什么被折叠?



