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

Subversion Repositories mips_fault_tolerant

[/] [mips_fault_tolerant/] [trunk/] [source/] [Rom16_S36_2.vhd] - Blame information for rev 21

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

Line No. Rev Author Line
1 19 jimi39
----------------------------------------------------------------------------------
2
-- Company: 
3
-- Engineer: 
4
-- 
5
-- Create Date:    23:34:04 06/04/2012 
6
-- Design Name: 
7
-- Module Name:    Rom16_S36_2 - Behavioral 
8
-- Project Name: 
9
-- Target Devices: 
10
-- Tool versions: 
11
-- Description: 
12
--
13
-- Dependencies: 
14
--
15
-- Revision: 
16
-- Revision 0.01 - File Created
17
-- Additional Comments: 
18
--
19
----------------------------------------------------------------------------------
20
library IEEE;
21
use IEEE.STD_LOGIC_1164.ALL;
22
Library UNISIM;
23
use UNISIM.vcomponents.all;
24
 
25
-- Uncomment the following library declaration if using
26
-- arithmetic functions with Signed or Unsigned values
27
--use IEEE.NUMERIC_STD.ALL;
28
 
29
-- Uncomment the following library declaration if instantiating
30
-- any Xilinx primitives in this code.
31
--library UNISIM;
32
--use UNISIM.VComponents.all;
33
 
34
entity Rom16_S36_2 is
35
port (
36
       clk : in std_logic;
37
       we : in std_logic;
38
       en : in std_logic;
39
       ssr : in std_logic;
40
       addr : in std_logic_vector(10 downto 2);
41
       di : in std_logic_vector (31 downto 0);
42
       do : out std_logic_vector(31 downto 0)
43
                );
44
end Rom16_S36_2;
45
 
46
architecture Behavioral of Rom16_S36_2 is
47
signal clk_inv : std_logic;
48
begin
49
     process(clk)
50
          variable invert : std_logic;
51
          begin
52
          invert := not clk;
53
          clk_inv <= invert;
54
          end process;
55
 -- RAMB16_S36: 512 x 32 + 4 Parity bits Single-Port RAM
56
   --             Spartan-3
57
   -- Xilinx HDL Language Template, version 13.1
58
   RAMB16_S36_inst : RAMB16_S36
59
   generic map (
60
      INIT => X"000000000",  --  Value of output RAM registers at startup
61
      SRVAL => X"000000000", --  Ouput value upon SSR assertion
62
      WRITE_MODE => "WRITE_FIRST", --  WRITE_FIRST, READ_FIRST or NO_CHANGE
63
      -- The following INIT_xx declarations specify the initial contents of the RAM
64
      -- Address 0 to 127
65
      INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",
66
      INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",
67
      INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",
68
      INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",
69
      INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",
70
      INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",
71
      INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",
72
      INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",
73
      INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",
74
      INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",
75
      INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",
76
      INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",
77
      INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",
78
      INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",
79
      INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",
80
      INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",
81
      -- Address 128 to 255
82
      INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",
83
      INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",
84
      INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",
85
      INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",
86
      INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",
87
      INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",
88
      INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",
89
      INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",
90
      INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",
91
      INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",
92
      INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",
93
      INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",
94
      INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",
95
      INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",
96
      INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",
97
      INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",
98
      -- Address 256 to 383
99
      INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",
100
      INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",
101
      INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",
102
      INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",
103
      INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",
104
      INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",
105
      INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",
106
      INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",
107
      INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",
108
      INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",
109
      INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",
110
      INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",
111
      INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",
112
      INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",
113
      INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",
114
      INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",
115
      -- Address 384 to 511
116
      INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",
117
      INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",
118
      INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",
119
      INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",
120
      INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",
121
      INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",
122
      INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",
123
      INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",
124
      INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",
125
      INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",
126
      INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",
127
      INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",
128
      INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",
129
      INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",
130
      INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",
131
      INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000",
132
      -- The next set of INITP_xx are for the parity bits
133
      -- Address 0 to 127
134
      INITP_00 => X"0000000000000000000000000000000000000000000000000000000000000000",
135
      INITP_01 => X"0000000000000000000000000000000000000000000000000000000000000000",
136
      -- Address 128 to 255
137
      INITP_02 => X"0000000000000000000000000000000000000000000000000000000000000000",
138
      INITP_03 => X"0000000000000000000000000000000000000000000000000000000000000000",
139
      -- Address 256 to 383
140
      INITP_04 => X"0000000000000000000000000000000000000000000000000000000000000000",
141
      INITP_05 => X"0000000000000000000000000000000000000000000000000000000000000000",
142
      -- Address 384 to 511
143
      INITP_06 => X"0000000000000000000000000000000000000000000000000000000000000000",
144
      INITP_07 => X"0000000000000000000000000000000000000000000000000000000000000000")
145
                port map (
146
      DO => do,      -- 32-bit Data Output
147
      DOP => open,    --unused  --dop,    -- 4-bit parity Output
148
      ADDR => addr,  -- 9-bit Address Input
149
      CLK => clk_inv,    -- Clock
150
      DI => di,      -- 32-bit Data Input
151
      DIP => "1111", --unused di(7 downto 4),    -- 4-bit parity Input
152
      EN => en,      -- RAM Enable Input
153
      SSR => ssr,    -- Synchronous Set/Reset Input
154
      WE => we       -- Write Enable Input
155
   );
156
 
157
   -- End of RAMB16_S36_inst instantiation
158
end Behavioral;
159
 

powered by: WebSVN 2.1.0

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