OpenCores
URL https://opencores.org/ocsvn/yavga/yavga/trunk

Subversion Repositories yavga

[/] [yavga/] [trunk/] [vhdl/] [charmaps_ROM.vhd] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sandroamt
--------------------------------------------------------------------------------
2
----                                                                        ----
3
---- This file is part of the yaVGA project                                 ----
4
---- http://www.opencores.org/?do=project&who=yavga                         ----
5
----                                                                        ----
6
---- Description                                                            ----
7
---- Implementation of yaVGA IP core                                        ----
8
----                                                                        ----
9
---- To Do:                                                                 ----
10
----                                                                        ----
11
----                                                                        ----
12
---- Author(s):                                                             ----
13
---- Sandro Amato, sdroamt@netscape.net                                     ----
14
----                                                                        ----
15
--------------------------------------------------------------------------------
16
----                                                                        ----
17
---- Copyright (c) 2009, Sandro Amato                                       ----
18
---- All rights reserved.                                                   ----
19
----                                                                        ----
20
---- Redistribution  and  use in  source  and binary forms, with or without ----
21
---- modification,  are  permitted  provided that  the following conditions ----
22
---- are met:                                                               ----
23
----                                                                        ----
24
----     * Redistributions  of  source  code  must  retain the above        ----
25
----       copyright   notice,  this  list  of  conditions  and  the        ----
26
----       following disclaimer.                                            ----
27
----     * Redistributions  in  binary form must reproduce the above        ----
28
----       copyright   notice,  this  list  of  conditions  and  the        ----
29
----       following  disclaimer in  the documentation and/or  other        ----
30
----       materials provided with the distribution.                        ----
31
----     * Neither  the  name  of  SANDRO AMATO nor the names of its        ----
32
----       contributors may be used to  endorse or  promote products        ----
33
----       derived from this software without specific prior written        ----
34
----       permission.                                                      ----
35
----                                                                        ----
36
---- THIS SOFTWARE IS PROVIDED  BY THE COPYRIGHT  HOLDERS AND  CONTRIBUTORS ----
37
---- "AS IS"  AND  ANY EXPRESS OR  IMPLIED  WARRANTIES, INCLUDING,  BUT NOT ----
38
---- LIMITED  TO, THE  IMPLIED  WARRANTIES  OF MERCHANTABILITY  AND FITNESS ----
39
---- FOR  A PARTICULAR  PURPOSE  ARE  DISCLAIMED. IN  NO  EVENT  SHALL  THE ----
40
---- COPYRIGHT  OWNER  OR CONTRIBUTORS  BE LIABLE FOR ANY DIRECT, INDIRECT, ----
41
---- INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ----
42
---- BUT  NOT LIMITED  TO,  PROCUREMENT OF  SUBSTITUTE  GOODS  OR SERVICES; ----
43
---- LOSS  OF  USE,  DATA,  OR PROFITS;  OR  BUSINESS INTERRUPTION) HOWEVER ----
44
---- CAUSED  AND  ON  ANY THEORY  OF LIABILITY, WHETHER IN CONTRACT, STRICT ----
45
---- LIABILITY,  OR  TORT  (INCLUDING  NEGLIGENCE  OR OTHERWISE) ARISING IN ----
46
---- ANY  WAY OUT  OF THE  USE  OF  THIS  SOFTWARE,  EVEN IF ADVISED OF THE ----
47
---- POSSIBILITY OF SUCH DAMAGE.                                            ----
48
--------------------------------------------------------------------------------
49
 
50
 
51
library IEEE;
52
use IEEE.STD_LOGIC_1164.all;
53
use IEEE.STD_LOGIC_ARITH.all;
54
use IEEE.STD_LOGIC_UNSIGNED.all;
55
 
56
--  Uncomment the following lines to use the declarations that are
57
--  provided for instantiating Xilinx primitive components.
58
library UNISIM;
59
use UNISIM.VComponents.all;
60
 
61
entity charmaps_ROM is
62
  port (
63
    -- i_DI    : in std_logic_vector(7 downto 0);    -- 8-bit Data Input
64
    -- i_DIP   : in std_logic;                       -- 1-bit parity Input
65
    -- i_EN    : in std_logic;                       -- RAM Enable Input
66
    -- i_WE    : in std_logic;                       -- Write Enable Input
67
    -- i_SSR   : in std_logic;                       -- Synchronous Set/Reset Input
68
    i_clock : in  std_logic;                      -- Clock
69
    i_ADDR  : in  std_logic_vector(10 downto 0);  -- 11-bit Address Input
70
    o_DO    : out std_logic_vector(7 downto 0)    -- 8-bit Data Output
71
    -- o_DOP    : out std_logic                      -- 1-bit parity Output
72
    );
73
end charmaps_ROM;
74
 
75
architecture rtl of charmaps_ROM is
76
 
77
begin
78
  -- charmaps
79
  -- |------| |-----------------|
80
  -- |   P  | | D D D D D D D D |
81
  -- |======| |=================|
82
  -- |   8  | | 7 6 5 4 3 2 1 0 |
83
  -- |======| |=================|
84
  -- | Free | | Row char pixels |
85
  -- |------| |-----------------|
86
 
87
  Inst_charmaps_rom : RAMB16_S9
88
    generic map (
89
      write_mode => "NO_CHANGE",   --  WRITE_FIRST, READ_FIRST or NO_CHANGE
90
      INIT       => B"000000000",  --  Value of output RAM registers at startup
91
      SRVAL      => B"000000000",       --  Ouput value upon SSR assertion
92
      --
93
      INIT_00    => X"000000FF0000FF0000FF0000FF00000000000000000000000000000000000000",
94
      INIT_01    => X"0000242424242424242424242424000000000000FF0000FF0000FF0000FF0000",
95
      INIT_02    => X"0000929292929292929292929292000000004949494949494949494949490000",
96
      INIT_03    => X"0000AAAAAAAAAAAAAAAAAAAAAAAA000000005555555555555555555555550000",
97
      INIT_04    => X"0000F3FCF3FCF3FCF3FCF3FCF3FC00000000FF00FF00FF00FF00FF00FF000000",
98
      INIT_05    => X"00000C030C030C030C030C030C0300000000CF3FCF3FCF3FCF3FCF3FCF3F0000",
99
      INIT_06    => X"00000066666666000066666666000000000030C030C030C030C030C030C00000",
100
      INIT_07    => X"00000F0F0F0F0F0F0F0F0F0F0F0F00000000FF99999999FFFF99999999FF0000",
101
      INIT_08    => X"0000000000000000FFFFFFFFFFFF00000000F0F0F0F0F0F0F0F0F0F0F0F00000",
102
      INIT_09    => X"00000F0F0F0F0F0F0F0F0F0F0F0F00000000FFFFFFFFFFFF0000000000000000",
103
      INIT_0A    => X"0000007E42424242424242427E0000000000F0F0F0F0F0F0F0F0F0F0F0F00000",
104
      INIT_0B    => X"000024492449244924492449244900000000FF81818181818181818181FF0000",
105
      INIT_0C    => X"0000499249924992499249924992000000002492249224922492249224920000",
106
      INIT_0D    => X"0000AA55AA55AA55AA55AA55AA550000000055AA55AA55AA55AA55AA55AA0000",
107
      INIT_0E    => X"0000DB6DDB6DDB6DDB6DDB6DDB6D00000000DBB6DBB6DBB6DBB6DBB6DBB60000",
108
      INIT_0F    => X"0000FFFFFFFFFFFFFFFFFFFFFFFF00000000B66DB66DB66DB66DB66DB66D0000",
109
      INIT_10    => X"0000001000001010101010101010000000000000000000000000000000000000",
110
      INIT_11    => X"0000004444FE4444444444FE4444000000000000000000000044444444440000",
111
      INIT_12    => X"0000000C12924C2010086492906000000000007C921212127C909090927C0000",
112
      INIT_13    => X"000000000000000000101010101000000000007A84848A507090888848300000",
113
      INIT_14    => X"0000001008080404040404080810000000000010202040404040402020100000",
114
      INIT_15    => X"0000000010101010FE101010100000000000009292545438FE38545492920000",
115
      INIT_16    => X"0000000000000000FE0000000000000000000020100808000000000000000000",
116
      INIT_17    => X"0000000000804020100804020000000000000000001818000000000000000000",
117
      INIT_18    => X"0000003810101010101010503010000000000038448282A2928A828244380000",
118
      INIT_19    => X"0000007C820202027C020202827C0000000000FE808080807C020202827C0000",
119
      INIT_1A    => X"0000007C820202027C80808080FE00000000001C080808FE8888482818080000",
120
      INIT_1B    => X"00000038101010101008040202FE00000000007C828282827C808080807E0000",
121
      INIT_1C    => X"000000FC020202027C828282827C00000000007C828282827C828282827C0000",
122
      INIT_1D    => X"0000002010080800000018180000000000000000001818000000181800000000",
123
      INIT_1E    => X"0000000000FE0000000000FE000000000000000000020C30C0300C0200000000",
124
      INIT_1F    => X"0000001000101008040282824438000000000000008060180618608000000000",
125
      INIT_20    => X"00000082828244447C442828281000000000003C42809EA2A29E828244380000",
126
      INIT_21    => X"0000007C8280808080808080827C0000000000FC82828284F884828282FC0000",
127
      INIT_22    => X"000000FE80808080FC80808080FE0000000000F8848482828282848488F00000",
128
      INIT_23    => X"0000007C828282829E808080827C00000000008080808080FC80808080FE0000",
129
      INIT_24    => X"0000003810101010101010101038000000000082828282827C82828282820000",
130
      INIT_25    => X"0000008282848488F088848482820000000000708888080808080808081C0000",
131
      INIT_26    => X"000000828282829292AAAAAAC6820000000000FE808080808080808080800000",
132
      INIT_27    => X"0000007C8282828282828282827C000000000082868A8A8A92A2A2A2C2820000",
133
      INIT_28    => X"0000007A848AB28282828282827C00000000008080808080FC828282827C0000",
134
      INIT_29    => X"0000007C820202027C808080827C000000000082848890A0FC828282827C0000",
135
      INIT_2A    => X"0000007C82828282828282828282000000000010101010101010101092FE0000",
136
      INIT_2B    => X"00000082C6AAAAAA929282828282000000000010102828284444448282820000",
137
      INIT_2C    => X"0000001010101010282844448282000000000082824444283828444482820000",
138
      INIT_2D    => X"00000038202020202020202020380000000000FE824040203808040482FE0000",
139
      INIT_2E    => X"0000003808080808080808080838000000000000000204081020408000000000",
140
      INIT_2F    => X"000000FE00000000000000000000000000000000000000000082442810000000",
141
      INIT_30    => X"0000003AC6828282C63A00000000000000000000000000000008101020200000",
142
      INIT_31    => X"0000003CC2808080C23C000000000000000000B8C6828282C6B8808080800000",
143
      INIT_32    => X"00000038C680FC82C6380000000000000000003AC6828282C63A020202020000",
144
      INIT_33    => X"00000038C6027E82C638000000000000000000808080808080F88080423C0000",
145
      INIT_34    => X"0000000C1210101010100000100000000000008282828282C6B8808080800000",
146
      INIT_35    => X"000000828488B0C0B88680808000000000000070880404040404000004000000",
147
      INIT_36    => X"0000009292929292D2AC0000000000000000000E102020202020202020200000",
148
      INIT_37    => X"00000038C6828282C6380000000000000000008282828282C6B8000000000000",
149
      INIT_38    => X"0000000202027E82C63A000000000000000000808080FC82C6B8000000000000",
150
      INIT_39    => X"0000007C82027E80827C0000000000000000008080808080C6B8000000000000",
151
      INIT_3A    => X"0000003AC682828282820000000000000000003C4280808080F8808080800000",
152
      INIT_3B    => X"0000006C92929292928200000000000000000010284482828282000000000000",
153
      INIT_3C    => X"0000003008083C42820000000000000000000082443828448200000000000000",
154
      INIT_3D    => X"00000010202020408040202020100000000000FE40300804FE00000000000000",
155
      INIT_3E    => X"0000001008080804020408080810000000000010101010101010101010100000",
156
      INIT_3F    => X"00000000000000000000000000000000000000000000000C9260000000000000",
157
      --
158
      INITP_00   => X"0000000000000000000000000000000000000000000000000000000000000000",  -- free
159
      INITP_01   => X"0000000000000000000000000000000000000000000000000000000000000000",
160
      INITP_02   => X"0000000000000000000000000000000000000000000000000000000000000000",
161
      INITP_03   => X"0000000000000000000000000000000000000000000000000000000000000000",
162
      INITP_04   => X"0000000000000000000000000000000000000000000000000000000000000000",
163
      INITP_05   => X"0000000000000000000000000000000000000000000000000000000000000000",
164
      INITP_06   => X"0000000000000000000000000000000000000000000000000000000000000000",
165
      INITP_07   => X"0000000000000000000000000000000000000000000000000000000000000000"
166
      )
167
    port map(
168
      DI   => (others => '1'),          -- 8-bit Data Input
169
      DIP  => (others => '1'),          -- 1-bit parity Input
170
      EN   => '1',                      -- RAM Enable Input
171
      WE   => '0',                      -- Write Enable Input
172
      SSR  => '0',                      -- Synchronous Set/Reset Input
173
      CLK  => i_clock,                  -- Clock
174
      ADDR => i_ADDR,                   -- 11-bit Address Input
175
      DO   => o_DO,                     -- 8-bit Data Output
176
      DOP  => open                      -- 1-bit parity Output
177
      );
178
 
179
 
180
end rtl;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.