⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dds.vhd.bak

📁 频率计 等精度频率计 可以用于频率测试的等精度频率计 可用的
💻 BAK
字号:
--------------------------------------------------------------------------------
-- Project Name:  DDS_Project
-- File Name:	   dds.vhd
-- Create Date:    20:20:15 2008-05-09
-- Engineer:	   Kun Yue
-- Target Device:  
-- Tool versions:  QuartusII 7.2
-- Description:    DDS顶层文件
-- Additional Comments:   	
--						k[31..0]----输入信号		en----使能信号		
--			      		reset----复位信号		out1[31..0]----输出信号		
--			      		clk----时钟信号
-- Revision: V1.0
--------------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity dds is
	port(phaseword: in std_logic_vector(31 downto 0);--phase word 
         freword: in std_logic_vector(31 downto 0);  --frequency word
         clk:in std_logic;
         en:in std_logic;
         reset:in std_logic;
         da_data:out std_logic_vector(9 downto 0));
end entity dds;
architecture art  of dds is
-------------------------------------------------
-------------------sum32-------------------------
component sum32 is
	port(k: in std_logic_vector(31 downto 0);
         clk:in std_logic;
         en:in std_logic;
         reset:in std_logic;
         out1:out std_logic_vector(31 downto 0));
end component sum32;
-------------------------------------------------
-------------------reg1--------------------------
component reg1 is
	port(d: in std_logic_vector(31 downto 0);
         clk:in std_logic;
         q:out std_logic_vector(31 downto 0));
end component reg1;
-------------------------------------------------
-------------------adder32-----------------------
component adder32 is
	port(a: in std_logic_vector(31 downto 0);
         n: in std_logic_vector(31 downto 0);
         clk:in std_logic;
         en:in std_logic;
         out2:out std_logic_vector(31 downto 0));
end component adder32;
-------------------------------------------------
-------------------reg2--------------------------
component reg2 is
	port(e: in std_logic_vector(31 downto 0);
         clk:in std_logic;
         p:out std_logic_vector(31 downto 0));
end component reg2;
-------------------------------------------------

-------------------component5--------------------
component romtab is
	port(inclock         : in  std_logic;
		 phase_address   : in  std_logic_vector (9 downto 0); --phase address value
		 q : out std_logic_vector (9 downto 0));--wave sin value
end component romtab;         
-------------------------------------------------

signal s1:std_logic_vector(31 downto 0);
signal s2:std_logic_vector(31 downto 0);
signal s3:std_logic_vector(31 downto 0);
signal s4:std_logic_vector(31 downto 0);
signal s5:std_logic_vector(9 downto 0);
s5<=s4(31 downto 22);

begin

u1:sum32 	port map(k=>freword,en=>en,reset=>reset,clk=>clk,out1=>s1);
u2:reg1		port map(d=>s1,clk=>clk,q=>s2);
u3:adder32  port map(a=>s2,en=>en,clk=>clk,n=>phaseword,out2=>s3);
u4:reg2 	port map(e=>s3,clk=>clk,p=>s4);
u5:romtab 	port map(inclock=>clk,phase_address=>s5,q=>da_data);
end architecture art;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -