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

Subversion Repositories System68

[/] [System68/] [trunk/] [vhdl/] [swtbug_rom.vhd] - Blame information for rev 6

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

Line No. Rev Author Line
1 6 dilbert57
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.STD_LOGIC_ARITH.ALL;
4
use IEEE.STD_LOGIC_UNSIGNED.ALL;
5
library unisim;
6
        use unisim.all;
7
--library simprim;
8
--   use simprim.all;
9
 
10
entity swtbug_rom is
11
    Port (
12
       clk   : in  std_logic;
13
                 rst   : in  std_logic;
14
                 cs    : in  std_logic;
15
                 rw    : in  std_logic;
16
       addr  : in  std_logic_vector (9 downto 0);
17
       wdata : in  std_logic_vector (7 downto 0);
18
       rdata : out std_logic_vector (7 downto 0)
19
    );
20
end swtbug_rom;
21
 
22
architecture rtl of swtbug_rom is
23
 
24
   signal we       : std_logic;
25
   signal reset    : std_logic;
26
   signal rdata0   : std_logic_vector (7 downto 0);
27
   signal rdata1   : std_logic_vector (7 downto 0);
28
   signal ena0     : std_logic;
29
   signal ena1     : std_logic;
30
 
31
   component RAMB4_S8
32
    generic (
33
      INIT_00, INIT_01, INIT_02, INIT_03,
34
           INIT_04, INIT_05, INIT_06, INIT_07,
35
           INIT_08, INIT_09, INIT_0A, INIT_0B,
36
      INIT_0C, INIT_0D, INIT_0E, INIT_0F : bit_vector (255 downto 0) :=
37
                        x"0000000000000000000000000000000000000000000000000000000000000000"
38
    );
39
 
40
    port (
41
      clk, we, en, rst : in std_logic;
42
      addr :  in std_logic_vector(8 downto 0);
43
      di   :  in std_logic_vector(7 downto 0);
44
      do   : out std_logic_vector(7 downto 0)
45
    );
46
  end component;
47
 
48
begin
49
 
50
  ROM0 : RAMB4_S8
51
    generic map (
52
    INIT_00 => x"7FF026318129273981618DFA265381678D34E3BD041610006E408D006E00A0FE",
53
    INIT_01 => x"CF270FA07CF02008082600A100A7092747A07A288D1C8D47A0B70280318D0FA0",
54
    INIT_02 => x"161B4C8D1648484848538D390DA0FE0EA0B7078D0DA0B70C8DD4E27E318D3F86",
55
    INIT_03 => x"00A608F88DACE17ED1E17E078B02233981308B0F8444444444390FA0F70FA0FB",
56
    INIT_04 => x"272081DB8D318D318D0DA0FE348D0DA0CEEF8D9DE1CEBD8D4AE17E39F7260481",
57
    INIT_05 => x"A6390780402E1681442B11810A2F09814C2B3080CC8D012C205E81E0270D81FA",
58
    INIT_06 => x"A0FFAC200DA0FF090907262C2042A08EA5202086F38DF58DA3200800A6A48D00",
59
    INIT_07 => x"2008A0BE40E07E912700A100A70957E0BDBD8D9D224681A12530816D2002200D",
60
    INIT_08 => x"A7118600A7038639261920022002A100A684E2BD0480CE08E3BDFF8608A0BF49",
61
    INIT_09 => x"8A8D8C8D8E8D0808A0FE7EE0BD9DE1CE066A056A0226066D3008A0BF012F2000",
62
    INIT_0A => x"738D0CA07F0AA0FF0480CE42A08E192723E18C12A0FEC8E0BD08A0CE848D868D",
63
    INIT_0B => x"6E01EECCE0BD072600A1D1E3CE398D7EE0BD9CE1CE47E3BD53E3BD7DE2BD0327",
64
    INIT_0C => x"150A0D13043153000000150A0D043953006E12A0FEBF20ED26F8E38C08080800",
65
    INIT_0D => x"0DA0FF00A61655E0BD47E0BD04A0FF47E0BD4020006E06A0FE4C200424000000",
66
    INIT_0E => x"393303E101E6370AA0FE10A0FF3A203B10200DA0CE7EE0BD9DE1CE2120022711",
67
    INIT_0F => x"A600A715862826DA8D37313131397F84068DCD20089E2704A0BC0DA0FEC8E0BD"
68
    )
69
 
70
    port map ( clk => clk,
71
                    en  => ena0,
72
                                   we  => we,
73
                                   rst => reset,
74
                                   addr(8 downto 0) => addr(8 downto 0),
75
               di(7 downto 0)   => wdata(7 downto 0),
76
                                   do(7 downto 0)   => rdata0(7 downto 0)
77
        );
78
 
79
  ROM1 : RAMB4_S8
80
    generic map (
81
    INIT_00 => x"FE3301A7FA24575700E600E711C62E26C38D37112007270CA0F601A6FB244700",
82
    INIT_01 => x"DE2013270CA0F6218DF7265A4600690D2A8D5802E704C63A8DFC2B00A63910A0",
83
    INIT_02 => x"026CFC2A026DC420028DC82A5802E6F7265A460D00A7108D168D006A0AC6238D",
84
    INIT_03 => x"A7348676E17E17EFE3CE078D108D0AA0FE0BA07F16838DF120F78D026F39026A",
85
    INIT_04 => x"066FFA2601C504E6258D0BC62E8D14807F3902A7006C01A70786006C3902A703",
86
    INIT_05 => x"8D04E700247EEF2601C51880F60800A71B80B6062702C50024CE178D9CC61D8D",
87
    INIT_06 => x"2712A0BC23E1CE582047E3BDF18D7EE0BD09E0CE39FA2614808C09FFFFCE3900",
88
    INIT_07 => x"A0B614A0FE6BE17E1E8D23E1CE00A73F8616A0B700A614A0FF47E0BD328D081A",
89
    INIT_08 => x"A0CE0F205A8D3912A0FF24E1CE062723E18C12A0FE43A0B7DA2024E1CE00A716",
90
    INIT_09 => x"D9E1BD1A8D20C611860CA07352E17E918D248D7EE0BD90E1CE528D0904A0FF49",
91
    INIT_0A => x"861627D6E1BD75E0BD08C61486042004C612860A2010C613863903A73C860427",
92
    INIT_0B => x"A0B6CF8D44A0FF02A0FE3900E701A70686028D00E701C60286088D0C8D01CA02",
93
    INIT_0C => x"BD93E1CE46A0B7038047A0B7048B0F8602251081042644A0F204A0F645A0B005",
94
    INIT_0D => x"8D30375344A0FFF92646A07A188D44A0FE1D8D1F8D44A0CE248D47A0CE5F7EE0",
95
    INIT_0E => x"30E152AEE14688E04D00C05AD0E147BFE07E00EB39B32604A0BC0944A0FE330B",
96
    INIT_0F => x"D0E0A7E18BE100E01EE3450CE04C1AE35069E24FD9E2428FE244CCE24305E04A"
97
    )
98
 
99
    port map ( clk => clk,
100
                    en  => ena1,
101
                                   we  => we,
102
                                   rst => reset,
103
                                   addr(8 downto 0) => addr(8 downto 0),
104
               di(7 downto 0)   => wdata(7 downto 0),
105
                                   do(7 downto 0)   => rdata1(7 downto 0)
106
        );
107
 
108
my_swtbug : process ( clk, rst, cs, rw, rdata0, rdata1 )
109
begin
110
         if addr(9) = '0' then
111
      ena0 <= cs;
112
           ena1 <= '0';
113
                rdata <= rdata0;
114
         else
115
      ena0 <= '0';
116
           ena1 <= cs;
117
                rdata <= rdata1;
118
         end if;
119
 
120
         we <= cs and (not rw);
121
    reset <= '0';
122
 
123
end process my_swtbug;
124
 
125
end;
126
 

powered by: WebSVN 2.1.0

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