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

Subversion Repositories mod_mult_exp

[/] [mod_mult_exp/] [trunk/] [rtl/] [vhdl/] [mod_exp/] [blockMemory32/] [blockMemory/] [example_design/] [blockMemory_prod.vhd] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 gajos
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
--------------------------------------------------------------------------------
10
--
11
-- BLK MEM GEN v7.1 Core - Top-level wrapper
12
--
13
--------------------------------------------------------------------------------
14
--
15
-- (c) Copyright 2006-2011 Xilinx, Inc. All rights reserved.
16
--
17
-- This file contains confidential and proprietary information
18
-- of Xilinx, Inc. and is protected under U.S. and
19
-- international copyright and other intellectual property
20
-- laws.
21
--
22
-- DISCLAIMER
23
-- This disclaimer is not a license and does not grant any
24
-- rights to the materials distributed herewith. Except as
25
-- otherwise provided in a valid license issued to you by
26
-- Xilinx, and to the maximum extent permitted by applicable
27
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
28
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
29
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
30
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
31
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
32
-- (2) Xilinx shall not be liable (whether in contract or tort,
33
-- including negligence, or under any other theory of
34
-- liability) for any loss or damage of any kind or nature
35
-- related to, arising under or in connection with these
36
-- materials, including for any direct, or any indirect,
37
-- special, incidental, or consequential loss or damage
38
-- (including loss of data, profits, goodwill, or any type of
39
-- loss or damage suffered as a result of any action brought
40
-- by a third party) even if such damage or loss was
41
-- reasonably foreseeable or Xilinx had been advised of the
42
-- possibility of the same.
43
--
44
-- CRITICAL APPLICATIONS
45
-- Xilinx products are not designed or intended to be fail-
46
-- safe, or for use in any application requiring fail-safe
47
-- performance, such as life-support or safety devices or
48
-- systems, Class III medical devices, nuclear facilities,
49
-- applications related to the deployment of airbags, or any
50
-- other applications that could lead to death, personal
51
-- injury, or severe property or environmental damage
52
-- (individually and collectively, "Critical
53
-- Applications"). Customer assumes the sole risk and
54
-- liability of any use of Xilinx products in Critical
55
-- Applications, subject only to applicable laws and
56
-- regulations governing limitations on product liability.
57
--
58
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
59
-- PART OF THIS FILE AT ALL TIMES.
60
--
61
--------------------------------------------------------------------------------
62
--
63
-- Filename: blockMemory_prod.vhd
64
--
65
-- Description:
66
--   This is the top-level BMG wrapper (over BMG core).
67
--
68
--------------------------------------------------------------------------------
69
-- Author: IP Solutions Division
70
--
71
-- History: August 31, 2005 - First Release
72
--------------------------------------------------------------------------------
73
--
74
-- Configured Core Parameter Values:
75
-- (Refer to the SIM Parameters table in the datasheet for more information on
76
-- the these parameters.)
77
--    C_FAMILY                    :  spartan3e 
78
--    C_XDEVICEFAMILY             :  spartan3e 
79
--    C_INTERFACE_TYPE            :  0 
80
--    C_ENABLE_32BIT_ADDRESS      :  0 
81
--    C_AXI_TYPE                  :  1 
82
--    C_AXI_SLAVE_TYPE            :  0 
83
--    C_AXI_ID_WIDTH              :  4 
84
--    C_MEM_TYPE                  :  0 
85
--    C_BYTE_SIZE                 :  9 
86
--    C_ALGORITHM                 :  0 
87
--    C_PRIM_TYPE                 :  6 
88
--    C_LOAD_INIT_FILE            :  0 
89
--    C_INIT_FILE_NAME            :  no_coe_file_loaded 
90
--    C_USE_DEFAULT_DATA          :  0 
91
--    C_DEFAULT_DATA              :  0 
92
--    C_RST_TYPE                  :  SYNC 
93
--    C_HAS_RSTA                  :  1 
94
--    C_RST_PRIORITY_A            :  CE 
95
--    C_RSTRAM_A                  :  0 
96
--    C_INITA_VAL                 :  0 
97
--    C_HAS_ENA                   :  0 
98
--    C_HAS_REGCEA                :  0 
99
--    C_USE_BYTE_WEA              :  0 
100
--    C_WEA_WIDTH                 :  1 
101
--    C_WRITE_MODE_A              :  READ_FIRST 
102
--    C_WRITE_WIDTH_A             :  32 
103
--    C_READ_WIDTH_A              :  32 
104
--    C_WRITE_DEPTH_A             :  16 
105
--    C_READ_DEPTH_A              :  16 
106
--    C_ADDRA_WIDTH               :  4 
107
--    C_HAS_RSTB                  :  0 
108
--    C_RST_PRIORITY_B            :  CE 
109
--    C_RSTRAM_B                  :  0 
110
--    C_INITB_VAL                 :  0 
111
--    C_HAS_ENB                   :  0 
112
--    C_HAS_REGCEB                :  0 
113
--    C_USE_BYTE_WEB              :  0 
114
--    C_WEB_WIDTH                 :  1 
115
--    C_WRITE_MODE_B              :  WRITE_FIRST 
116
--    C_WRITE_WIDTH_B             :  32 
117
--    C_READ_WIDTH_B              :  32 
118
--    C_WRITE_DEPTH_B             :  16 
119
--    C_READ_DEPTH_B              :  16 
120
--    C_ADDRB_WIDTH               :  4 
121
--    C_HAS_MEM_OUTPUT_REGS_A     :  0 
122
--    C_HAS_MEM_OUTPUT_REGS_B     :  0 
123
--    C_HAS_MUX_OUTPUT_REGS_A     :  0 
124
--    C_HAS_MUX_OUTPUT_REGS_B     :  0 
125
--    C_HAS_SOFTECC_INPUT_REGS_A  :  0 
126
--    C_HAS_SOFTECC_OUTPUT_REGS_B :  0 
127
--    C_MUX_PIPELINE_STAGES       :  0 
128
--    C_USE_ECC                   :  0 
129
--    C_USE_SOFTECC               :  0 
130
--    C_HAS_INJECTERR             :  0 
131
--    C_SIM_COLLISION_CHECK       :  ALL 
132
--    C_COMMON_CLK                :  0 
133
--    C_DISABLE_WARN_BHV_COLL     :  0 
134
--    C_DISABLE_WARN_BHV_RANGE    :  0 
135
 
136
--------------------------------------------------------------------------------
137
-- Library Declarations
138
--------------------------------------------------------------------------------
139
 
140
LIBRARY IEEE;
141
USE IEEE.STD_LOGIC_1164.ALL;
142
USE IEEE.STD_LOGIC_ARITH.ALL;
143
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
144
 
145
LIBRARY UNISIM;
146
USE UNISIM.VCOMPONENTS.ALL;
147
 
148
--------------------------------------------------------------------------------
149
-- Entity Declaration
150
--------------------------------------------------------------------------------
151
ENTITY blockMemory_prod IS
152
  PORT (
153
    --Port A
154
    CLKA       : IN STD_LOGIC;
155
    RSTA       : IN STD_LOGIC;  --opt port
156
    ENA        : IN STD_LOGIC;  --optional port
157
    REGCEA     : IN STD_LOGIC;  --optional port
158
    WEA        : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
159
    ADDRA      : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
160
    DINA       : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
161
    DOUTA      : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
162
 
163
    --Port B
164
    CLKB       : IN STD_LOGIC;
165
    RSTB       : IN STD_LOGIC;  --opt port
166
    ENB        : IN STD_LOGIC;  --optional port
167
    REGCEB     : IN STD_LOGIC;  --optional port
168
    WEB        : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
169
    ADDRB      : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
170
    DINB       : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
171
    DOUTB      : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
172
 
173
    --ECC
174
    INJECTSBITERR  : IN STD_LOGIC; --optional port
175
    INJECTDBITERR  : IN STD_LOGIC; --optional port
176
    SBITERR        : OUT STD_LOGIC; --optional port
177
    DBITERR        : OUT STD_LOGIC; --optional port
178
    RDADDRECC      : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --optional port
179
 -- AXI BMG Input and Output Port Declarations
180
 
181
    -- AXI Global Signals
182
    S_ACLK                         : IN  STD_LOGIC;
183
    S_AXI_AWID                     : IN  STD_LOGIC_VECTOR(3 DOWNTO 0);
184
    S_AXI_AWADDR                   : IN  STD_LOGIC_VECTOR(31 DOWNTO 0);
185
    S_AXI_AWLEN                    : IN  STD_LOGIC_VECTOR(7 DOWNTO 0);
186
    S_AXI_AWSIZE                   : IN  STD_LOGIC_VECTOR(2 DOWNTO 0);
187
    S_AXI_AWBURST                  : IN  STD_LOGIC_VECTOR(1 DOWNTO 0);
188
    S_AXI_AWVALID                  : IN  STD_LOGIC;
189
    S_AXI_AWREADY                  : OUT STD_LOGIC;
190
    S_AXI_WDATA                    : IN  STD_LOGIC_VECTOR(31  DOWNTO 0);
191
    S_AXI_WSTRB                    : IN  STD_LOGIC_VECTOR(0  DOWNTO 0);
192
    S_AXI_WLAST                    : IN  STD_LOGIC;
193
    S_AXI_WVALID                   : IN  STD_LOGIC;
194
    S_AXI_WREADY                   : OUT STD_LOGIC;
195
    S_AXI_BID                      : OUT STD_LOGIC_VECTOR(3  DOWNTO 0):= (OTHERS => '0');
196
    S_AXI_BRESP                    : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
197
    S_AXI_BVALID                   : OUT STD_LOGIC;
198
    S_AXI_BREADY                   : IN  STD_LOGIC;
199
 
200
    -- AXI Full/Lite Slave Read (Write side)
201
    S_AXI_ARID                     : IN  STD_LOGIC_VECTOR(3  DOWNTO 0);
202
    S_AXI_ARADDR                   : IN  STD_LOGIC_VECTOR(31 DOWNTO 0);
203
    S_AXI_ARLEN                    : IN  STD_LOGIC_VECTOR(7 DOWNTO 0);
204
    S_AXI_ARSIZE                   : IN  STD_LOGIC_VECTOR(2 DOWNTO 0);
205
    S_AXI_ARBURST                  : IN  STD_LOGIC_VECTOR(1 DOWNTO 0);
206
    S_AXI_ARVALID                  : IN  STD_LOGIC;
207
    S_AXI_ARREADY                  : OUT STD_LOGIC;
208
    S_AXI_RID                      : OUT STD_LOGIC_VECTOR(3  DOWNTO 0):= (OTHERS => '0');
209
    S_AXI_RDATA                    : OUT STD_LOGIC_VECTOR(31  DOWNTO 0);
210
    S_AXI_RRESP                    : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
211
    S_AXI_RLAST                    : OUT STD_LOGIC;
212
    S_AXI_RVALID                   : OUT STD_LOGIC;
213
    S_AXI_RREADY                   : IN  STD_LOGIC;
214
 
215
    -- AXI Full/Lite Sideband Signals
216
    S_AXI_INJECTSBITERR            : IN  STD_LOGIC;
217
    S_AXI_INJECTDBITERR            : IN  STD_LOGIC;
218
    S_AXI_SBITERR                  : OUT STD_LOGIC;
219
    S_AXI_DBITERR                  : OUT STD_LOGIC;
220
    S_AXI_RDADDRECC                : OUT STD_LOGIC_VECTOR(3  DOWNTO 0);
221
    S_ARESETN                      : IN  STD_LOGIC
222
 
223
 
224
  );
225
 
226
END blockMemory_prod;
227
 
228
 
229
ARCHITECTURE xilinx OF blockMemory_prod IS
230
 
231
  COMPONENT blockMemory_exdes IS
232
  PORT (
233
      --Port A
234
    RSTA           : IN STD_LOGIC;  --opt port
235
 
236
    WEA            : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
237
    ADDRA          : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
238
 
239
    DINA           : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
240
 
241
    DOUTA          : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
242
 
243
    CLKA       : IN STD_LOGIC
244
 
245
 
246
 
247
 
248
  );
249
  END COMPONENT;
250
 
251
BEGIN
252
 
253
  bmg0 : blockMemory_exdes
254
    PORT MAP (
255
      --Port A
256
      RSTA       => RSTA,
257
 
258
      WEA        => WEA,
259
      ADDRA      => ADDRA,
260
 
261
      DINA       => DINA,
262
 
263
      DOUTA      => DOUTA,
264
 
265
      CLKA       => CLKA
266
 
267
 
268
 
269
      );
270
END xilinx;

powered by: WebSVN 2.1.0

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