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

📄 bianma1.vhd

📁 用FPGA实现DDS,可变频,幅值由硬件完成
💻 VHD
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity bianma1 is
port(
	clk:in std_logic;
	fr:in std_logic_vector(7 downto 0);
	
	kout:out std_logic_vector(11 downto 0)
);
end bianma1;

architecture aaa of bianma1 is
begin 
process(clk)
begin

if clk'event and clk='1' then
	case fr is
		when "00101000"=> kout<="000000101001";--20
		when "00101001"=> kout<="000000101010";
		when "00101010"=> kout<="000000101011";   --21
		when "00101011"=> kout<="000000101100";
		when "00101100"=> kout<="000000101101";  -- 22
		when "00101101"=> kout<="000000101110";
		when "00101110"=> kout<="000000101111";    --23
		when "00101111"=> kout<="000000110000"; 
		when "00110000"=> kout<="000000110001";   -- 24
		when "00110001"=> kout<="000000110010";    
		when "00110010"=> kout<="000000110011";   -- 25
		when "00110011"=> kout<="000000110100"; 
		when "00110100"=> kout<="000000110101";  --  26
		when "00110101"=> kout<="000000110110";
		when "00110110"=> kout<="000000110111";   -- 27
		when "00110111"=> kout<="000000111000";
		when "00111000"=> kout<="000000111001";   -- 28
		when "00111001"=> kout<="000000111010";
		when "00111010"=> kout<="000000111011";   -- 29
		when "00111011"=> kout<="000000111100";
		when "00111100"=> kout<="000000111101";   -- 30
		when "00111101"=> kout<="000000111110";
		when "00111110"=> kout<="000000111111";    -- 31
		when "00111111"=> kout<="000001000001";
		when "01000000"=> kout<="000001000010";    -- 32
		when "01000001"=> kout<="000001000011";
		when "01000010"=> kout<="000001000100";   -- 33
		when "01000011"=> kout<="000001000101";
		when "01000100"=> kout<="000001000110";   --  34
		when "01000101"=> kout<="000001000111";
		when "01000110"=> kout<="000001001000";    --  35
		when "01000111"=> kout<="000001001001";
		when "01001000"=> kout<="000001001010";    -- 36
		when "01001001"=> kout<="000001001011";
		when "01001010"=> kout<="000001001100";   -- 37
		when "01001011"=> kout<="000001001101";
		when "01001100"=> kout<="000001001110";   -- 38
		when "01001101"=> kout<="000001001111";
		when "01001110"=> kout<="000001010000";   --  39
		when "01001111"=> kout<="000001010001";
		when "01010000"=> kout<="000001010010";   --  40
		when "01010001"=> kout<="000001010011";
		when "01010010"=> kout<="000001010100";   -- 41
		when "01010011"=> kout<="000001010101";  
		when "01010100"=> kout<="000001010110";   --  42
		when "01010101"=> kout<="000001010111";
		when "01010110"=> kout<="000001011000";    -- 43
		when "01010111"=> kout<="000001011001";
		when "01011000"=> kout<="000001011010";   -- 44
		when "01011001"=> kout<="000001011011";
		when "01011010"=> kout<="000001011100";   -- 45
		when "01011011"=> kout<="000001011101";
		when "01011100"=> kout<="000001011110";   -- 46
		when "01011101"=> kout<="000001011111";
		when "01011110"=> kout<="000001100000";   --  47
		when "01011111"=> kout<="000001100001";
		when "01100000"=> kout<="000001100010";  --  48
		when "01100001"=> kout<="000001100011";
		when "01100010"=> kout<="000001100100";  --  49
		when "01100011"=> kout<="000001100101";--
		when "01100100"=> kout<="000001100110";   --   50
		when "01100101"=> kout<="000001100111";
		when "01100110"=> kout<="000001101000";   --  51
		when "01100111"=> kout<="000001101001";
		when "01101000"=> kout<="000001101010";   -- 52
		when "01101001"=> kout<="000001101100";
		when "01101010"=> kout<="000001101101";   -- 53
		when "01101011"=> kout<="000001101110";
		when "01101100"=> kout<="000001101111";   -- 54
		when "01101101"=> kout<="000001110000";
		when "01101110"=> kout<="000001110001";   --  55
		when "01101111"=> kout<="000001110010";
		when "01110000"=> kout<="000001110011";  -- 56
		when "01110001"=> kout<="000001110100";
		when "01110010"=> kout<="000001110101";   -- 57
		when "01110011"=> kout<="000001110110";
		when "01110100"=> kout<="000001110111";   --  58
		when "01110101"=> kout<="000001111000";
		when "01110110"=> kout<="000001111001";   -- 59
		when "01110111"=> kout<="000001111010";
		when "01111000"=> kout<="000001111011";   -- 60
		when "01111001"=> kout<="000001111100";
		when "01111010"=> kout<="000001111101";   -- 61
		when "01111011"=> kout<="000001111110";
		when "01111100"=> kout<="000001111111";   --  62
		when "01111101"=> kout<="000010000000";
		when "01111110"=> kout<="000010000001";  --    63
		when "01111111"=> kout<="000010000010";
		when "10000000"=> kout<="000010000011";  --   64
		when "10000001"=> kout<="000010000100";
		when "10000010"=> kout<="000010000101";  --   65
		when "10000011"=> kout<="000010000110";
		when "10000100"=> kout<="000010000111"; --    66
		when "10000101"=> kout<="000010001000";
		when "10000110"=> kout<="000010001001"; --   67
		when "10000111"=> kout<="000010001010";
		when "10001000"=> kout<="000010001011"; --   68
		when "10001001"=> kout<="000010001100";
		when "10001010"=> kout<="000010001101";  --   69
		when "10001011"=> kout<="000010001110";
		when "10001100"=> kout<="000010001111";  --    	70
		when "10001101"=> kout<="000010010000"; 
		when "10001110"=> kout<="000010010001";	--	71
		when "10001111"=> kout<="000010010010"; 
		when "10010000"=> kout<="000010010011";	--	72
		when "10010001"=> kout<="000010010100"; 
		when "10010010"=> kout<="000010010110"; --	73
		when "10010011"=> kout<="000010010111"; 
		when "10010100"=> kout<="000010011000"; --	74
		when "10010101"=> kout<="000010011001"; 
		when "10010110"=> kout<="000010011010"; --	75
		when "10010111"=> kout<="000010011011"; 
		when "10011000"=> kout<="000010011100"; --	76
		when "10011001"=> kout<="000010011101"; 
		when "10011010"=> kout<="000010011110"; --	77
		when "10011011"=> kout<="000010011111"; 
		when "10011100"=> kout<="000010100000"; --	78
		when "10011101"=> kout<="000010100001"; 
		when "10011110"=> kout<="000010100010"; --	79
		when "10011111"=> kout<="000010100011"; 
		when "10100000"=> kout<="000010100100"; --	80
		when "10100001"=> kout<="000010100101"; 
		when "10100010"=> kout<="000010100110"; --	81
		when "10100011"=> kout<="000010100111"; 
		when "10100100"=> kout<="000010101000"; --	82
		when "10100101"=> kout<="000010101001"; 
		when "10100110"=> kout<="000010101010"; --	83
		when "10100111"=> kout<="000010101011"; 
		when "10101000"=> kout<="000010101100"; --	84
		when "10101001"=> kout<="000010101101"; 
		when "10101010"=> kout<="000010101110"; --	85
		when "10101011"=> kout<="000010101111"; 
		when "10101100"=> kout<="000010110000";	--	86
		when "10101101"=> kout<="000010110001"; 
		when "10101110"=> kout<="000010110010"; --	87
		when "10101111"=> kout<="000010110011"; 
		when "10110000"=> kout<="000010110100"; --	88
		when "10110001"=> kout<="000010110101"; 
		when "10110010"=> kout<="000010110110"; --	89
		when "10110011"=> kout<="000010110111"; --
		when "10110100"=> kout<="000010111000"; --	90
		when "10110101"=> kout<="000010111001"; 
		when "10110110"=> kout<="000010111010"; --	91
		when "10110111"=> kout<="000010111011"; 
		when "10111000"=> kout<="000010111100"; --	92
		when "10111001"=> kout<="000010111101"; 
		when "10111010"=> kout<="000010111110"; --	93
		when "10111011"=> kout<="000010111111"; 
		when "10111100"=> kout<="000011000001"; --	94
		when "10111101"=> kout<="000011000010"; 
		when "10111110"=> kout<="000011000011"; --	95
		when "10111111"=> kout<="000011000100"; 
		when "11000000"=> kout<="000011000101"; --	96
		when "11000001"=> kout<="000011000110"; 
		when "11000010"=> kout<="000011000111"; --	97
		when "11000011"=> kout<="000011001000"; 
		when "11000100"=> kout<="000011001001"; --	98
		when "11000101"=> kout<="000011001010"; 
		when "11000110"=> kout<="000011001011"; --	99
		when "11000111"=> kout<="000011001100"; 
		when "11001000"=> kout<="000011001101"; --	100
		when others=>kout<="000011001101";
	end case;
end if;
end process;
end aaa;

⌨️ 快捷键说明

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