📄 sin_rom.vhd
字号:
--Asynchronous ROM storing the amplitude for sine.
--Generated with external script, see the documentation for details
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
library UNISIM;
use UNISIM.VComponents.all;
entity sin_rom is
Port ( address : in std_logic_vector(9 downto 0);
sine_value : out std_logic_vector(7 downto 0));
end sin_rom;
architecture Behavioral of sin_rom is
signal extended_address: std_logic_vector(11 downto 0);
begin
extended_address(11 downto 10) <= "00";
extended_address(9 downto 0) <= address(9 downto 0);
process (extended_address)
begin
case extended_address is
when X"000" => sine_value <= X"7F";
when X"001" => sine_value <= X"7F";
when X"002" => sine_value <= X"80";
when X"003" => sine_value <= X"81";
when X"004" => sine_value <= X"82";
when X"005" => sine_value <= X"82";
when X"006" => sine_value <= X"83";
when X"007" => sine_value <= X"84";
when X"008" => sine_value <= X"85";
when X"009" => sine_value <= X"85";
when X"00A" => sine_value <= X"86";
when X"00B" => sine_value <= X"87";
when X"00C" => sine_value <= X"88";
when X"00D" => sine_value <= X"89";
when X"00E" => sine_value <= X"89";
when X"00F" => sine_value <= X"8A";
when X"010" => sine_value <= X"8B";
when X"011" => sine_value <= X"8C";
when X"012" => sine_value <= X"8C";
when X"013" => sine_value <= X"8D";
when X"014" => sine_value <= X"8E";
when X"015" => sine_value <= X"8F";
when X"016" => sine_value <= X"8F";
when X"017" => sine_value <= X"90";
when X"018" => sine_value <= X"91";
when X"019" => sine_value <= X"92";
when X"01A" => sine_value <= X"93";
when X"01B" => sine_value <= X"93";
when X"01C" => sine_value <= X"94";
when X"01D" => sine_value <= X"95";
when X"01E" => sine_value <= X"96";
when X"01F" => sine_value <= X"96";
when X"020" => sine_value <= X"97";
when X"021" => sine_value <= X"98";
when X"022" => sine_value <= X"99";
when X"023" => sine_value <= X"99";
when X"024" => sine_value <= X"9A";
when X"025" => sine_value <= X"9B";
when X"026" => sine_value <= X"9C";
when X"027" => sine_value <= X"9C";
when X"028" => sine_value <= X"9D";
when X"029" => sine_value <= X"9E";
when X"02A" => sine_value <= X"9F";
when X"02B" => sine_value <= X"9F";
when X"02C" => sine_value <= X"A0";
when X"02D" => sine_value <= X"A1";
when X"02E" => sine_value <= X"A2";
when X"02F" => sine_value <= X"A2";
when X"030" => sine_value <= X"A3";
when X"031" => sine_value <= X"A4";
when X"032" => sine_value <= X"A5";
when X"033" => sine_value <= X"A5";
when X"034" => sine_value <= X"A6";
when X"035" => sine_value <= X"A7";
when X"036" => sine_value <= X"A7";
when X"037" => sine_value <= X"A8";
when X"038" => sine_value <= X"A9";
when X"039" => sine_value <= X"AA";
when X"03A" => sine_value <= X"AA";
when X"03B" => sine_value <= X"AB";
when X"03C" => sine_value <= X"AC";
when X"03D" => sine_value <= X"AD";
when X"03E" => sine_value <= X"AD";
when X"03F" => sine_value <= X"AE";
when X"040" => sine_value <= X"AF";
when X"041" => sine_value <= X"AF";
when X"042" => sine_value <= X"B0";
when X"043" => sine_value <= X"B1";
when X"044" => sine_value <= X"B2";
when X"045" => sine_value <= X"B2";
when X"046" => sine_value <= X"B3";
when X"047" => sine_value <= X"B4";
when X"048" => sine_value <= X"B4";
when X"049" => sine_value <= X"B5";
when X"04A" => sine_value <= X"B6";
when X"04B" => sine_value <= X"B6";
when X"04C" => sine_value <= X"B7";
when X"04D" => sine_value <= X"B8";
when X"04E" => sine_value <= X"B9";
when X"04F" => sine_value <= X"B9";
when X"050" => sine_value <= X"BA";
when X"051" => sine_value <= X"BB";
when X"052" => sine_value <= X"BB";
when X"053" => sine_value <= X"BC";
when X"054" => sine_value <= X"BD";
when X"055" => sine_value <= X"BD";
when X"056" => sine_value <= X"BE";
when X"057" => sine_value <= X"BF";
when X"058" => sine_value <= X"BF";
when X"059" => sine_value <= X"C0";
when X"05A" => sine_value <= X"C1";
when X"05B" => sine_value <= X"C1";
when X"05C" => sine_value <= X"C2";
when X"05D" => sine_value <= X"C3";
when X"05E" => sine_value <= X"C3";
when X"05F" => sine_value <= X"C4";
when X"060" => sine_value <= X"C5";
when X"061" => sine_value <= X"C5";
when X"062" => sine_value <= X"C6";
when X"063" => sine_value <= X"C6";
when X"064" => sine_value <= X"C7";
when X"065" => sine_value <= X"C8";
when X"066" => sine_value <= X"C8";
when X"067" => sine_value <= X"C9";
when X"068" => sine_value <= X"CA";
when X"069" => sine_value <= X"CA";
when X"06A" => sine_value <= X"CB";
when X"06B" => sine_value <= X"CB";
when X"06C" => sine_value <= X"CC";
when X"06D" => sine_value <= X"CD";
when X"06E" => sine_value <= X"CD";
when X"06F" => sine_value <= X"CE";
when X"070" => sine_value <= X"CE";
when X"071" => sine_value <= X"CF";
when X"072" => sine_value <= X"D0";
when X"073" => sine_value <= X"D0";
when X"074" => sine_value <= X"D1";
when X"075" => sine_value <= X"D1";
when X"076" => sine_value <= X"D2";
when X"077" => sine_value <= X"D3";
when X"078" => sine_value <= X"D3";
when X"079" => sine_value <= X"D4";
when X"07A" => sine_value <= X"D4";
when X"07B" => sine_value <= X"D5";
when X"07C" => sine_value <= X"D5";
when X"07D" => sine_value <= X"D6";
when X"07E" => sine_value <= X"D6";
when X"07F" => sine_value <= X"D7";
when X"080" => sine_value <= X"D8";
when X"081" => sine_value <= X"D8";
when X"082" => sine_value <= X"D9";
when X"083" => sine_value <= X"D9";
when X"084" => sine_value <= X"DA";
when X"085" => sine_value <= X"DA";
when X"086" => sine_value <= X"DB";
when X"087" => sine_value <= X"DB";
when X"088" => sine_value <= X"DC";
when X"089" => sine_value <= X"DC";
when X"08A" => sine_value <= X"DD";
when X"08B" => sine_value <= X"DD";
when X"08C" => sine_value <= X"DE";
when X"08D" => sine_value <= X"DE";
when X"08E" => sine_value <= X"DF";
when X"08F" => sine_value <= X"DF";
when X"090" => sine_value <= X"E0";
when X"091" => sine_value <= X"E0";
when X"092" => sine_value <= X"E1";
when X"093" => sine_value <= X"E1";
when X"094" => sine_value <= X"E2";
when X"095" => sine_value <= X"E2";
when X"096" => sine_value <= X"E3";
when X"097" => sine_value <= X"E3";
when X"098" => sine_value <= X"E4";
when X"099" => sine_value <= X"E4";
when X"09A" => sine_value <= X"E5";
when X"09B" => sine_value <= X"E5";
when X"09C" => sine_value <= X"E6";
when X"09D" => sine_value <= X"E6";
when X"09E" => sine_value <= X"E6";
when X"09F" => sine_value <= X"E7";
when X"0A0" => sine_value <= X"E7";
when X"0A1" => sine_value <= X"E8";
when X"0A2" => sine_value <= X"E8";
when X"0A3" => sine_value <= X"E9";
when X"0A4" => sine_value <= X"E9";
when X"0A5" => sine_value <= X"E9";
when X"0A6" => sine_value <= X"EA";
when X"0A7" => sine_value <= X"EA";
when X"0A8" => sine_value <= X"EB";
when X"0A9" => sine_value <= X"EB";
when X"0AA" => sine_value <= X"EB";
when X"0AB" => sine_value <= X"EC";
when X"0AC" => sine_value <= X"EC";
when X"0AD" => sine_value <= X"ED";
when X"0AE" => sine_value <= X"ED";
when X"0AF" => sine_value <= X"ED";
when X"0B0" => sine_value <= X"EE";
when X"0B1" => sine_value <= X"EE";
when X"0B2" => sine_value <= X"EE";
when X"0B3" => sine_value <= X"EF";
when X"0B4" => sine_value <= X"EF";
when X"0B5" => sine_value <= X"EF";
when X"0B6" => sine_value <= X"F0";
when X"0B7" => sine_value <= X"F0";
when X"0B8" => sine_value <= X"F0";
when X"0B9" => sine_value <= X"F1";
when X"0BA" => sine_value <= X"F1";
when X"0BB" => sine_value <= X"F1";
when X"0BC" => sine_value <= X"F2";
when X"0BD" => sine_value <= X"F2";
when X"0BE" => sine_value <= X"F2";
when X"0BF" => sine_value <= X"F3";
when X"0C0" => sine_value <= X"F3";
when X"0C1" => sine_value <= X"F3";
when X"0C2" => sine_value <= X"F3";
when X"0C3" => sine_value <= X"F4";
when X"0C4" => sine_value <= X"F4";
when X"0C5" => sine_value <= X"F4";
when X"0C6" => sine_value <= X"F5";
when X"0C7" => sine_value <= X"F5";
when X"0C8" => sine_value <= X"F5";
when X"0C9" => sine_value <= X"F5";
when X"0CA" => sine_value <= X"F6";
when X"0CB" => sine_value <= X"F6";
when X"0CC" => sine_value <= X"F6";
when X"0CD" => sine_value <= X"F6";
when X"0CE" => sine_value <= X"F7";
when X"0CF" => sine_value <= X"F7";
when X"0D0" => sine_value <= X"F7";
when X"0D1" => sine_value <= X"F7";
when X"0D2" => sine_value <= X"F8";
when X"0D3" => sine_value <= X"F8";
when X"0D4" => sine_value <= X"F8";
when X"0D5" => sine_value <= X"F8";
when X"0D6" => sine_value <= X"F8";
when X"0D7" => sine_value <= X"F9";
when X"0D8" => sine_value <= X"F9";
when X"0D9" => sine_value <= X"F9";
when X"0DA" => sine_value <= X"F9";
when X"0DB" => sine_value <= X"F9";
when X"0DC" => sine_value <= X"F9";
when X"0DD" => sine_value <= X"FA";
when X"0DE" => sine_value <= X"FA";
when X"0DF" => sine_value <= X"FA";
when X"0E0" => sine_value <= X"FA";
when X"0E1" => sine_value <= X"FA";
when X"0E2" => sine_value <= X"FA";
when X"0E3" => sine_value <= X"FB";
when X"0E4" => sine_value <= X"FB";
when X"0E5" => sine_value <= X"FB";
when X"0E6" => sine_value <= X"FB";
when X"0E7" => sine_value <= X"FB";
when X"0E8" => sine_value <= X"FB";
when X"0E9" => sine_value <= X"FB";
when X"0EA" => sine_value <= X"FB";
when X"0EB" => sine_value <= X"FB";
when X"0EC" => sine_value <= X"FC";
when X"0ED" => sine_value <= X"FC";
when X"0EE" => sine_value <= X"FC";
when X"0EF" => sine_value <= X"FC";
when X"0F0" => sine_value <= X"FC";
when X"0F1" => sine_value <= X"FC";
when X"0F2" => sine_value <= X"FC";
when X"0F3" => sine_value <= X"FC";
when X"0F4" => sine_value <= X"FC";
when X"0F5" => sine_value <= X"FC";
when X"0F6" => sine_value <= X"FC";
when X"0F7" => sine_value <= X"FC";
when X"0F8" => sine_value <= X"FC";
when X"0F9" => sine_value <= X"FC";
when X"0FA" => sine_value <= X"FC";
when X"0FB" => sine_value <= X"FC";
when X"0FC" => sine_value <= X"FC";
when X"0FD" => sine_value <= X"FC";
when X"0FE" => sine_value <= X"FC";
when X"0FF" => sine_value <= X"FC";
when X"100" => sine_value <= X"FD";
when X"101" => sine_value <= X"FC";
when X"102" => sine_value <= X"FC";
when X"103" => sine_value <= X"FC";
when X"104" => sine_value <= X"FC";
when X"105" => sine_value <= X"FC";
when X"106" => sine_value <= X"FC";
when X"107" => sine_value <= X"FC";
when X"108" => sine_value <= X"FC";
when X"109" => sine_value <= X"FC";
when X"10A" => sine_value <= X"FC";
when X"10B" => sine_value <= X"FC";
when X"10C" => sine_value <= X"FC";
when X"10D" => sine_value <= X"FC";
when X"10E" => sine_value <= X"FC";
when X"10F" => sine_value <= X"FC";
when X"110" => sine_value <= X"FC";
when X"111" => sine_value <= X"FC";
when X"112" => sine_value <= X"FC";
when X"113" => sine_value <= X"FC";
when X"114" => sine_value <= X"FC";
when X"115" => sine_value <= X"FB";
when X"116" => sine_value <= X"FB";
when X"117" => sine_value <= X"FB";
when X"118" => sine_value <= X"FB";
when X"119" => sine_value <= X"FB";
when X"11A" => sine_value <= X"FB";
when X"11B" => sine_value <= X"FB";
when X"11C" => sine_value <= X"FB";
when X"11D" => sine_value <= X"FB";
when X"11E" => sine_value <= X"FA";
when X"11F" => sine_value <= X"FA";
when X"120" => sine_value <= X"FA";
when X"121" => sine_value <= X"FA";
when X"122" => sine_value <= X"FA";
when X"123" => sine_value <= X"FA";
when X"124" => sine_value <= X"F9";
when X"125" => sine_value <= X"F9";
when X"126" => sine_value <= X"F9";
when X"127" => sine_value <= X"F9";
when X"128" => sine_value <= X"F9";
when X"129" => sine_value <= X"F9";
when X"12A" => sine_value <= X"F8";
when X"12B" => sine_value <= X"F8";
when X"12C" => sine_value <= X"F8";
when X"12D" => sine_value <= X"F8";
when X"12E" => sine_value <= X"F8";
when X"12F" => sine_value <= X"F7";
when X"130" => sine_value <= X"F7";
when X"131" => sine_value <= X"F7";
when X"132" => sine_value <= X"F7";
when X"133" => sine_value <= X"F6";
when X"134" => sine_value <= X"F6";
when X"135" => sine_value <= X"F6";
when X"136" => sine_value <= X"F6";
when X"137" => sine_value <= X"F5";
when X"138" => sine_value <= X"F5";
when X"139" => sine_value <= X"F5";
when X"13A" => sine_value <= X"F5";
when X"13B" => sine_value <= X"F4";
when X"13C" => sine_value <= X"F4";
when X"13D" => sine_value <= X"F4";
when X"13E" => sine_value <= X"F3";
when X"13F" => sine_value <= X"F3";
when X"140" => sine_value <= X"F3";
when X"141" => sine_value <= X"F3";
when X"142" => sine_value <= X"F2";
when X"143" => sine_value <= X"F2";
when X"144" => sine_value <= X"F2";
when X"145" => sine_value <= X"F1";
when X"146" => sine_value <= X"F1";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -