www.pudn.com > jaguar2s.zip > cosrom256_w3.vhd


--************************************************************ 
--************************************************************ 
--*----------------------------------------------------------* 
--*|Version                               :1.0               | 
--*|Date of Last Revision                 :12/23/1998        | 
--*----------------------------------------------------------* 
--************************************************************ 
-- Copyright (C) 1999 Drey Enterprises Inc.   All Rights Reserved. 
--************************************************************ 
-- Warning: This file is protected by Federal Copyright Law, 
-- with all rights reserved. It is unlawful to reproduce 
-- any parts of this file, in any form, without expressed 
-- written permission from Drey Enterprises Inc. This Copyright 
-- is actively enforced. 
--************************************************************ 
--************************************************************ 
 
library IEEE; 
use IEEE.std_logic_1164.all; 
use IEEE.std_logic_unsigned.all; 
 
-- cos(2*pi*n*3/1024); 
 
entity COSROM256_W3 is 
    port( 
        addr            :in std_logic_vector(7 downto 0); 
        cos_w3          :out std_logic_vector(31 downto 0) 
    ); 
end COSROM256_W3; 
 
architecture behavior of COSROM256_W3 is 
 
    constant ROM_WIDTH:integer := 32; 
    subtype ROMWORD is std_logic_vector(ROM_WIDTH-1 downto 0); 
    type ROM_TABLE is array(0 to 255) of ROMWORD; 
 
    constant ROM:ROM_TABLE := ROM_TABLE'( 
        ROMWORD'("01111111111111111111111111111111"),--address=0 
        ROMWORD'("01111111111110100111001011010000"),--address=1 
        ROMWORD'("01111111111010011100101110111110"),--address=2 
        ROMWORD'("01111111110011100000110000111101"),--address=3 
        ROMWORD'("01111111101001110011011010110010"),--address=4 
        ROMWORD'("01111111011101010100111001111110"),--address=5 
        ROMWORD'("01111111001110000101011111110011"),--address=6 
        ROMWORD'("01111110111100000101100001011101"),--address=7 
        ROMWORD'("01111110100111010101010111111001"),--address=8 
        ROMWORD'("01111110001111110101011111111100"),--address=9 
        ROMWORD'("01111101110101100110011010001011"),--address=10 
        ROMWORD'("01111101011000101000101011000010"),--address=11 
        ROMWORD'("01111100111000111100111010101101"),--address=12 
        ROMWORD'("01111100010110100011110101001011"),--address=13 
        ROMWORD'("01111011110001011110001010001010"),--address=14 
        ROMWORD'("01111011001001101100101101001001"),--address=15 
        ROMWORD'("01111010011111010000010101010101"),--address=16 
        ROMWORD'("01111001110010001001111101100110"),--address=17 
        ROMWORD'("01111001000010011010100100100101"),--address=18 
        ROMWORD'("01111000010000000011001100100000"),--address=19 
        ROMWORD'("01110111011011000100111011010010"),--address=20 
        ROMWORD'("01110110100011100000111010011011"),--address=21 
        ROMWORD'("01110101101001011000010111000100"),--address=22 
        ROMWORD'("01110100101100101100100001111000"),--address=23 
        ROMWORD'("01110011101101011110101111000100"),--address=24 
        ROMWORD'("01110010101011110000010110011001"),--address=25 
        ROMWORD'("01110001100111100010110011000100"),--address=26 
        ROMWORD'("01110000100000110111100011101111"),--address=27 
        ROMWORD'("01101111010111110000001010100001"),--address=28 
        ROMWORD'("01101110001100001110001100111000"),--address=29 
        ROMWORD'("01101100111110010011010011101001"),--address=30 
        ROMWORD'("01101011101110000001001010111101"),--address=31 
        ROMWORD'("01101010011011011001100010001111"),--address=32 
        ROMWORD'("01101001000110011110001100001010"),--address=33 
        ROMWORD'("01100111101111010000111110100101"),--address=34 
        ROMWORD'("01100110010101110011110010100011"),--address=35 
        ROMWORD'("01100100111010001000100100001101"),--address=36 
        ROMWORD'("01100011011100010001010010110001"),--address=37 
        ROMWORD'("01100001111100010000000000100011"),--address=38 
        ROMWORD'("01100000011010000110110010110001"),--address=39 
        ROMWORD'("01011110110101110111110001101011"),--address=40 
        ROMWORD'("01011101001111100101001000010111"),--address=41 
        ROMWORD'("01011011100111010001000100110010"),--address=42 
        ROMWORD'("01011001111100111101110111101111"),--address=43 
        ROMWORD'("01011000010000101101110100110000"),--address=44 
        ROMWORD'("01010110100010100011010010000100"),--address=45 
        ROMWORD'("01010100110010100000101000100011"),--address=46 
        ROMWORD'("01010011000000101000010011101111"),--address=47 
        ROMWORD'("01010001001100111100110001101010"),--address=48 
        ROMWORD'("01001111010111100000100010111000"),--address=49 
        ROMWORD'("01001101100000010110001010010111"),--address=50 
        ROMWORD'("01001011100111100000001101100001"),--address=51 
        ROMWORD'("01001001101101000001010100000100"),--address=52 
        ROMWORD'("01000111110000111100000111111110"),--address=53 
        ROMWORD'("01000101110011010011010101011101"),--address=54 
        ROMWORD'("01000011110100001001101010111000"),--address=55 
        ROMWORD'("01000001110011100001111000101111"),--address=56 
        ROMWORD'("00111111110001011110110001100000"),--address=57 
        ROMWORD'("00111101101110000011001001101101"),--address=58 
        ROMWORD'("00111011101001010001110111101111"),--address=59 
        ROMWORD'("00111001100011001101110011110110"),--address=60 
        ROMWORD'("00110111011011111001111000001001"),--address=61 
        ROMWORD'("00110101010011011001000000011000"),--address=62 
        ROMWORD'("00110011001001101110001010000010"),--address=63 
        ROMWORD'("00110000111110111100010100001011"),--address=64 
        ROMWORD'("00101110110011000110011111011011"),--address=65 
        ROMWORD'("00101100100110001111101101110110"),--address=66 
        ROMWORD'("00101010011000011011000010111011"),--address=67 
        ROMWORD'("00101000001001101011100011100000"),--address=68 
        ROMWORD'("00100101111010000100010101101101"),--address=69 
        ROMWORD'("00100011101001101000100000110100"),--address=70 
        ROMWORD'("00100001011000011011001101010100"),--address=71 
        ROMWORD'("00011111000110011111100100101110"),--address=72 
        ROMWORD'("00011100110011111000110001100100"),--address=73 
        ROMWORD'("00011010100000101001111111010101"),--address=74 
        ROMWORD'("00011000001100110110011010010111"),--address=75 
        ROMWORD'("00010101111000100001001111110010"),--address=76 
        ROMWORD'("00010011100011101101101101011100"),--address=77 
        ROMWORD'("00010001001110011111000001111001"),--address=78 
        ROMWORD'("00001110111000111000011100001111"),--address=79 
        ROMWORD'("00001100100010111101001100000110"),--address=80 
        ROMWORD'("00001010001100110000100001100011"),--address=81 
        ROMWORD'("00000111110110010101101101000100"),--address=82 
        ROMWORD'("00000101011111101111111111011001"),--address=83 
        ROMWORD'("00000011001001000010101001100010"),--address=84 
        ROMWORD'("00000000110010010000111100101010"),--address=85 
        ROMWORD'("11111110011011011110001010000010"),--address=86 
        ROMWORD'("11111100000100101101100010111011"),--address=87 
        ROMWORD'("11111001101110000010011000100100"),--address=88 
        ROMWORD'("11110111010111011111111100000100"),--address=89 
        ROMWORD'("11110101000001001001011110011001"),--address=90 
        ROMWORD'("11110010101011000010010000001011"),--address=91 
        ROMWORD'("11110000010101001101100001110001"),--address=92 
        ROMWORD'("11101101111111101110100011000110"),--address=93 
        ROMWORD'("11101011101010101000100011101001"),--address=94 
        ROMWORD'("11101001010101111110110010010101"),--address=95 
        ROMWORD'("11100111000001110100011101011101"),--address=96 
        ROMWORD'("11100100101110001100110010101001"),--address=97 
        ROMWORD'("11100010011011001010111110110011"),--address=98 
        ROMWORD'("11100000001000110010001101111100"),--address=99 
        ROMWORD'("11011101110111000101101011010001"),--address=100 
        ROMWORD'("11011011100110001000100000111111"),--address=101 
        ROMWORD'("11011001010101111101111000010000"),--address=102 
        ROMWORD'("11010111000110101000111001001011"),--address=103 
        ROMWORD'("11010100111000001100101010101010"),--address=104 
        ROMWORD'("11010010101010101100010010011001"),--address=105 
        ROMWORD'("11010000011110001010110100110010"),--address=106 
        ROMWORD'("11001110010010101011010100110111"),--address=107 
        ROMWORD'("11001100001000010000110100001101"),--address=108 
        ROMWORD'("11001001111110111110010010111011"),--address=109 
        ROMWORD'("11000111110110110110101111100100"),--address=110 
        ROMWORD'("11000101101111111101000111000010"),--address=111 
        ROMWORD'("11000011101010010100010100100100"),--address=112 
        ROMWORD'("11000001100101111111010001101000"),--address=113 
        ROMWORD'("10111111100011000000110101110111"),--address=114 
        ROMWORD'("10111101100001011011110111000101"),--address=115 
        ROMWORD'("10111011100001010011001001000101"),--address=116 
        ROMWORD'("10111001100010101001011101101110"),--address=117 
        ROMWORD'("10110111100101100001100100110001"),--address=118 
        ROMWORD'("10110101101001111110001011111001"),--address=119 
        ROMWORD'("10110011110000000001111110100100"),--address=120 
        ROMWORD'("10110001110111101111100110000000"),--address=121 
        ROMWORD'("10110000000001001001101001001011"),--address=122 
        ROMWORD'("10101110001100010010101100101011"),--address=123 
        ROMWORD'("10101100011001001101010010101010"),--address=124 
        ROMWORD'("10101010100111111011111010111000"),--address=125 
        ROMWORD'("10101000111000100001000010100010"),--address=126 
        ROMWORD'("10100111001010111111000100010000"),--address=127 
        ROMWORD'("10100101011111011000011000000100"),--address=128 
        ROMWORD'("10100011110101101111010011010010"),--address=129 
        ROMWORD'("10100010001110000110001000100100"),--address=130 
        ROMWORD'("10100000101000011111000111101110"),--address=131 
        ROMWORD'("10011111000100111100011101110010"),--address=132 
        ROMWORD'("10011101100011100000010100111011"),--address=133 
        ROMWORD'("10011100000100001100110100010101"),--address=134 
        ROMWORD'("10011010100111000100000000010100"),--address=135 
        ROMWORD'("10011001001100000111111010001000"),--address=136 
        ROMWORD'("10010111110011011010011111111111"),--address=137 
        ROMWORD'("10010110011100111101101100111111"),--address=138 
        ROMWORD'("10010101001000110011011001001001"),--address=139 
        ROMWORD'("10010011110110111101011001001111"),--address=140 
        ROMWORD'("10010010100111011101011110110111"),--address=141 
        ROMWORD'("10010001011010010101011000010110"),--address=142 
        ROMWORD'("10010000001111100110110000101111"),--address=143 
        ROMWORD'("10001111000111010011001111110001"),--address=144 
        ROMWORD'("10001110000001011100011001110000"),--address=145 
        ROMWORD'("10001100111110000011101111101011"),--address=146 
        ROMWORD'("10001011111101001010101111000010"),--address=147 
        ROMWORD'("10001010111110110010110001111010"),--address=148 
        ROMWORD'("10001010000010111101001110110111"),--address=149 
        ROMWORD'("10001001001001101011011000111011"),--address=150 
        ROMWORD'("10001000010010111110011111100111"),--address=151 
        ROMWORD'("10000111011110110111101110110101"),--address=152 
        ROMWORD'("10000110101101011000001110111010"),--address=153 
        ROMWORD'("10000101111110100001000100100001"),--address=154 
        ROMWORD'("10000101010010010011010000101101"),--address=155 
        ROMWORD'("10000100101000101111110000110110"),--address=156 
        ROMWORD'("10000100000001110111011110100110"),--address=157 
        ROMWORD'("10000011011101101011001111111011"),--address=158 
        ROMWORD'("10000010111100001011110111000100"),--address=159 
        ROMWORD'("10000010011101011010000010011111"),--address=160 
        ROMWORD'("10000010000001010110011100111011"),--address=161 
        ROMWORD'("10000001101000000001101101010010"),--address=162 
        ROMWORD'("10000001010001011100010110101111"),--address=163 
        ROMWORD'("10000000111101100110111000101000"),--address=164 
        ROMWORD'("10000000101100100001101110011110"),--address=165 
        ROMWORD'("10000000011110001101001111111111"),--address=166 
        ROMWORD'("10000000010010101001110001000010"),--address=167 
        ROMWORD'("10000000001001110111100001101011"),--address=168 
        ROMWORD'("10000000000011110110101110000100"),--address=169 
        ROMWORD'("10000000000000100111011110100101"),--address=170 
        ROMWORD'("10000000000000001001110111101100"),--address=171 
        ROMWORD'("10000000000010011101111010000100"),--address=172 
        ROMWORD'("10000000000111100011100010011110"),--address=173 
        ROMWORD'("10000000001111011010101001110111"),--address=174 
        ROMWORD'("10000000011010000011000101010100"),--address=175 
        ROMWORD'("10000000100111011100100110000101"),--address=176 
        ROMWORD'("10000000110111100110111001100100"),--address=177 
        ROMWORD'("10000001001010100001101001010110"),--address=178 
        ROMWORD'("10000001100000001100011011001001"),--address=179 
        ROMWORD'("10000001111000100110110000111010"),--address=180 
        ROMWORD'("10000010010011110000001000101111"),--address=181 
        ROMWORD'("10000010110001100111111100111111"),--address=182 
        ROMWORD'("10000011010010001101100100001011"),--address=183 
        ROMWORD'("10000011110101100000010001000100"),--address=184 
        ROMWORD'("10000100011011011111010010101101"),--address=185 
        ROMWORD'("10000101000100001001110100010111"),--address=186 
        ROMWORD'("10000101101111011110111101100110"),--address=187 
        ROMWORD'("10000110011101011101110010010001"),--address=188 
        ROMWORD'("10000111001110000101010010100101"),--address=189 
        ROMWORD'("10001000000001010100011011000010"),--address=190 
        ROMWORD'("10001000110111001010000100100001"),--address=191 
        ROMWORD'("10001001101111100101000100010101"),--address=192 
        ROMWORD'("10001010101010100100001100001011"),--address=193 
        ROMWORD'("10001011101000000110001010001001"),--address=194 
        ROMWORD'("10001100101000001001101000111000"),--address=195 
        ROMWORD'("10001101101010101101001111011110"),--address=196 
        ROMWORD'("10001110101111101111100001100010"),--address=197 
        ROMWORD'("10001111110111001110111111010001"),--address=198 
        ROMWORD'("10010001000001001010000101011100"),--address=199 
        ROMWORD'("10010010001101011111001101011110"),--address=200 
        ROMWORD'("10010011011100001100101101011010"),--address=201 
        ROMWORD'("10010100101101010000111000000010"),--address=202 
        ROMWORD'("10010110000000101001111100110100"),--address=203 
        ROMWORD'("10010111010110010110001000000001"),--address=204 
        ROMWORD'("10011000101110010011100010101111"),--address=205 
        ROMWORD'("10011010001000100000010010110111"),--address=206 
        ROMWORD'("10011011100100111010011011001111"),--address=207 
        ROMWORD'("10011101000011011111111011100110"),--address=208 
        ROMWORD'("10011110100100001110110000101011"),--address=209 
        ROMWORD'("10100000000111000100110100001101"),--address=210 
        ROMWORD'("10100001101011111111111101000001"),--address=211 
        ROMWORD'("10100011010010111101111111000010"),--address=212 
        ROMWORD'("10100100111011111100101011010111"),--address=213 
        ROMWORD'("10100110100110111001110000010010"),--address=214 
        ROMWORD'("10101000010011110010111001010111"),--address=215 
        ROMWORD'("10101010000010100101101111011111"),--address=216 
        ROMWORD'("10101011110011001111111000111000"),--address=217 
        ROMWORD'("10101101100101101110111001001010"),--address=218 
        ROMWORD'("10101111011010000000010001011110"),--address=219 
        ROMWORD'("10110001010000000001100000011011"),--address=220 
        ROMWORD'("10110011000111110000000010001111"),--address=221 
        ROMWORD'("10110101000001001001010000101111"),--address=222 
        ROMWORD'("10110110111100001010100011011100"),--address=223 
        ROMWORD'("10111000111000110001001111100111"),--address=224 
        ROMWORD'("10111010110110111010101000010101"),--address=225 
        ROMWORD'("10111100110110100011111110011111"),--address=226 
        ROMWORD'("10111110110111101010100000111101"),--address=227 
        ROMWORD'("11000000111010001011011100100011"),--address=228 
        ROMWORD'("11000010111110000011111100001000"),--address=229 
        ROMWORD'("11000101000011010001001000101010"),--address=230 
        ROMWORD'("11000111001001110000001001010001"),--address=231 
        ROMWORD'("11001001010001011110000011010100"),--address=232 
        ROMWORD'("11001011011010010111111010011011"),--address=233 
        ROMWORD'("11001101100100011010110000100110"),--address=234 
        ROMWORD'("11001111101111100011100110010000"),--address=235 
        ROMWORD'("11010001111011101111011010010001"),--address=236 
        ROMWORD'("11010100001000111011001010000111"),--address=237 
        ROMWORD'("11010110010111000011110001110011"),--address=238 
        ROMWORD'("11011000100110000110001100000111"),--address=239 
        ROMWORD'("11011010110101111111010010100000"),--address=240 
        ROMWORD'("11011101000110101011111101010001"),--address=241 
        ROMWORD'("11011111011000001001000011100110"),--address=242 
        ROMWORD'("11100001101010010011011011100110"),--address=243 
        ROMWORD'("11100011111101000111111010011100"),--address=244 
        ROMWORD'("11100110010000100011010100010110"),--address=245 
        ROMWORD'("11101000100100100010011100101100"),--address=246 
        ROMWORD'("11101010111001000010000110000111"),--address=247 
        ROMWORD'("11101101001101111111000010100000"),--address=248 
        ROMWORD'("11101111100011010110000011001001"),--address=249 
        ROMWORD'("11110001111001000011111000101110"),--address=250 
        ROMWORD'("11110100001111000101010011011110"),--address=251 
        ROMWORD'("11110110100101010111000011001100"),--address=252 
        ROMWORD'("11111000111011110101110111010010"),--address=253 
        ROMWORD'("11111011010010011110011110111010"),--address=254 
        ROMWORD'("11111101101001001101101001000001")--address=255 
    ); 
     
begin 
 
    cos_w3 <= ROM(CONV_INTEGER(addr)); 
 
end behavior;