?? dds.vhd
字號:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY DDS IS -- 頂層設計
PORT ( CLK : IN STD_LOGIC;
count1:out std_logic_vector(7 downto 0);
dds1:out std_logic_vector(7 downto 0);
dc_out:out std_logic;
ls:in std_logic); --解調后接收到的碼
END;
ARCHITECTURE one OF DDS IS
COMPONENT REG7B --32位寄存器
PORT ( LOAD : IN STD_LOGIC;
DIN : IN STD_LOGIC_VECTOR(6 DOWNTO 0);
DOUT : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) );
END COMPONENT;
COMPONENT ADDER7B --7位加法器
PORT ( A : IN STD_LOGIC_VECTOR(6 DOWNTO 0);
B : IN STD_LOGIC_VECTOR(6 DOWNTO 0);
S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) );
END COMPONENT;
COMPONENT SIN_ROM
PORT ( address : IN STD_LOGIC_VECTOR(6 DOWNTO 0);
clock : IN STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );
END COMPONENT;
component ps7 is
port(clk:in std_logic;
load:in std_logic;
q:out std_logic;
count1:out std_logic_vector(7 downto 0));
end component;
component fsk_decode
PORT ( CLK : IN STD_LOGIC;
receive : in STD_LOGIC_VECTOR(7 DOWNTO 0) ;
s:out std_logic);
END component;
signal din: std_logic;
SIGNAL F7B : STD_LOGIC_VECTOR(6 DOWNTO 0);--輸入的7位的頻率字,作為累加值
SIGNAL D7B : STD_LOGIC_VECTOR(6 DOWNTO 0);--7位的地址信號,7位寄存器的輸出
SIGNAL DIN7B : STD_LOGIC_VECTOR(6 DOWNTO 0);--7位的地址信號,7位寄存器的輸入
SIGNAL P7B : STD_LOGIC_VECTOR( 6 DOWNTO 0); --7位相位字信號,恒為零
SIGNAL LIN7B : STD_LOGIC_VECTOR( 6 DOWNTO 0); --輸入到寄存器的地址信號
SIGNAL SIN7B : STD_LOGIC_VECTOR( 6 DOWNTO 0); --寄存器輸出的地址信號
signal dds_out : STD_LOGIC_VECTOR(7 DOWNTO 0); --發送的已調波信號
BEGIN
F7B(6 DOWNTO 0)<=(2=>din,0=>(not din),others=>'0');
P7B(6 DOWNTO 0)<=(others=>'0');
u1 : ADDER7B PORT MAP( A=>F7B,B=>D7B, S=>DIN7B );
u2 : REG7B PORT MAP( DOUT=>D7B,DIN=> DIN7B, LOAD=>CLK );
u3 : SIN_ROM PORT MAP( address=>SIN7B, q=>dds_out, clock=>CLK ); --產生已調的正弦波
u4 : ADDER7B PORT MAP( A=>P7B,B=>D7B,S=>LIN7B );
u5 : REG7B PORT MAP( DOUT=>SIN7B,DIN=>LIN7B, LOAD=>CLK );
u6: ps7 port map(clk=>clk,load=>ls,q=>din,count1=>count1);
dds1<=dds_out;
u7:fsk_decode port map(clk=>clk,receive=>dds_out,s=>dc_out); --解調程序模塊
END;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -