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

Subversion Repositories pcie_sg_dma

[/] [pcie_sg_dma/] [branches/] [Virtex6/] [ML605_ISE13.3/] [ipcore_dir_ISE13.3/] [v6_pcie_v1_6/] [example_design/] [EP_MEM.vhd] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 barabba
-------------------------------------------------------------------------------
2
--
3
-- (c) Copyright 2009-2011 Xilinx, Inc. All rights reserved.
4
--
5
-- This file contains confidential and proprietary information
6
-- of Xilinx, Inc. and is protected under U.S. and
7
-- international copyright and other intellectual property
8
-- laws.
9
--
10
-- DISCLAIMER
11
-- This disclaimer is not a license and does not grant any
12
-- rights to the materials distributed herewith. Except as
13
-- otherwise provided in a valid license issued to you by
14
-- Xilinx, and to the maximum extent permitted by applicable
15
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
16
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
17
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
18
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
19
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
20
-- (2) Xilinx shall not be liable (whether in contract or tort,
21
-- including negligence, or under any other theory of
22
-- liability) for any loss or damage of any kind or nature
23
-- related to, arising under or in connection with these
24
-- materials, including for any direct, or any indirect,
25
-- special, incidental, or consequential loss or damage
26
-- (including loss of data, profits, goodwill, or any type of
27
-- loss or damage suffered as a result of any action brought
28
-- by a third party) even if such damage or loss was
29
-- reasonably foreseeable or Xilinx had been advised of the
30
-- possibility of the same.
31
--
32
-- CRITICAL APPLICATIONS
33
-- Xilinx products are not designed or intended to be fail-
34
-- safe, or for use in any application requiring fail-safe
35
-- performance, such as life-support or safety devices or
36
-- systems, Class III medical devices, nuclear facilities,
37
-- applications related to the deployment of airbags, or any
38
-- other applications that could lead to death, personal
39
-- injury, or severe property or environmental damage
40
-- (individually and collectively, "Critical
41
-- Applications"). Customer assumes the sole risk and
42
-- liability of any use of Xilinx products in Critical
43
-- Applications, subject only to applicable laws and
44
-- regulations governing limitations on product liability.
45
--
46
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
47
-- PART OF THIS FILE AT ALL TIMES.
48
--
49
-------------------------------------------------------------------------------
50
-- Project    : Virtex-6 Integrated Block for PCI Express
51
-- File       : EP_MEM.vhd
52
-- Version    : 1.7
53
--
54
-- Description: Endpoint Memory: 8KB organized as 4 x (512 DW) BlockRAM banks.
55
--              Block RAM Port A: Read Port
56
--              Block RAM Port B: Write Port
57
--
58
--------------------------------------------------------------------------------
59
 
60
library ieee;
61
use ieee.std_logic_1164.all;
62
 
63
library unisim;
64
use unisim.vcomponents.all;
65
 
66
entity EP_MEM is port (
67
 
68
  clk_i : in std_logic ;
69
 
70
  a_rd_a_i_0 : in std_logic_vector(8 downto 0);
71
  a_rd_d_o_0 : out std_logic_vector(31 downto 0);
72
  a_rd_en_i_0 : in std_logic ;
73
 
74
  b_wr_a_i_0 : in std_logic_vector(8 downto 0);
75
  b_wr_d_i_0 : in std_logic_vector(31 downto 0);
76
  b_wr_en_i_0 : in std_logic ;
77
  b_rd_d_o_0 : out std_logic_vector(31 downto 0);
78
  b_rd_en_i_0 : in std_logic ;
79
 
80
  a_rd_a_i_1 : in std_logic_vector(8 downto 0);
81
  a_rd_d_o_1 : out std_logic_vector(31 downto 0);
82
  a_rd_en_i_1 : in std_logic ;
83
 
84
  b_wr_a_i_1 : in std_logic_vector(8 downto 0);
85
  b_wr_d_i_1 : in std_logic_vector(31 downto 0);
86
  b_wr_en_i_1 : in std_logic ;
87
  b_rd_d_o_1 : out std_logic_vector(31 downto 0);
88
  b_rd_en_i_1 : in std_logic ;
89
 
90
  a_rd_a_i_2 : in std_logic_vector(8 downto 0);
91
  a_rd_d_o_2 : out std_logic_vector(31 downto 0);
92
  a_rd_en_i_2 : in std_logic ;
93
 
94
  b_wr_a_i_2 : in std_logic_vector(8 downto 0);
95
  b_wr_d_i_2 : in std_logic_vector(31 downto 0);
96
  b_wr_en_i_2 : in std_logic ;
97
  b_rd_d_o_2 : out std_logic_vector(31 downto 0);
98
  b_rd_en_i_2 : in std_logic ;
99
 
100
  a_rd_a_i_3 : in std_logic_vector(8 downto 0);
101
  a_rd_d_o_3 : out std_logic_vector(31 downto 0);
102
  a_rd_en_i_3 : in std_logic ;
103
 
104
  b_wr_a_i_3 : in std_logic_vector(8 downto 0);
105
  b_wr_d_i_3 : in std_logic_vector(31 downto 0);
106
  b_wr_en_i_3 : in std_logic ;
107
  b_rd_d_o_3 : out std_logic_vector(31 downto 0);
108
  b_rd_en_i_3 : in std_logic
109
 
110
);
111
 
112
end EP_MEM;
113
 
114
architecture rtl of EP_MEM is
115
 
116
begin
117
 
118
------------------------------------------------------------------
119
--
120
--  4 x 512 DWs Buffer Banks (512 x 32 bits + 512 x 4 bits)
121
--
122
------------------------------------------------------------------
123
 
124
ep_mem_0 : RAMB16_S36_S36
125
generic map (
126
  SIM_COLLISION_CHECK => "NONE"
127
)
128
port map (
129
 
130
  CLKA =>  clk_i,
131
  SSRA  => '0',
132
  ADDRA =>  a_rd_a_i_0,
133
  DIA =>   X"00000000",
134
  DIPA =>  X"0",
135
  DOA =>   a_rd_d_o_0,
136
  DOPA =>  open,
137
  ENA =>   a_rd_en_i_0,
138
  WEA =>   '0',
139
 
140
  CLKB =>  clk_i,
141
  SSRB =>  '0',
142
  ADDRB => b_wr_a_i_0,
143
  DIB  =>  b_wr_d_i_0,
144
  DIPB =>  X"0",
145
  DOB  =>  b_rd_d_o_0,
146
  DOPB =>  open,
147
  ENB  =>  b_rd_en_i_0,
148
  WEB   => b_wr_en_i_0
149
 
150
);
151
 
152
ep_mem_1 : RAMB16_S36_S36
153
generic map (
154
  SIM_COLLISION_CHECK => "NONE"
155
)
156
port map (
157
 
158
  CLKA =>  clk_i,
159
  SSRA =>  '0',
160
  ADDRA => a_rd_a_i_1,
161
  DIA  =>  X"00000000",
162
  DIPA =>  X"0",
163
  DOA  =>  a_rd_d_o_1,
164
  DOPA =>  open,
165
  ENA  =>  a_rd_en_i_1,
166
  WEA =>   '0',
167
 
168
  CLKB =>  clk_i,
169
  SSRB =>  '0',
170
  ADDRB => b_wr_a_i_1,
171
  DIB  =>  b_wr_d_i_1,
172
  DIPB =>  X"0",
173
  DOB  =>  b_rd_d_o_1,
174
  DOPB =>  open,
175
  ENB  =>  b_rd_en_i_1,
176
  WEB  =>  b_wr_en_i_1
177
 
178
);
179
 
180
ep_mem_2 : RAMB16_S36_S36
181
generic map (
182
  SIM_COLLISION_CHECK => "NONE"
183
)
184
port map (
185
 
186
  CLKA =>  clk_i,
187
  SSRA =>  '0',
188
  ADDRA => a_rd_a_i_2,
189
  DIA  =>  X"00000000",
190
  DIPA =>  X"0",
191
  DOA =>   a_rd_d_o_2,
192
  DOPA =>  open,
193
  ENA =>   a_rd_en_i_2,
194
  WEA  =>  '0',
195
 
196
  CLKB =>  clk_i,
197
  SSRB =>  '0',
198
  ADDRB => b_wr_a_i_2,
199
  DIB =>   b_wr_d_i_2,
200
  DIPB =>  X"0",
201
  DOB  =>  b_rd_d_o_2,
202
  DOPB =>  open,
203
  ENB =>   b_rd_en_i_2,
204
  WEB =>   b_wr_en_i_2
205
 
206
);
207
 
208
ep_mem_3 : RAMB16_S36_S36
209
generic map (
210
  SIM_COLLISION_CHECK => "NONE"
211
)
212
port map (
213
 
214
  CLKA  => clk_i,
215
  SSRA =>  '0',
216
  ADDRA => a_rd_a_i_3,
217
  DIA =>   X"00000000",
218
  DIPA =>  X"0",
219
  DOA  =>  a_rd_d_o_3,
220
  DOPA =>  open,
221
  ENA  =>  a_rd_en_i_3,
222
  WEA  =>  '0',
223
 
224
  CLKB =>  clk_i,
225
  SSRB =>  '0',
226
  ADDRB => b_wr_a_i_3,
227
  DIB => b_wr_d_i_3,
228
  DIPB =>  X"0",
229
  DOB  =>  b_rd_d_o_3,
230
  DOPB =>  open,
231
  ENB  =>  b_rd_en_i_3 ,
232
  WEB  =>  b_wr_en_i_3
233
 
234
);
235
 
236
end; -- EP_MEM
237
 

powered by: WebSVN 2.1.0

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