📄 dds_vhdl.vhd.bak
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY DDS_VHDL IS -- 顶层设计
PORT ( CLK : IN STD_LOGIC; --系统时钟
FWORD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --频率控制字
PWORD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --相位控制字
FOUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0); --可移相正弦信号输出
POUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); --参考信号输出
END;
ARCHITECTURE one OF DDS_VHDL IS
COMPONENT REG32B --32位锁存器
PORT ( LOAD : IN STD_LOGIC;
DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );
END COMPONENT;
COMPONENT REG10B --10位锁存器
PORT ( LOAD : IN STD_LOGIC;
DIN : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
DOUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) );
END COMPONENT;
COMPONENT ADDER32B --32位加法器
PORT ( A : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
B : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );
END COMPONENT;
COMPONENT ADDER10B --10位加法器
PORT ( A : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
B : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
S : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) );
END COMPONENT;
COMPONENT SIN_ROM --10位地址10位数据正弦信号数据ROM
PORT ( address : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
inclock : IN STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) );
END COMPONENT;
SIGNAL F32B : STD_LOGIC_VECTOR(31 DOWNTO 0);
SIGNAL D32B : STD_LOGIC_VECTOR(31 DOWNTO 0);
SIGNAL DIN32B : STD_LOGIC_VECTOR(31 DOWNTO 0);
SIGNAL P10B : STD_LOGIC_VECTOR( 9 DOWNTO 0);
SIGNAL LIN10B : STD_LOGIC_VECTOR( 9 DOWNTO 0);
SIGNAL SIN10B : STD_LOGIC_VECTOR( 9 DOWNTO 0);
BEGIN
F32B(27 DOWNTO 20)<=FWORD ; F32B(31 DOWNTO 28)<="0000";
F32B(19 DOWNTO 0)<="00000000000000000000" ;
P10B( 9 DOWNTO 2)<=PWORD ; P10B( 1 DOWNTO 0)<="00" ;
u1 : ADDER32B PORT MAP( A=>F32B,B=>D32B, S=>DIN32B );
u2 : REG32B PORT MAP( DOUT=>D32B,DIN=> DIN32B, LOAD=>CLK );
u3 : SIN_ROM PORT MAP( address=>SIN10B, q=>FOUT, clock=>CLK );
u4 : ADDER10B PORT MAP( A=>P10B,B=>D32B(31 DOWNTO 22),S=>LIN10B );
u5 : REG10B PORT MAP( DOUT=>SIN10B,DIN=>LIN10B, LOAD=>CLK );
u6 : SIN_ROM PORT MAP( address=>D32B(31 DOWNTO 22), q=>POUT, clock=>CLK );
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -