www.pudn.com > jaguar2s.zip > cosrom256_w1.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*1/1024); 
 
entity COSROM256_W1 is 
    port( 
        addr              :in std_logic_vector(7 downto 0); 
        cos_w1            :out std_logic_vector(31 downto 0) 
    ); 
end COSROM256_W1; 
 
architecture behavior of COSROM256_W1 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'("01111111111111110110001000010101"),--address=1 
        ROMWORD'("01111111111111011000100001011001"),--address=2 
        ROMWORD'("01111111111110100111001011010000"),--address=3 
        ROMWORD'("01111111111101100010000110000001"),--address=4 
        ROMWORD'("01111111111100001001010001110110"),--address=5 
        ROMWORD'("01111111111010011100101110111110"),--address=6 
        ROMWORD'("01111111111000011100011101101010"),--address=7 
        ROMWORD'("01111111110110001000011110001100"),--address=8 
        ROMWORD'("01111111110011100000110000111101"),--address=9 
        ROMWORD'("01111111110000100101010110010101"),--address=10 
        ROMWORD'("01111111101101010110001110110001"),--address=11 
        ROMWORD'("01111111101001110011011010110010"),--address=12 
        ROMWORD'("01111111100101111100111010111011"),--address=13 
        ROMWORD'("01111111100001110010101111110001"),--address=14 
        ROMWORD'("01111111011101010100111001111110"),--address=15 
        ROMWORD'("01111111011000100011011010001101"),--address=16 
        ROMWORD'("01111111010011011110010001001110"),--address=17 
        ROMWORD'("01111111001110000101011111110011"),--address=18 
        ROMWORD'("01111111001000011001000110110010"),--address=19 
        ROMWORD'("01111111000010011001000111000001"),--address=20 
        ROMWORD'("01111110111100000101100001011101"),--address=21 
        ROMWORD'("01111110110101011110010111000100"),--address=22 
        ROMWORD'("01111110101110100011101000110110"),--address=23 
        ROMWORD'("01111110100111010101010111111001"),--address=24 
        ROMWORD'("01111110011111110011100101010100"),--address=25 
        ROMWORD'("01111110010111111110010010010000"),--address=26 
        ROMWORD'("01111110001111110101011111111100"),--address=27 
        ROMWORD'("01111110000111011001001111100111"),--address=28 
        ROMWORD'("01111101111110101001100010100100"),--address=29 
        ROMWORD'("01111101110101100110011010001011"),--address=30 
        ROMWORD'("01111101101100001111110111110100"),--address=31 
        ROMWORD'("01111101100010100101111100111100"),--address=32 
        ROMWORD'("01111101011000101000101011000010"),--address=33 
        ROMWORD'("01111101001110011000000011101000"),--address=34 
        ROMWORD'("01111101000011110100001000010100"),--address=35 
        ROMWORD'("01111100111000111100111010101101"),--address=36 
        ROMWORD'("01111100101101110010011100100000"),--address=37 
        ROMWORD'("01111100100010010100101111011001"),--address=38 
        ROMWORD'("01111100010110100011110101001011"),--address=39 
        ROMWORD'("01111100001010011111101111101001"),--address=40 
        ROMWORD'("01111011111110001000100000101011"),--address=41 
        ROMWORD'("01111011110001011110001010001010"),--address=42 
        ROMWORD'("01111011100100100000101110000100"),--address=43 
        ROMWORD'("01111011010111010000001110011000"),--address=44 
        ROMWORD'("01111011001001101100101101001001"),--address=45 
        ROMWORD'("01111010111011110110001100011101"),--address=46 
        ROMWORD'("01111010101101101100101110011101"),--address=47 
        ROMWORD'("01111010011111010000010101010101"),--address=48 
        ROMWORD'("01111010010000100001000011010010"),--address=49 
        ROMWORD'("01111010000001011110111010100110"),--address=50 
        ROMWORD'("01111001110010001001111101100110"),--address=51 
        ROMWORD'("01111001100010100010001110101010"),--address=52 
        ROMWORD'("01111001010010100111110000001010"),--address=53 
        ROMWORD'("01111001000010011010100100100101"),--address=54 
        ROMWORD'("01111000110001111010101110011010"),--address=55 
        ROMWORD'("01111000100001001000010000001011"),--address=56 
        ROMWORD'("01111000010000000011001100100000"),--address=57 
        ROMWORD'("01110111111110101011100110000000"),--address=58 
        ROMWORD'("01110111101101000001011111010110"),--address=59 
        ROMWORD'("01110111011011000100111011010010"),--address=60 
        ROMWORD'("01110111001000110101111100100011"),--address=61 
        ROMWORD'("01110110110110010100100101111111"),--address=62 
        ROMWORD'("01110110100011100000111010011011"),--address=63 
        ROMWORD'("01110110010000011010111100110010"),--address=64 
        ROMWORD'("01110101111101000010110000000000"),--address=65 
        ROMWORD'("01110101101001011000010111000100"),--address=66 
        ROMWORD'("01110101010101011011110101000000"),--address=67 
        ROMWORD'("01110101000001001101001100111010"),--address=68 
        ROMWORD'("01110100101100101100100001111000"),--address=69 
        ROMWORD'("01110100010111111001110111000101"),--address=70 
        ROMWORD'("01110100000010110101001111101110"),--address=71 
        ROMWORD'("01110011101101011110101111000100"),--address=72 
        ROMWORD'("01110011010111110110011000011001"),--address=73 
        ROMWORD'("01110011000001111100001111000011"),--address=74 
        ROMWORD'("01110010101011110000010110011001"),--address=75 
        ROMWORD'("01110010010101010010110001110111"),--address=76 
        ROMWORD'("01110001111110100011100100111010"),--address=77 
        ROMWORD'("01110001100111100010110011000100"),--address=78 
        ROMWORD'("01110001010000010000011111110110"),--address=79 
        ROMWORD'("01110000111000101100101110110111"),--address=80 
        ROMWORD'("01110000100000110111100011101111"),--address=81 
        ROMWORD'("01110000001000110001000010001010"),--address=82 
        ROMWORD'("01101111110000011001001101110101"),--address=83 
        ROMWORD'("01101111010111110000001010100001"),--address=84 
        ROMWORD'("01101110111110110101111100000001"),--address=85 
        ROMWORD'("01101110100101101010100110001100"),--address=86 
        ROMWORD'("01101110001100001110001100111000"),--address=87 
        ROMWORD'("01101101110010100000110100000010"),--address=88 
        ROMWORD'("01101101011000100010011111101000"),--address=89 
        ROMWORD'("01101100111110010011010011101001"),--address=90 
        ROMWORD'("01101100100011110011010100001001"),--address=91 
        ROMWORD'("01101100001001000010100101001101"),--address=92 
        ROMWORD'("01101011101110000001001010111101"),--address=93 
        ROMWORD'("01101011010010101111001001100100"),--address=94 
        ROMWORD'("01101010110111001100100101010000"),--address=95 
        ROMWORD'("01101010011011011001100010001111"),--address=96 
        ROMWORD'("01101001111111010110000100110101"),--address=97 
        ROMWORD'("01101001100011000010010001010110"),--address=98 
        ROMWORD'("01101001000110011110001100001010"),--address=99 
        ROMWORD'("01101000101001101001111001101011"),--address=100 
        ROMWORD'("01101000001100100101011110010100"),--address=101 
        ROMWORD'("01100111101111010000111110100101"),--address=102 
        ROMWORD'("01100111010001101100011111000000"),--address=103 
        ROMWORD'("01100110110011111000000100001000"),--address=104 
        ROMWORD'("01100110010101110011110010100011"),--address=105 
        ROMWORD'("01100101110111011111101110111010"),--address=106 
        ROMWORD'("01100101011000111011111101111001"),--address=107 
        ROMWORD'("01100100111010001000100100001101"),--address=108 
        ROMWORD'("01100100011011000101100110100101"),--address=109 
        ROMWORD'("01100011111011110011001001110101"),--address=110 
        ROMWORD'("01100011011100010001010010110001"),--address=111 
        ROMWORD'("01100010111100100000000110010001"),--address=112 
        ROMWORD'("01100010011100011111101001001101"),--address=113 
        ROMWORD'("01100001111100010000000000100011"),--address=114 
        ROMWORD'("01100001011011110001010001001111"),--address=115 
        ROMWORD'("01100000111011000011100000010011"),--address=116 
        ROMWORD'("01100000011010000110110010110001"),--address=117 
        ROMWORD'("01011111111000111011001101101111"),--address=118 
        ROMWORD'("01011111010111100000110110010101"),--address=119 
        ROMWORD'("01011110110101110111110001101011"),--address=120 
        ROMWORD'("01011110010100000000000100111110"),--address=121 
        ROMWORD'("01011101110001111001110101011100"),--address=122 
        ROMWORD'("01011101001111100101001000010111"),--address=123 
        ROMWORD'("01011100101101000010000010111111"),--address=124 
        ROMWORD'("01011100001010010000101010101011"),--address=125 
        ROMWORD'("01011011100111010001000100110010"),--address=126 
        ROMWORD'("01011011000100000011010110101101"),--address=127 
        ROMWORD'("01011010100000100111100101111000"),--address=128 
        ROMWORD'("01011001111100111101110111101111"),--address=129 
        ROMWORD'("01011001011001000110010001110100"),--address=130 
        ROMWORD'("01011000110101000000111001101001"),--address=131 
        ROMWORD'("01011000010000101101110100110000"),--address=132 
        ROMWORD'("01010111101100001101001000110001"),--address=133 
        ROMWORD'("01010111000111011110111011010100"),--address=134 
        ROMWORD'("01010110100010100011010010000100"),--address=135 
        ROMWORD'("01010101111101011010010010101100"),--address=136 
        ROMWORD'("01010101011000000100000010111100"),--address=137 
        ROMWORD'("01010100110010100000101000100011"),--address=138 
        ROMWORD'("01010100001100110000001001010110"),--address=139 
        ROMWORD'("01010011100110110010101011001000"),--address=140 
        ROMWORD'("01010011000000101000010011101111"),--address=141 
        ROMWORD'("01010010011010010001001001000101"),--address=142 
        ROMWORD'("01010001110011101101010001000101"),--address=143 
        ROMWORD'("01010001001100111100110001101010"),--address=144 
        ROMWORD'("01010000100101111111110000110100"),--address=145 
        ROMWORD'("01001111111110110110010100100010"),--address=146 
        ROMWORD'("01001111010111100000100010111000"),--address=147 
        ROMWORD'("01001110101111111110100001111001"),--address=148 
        ROMWORD'("01001110001000010000010111101011"),--address=149 
        ROMWORD'("01001101100000010110001010010111"),--address=150 
        ROMWORD'("01001100111000010000000000000111"),--address=151 
        ROMWORD'("01001100001111111101111111000110"),--address=152 
        ROMWORD'("01001011100111100000001101100001"),--address=153 
        ROMWORD'("01001010111110110110110001101001"),--address=154 
        ROMWORD'("01001010010110000001110001101110"),--address=155 
        ROMWORD'("01001001101101000001010100000100"),--address=156 
        ROMWORD'("01001001000011110101011110111110"),--address=157 
        ROMWORD'("01001000011010011110011000110100"),--address=158 
        ROMWORD'("01000111110000111100000111111110"),--address=159 
        ROMWORD'("01000111000111001110110010110101"),--address=160 
        ROMWORD'("01000110011101010110011111110101"),--address=161 
        ROMWORD'("01000101110011010011010101011101"),--address=162 
        ROMWORD'("01000101001001000101011010001001"),--address=163 
        ROMWORD'("01000100011110101100110100011101"),--address=164 
        ROMWORD'("01000011110100001001101010111000"),--address=165 
        ROMWORD'("01000011001001011100000100000001"),--address=166 
        ROMWORD'("01000010011110100100000110011011"),--address=167 
        ROMWORD'("01000001110011100001111000101111"),--address=168 
        ROMWORD'("01000001001000010101100001100100"),--address=169 
        ROMWORD'("01000000011100111111000111100110"),--address=170 
        ROMWORD'("00111111110001011110110001100000"),--address=171 
        ROMWORD'("00111111000101110100100110000000"),--address=172 
        ROMWORD'("00111110011010000000101011110100"),--address=173 
        ROMWORD'("00111101101110000011001001101101"),--address=174 
        ROMWORD'("00111101000001111100000110011101"),--address=175 
        ROMWORD'("00111100010101101011101000110110"),--address=176 
        ROMWORD'("00111011101001010001110111101111"),--address=177 
        ROMWORD'("00111010111100101110111001111100"),--address=178 
        ROMWORD'("00111010010000000010110110010110"),--address=179 
        ROMWORD'("00111001100011001101110011110110"),--address=180 
        ROMWORD'("00111000110110001111111001010111"),--address=181 
        ROMWORD'("00111000001001001001001101110011"),--address=182 
        ROMWORD'("00110111011011111001111000001001"),--address=183 
        ROMWORD'("00110110101110100001111111010110"),--address=184 
        ROMWORD'("00110110000001000001101010011011"),--address=185 
        ROMWORD'("00110101010011011001000000011000"),--address=186 
        ROMWORD'("00110100100101101000001000010000"),--address=187 
        ROMWORD'("00110011110111101111001001000111"),--address=188 
        ROMWORD'("00110011001001101110001010000010"),--address=189 
        ROMWORD'("00110010011011100101010010000111"),--address=190 
        ROMWORD'("00110001101101010100101000011100"),--address=191 
        ROMWORD'("00110000111110111100010100001011"),--address=192 
        ROMWORD'("00110000010000011100011100011110"),--address=193 
        ROMWORD'("00101111100001110101001000011111"),--address=194 
        ROMWORD'("00101110110011000110011111011011"),--address=195 
        ROMWORD'("00101110000100010000101000011110"),--address=196 
        ROMWORD'("00101101010101010011101010110111"),--address=197 
        ROMWORD'("00101100100110001111101101110110"),--address=198 
        ROMWORD'("00101011110111000100111000101010"),--address=199 
        ROMWORD'("00101011000111110011010010100101"),--address=200 
        ROMWORD'("00101010011000011011000010111011"),--address=201 
        ROMWORD'("00101001101000111100010000111110"),--address=202 
        ROMWORD'("00101000111001010111000100000011"),--address=203 
        ROMWORD'("00101000001001101011100011100000"),--address=204 
        ROMWORD'("00100111011001111001110110101100"),--address=205 
        ROMWORD'("00100110101010000010000100111101"),--address=206 
        ROMWORD'("00100101111010000100010101101101"),--address=207 
        ROMWORD'("00100101001010000000110000010100"),--address=208 
        ROMWORD'("00100100011001110111011100001101"),--address=209 
        ROMWORD'("00100011101001101000100000110100"),--address=210 
        ROMWORD'("00100010111001010100000101100100"),--address=211 
        ROMWORD'("00100010001000111010010001111010"),--address=212 
        ROMWORD'("00100001011000011011001101010100"),--address=213 
        ROMWORD'("00100000100111110110111111010000"),--address=214 
        ROMWORD'("00011111110111001101101111001110"),--address=215 
        ROMWORD'("00011111000110011111100100101110"),--address=216 
        ROMWORD'("00011110010101101100100111010000"),--address=217 
        ROMWORD'("00011101100100110100111110010111"),--address=218 
        ROMWORD'("00011100110011111000110001100100"),--address=219 
        ROMWORD'("00011100000010111000001000011011"),--address=220 
        ROMWORD'("00011011010001110011001010011111"),--address=221 
        ROMWORD'("00011010100000101001111111010101"),--address=222 
        ROMWORD'("00011001101111011100101110100010"),--address=223 
        ROMWORD'("00011000111110001011011111101011"),--address=224 
        ROMWORD'("00011000001100110110011010010111"),--address=225 
        ROMWORD'("00010111011011011101100110001100"),--address=226 
        ROMWORD'("00010110101010000001001010110010"),--address=227 
        ROMWORD'("00010101111000100001001111110010"),--address=228 
        ROMWORD'("00010101000110111101111100110010"),--address=229 
        ROMWORD'("00010100010101010111011001011101"),--address=230 
        ROMWORD'("00010011100011101101101101011100"),--address=231 
        ROMWORD'("00010010110010000001000000011010"),--address=232 
        ROMWORD'("00010010000000010001011010000000"),--address=233 
        ROMWORD'("00010001001110011111000001111001"),--address=234 
        ROMWORD'("00010000011100101001111111110010"),--address=235 
        ROMWORD'("00001111101010110010011011010101"),--address=236 
        ROMWORD'("00001110111000111000011100001111"),--address=237 
        ROMWORD'("00001110000110111100001010001100"),--address=238 
        ROMWORD'("00001101010100111101101100111010"),--address=239 
        ROMWORD'("00001100100010111101001100000110"),--address=240 
        ROMWORD'("00001011110000111010101111011101"),--address=241 
        ROMWORD'("00001010111110110110011110101100"),--address=242 
        ROMWORD'("00001010001100110000100001100011"),--address=243 
        ROMWORD'("00001001011010101000111111110000"),--address=244 
        ROMWORD'("00001000101000100000000001000000"),--address=245 
        ROMWORD'("00000111110110010101101101000100"),--address=246 
        ROMWORD'("00000111000100001010001011101010"),--address=247 
        ROMWORD'("00000110010001111101100100100001"),--address=248 
        ROMWORD'("00000101011111101111111111011001"),--address=249 
        ROMWORD'("00000100101101100001100100000001"),--address=250 
        ROMWORD'("00000011111011010010011010001010"),--address=251 
        ROMWORD'("00000011001001000010101001100010"),--address=252 
        ROMWORD'("00000010010110110010011001111010"),--address=253 
        ROMWORD'("00000001100100100001110011000010"),--address=254 
        ROMWORD'("00000000110010010000111100101010")--address=255 
    ); 
     
begin 
 
    cos_w1 <= ROM(CONV_INTEGER(addr)); 
 
end behavior;