FPGA实现实现dds((ISE实现)实现)
上次说了dds的原理,这次我们用FPGA来实现dds。因为dds在da之前都是数字器件,所以我们可以用FPGA来
实现dds的前两个部分。
首先要先规定一下:rom的地址输入是12位,输出时8位。
对于第一部分:
这里看出,功能是将寄存器输出的值与频率控制字M的值相加,然后在时钟的上升沿,将相加后的数据通过寄存器输出。所以
这里的verilog代码也很简单。
+ 查看代码
module frequency_tiaozhi(
input clk, //输入时钟
input rst_n, //复位信号,用来给寄存器初始复位
input [11:0] k, //频率控制字k
output reg [11:0] result //相加后的寄存器输出结果
);
wire [11:0] sum; //相加后的值
assign sum = k + result;
always@( posedge clk or negedge rst_n) begin
if( !rst_n )
result <= 0;
else
result <= sum;
end
endmodule
第二部分:
评论0