www.pudn.com > jaguar2s.zip > cosrom256_w2.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*2/1024); 
 
entity COSROM256_W2 is 
    port( 
        addr           :in std_logic_vector(7 downto 0); 
        cos_w2         :out std_logic_vector(31 downto 0) 
    ); 
end COSROM256_W2; 
 
architecture behavior of COSROM256_W2 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'("01111111111111011000100001011001"),--address=1 
        ROMWORD'("01111111111101100010000110000001"),--address=2 
        ROMWORD'("01111111111010011100101110111110"),--address=3 
        ROMWORD'("01111111110110001000011110001100"),--address=4 
        ROMWORD'("01111111110000100101010110010101"),--address=5 
        ROMWORD'("01111111101001110011011010110010"),--address=6 
        ROMWORD'("01111111100001110010101111110001"),--address=7 
        ROMWORD'("01111111011000100011011010001101"),--address=8 
        ROMWORD'("01111111001110000101011111110011"),--address=9 
        ROMWORD'("01111111000010011001000111000001"),--address=10 
        ROMWORD'("01111110110101011110010111000100"),--address=11 
        ROMWORD'("01111110100111010101010111111001"),--address=12 
        ROMWORD'("01111110010111111110010010010000"),--address=13 
        ROMWORD'("01111110000111011001001111100111"),--address=14 
        ROMWORD'("01111101110101100110011010001011"),--address=15 
        ROMWORD'("01111101100010100101111100111100"),--address=16 
        ROMWORD'("01111101001110011000000011101000"),--address=17 
        ROMWORD'("01111100111000111100111010101101"),--address=18 
        ROMWORD'("01111100100010010100101111011001"),--address=19 
        ROMWORD'("01111100001010011111101111101001"),--address=20 
        ROMWORD'("01111011110001011110001010001010"),--address=21 
        ROMWORD'("01111011010111010000001110011000"),--address=22 
        ROMWORD'("01111010111011110110001100011101"),--address=23 
        ROMWORD'("01111010011111010000010101010101"),--address=24 
        ROMWORD'("01111010000001011110111010100110"),--address=25 
        ROMWORD'("01111001100010100010001110101010"),--address=26 
        ROMWORD'("01111001000010011010100100100101"),--address=27 
        ROMWORD'("01111000100001001000010000001011"),--address=28 
        ROMWORD'("01110111111110101011100110000000"),--address=29 
        ROMWORD'("01110111011011000100111011010010"),--address=30 
        ROMWORD'("01110110110110010100100101111111"),--address=31 
        ROMWORD'("01110110010000011010111100110010"),--address=32 
        ROMWORD'("01110101101001011000010111000100"),--address=33 
        ROMWORD'("01110101000001001101001100111010"),--address=34 
        ROMWORD'("01110100010111111001110111000101"),--address=35 
        ROMWORD'("01110011101101011110101111000100"),--address=36 
        ROMWORD'("01110011000001111100001111000011"),--address=37 
        ROMWORD'("01110010010101010010110001110111"),--address=38 
        ROMWORD'("01110001100111100010110011000100"),--address=39 
        ROMWORD'("01110000111000101100101110110111"),--address=40 
        ROMWORD'("01110000001000110001000010001010"),--address=41 
        ROMWORD'("01101111010111110000001010100001"),--address=42 
        ROMWORD'("01101110100101101010100110001100"),--address=43 
        ROMWORD'("01101101110010100000110100000010"),--address=44 
        ROMWORD'("01101100111110010011010011101001"),--address=45 
        ROMWORD'("01101100001001000010100101001101"),--address=46 
        ROMWORD'("01101011010010101111001001100100"),--address=47 
        ROMWORD'("01101010011011011001100010001111"),--address=48 
        ROMWORD'("01101001100011000010010001010110"),--address=49 
        ROMWORD'("01101000101001101001111001101011"),--address=50 
        ROMWORD'("01100111101111010000111110100101"),--address=51 
        ROMWORD'("01100110110011111000000100001000"),--address=52 
        ROMWORD'("01100101110111011111101110111010"),--address=53 
        ROMWORD'("01100100111010001000100100001101"),--address=54 
        ROMWORD'("01100011111011110011001001110101"),--address=55 
        ROMWORD'("01100010111100100000000110010001"),--address=56 
        ROMWORD'("01100001111100010000000000100011"),--address=57 
        ROMWORD'("01100000111011000011100000010011"),--address=58 
        ROMWORD'("01011111111000111011001101101111"),--address=59 
        ROMWORD'("01011110110101110111110001101011"),--address=60 
        ROMWORD'("01011101110001111001110101011100"),--address=61 
        ROMWORD'("01011100101101000010000010111111"),--address=62 
        ROMWORD'("01011011100111010001000100110010"),--address=63 
        ROMWORD'("01011010100000100111100101111000"),--address=64 
        ROMWORD'("01011001011001000110010001110100"),--address=65 
        ROMWORD'("01011000010000101101110100110000"),--address=66 
        ROMWORD'("01010111000111011110111011010100"),--address=67 
        ROMWORD'("01010101111101011010010010101100"),--address=68 
        ROMWORD'("01010100110010100000101000100011"),--address=69 
        ROMWORD'("01010011100110110010101011001000"),--address=70 
        ROMWORD'("01010010011010010001001001000101"),--address=71 
        ROMWORD'("01010001001100111100110001101010"),--address=72 
        ROMWORD'("01001111111110110110010100100010"),--address=73 
        ROMWORD'("01001110101111111110100001111001"),--address=74 
        ROMWORD'("01001101100000010110001010010111"),--address=75 
        ROMWORD'("01001100001111111101111111000110"),--address=76 
        ROMWORD'("01001010111110110110110001101001"),--address=77 
        ROMWORD'("01001001101101000001010100000100"),--address=78 
        ROMWORD'("01001000011010011110011000110100"),--address=79 
        ROMWORD'("01000111000111001110110010110101"),--address=80 
        ROMWORD'("01000101110011010011010101011101"),--address=81 
        ROMWORD'("01000100011110101100110100011101"),--address=82 
        ROMWORD'("01000011001001011100000100000001"),--address=83 
        ROMWORD'("01000001110011100001111000101111"),--address=84 
        ROMWORD'("01000000011100111111000111100110"),--address=85 
        ROMWORD'("00111111000101110100100110000000"),--address=86 
        ROMWORD'("00111101101110000011001001101101"),--address=87 
        ROMWORD'("00111100010101101011101000110110"),--address=88 
        ROMWORD'("00111010111100101110111001111100"),--address=89 
        ROMWORD'("00111001100011001101110011110110"),--address=90 
        ROMWORD'("00111000001001001001001101110011"),--address=91 
        ROMWORD'("00110110101110100001111111010110"),--address=92 
        ROMWORD'("00110101010011011001000000011000"),--address=93 
        ROMWORD'("00110011110111101111001001000111"),--address=94 
        ROMWORD'("00110010011011100101010010000111"),--address=95 
        ROMWORD'("00110000111110111100010100001011"),--address=96 
        ROMWORD'("00101111100001110101001000011111"),--address=97 
        ROMWORD'("00101110000100010000101000011110"),--address=98 
        ROMWORD'("00101100100110001111101101110110"),--address=99 
        ROMWORD'("00101011000111110011010010100101"),--address=100 
        ROMWORD'("00101001101000111100010000111110"),--address=101 
        ROMWORD'("00101000001001101011100011100000"),--address=102 
        ROMWORD'("00100110101010000010000100111101"),--address=103 
        ROMWORD'("00100101001010000000110000010100"),--address=104 
        ROMWORD'("00100011101001101000100000110100"),--address=105 
        ROMWORD'("00100010001000111010010001111010"),--address=106 
        ROMWORD'("00100000100111110110111111010000"),--address=107 
        ROMWORD'("00011111000110011111100100101110"),--address=108 
        ROMWORD'("00011101100100110100111110010111"),--address=109 
        ROMWORD'("00011100000010111000001000011011"),--address=110 
        ROMWORD'("00011010100000101001111111010101"),--address=111 
        ROMWORD'("00011000111110001011011111101011"),--address=112 
        ROMWORD'("00010111011011011101100110001100"),--address=113 
        ROMWORD'("00010101111000100001001111110010"),--address=114 
        ROMWORD'("00010100010101010111011001011101"),--address=115 
        ROMWORD'("00010010110010000001000000011010"),--address=116 
        ROMWORD'("00010001001110011111000001111001"),--address=117 
        ROMWORD'("00001111101010110010011011010101"),--address=118 
        ROMWORD'("00001110000110111100001010001100"),--address=119 
        ROMWORD'("00001100100010111101001100000110"),--address=120 
        ROMWORD'("00001010111110110110011110101100"),--address=121 
        ROMWORD'("00001001011010101000111111110000"),--address=122 
        ROMWORD'("00000111110110010101101101000100"),--address=123 
        ROMWORD'("00000110010001111101100100100001"),--address=124 
        ROMWORD'("00000100101101100001100100000001"),--address=125 
        ROMWORD'("00000011001001000010101001100010"),--address=126 
        ROMWORD'("00000001100100100001110011000010"),--address=127 
        ROMWORD'("11111111111111111111111110100011"),--address=128 
        ROMWORD'("11111110011011011110001010000010"),--address=129 
        ROMWORD'("11111100110110111101010011100010"),--address=130 
        ROMWORD'("11111011010010011110011001000011"),--address=131 
        ROMWORD'("11111001101110000010011000100100"),--address=132 
        ROMWORD'("11111000001001101010010000000001"),--address=133 
        ROMWORD'("11110110100101010110111101010101"),--address=134 
        ROMWORD'("11110101000001001001011110011001"),--address=135 
        ROMWORD'("11110011011101000010110000111111"),--address=136 
        ROMWORD'("11110001111001000011110010111001"),--address=137 
        ROMWORD'("11110000010101001101100001110001"),--address=138 
        ROMWORD'("11101110110001100000111011001101"),--address=139 
        ROMWORD'("11101101001101111110111100101101"),--address=140 
        ROMWORD'("11101011101010101000100011101001"),--address=141 
        ROMWORD'("11101010000111011110101101010110"),--address=142 
        ROMWORD'("11101000100100100010010110111011"),--address=143 
        ROMWORD'("11100111000001110100011101011101"),--address=144 
        ROMWORD'("11100101011111010101111101110011"),--address=145 
        ROMWORD'("11100011111101000111110100101110"),--address=146 
        ROMWORD'("11100010011011001010111110110011"),--address=147 
        ROMWORD'("11100000111001100000011000011100"),--address=148 
        ROMWORD'("11011111011000001000111101111011"),--address=149 
        ROMWORD'("11011101110111000101101011010001"),--address=150 
        ROMWORD'("11011100010110010111011100011000"),--address=151 
        ROMWORD'("11011010110101111111001100111000"),--address=152 
        ROMWORD'("11011001010101111101111000010000"),--address=153 
        ROMWORD'("11010111110110010100011001101101"),--address=154 
        ROMWORD'("11010110010111000011101100010000"),--address=155 
        ROMWORD'("11010100111000001100101010101010"),--address=156 
        ROMWORD'("11010011011001110000001111011010"),--address=157 
        ROMWORD'("11010001111011101111010100110011"),--address=158 
        ROMWORD'("11010000011110001010110100110010"),--address=159 
        ROMWORD'("11001111000001000011101001000111"),--address=160 
        ROMWORD'("11001101100100011010101011001101"),--address=161 
        ROMWORD'("11001100001000010000110100001101"),--address=162 
        ROMWORD'("11001010101100100110111100111101"),--address=163 
        ROMWORD'("11001001010001011101111110000000"),--address=164 
        ROMWORD'("11000111110110110110101111100100"),--address=165 
        ROMWORD'("11000110011100110010001001100010"),--address=166 
        ROMWORD'("11000101000011010001000011011101"),--address=167 
        ROMWORD'("11000011101010010100010100100100"),--address=168 
        ROMWORD'("11000010010001111100110011101111"),--address=169 
        ROMWORD'("11000000111010001011010111011101"),--address=170 
        ROMWORD'("10111111100011000000110101110111"),--address=171 
        ROMWORD'("10111110001100011110000100110000"),--address=172 
        ROMWORD'("10111100110110100011111001100000"),--address=173 
        ROMWORD'("10111011100001010011001001000101"),--address=174 
        ROMWORD'("10111010001100101100101000000110"),--address=175 
        ROMWORD'("10111000111000110001001010101111"),--address=176 
        ROMWORD'("10110111100101100001100100110001"),--address=177 
        ROMWORD'("10110110010010111110101001100011"),--address=178 
        ROMWORD'("10110101000001001001001011111111"),--address=179 
        ROMWORD'("10110011110000000001111110100100"),--address=180 
        ROMWORD'("10110010011111101001110011010011"),--address=181 
        ROMWORD'("10110001010000000001011011110011"),--address=182 
        ROMWORD'("10110000000001001001101001001011"),--address=183 
        ROMWORD'("10101110110011000011001100000101"),--address=184 
        ROMWORD'("10101101100101101110110100101011"),--address=185 
        ROMWORD'("10101100011001001101010010101010"),--address=186 
        ROMWORD'("10101011001101011111010101010000"),--address=187 
        ROMWORD'("10101010000010100101101011001001"),--address=188 
        ROMWORD'("10101000111000100001000010100010"),--address=189 
        ROMWORD'("10100111101111010010001001001000"),--address=190 
        ROMWORD'("10100110100110111001101100000101"),--address=191 
        ROMWORD'("10100101011111011000011000000100"),--address=192 
        ROMWORD'("10100100011000101110111001001011"),--address=193 
        ROMWORD'("10100011010010111101111010111111"),--address=194 
        ROMWORD'("10100010001110000110001000100100"),--address=195 
        ROMWORD'("10100001001010001000001100010111"),--address=196 
        ROMWORD'("10100000000111000100110000010100"),--address=197 
        ROMWORD'("10011111000100111100011101110010"),--address=198 
        ROMWORD'("10011110000011101111111101100100"),--address=199 
        ROMWORD'("10011101000011011111110111111000"),--address=200 
        ROMWORD'("10011100000100001100110100010101"),--address=201 
        ROMWORD'("10011011000101110111011010000000"),--address=202 
        ROMWORD'("10011010001000100000001111010100"),--address=203 
        ROMWORD'("10011001001100000111111010001000"),--address=204 
        ROMWORD'("10011000010000101110111111101101"),--address=205 
        ROMWORD'("10010111010110010110000100101001"),--address=206 
        ROMWORD'("10010110011100111101101100111111"),--address=207 
        ROMWORD'("10010101100100100110011100001000"),--address=208 
        ROMWORD'("10010100101101010000110100110101"),--address=209 
        ROMWORD'("10010011110110111101011001001111"),--address=210 
        ROMWORD'("10010011000001101100101010110100"),--address=211 
        ROMWORD'("10010010001101011111001010011101"),--address=212 
        ROMWORD'("10010001011010010101011000010110"),--address=213 
        ROMWORD'("10010000101000001111110100000010"),--address=214 
        ROMWORD'("10001111110111001110111100011100"),--address=215 
        ROMWORD'("10001111000111010011001111110001"),--address=216 
        ROMWORD'("10001110011000011101001011100110"),--address=217 
        ROMWORD'("10001101101010101101001100110101"),--address=218 
        ROMWORD'("10001100111110000011101111101011"),--address=219 
        ROMWORD'("10001100010010100001001111101011"),--address=220 
        ROMWORD'("10001011101000000110000111101101"),--address=221 
        ROMWORD'("10001010111110110010110001111010"),--address=222 
        ROMWORD'("10001010010110100111100111110010"),--address=223 
        ROMWORD'("10001001101111100101000010000110"),--address=224 
        ROMWORD'("10001001001001101011011000111011"),--address=225 
        ROMWORD'("10001000100100111011000011101011"),--address=226 
        ROMWORD'("10001000000001010100011000111111"),--address=227 
        ROMWORD'("10000111011110110111101110110101"),--address=228 
        ROMWORD'("10000110111101100101011010011110"),--address=229 
        ROMWORD'("10000110011101011101110000011011"),--address=230 
        ROMWORD'("10000101111110100001000100100001"),--address=231 
        ROMWORD'("10000101100000101111101001110101"),--address=232 
        ROMWORD'("10000101000100001001110010101110"),--address=233 
        ROMWORD'("10000100101000101111110000110110"),--address=234 
        ROMWORD'("10000100001110100001110101000110"),--address=235 
        ROMWORD'("10000011110101100000001111101001"),--address=236 
        ROMWORD'("10000011011101101011001111111011"),--address=237 
        ROMWORD'("10000011000111000011000100101010"),--address=238 
        ROMWORD'("10000010110001100111111011110001"),--address=239 
        ROMWORD'("10000010011101011010000010011111"),--address=240 
        ROMWORD'("10000010001010011001100101010011"),--address=241 
        ROMWORD'("10000001111000100110101111111001"),--address=242 
        ROMWORD'("10000001101000000001101101010010"),--address=243 
        ROMWORD'("10000001011000101010100111101011"),--address=244 
        ROMWORD'("10000001001010100001101000100011"),--address=245 
        ROMWORD'("10000000111101100110111000101000"),--address=246 
        ROMWORD'("10000000110001111010011111111000"),--address=247 
        ROMWORD'("10000000100111011100100101100000"),--address=248 
        ROMWORD'("10000000011110001101001111111111"),--address=249 
        ROMWORD'("10000000010110001100100101000000"),--address=250 
        ROMWORD'("10000000001111011010101001100000"),--address=251 
        ROMWORD'("10000000001001110111100001101011"),--address=252 
        ROMWORD'("10000000000101100011010000111011"),--address=253 
        ROMWORD'("10000000000010011101111001111011"),--address=254 
        ROMWORD'("10000000000000100111011110100101")--address=255 
    ); 
     
begin 
 
    cos_w2 <= ROM(CONV_INTEGER(addr)); 
 
end behavior;