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

📄 rom1.vhd

📁 an implementation of fft 1024 with cos and sin generated by matlab.
💻 VHD
字号:
-- Rom file for twiddle factors -- rom1.vhd contains64 points of 10 width -- for a64 point fft.LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_arith.ALL;ENTITY rom1 ISGENERIC(        data_width : integer :=10;        address_width : integer :=6    );    PORT(        address :in std_logic_vector (5  downto 0);        datar : OUT std_logic_vector (data_width-1 DOWNTO 0);        datai : OUT std_logic_vector (data_width-1 DOWNTO 0)    );end rom1;ARCHITECTURE behavior OF rom1 IS BEGINprocess(address)begin    case address is   when "000000" => datar <= "0111111111";datai <= "0000000000"; --0   when "000001" => datar <= "0111110101";datai <= "1110011100"; --2   when "000010" => datar <= "0111011000";datai <= "1100111100"; --4   when "000011" => datar <= "0110101001";datai <= "1011100100"; --6   when "000100" => datar <= "0101101001";datai <= "1010010111"; --8   when "000101" => datar <= "0100011100";datai <= "1001010111"; --10   when "000110" => datar <= "0011000100";datai <= "1000101000"; --12   when "000111" => datar <= "0001100100";datai <= "1000001011"; --14   when "001000" => datar <= "0000000000";datai <= "1000000001"; --16   when "001001" => datar <= "1110011100";datai <= "1000001011"; --18   when "001010" => datar <= "1100111100";datai <= "1000101000"; --20   when "001011" => datar <= "1011100100";datai <= "1001010111"; --22   when "001100" => datar <= "1010010111";datai <= "1010010111"; --24   when "001101" => datar <= "1001010111";datai <= "1011100100"; --26   when "001110" => datar <= "1000101000";datai <= "1100111100"; --28   when "001111" => datar <= "1000001011";datai <= "1110011100"; --30   when "010000" => datar <= "0111111111";datai <= "0000000000"; --0   when "010001" => datar <= "0111111101";datai <= "1111001110"; --1   when "010010" => datar <= "0111110101";datai <= "1110011100"; --2   when "010011" => datar <= "0111101001";datai <= "1101101100"; --3   when "010100" => datar <= "0111011000";datai <= "1100111100"; --4   when "010101" => datar <= "0111000011";datai <= "1100001111"; --5   when "010110" => datar <= "0110101001";datai <= "1011100100"; --6   when "010111" => datar <= "0110001011";datai <= "1010111100"; --7   when "011000" => datar <= "0101101001";datai <= "1010010111"; --8   when "011001" => datar <= "0101000100";datai <= "1001110101"; --9   when "011010" => datar <= "0100011100";datai <= "1001010111"; --10   when "011011" => datar <= "0011110001";datai <= "1000111101"; --11   when "011100" => datar <= "0011000100";datai <= "1000101000"; --12   when "011101" => datar <= "0010010100";datai <= "1000010111"; --13   when "011110" => datar <= "0001100100";datai <= "1000001011"; --14   when "011111" => datar <= "0000110010";datai <= "1000000011"; --15   when "100000" => datar <= "0111111111";datai <= "0000000000"; --0   when "100001" => datar <= "0111101001";datai <= "1101101100"; --3   when "100010" => datar <= "0110101001";datai <= "1011100100"; --6   when "100011" => datar <= "0101000100";datai <= "1001110101"; --9   when "100100" => datar <= "0011000100";datai <= "1000101000"; --12   when "100101" => datar <= "0000110010";datai <= "1000000011"; --15   when "100110" => datar <= "1110011100";datai <= "1000001011"; --18   when "100111" => datar <= "1100001111";datai <= "1000111101"; --21   when "101000" => datar <= "1010010111";datai <= "1010010111"; --24   when "101001" => datar <= "1000111101";datai <= "1100001111"; --27   when "101010" => datar <= "1000001011";datai <= "1110011100"; --30   when "101011" => datar <= "1000000011";datai <= "0000110010"; --33   when "101100" => datar <= "1000101000";datai <= "0011000100"; --36   when "101101" => datar <= "1001110101";datai <= "0101000100"; --39   when "101110" => datar <= "1011100100";datai <= "0110101001"; --42   when "101111" => datar <= "1101101100";datai <= "0111101001"; --45        when "110000" => datar <= "0111111111";datai <= "0000000000"; --0        when "110001" => datar <= "0111111111";datai <= "0000000000"; --0        when "110010" => datar <= "0111111111";datai <= "0000000000"; --0        when "110011" => datar <= "0111111111";datai <= "0000000000"; --0        when "110100" => datar <= "0111111111";datai <= "0000000000"; --0        when "110101" => datar <= "0111111111";datai <= "0000000000"; --0        when "110110" => datar <= "0111111111";datai <= "0000000000"; --0        when "110111" => datar <= "0111111111";datai <= "0000000000"; --0        when "111000" => datar <= "0111111111";datai <= "0000000000"; --0        when "111001" => datar <= "0111111111";datai <= "0000000000"; --0        when "111010" => datar <= "0111111111";datai <= "0000000000"; --0        when "111011" => datar <= "0111111111";datai <= "0000000000"; --0        when "111100" => datar <= "0111111111";datai <= "0000000000"; --0        when "111101" => datar <= "0111111111";datai <= "0000000000"; --0        when "111110" => datar <= "0111111111";datai <= "0000000000"; --0        when "111111" => datar <= "0111111111";datai <= "0000000000"; --0        when others => for i in data_width-1 downto 0 loop            datar(i)<='0';datai(i)<='0';end loop;    end case;end process;END behavior;

⌨️ 快捷键说明

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