【文件属性】:
文件名称:DDS.rar信号发生器,可调幅
文件大小:11.58MB
文件格式:RAR
更新时间:2023-05-25 11:02:31
DDS
module DDS(clk,rst_n,en,fword,pword,da_data);
input clk;
input rst_n;
input en;
input [31:0]fword;
input [11:0]pword;
output [11:0]da_data;
reg[31:0]f_cnt;
reg[31:0]r_fword;
reg[11:0]r_pword;
wire[11:0]rom_addr;
always@(posedge clk or negedge rst_n)
if(!rst_n)
r_fword<=32'b0;
else
r_fword<=fword;
always@(posedge clk or negedge rst_n)
if(!rst_n)
r_pword<=12'b0;
else
r_pword<=pword;
always@(posedge clk or negedge rst_n)//频率控制
if(!rst_n)
f_cnt<=32'b0;
else if(!en)
f_cnt<=32'b0;
else
f_cnt<=f_cnt+r_fword;
//相位控制
assign rom_addr=f_cnt[31:20]+r_pword;
rom rom(
.address(rom_addr),
.clock(clk),
.q(da_data)
);
endmodule