总的模块
仿真波形
时钟 fc=1M,fout=1M*(5000hex 十六进制转化为 DEC 十进制)/2^24
计算结果:fout=1220.703125hz
时钟 fc=1m,fout=1M*(400000hex 十六进制转化为十进制)/2^24
计算结果:fout=250k 相当于 1M/4 和时钟是 240M,fout=60M 一样,由于仿真时时钟太快不
好故用 1M 代替,说明逻辑结构对就行了。
主要程序段:
component dds_rom
PORT(address:IN STD_LOGIC_VECTOR(9 DOWNTO 0);
clock: IN STD_LOGIC;
q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));
end component;
begin
data:dds_rom port map(address,clk,rom_out);
datain: process(clk)
begin
if(clk'event and clk='1')then
if(wr='0')then
frq_reg<=frec;
end if;
end if;
frec[23..0]
clk
wr
sin_out[9..0]
dds_dds
inst