akh_power
Junior Member level 2
I have written a look up table for sine wave generation using array, in VHDL. But it is not returning the data. The program is given below:
Code:
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity sincos_lut is
port
(
clk : in std_logic;
sin_data : out std_logic_vector(15 downto 0);
cos_data : out std_logic_vector(15 downto 0)
);
end sincos_lut;
architecture Behaviour of sincos_lut is
type lut_array_type is array(2**9 downto 0) of
std_logic_vector(15 downto 0);
signal ccount : integer;
signal num : integer;
signal sintable : lut_array_type;
signal costable : lut_array_type;
begin
sintable(0)<="0000000000000000";
costable(0)<="1000000000000000";
sintable(1)<="0000000001100100";
costable(1)<="0111111111111111";
sintable(2)<="0000000011001001";
costable(2)<="0111111111111111";
sintable(3)<="0000000100101101";
costable(3)<="0111111111111110";
sintable(4)<="0000000110010010";
costable(4)<="0111111111111101";
sintable(5)<="0000000111110110";
costable(5)<="0111111111111100";
sintable(6)<="0000001001011011";
costable(6)<="0111111111111010";
sintable(7)<="0000001010111111";
costable(7)<="0111111111111000";
sintable(8)<="0000001100100100";
costable(8)<="0111111111110110";
sintable(9)<="0000001110001000";
costable(9)<="0111111111110011";
sintable(10)<="0000001111101101";
costable(10)<="0111111111110000";
sintable(11)<="0000010001010001";
costable(11)<="0111111111101101";
sintable(12)<="0000010010110110";
costable(12)<="0111111111101001";
sintable(13)<="0000010100011010";
costable(13)<="0111111111100101";
sintable(14)<="0000010101111111";
costable(14)<="0111111111100001";
sintable(15)<="0000010111100011";
costable(15)<="0111111111011101";
sintable(16)<="0000011001000111";
costable(16)<="0111111111011000";
sintable(17)<="0000011010101100";
costable(17)<="0111111111010011";
sintable(18)<="0000011100010000";
costable(18)<="0111111111001110";
sintable(19)<="0000011101110101";
costable(19)<="0111111111001000";
sintable(20)<="0000011111011001";
costable(20)<="0111111111000010";
sintable(21)<="0000100000111101";
costable(21)<="0111111110111100";
sintable(22)<="0000100010100010";
costable(22)<="0111111110110101";
sintable(23)<="0000100100000110";
costable(23)<="0111111110101110";
sintable(24)<="0000100101101010";
costable(24)<="0111111110100111";
sintable(25)<="0000100111001110";
costable(25)<="0111111110011111";
sintable(26)<="0000101000110011";
costable(26)<="0111111110010111";
sintable(27)<="0000101010010111";
costable(27)<="0111111110001111";
sintable(28)<="0000101011111011";
costable(28)<="0111111110000111";
sintable(29)<="0000101101011111";
costable(29)<="0111111101111110";
sintable(30)<="0000101111000011";
costable(30)<="0111111101110101";
sintable(31)<="0000110000100111";
costable(31)<="0111111101101011";
sintable(32)<="0000110010001011";
costable(32)<="0111111101100010";
sintable(33)<="0000110011101111";
costable(33)<="0111111101011000";
sintable(34)<="0000110101010011";
costable(34)<="0111111101001101";
sintable(35)<="0000110110110111";
costable(35)<="0111111101000011";
sintable(36)<="0000111000011011";
costable(36)<="0111111100111000";
sintable(37)<="0000111001111111";
costable(37)<="0111111100101101";
sintable(38)<="0000111011100011";
costable(38)<="0111111100100001";
sintable(39)<="0000111101000111";
costable(39)<="0111111100010101";
sintable(40)<="0000111110101011";
costable(40)<="0111111100001001";
sintable(41)<="0001000000001110";
costable(41)<="0111111011111101";
sintable(42)<="0001000001110010";
costable(42)<="0111111011110000";
sintable(43)<="0001000011010110";
costable(43)<="0111111011100011";
sintable(44)<="0001000100111001";
costable(44)<="0111111011010101";
sintable(45)<="0001000110011101";
costable(45)<="0111111011001000";
sintable(46)<="0001001000000001";
costable(46)<="0111111010111010";
sintable(47)<="0001001001100100";
costable(47)<="0111111010101011";
sintable(48)<="0001001011001000";
costable(48)<="0111111010011101";
sintable(49)<="0001001100101011";
costable(49)<="0111111010001110";
sintable(50)<="0001001110001110";
costable(50)<="0111111001111111";
sintable(51)<="0001001111110010";
costable(51)<="0111111001101111";
sintable(52)<="0001010001010101";
costable(52)<="0111111001011111";
sintable(53)<="0001010010111000";
costable(53)<="0111111001001111";
sintable(54)<="0001010100011011";
costable(54)<="0111111000111111";
sintable(55)<="0001010101111111";
costable(55)<="0111111000101110";
sintable(56)<="0001010111100010";
costable(56)<="0111111000011101";
sintable(57)<="0001011001000101";
costable(57)<="0111111000001100";
sintable(58)<="0001011010101000";
costable(58)<="0111110111111010";
sintable(59)<="0001011100001010";
costable(59)<="0111110111101000";
sintable(60)<="0001011101101101";
costable(60)<="0111110111010110";
sintable(61)<="0001011111010000";
costable(61)<="0111110111000011";
sintable(62)<="0001100000110011";
costable(62)<="0111110110110000";
sintable(63)<="0001100010010110";
costable(63)<="0111110110011101";
sintable(64)<="0001100011111000";
costable(64)<="0111110110001010";
sintable(65)<="0001100101011011";
costable(65)<="0111110101110110";
sintable(66)<="0001100110111101";
costable(66)<="0111110101100010";
sintable(67)<="0001101000100000";
costable(67)<="0111110101001110";
sintable(68)<="0001101010000010";
costable(68)<="0111110100111001";
sintable(69)<="0001101011100100";
costable(69)<="0111110100100100";
sintable(70)<="0001101101000111";
costable(70)<="0111110100001111";
sintable(71)<="0001101110101001";
costable(71)<="0111110011111001";
sintable(72)<="0001110000001011";
costable(72)<="0111110011100011";
sintable(73)<="0001110001101101";
costable(73)<="0111110011001101";
sintable(74)<="0001110011001111";
costable(74)<="0111110010110111";
sintable(75)<="0001110100110001";
costable(75)<="0111110010100000";
sintable(76)<="0001110110010011";
costable(76)<="0111110010001001";
sintable(77)<="0001110111110101";
costable(77)<="0111110001110001";
sintable(78)<="0001111001010110";
costable(78)<="0111110001011010";
sintable(79)<="0001111010111000";
costable(79)<="0111110001000010";
sintable(80)<="0001111100011001";
costable(80)<="0111110000101001";
sintable(81)<="0001111101111011";
costable(81)<="0111110000010001";
sintable(82)<="0001111111011100";
costable(82)<="0111101111111000";
sintable(83)<="0010000000111110";
costable(83)<="0111101111011111";
sintable(84)<="0010000010011111";
costable(84)<="0111101111000101";
sintable(85)<="0010000100000000";
costable(85)<="0111101110101100";
sintable(86)<="0010000101100001";
costable(86)<="0111101110010010";
sintable(87)<="0010000111000010";
costable(87)<="0111101101110111";
sintable(88)<="0010001000100011";
costable(88)<="0111101101011101";
sintable(89)<="0010001010000100";
costable(89)<="0111101101000010";
sintable(90)<="0010001011100101";
costable(90)<="0111101100100110";
sintable(91)<="0010001101000101";
costable(91)<="0111101100001011";
sintable(92)<="0010001110100110";
costable(92)<="0111101011101111";
sintable(93)<="0010010000000111";
costable(93)<="0111101011010011";
sintable(94)<="0010010001100111";
costable(94)<="0111101010110110";
sintable(95)<="0010010011000111";
costable(95)<="0111101010011010";
sintable(96)<="0010010100101000";
costable(96)<="0111101001111101";
sintable(97)<="0010010110001000";
costable(97)<="0111101001011111";
sintable(98)<="0010010111101000";
costable(98)<="0111101001000010";
sintable(99)<="0010011001001000";
costable(99)<="0111101000100100";
sintable(100)<="0010011010101000";
costable(100)<="0111101000000101";
sintable(101)<="0010011100000111";
costable(101)<="0111100111100111";
sintable(102)<="0010011101100111";
costable(102)<="0111100111001000";
sintable(103)<="0010011111000111";
costable(103)<="0111100110101001";
sintable(104)<="0010100000100110";
costable(104)<="0111100110001010";
sintable(105)<="0010100010000110";
costable(105)<="0111100101101010";
sintable(106)<="0010100011100101";
costable(106)<="0111100101001010";
sintable(107)<="0010100101000100";
costable(107)<="0111100100101010";
sintable(108)<="0010100110100011";
costable(108)<="0111100100001001";
sintable(109)<="0010101000000010";
costable(109)<="0111100011101000";
sintable(110)<="0010101001100001";
costable(110)<="0111100011000111";
sintable(111)<="0010101011000000";
costable(111)<="0111100010100110";
sintable(112)<="0010101100011111";
costable(112)<="0111100010000100";
sintable(113)<="0010101101111101";
costable(113)<="0111100001100010";
sintable(114)<="0010101111011100";
costable(114)<="0111100001000000";
sintable(115)<="0010110000111010";
costable(115)<="0111100000011101";
sintable(116)<="0010110010011000";
costable(116)<="0111011111111010";
sintable(117)<="0010110011110111";
costable(117)<="0111011111010111";
sintable(118)<="0010110101010101";
costable(118)<="0111011110110100";
sintable(119)<="0010110110110011";
costable(119)<="0111011110010000";
sintable(120)<="0010111000010001";
costable(120)<="0111011101101100";
sintable(121)<="0010111001101110";
costable(121)<="0111011101000111";
sintable(122)<="0010111011001100";
costable(122)<="0111011100100011";
sintable(123)<="0010111100101001";
costable(123)<="0111011011111110";
sintable(124)<="0010111110000111";
costable(124)<="0111011011011001";
sintable(125)<="0010111111100100";
costable(125)<="0111011010110011";
sintable(126)<="0011000001000001";
costable(126)<="0111011010001110";
sintable(127)<="0011000010011110";
costable(127)<="0111011001101000";
sintable(128)<="0011000011111011";
costable(128)<="0111011001000001";
sintable(129)<="0011000101011000";
costable(129)<="0111011000011011";
sintable(130)<="0011000110110101";
costable(130)<="0111010111110100";
sintable(131)<="0011001000010001";
costable(131)<="0111010111001100";
sintable(132)<="0011001001101110";
costable(132)<="0111010110100101";
sintable(133)<="0011001011001010";
costable(133)<="0111010101111101";
sintable(134)<="0011001100100110";
costable(134)<="0111010101010101";
sintable(135)<="0011001110000010";
costable(135)<="0111010100101101";
sintable(136)<="0011001111011110";
costable(136)<="0111010100000100";
sintable(137)<="0011010000111010";
costable(137)<="0111010011011011";
sintable(138)<="0011010010010110";
costable(138)<="0111010010110010";
sintable(139)<="0011010011110010";
costable(139)<="0111010010001001";
sintable(140)<="0011010101001101";
costable(140)<="0111010001011111";
sintable(141)<="0011010110101000";
costable(141)<="0111010000110101";
sintable(142)<="0011011000000100";
costable(142)<="0111010000001011";
sintable(143)<="0011011001011111";
costable(143)<="0111001111100000";
sintable(144)<="0011011010111010";
costable(144)<="0111001110110101";
sintable(145)<="0011011100010100";
costable(145)<="0111001110001010";
sintable(146)<="0011011101101111";
costable(146)<="0111001101011111";
sintable(147)<="0011011111001010";
costable(147)<="0111001100110011";
sintable(148)<="0011100000100100";
costable(148)<="0111001100000111";
sintable(149)<="0011100001111110";
costable(149)<="0111001011011011";
sintable(150)<="0011100011011000";
costable(150)<="0111001010101111";
sintable(151)<="0011100100110010";
costable(151)<="0111001010000010";
sintable(152)<="0011100110001100";
costable(152)<="0111001001010101";
sintable(153)<="0011100111100110";
costable(153)<="0111001000100111";
sintable(154)<="0011101001000000";
costable(154)<="0111000111111010";
sintable(155)<="0011101010011001";
costable(155)<="0111000111001100";
sintable(156)<="0011101011110010";
costable(156)<="0111000110011110";
sintable(157)<="0011101101001100";
costable(157)<="0111000101101111";
sintable(158)<="0011101110100101";
costable(158)<="0111000101000001";
sintable(159)<="0011101111111101";
costable(159)<="0111000100010010";
sintable(160)<="0011110001010110";
costable(160)<="0111000011100010";
sintable(161)<="0011110010101111";
costable(161)<="0111000010110011";
sintable(162)<="0011110100000111";
costable(162)<="0111000010000011";
sintable(163)<="0011110101100000";
costable(163)<="0111000001010011";
sintable(164)<="0011110110111000";
costable(164)<="0111000000100011";
sintable(165)<="0011111000010000";
costable(165)<="0110111111110010";
sintable(166)<="0011111001101000";
costable(166)<="0110111111000001";
sintable(167)<="0011111010111111";
costable(167)<="0110111110010000";
sintable(168)<="0011111100010111";
costable(168)<="0110111101011111";
sintable(169)<="0011111101101110";
costable(169)<="0110111100101101";
sintable(170)<="0011111111000101";
costable(170)<="0110111011111011";
sintable(171)<="0100000000011101";
costable(171)<="0110111011001001";
sintable(172)<="0100000001110011";
costable(172)<="0110111010010110";
sintable(173)<="0100000011001010";
costable(173)<="0110111001100011";
sintable(174)<="0100000100100001";
costable(174)<="0110111000110000";
sintable(175)<="0100000101110111";
costable(175)<="0110110111111101";
sintable(176)<="0100000111001110";
costable(176)<="0110110111001010";
sintable(177)<="0100001000100100";
costable(177)<="0110110110010110";
sintable(178)<="0100001001111010";
costable(178)<="0110110101100010";
sintable(179)<="0100001011010000";
costable(179)<="0110110100101101";
sintable(180)<="0100001100100101";
costable(180)<="0110110011111001";
sintable(181)<="0100001101111011";
costable(181)<="0110110011000100";
sintable(182)<="0100001111010000";
costable(182)<="0110110010001111";
sintable(183)<="0100010000100101";
costable(183)<="0110110001011001";
sintable(184)<="0100010001111010";
costable(184)<="0110110000100100";
sintable(185)<="0100010011001111";
costable(185)<="0110101111101110";
sintable(186)<="0100010100100100";
costable(186)<="0110101110111000";
sintable(187)<="0100010101111000";
costable(187)<="0110101110000001";
sintable(188)<="0100010111001101";
costable(188)<="0110101101001010";
sintable(189)<="0100011000100001";
costable(189)<="0110101100010011";
sintable(190)<="0100011001110101";
costable(190)<="0110101011011100";
sintable(191)<="0100011011001001";
costable(191)<="0110101010100101";
sintable(192)<="0100011100011100";
costable(192)<="0110101001101101";
sintable(193)<="0100011101110000";
costable(193)<="0110101000110101";
sintable(194)<="0100011111000011";
costable(194)<="0110100111111101";
sintable(195)<="0100100000010110";
costable(195)<="0110100111000100";
sintable(196)<="0100100001101001";
costable(196)<="0110100110001100";
sintable(197)<="0100100010111100";
costable(197)<="0110100101010011";
sintable(198)<="0100100100001111";
costable(198)<="0110100100011001";
sintable(199)<="0100100101100001";
costable(199)<="0110100011100000";
sintable(200)<="0100100110110100";
costable(200)<="0110100010100110";
sintable(201)<="0100101000000110";
costable(201)<="0110100001101100";
sintable(202)<="0100101001011000";
costable(202)<="0110100000110010";
sintable(203)<="0100101010101001";
costable(203)<="0110011111110111";
sintable(204)<="0100101011111011";
costable(204)<="0110011110111101";
sintable(205)<="0100101101001100";
costable(205)<="0110011110000010";
sintable(206)<="0100101110011110";
costable(206)<="0110011101000110";
sintable(207)<="0100101111101111";
costable(207)<="0110011100001011";
sintable(208)<="0100110000111111";
costable(208)<="0110011011001111";
sintable(209)<="0100110010010000";
costable(209)<="0110011010010011";
sintable(210)<="0100110011100001";
costable(210)<="0110011001010111";
sintable(211)<="0100110100110001";
costable(211)<="0110011000011010";
sintable(212)<="0100110110000001";
costable(212)<="0110010111011101";
sintable(213)<="0100110111010001";
costable(213)<="0110010110100000";
sintable(214)<="0100111000100001";
costable(214)<="0110010101100011";
sintable(215)<="0100111001110000";
costable(215)<="0110010100100110";
sintable(216)<="0100111010111111";
costable(216)<="0110010011101000";
sintable(217)<="0100111100001111";
costable(217)<="0110010010101010";
sintable(218)<="0100111101011110";
costable(218)<="0110010001101100";
sintable(219)<="0100111110101100";
costable(219)<="0110010000101101";
sintable(220)<="0100111111111011";
costable(220)<="0110001111101111";
sintable(221)<="0101000001001001";
costable(221)<="0110001110110000";
sintable(222)<="0101000010010111";
costable(222)<="0110001101110001";
sintable(223)<="0101000011100101";
costable(223)<="0110001100110001";
sintable(224)<="0101000100110011";
costable(224)<="0110001011110010";
sintable(225)<="0101000110000001";
costable(225)<="0110001010110010";
sintable(226)<="0101000111001110";
costable(226)<="0110001001110001";
sintable(227)<="0101001000011100";
costable(227)<="0110001000110001";
sintable(228)<="0101001001101001";
costable(228)<="0110000111110001";
sintable(229)<="0101001010110101";
costable(229)<="0110000110110000";
sintable(230)<="0101001100000010";
costable(230)<="0110000101101111";
sintable(231)<="0101001101001110";
costable(231)<="0110000100101101";
sintable(232)<="0101001110011011";
costable(232)<="0110000011101100";
sintable(233)<="0101001111100111";
costable(233)<="0110000010101010";
sintable(234)<="0101010000110011";
costable(234)<="0110000001101000";
sintable(235)<="0101010001111110";
costable(235)<="0110000000100110";
sintable(236)<="0101010011001010";
costable(236)<="0101111111100011";
sintable(237)<="0101010100010101";
costable(237)<="0101111110100000";
sintable(238)<="0101010101100000";
costable(238)<="0101111101011110";
sintable(239)<="0101010110101011";
costable(239)<="0101111100011010";
sintable(240)<="0101010111110101";
costable(240)<="0101111011010111";
sintable(241)<="0101011001000000";
costable(241)<="0101111010010011";
sintable(242)<="0101011010001010";
costable(242)<="0101111001010000";
sintable(243)<="0101011011010100";
costable(243)<="0101111000001011";
sintable(244)<="0101011100011101";
costable(244)<="0101110111000111";
sintable(245)<="0101011101100111";
costable(245)<="0101110110000011";
sintable(246)<="0101011110110000";
costable(246)<="0101110100111110";
sintable(247)<="0101011111111001";
costable(247)<="0101110011111001";
sintable(248)<="0101100001000010";
costable(248)<="0101110010110100";
sintable(249)<="0101100010001011";
costable(249)<="0101110001101110";
sintable(250)<="0101100011010100";
costable(250)<="0101110000101001";
sintable(251)<="0101100100011100";
costable(251)<="0101101111100011";
sintable(252)<="0101100101100100";
costable(252)<="0101101110011101";
sintable(253)<="0101100110101100";
costable(253)<="0101101101010110";
sintable(254)<="0101100111110011";
costable(254)<="0101101100010000";
sintable(255)<="0101101000111011";
costable(255)<="0101101011001001";
sintable(256)<="0101101010000010";
costable(256)<="0101101010000010";
sintable(257)<="0101101011001001";
costable(257)<="0101101000111011";
sintable(258)<="0101101100010000";
costable(258)<="0101100111110011";
sintable(259)<="0101101101010110";
costable(259)<="0101100110101100";
sintable(260)<="0101101110011101";
costable(260)<="0101100101100100";
sintable(261)<="0101101111100011";
costable(261)<="0101100100011100";
sintable(262)<="0101110000101001";
costable(262)<="0101100011010100";
sintable(263)<="0101110001101110";
costable(263)<="0101100010001011";
sintable(264)<="0101110010110100";
costable(264)<="0101100001000010";
sintable(265)<="0101110011111001";
costable(265)<="0101011111111001";
sintable(266)<="0101110100111110";
costable(266)<="0101011110110000";
sintable(267)<="0101110110000011";
costable(267)<="0101011101100111";
sintable(268)<="0101110111000111";
costable(268)<="0101011100011101";
sintable(269)<="0101111000001011";
costable(269)<="0101011011010100";
sintable(270)<="0101111001010000";
costable(270)<="0101011010001010";
sintable(271)<="0101111010010011";
costable(271)<="0101011001000000";
sintable(272)<="0101111011010111";
costable(272)<="0101010111110101";
sintable(273)<="0101111100011010";
costable(273)<="0101010110101011";
sintable(274)<="0101111101011110";
costable(274)<="0101010101100000";
sintable(275)<="0101111110100000";
costable(275)<="0101010100010101";
sintable(276)<="0101111111100011";
costable(276)<="0101010011001010";
sintable(277)<="0110000000100110";
costable(277)<="0101010001111110";
sintable(278)<="0110000001101000";
costable(278)<="0101010000110011";
sintable(279)<="0110000010101010";
costable(279)<="0101001111100111";
sintable(280)<="0110000011101100";
costable(280)<="0101001110011011";
sintable(281)<="0110000100101101";
costable(281)<="0101001101001110";
sintable(282)<="0110000101101111";
costable(282)<="0101001100000010";
sintable(283)<="0110000110110000";
costable(283)<="0101001010110101";
sintable(284)<="0110000111110001";
costable(284)<="0101001001101001";
sintable(285)<="0110001000110001";
costable(285)<="0101001000011100";
sintable(286)<="0110001001110001";
costable(286)<="0101000111001110";
sintable(287)<="0110001010110010";
costable(287)<="0101000110000001";
sintable(288)<="0110001011110010";
costable(288)<="0101000100110011";
sintable(289)<="0110001100110001";
costable(289)<="0101000011100101";
sintable(290)<="0110001101110001";
costable(290)<="0101000010010111";
sintable(291)<="0110001110110000";
costable(291)<="0101000001001001";
sintable(292)<="0110001111101111";
costable(292)<="0100111111111011";
sintable(293)<="0110010000101101";
costable(293)<="0100111110101100";
sintable(294)<="0110010001101100";
costable(294)<="0100111101011110";
sintable(295)<="0110010010101010";
costable(295)<="0100111100001111";
sintable(296)<="0110010011101000";
costable(296)<="0100111010111111";
sintable(297)<="0110010100100110";
costable(297)<="0100111001110000";
sintable(298)<="0110010101100011";
costable(298)<="0100111000100001";
sintable(299)<="0110010110100000";
costable(299)<="0100110111010001";
sintable(300)<="0110010111011101";
costable(300)<="0100110110000001";
sintable(301)<="0110011000011010";
costable(301)<="0100110100110001";
sintable(302)<="0110011001010111";
costable(302)<="0100110011100001";
sintable(303)<="0110011010010011";
costable(303)<="0100110010010000";
sintable(304)<="0110011011001111";
costable(304)<="0100110000111111";
sintable(305)<="0110011100001011";
costable(305)<="0100101111101111";
sintable(306)<="0110011101000110";
costable(306)<="0100101110011110";
sintable(307)<="0110011110000010";
costable(307)<="0100101101001100";
sintable(308)<="0110011110111101";
costable(308)<="0100101011111011";
sintable(309)<="0110011111110111";
costable(309)<="0100101010101001";
sintable(310)<="0110100000110010";
costable(310)<="0100101001011000";
sintable(311)<="0110100001101100";
costable(311)<="0100101000000110";
sintable(312)<="0110100010100110";
costable(312)<="0100100110110100";
sintable(313)<="0110100011100000";
costable(313)<="0100100101100001";
sintable(314)<="0110100100011001";
costable(314)<="0100100100001111";
sintable(315)<="0110100101010011";
costable(315)<="0100100010111100";
sintable(316)<="0110100110001100";
costable(316)<="0100100001101001";
sintable(317)<="0110100111000100";
costable(317)<="0100100000010110";
sintable(318)<="0110100111111101";
costable(318)<="0100011111000011";
sintable(319)<="0110101000110101";
costable(319)<="0100011101110000";
sintable(320)<="0110101001101101";
costable(320)<="0100011100011100";
sintable(321)<="0110101010100101";
costable(321)<="0100011011001001";
sintable(322)<="0110101011011100";
costable(322)<="0100011001110101";
sintable(323)<="0110101100010011";
costable(323)<="0100011000100001";
sintable(324)<="0110101101001010";
costable(324)<="0100010111001101";
sintable(325)<="0110101110000001";
costable(325)<="0100010101111000";
sintable(326)<="0110101110111000";
costable(326)<="0100010100100100";
sintable(327)<="0110101111101110";
costable(327)<="0100010011001111";
sintable(328)<="0110110000100100";
costable(328)<="0100010001111010";
sintable(329)<="0110110001011001";
costable(329)<="0100010000100101";
sintable(330)<="0110110010001111";
costable(330)<="0100001111010000";
sintable(331)<="0110110011000100";
costable(331)<="0100001101111011";
sintable(332)<="0110110011111001";
costable(332)<="0100001100100101";
sintable(333)<="0110110100101101";
costable(333)<="0100001011010000";
sintable(334)<="0110110101100010";
costable(334)<="0100001001111010";
sintable(335)<="0110110110010110";
costable(335)<="0100001000100100";
sintable(336)<="0110110111001010";
costable(336)<="0100000111001110";
sintable(337)<="0110110111111101";
costable(337)<="0100000101110111";
sintable(338)<="0110111000110000";
costable(338)<="0100000100100001";
sintable(339)<="0110111001100011";
costable(339)<="0100000011001010";
sintable(340)<="0110111010010110";
costable(340)<="0100000001110011";
sintable(341)<="0110111011001001";
costable(341)<="0100000000011101";
sintable(342)<="0110111011111011";
costable(342)<="0011111111000101";
sintable(343)<="0110111100101101";
costable(343)<="0011111101101110";
sintable(344)<="0110111101011111";
costable(344)<="0011111100010111";
sintable(345)<="0110111110010000";
costable(345)<="0011111010111111";
sintable(346)<="0110111111000001";
costable(346)<="0011111001101000";
sintable(347)<="0110111111110010";
costable(347)<="0011111000010000";
sintable(348)<="0111000000100011";
costable(348)<="0011110110111000";
sintable(349)<="0111000001010011";
costable(349)<="0011110101100000";
sintable(350)<="0111000010000011";
costable(350)<="0011110100000111";
sintable(351)<="0111000010110011";
costable(351)<="0011110010101111";
sintable(352)<="0111000011100010";
costable(352)<="0011110001010110";
sintable(353)<="0111000100010010";
costable(353)<="0011101111111101";
sintable(354)<="0111000101000001";
costable(354)<="0011101110100101";
sintable(355)<="0111000101101111";
costable(355)<="0011101101001100";
sintable(356)<="0111000110011110";
costable(356)<="0011101011110010";
sintable(357)<="0111000111001100";
costable(357)<="0011101010011001";
sintable(358)<="0111000111111010";
costable(358)<="0011101001000000";
sintable(359)<="0111001000100111";
costable(359)<="0011100111100110";
sintable(360)<="0111001001010101";
costable(360)<="0011100110001100";
sintable(361)<="0111001010000010";
costable(361)<="0011100100110010";
sintable(362)<="0111001010101111";
costable(362)<="0011100011011000";
sintable(363)<="0111001011011011";
costable(363)<="0011100001111110";
sintable(364)<="0111001100000111";
costable(364)<="0011100000100100";
sintable(365)<="0111001100110011";
costable(365)<="0011011111001010";
sintable(366)<="0111001101011111";
costable(366)<="0011011101101111";
sintable(367)<="0111001110001010";
costable(367)<="0011011100010100";
sintable(368)<="0111001110110101";
costable(368)<="0011011010111010";
sintable(369)<="0111001111100000";
costable(369)<="0011011001011111";
sintable(370)<="0111010000001011";
costable(370)<="0011011000000100";
sintable(371)<="0111010000110101";
costable(371)<="0011010110101000";
sintable(372)<="0111010001011111";
costable(372)<="0011010101001101";
sintable(373)<="0111010010001001";
costable(373)<="0011010011110010";
sintable(374)<="0111010010110010";
costable(374)<="0011010010010110";
sintable(375)<="0111010011011011";
costable(375)<="0011010000111010";
sintable(376)<="0111010100000100";
costable(376)<="0011001111011110";
sintable(377)<="0111010100101101";
costable(377)<="0011001110000010";
sintable(378)<="0111010101010101";
costable(378)<="0011001100100110";
sintable(379)<="0111010101111101";
costable(379)<="0011001011001010";
sintable(380)<="0111010110100101";
costable(380)<="0011001001101110";
sintable(381)<="0111010111001100";
costable(381)<="0011001000010001";
sintable(382)<="0111010111110100";
costable(382)<="0011000110110101";
sintable(383)<="0111011000011011";
costable(383)<="0011000101011000";
sintable(384)<="0111011001000001";
costable(384)<="0011000011111011";
sintable(385)<="0111011001101000";
costable(385)<="0011000010011110";
sintable(386)<="0111011010001110";
costable(386)<="0011000001000001";
sintable(387)<="0111011010110011";
costable(387)<="0010111111100100";
sintable(388)<="0111011011011001";
costable(388)<="0010111110000111";
sintable(389)<="0111011011111110";
costable(389)<="0010111100101001";
sintable(390)<="0111011100100011";
costable(390)<="0010111011001100";
sintable(391)<="0111011101000111";
costable(391)<="0010111001101110";
sintable(392)<="0111011101101100";
costable(392)<="0010111000010001";
sintable(393)<="0111011110010000";
costable(393)<="0010110110110011";
sintable(394)<="0111011110110100";
costable(394)<="0010110101010101";
sintable(395)<="0111011111010111";
costable(395)<="0010110011110111";
sintable(396)<="0111011111111010";
costable(396)<="0010110010011000";
sintable(397)<="0111100000011101";
costable(397)<="0010110000111010";
sintable(398)<="0111100001000000";
costable(398)<="0010101111011100";
sintable(399)<="0111100001100010";
costable(399)<="0010101101111101";
sintable(400)<="0111100010000100";
costable(400)<="0010101100011111";
sintable(401)<="0111100010100110";
costable(401)<="0010101011000000";
sintable(402)<="0111100011000111";
costable(402)<="0010101001100001";
sintable(403)<="0111100011101000";
costable(403)<="0010101000000010";
sintable(404)<="0111100100001001";
costable(404)<="0010100110100011";
sintable(405)<="0111100100101010";
costable(405)<="0010100101000100";
sintable(406)<="0111100101001010";
costable(406)<="0010100011100101";
sintable(407)<="0111100101101010";
costable(407)<="0010100010000110";
sintable(408)<="0111100110001010";
costable(408)<="0010100000100110";
sintable(409)<="0111100110101001";
costable(409)<="0010011111000111";
sintable(410)<="0111100111001000";
costable(410)<="0010011101100111";
sintable(411)<="0111100111100111";
costable(411)<="0010011100000111";
sintable(412)<="0111101000000101";
costable(412)<="0010011010101000";
sintable(413)<="0111101000100100";
costable(413)<="0010011001001000";
sintable(414)<="0111101001000010";
costable(414)<="0010010111101000";
sintable(415)<="0111101001011111";
costable(415)<="0010010110001000";
sintable(416)<="0111101001111101";
costable(416)<="0010010100101000";
sintable(417)<="0111101010011010";
costable(417)<="0010010011000111";
sintable(418)<="0111101010110110";
costable(418)<="0010010001100111";
sintable(419)<="0111101011010011";
costable(419)<="0010010000000111";
sintable(420)<="0111101011101111";
costable(420)<="0010001110100110";
sintable(421)<="0111101100001011";
costable(421)<="0010001101000101";
sintable(422)<="0111101100100110";
costable(422)<="0010001011100101";
sintable(423)<="0111101101000010";
costable(423)<="0010001010000100";
sintable(424)<="0111101101011101";
costable(424)<="0010001000100011";
sintable(425)<="0111101101110111";
costable(425)<="0010000111000010";
sintable(426)<="0111101110010010";
costable(426)<="0010000101100001";
sintable(427)<="0111101110101100";
costable(427)<="0010000100000000";
sintable(428)<="0111101111000101";
costable(428)<="0010000010011111";
sintable(429)<="0111101111011111";
costable(429)<="0010000000111110";
sintable(430)<="0111101111111000";
costable(430)<="0001111111011100";
sintable(431)<="0111110000010001";
costable(431)<="0001111101111011";
sintable(432)<="0111110000101001";
costable(432)<="0001111100011001";
sintable(433)<="0111110001000010";
costable(433)<="0001111010111000";
sintable(434)<="0111110001011010";
costable(434)<="0001111001010110";
sintable(435)<="0111110001110001";
costable(435)<="0001110111110101";
sintable(436)<="0111110010001001";
costable(436)<="0001110110010011";
sintable(437)<="0111110010100000";
costable(437)<="0001110100110001";
sintable(438)<="0111110010110111";
costable(438)<="0001110011001111";
sintable(439)<="0111110011001101";
costable(439)<="0001110001101101";
sintable(440)<="0111110011100011";
costable(440)<="0001110000001011";
sintable(441)<="0111110011111001";
costable(441)<="0001101110101001";
sintable(442)<="0111110100001111";
costable(442)<="0001101101000111";
sintable(443)<="0111110100100100";
costable(443)<="0001101011100100";
sintable(444)<="0111110100111001";
costable(444)<="0001101010000010";
sintable(445)<="0111110101001110";
costable(445)<="0001101000100000";
sintable(446)<="0111110101100010";
costable(446)<="0001100110111101";
sintable(447)<="0111110101110110";
costable(447)<="0001100101011011";
sintable(448)<="0111110110001010";
costable(448)<="0001100011111000";
sintable(449)<="0111110110011101";
costable(449)<="0001100010010110";
sintable(450)<="0111110110110000";
costable(450)<="0001100000110011";
sintable(451)<="0111110111000011";
costable(451)<="0001011111010000";
sintable(452)<="0111110111010110";
costable(452)<="0001011101101101";
sintable(453)<="0111110111101000";
costable(453)<="0001011100001010";
sintable(454)<="0111110111111010";
costable(454)<="0001011010101000";
sintable(455)<="0111111000001100";
costable(455)<="0001011001000101";
sintable(456)<="0111111000011101";
costable(456)<="0001010111100010";
sintable(457)<="0111111000101110";
costable(457)<="0001010101111111";
sintable(458)<="0111111000111111";
costable(458)<="0001010100011011";
sintable(459)<="0111111001001111";
costable(459)<="0001010010111000";
sintable(460)<="0111111001011111";
costable(460)<="0001010001010101";
sintable(461)<="0111111001101111";
costable(461)<="0001001111110010";
sintable(462)<="0111111001111111";
costable(462)<="0001001110001110";
sintable(463)<="0111111010001110";
costable(463)<="0001001100101011";
sintable(464)<="0111111010011101";
costable(464)<="0001001011001000";
sintable(465)<="0111111010101011";
costable(465)<="0001001001100100";
sintable(466)<="0111111010111010";
costable(466)<="0001001000000001";
sintable(467)<="0111111011001000";
costable(467)<="0001000110011101";
sintable(468)<="0111111011010101";
costable(468)<="0001000100111001";
sintable(469)<="0111111011100011";
costable(469)<="0001000011010110";
sintable(470)<="0111111011110000";
costable(470)<="0001000001110010";
sintable(471)<="0111111011111101";
costable(471)<="0001000000001110";
sintable(472)<="0111111100001001";
costable(472)<="0000111110101011";
sintable(473)<="0111111100010101";
costable(473)<="0000111101000111";
sintable(474)<="0111111100100001";
costable(474)<="0000111011100011";
sintable(475)<="0111111100101101";
costable(475)<="0000111001111111";
sintable(476)<="0111111100111000";
costable(476)<="0000111000011011";
sintable(477)<="0111111101000011";
costable(477)<="0000110110110111";
sintable(478)<="0111111101001101";
costable(478)<="0000110101010011";
sintable(479)<="0111111101011000";
costable(479)<="0000110011101111";
sintable(480)<="0111111101100010";
costable(480)<="0000110010001011";
sintable(481)<="0111111101101011";
costable(481)<="0000110000100111";
sintable(482)<="0111111101110101";
costable(482)<="0000101111000011";
sintable(483)<="0111111101111110";
costable(483)<="0000101101011111";
sintable(484)<="0111111110000111";
costable(484)<="0000101011111011";
sintable(485)<="0111111110001111";
costable(485)<="0000101010010111";
sintable(486)<="0111111110010111";
costable(486)<="0000101000110011";
sintable(487)<="0111111110011111";
costable(487)<="0000100111001110";
sintable(488)<="0111111110100111";
costable(488)<="0000100101101010";
sintable(489)<="0111111110101110";
costable(489)<="0000100100000110";
sintable(490)<="0111111110110101";
costable(490)<="0000100010100010";
sintable(491)<="0111111110111100";
costable(491)<="0000100000111101";
sintable(492)<="0111111111000010";
costable(492)<="0000011111011001";
sintable(493)<="0111111111001000";
costable(493)<="0000011101110101";
sintable(494)<="0111111111001110";
costable(494)<="0000011100010000";
sintable(495)<="0111111111010011";
costable(495)<="0000011010101100";
sintable(496)<="0111111111011000";
costable(496)<="0000011001000111";
sintable(497)<="0111111111011101";
costable(497)<="0000010111100011";
sintable(498)<="0111111111100001";
costable(498)<="0000010101111111";
sintable(499)<="0111111111100101";
costable(499)<="0000010100011010";
sintable(500)<="0111111111101001";
costable(500)<="0000010010110110";
sintable(501)<="0111111111101101";
costable(501)<="0000010001010001";
sintable(502)<="0111111111110000";
costable(502)<="0000001111101101";
sintable(503)<="0111111111110011";
costable(503)<="0000001110001000";
sintable(504)<="0111111111110110";
costable(504)<="0000001100100100";
sintable(505)<="0111111111111000";
costable(505)<="0000001010111111";
sintable(506)<="0111111111111010";
costable(506)<="0000001001011011";
sintable(507)<="0111111111111100";
costable(507)<="0000000111110110";
sintable(508)<="0111111111111101";
costable(508)<="0000000110010010";
sintable(509)<="0111111111111110";
costable(509)<="0000000100101101";
sintable(510)<="0111111111111111";
costable(510)<="0000000011001001";
sintable(511)<="0111111111111111";
costable(511)<="0000000001100100";
sintable(512)<="1000000000000000";
costable(512)<="0000000000000000";
process(clk)
begin
if clk='1' and clk'event then
ccount <= ccount+1;
if (ccount = 245) then
ccount <= 1;
num <= num + 1;
if (num = 513) then
num <= 0;
end if;
end if;
sin_data <= sintable(num);
cos_data <= costable(num);
end if;
end process;
end Behaviour;
Last edited by a moderator: