otsdaq_prepmodernization  v2_05_02_indev
EthernetRAM.vhd
1 --------------------------------------------------------------------------------
2 -- This file is owned and controlled by Xilinx and must be used solely --
3 -- for design, simulation, implementation and creation of design files --
4 -- limited to Xilinx devices or technologies. Use with non-Xilinx --
5 -- devices or technologies is expressly prohibited and immediately --
6 -- terminates your license. --
7 -- --
8 -- XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" SOLELY --
9 -- FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR XILINX DEVICES. BY --
10 -- PROVIDING THIS DESIGN, CODE, OR INFORMATION AS ONE POSSIBLE --
11 -- IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD, XILINX IS --
12 -- MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE FROM ANY --
13 -- CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING ANY --
14 -- RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY --
15 -- DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE --
16 -- IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR --
17 -- REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF --
18 -- INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A --
19 -- PARTICULAR PURPOSE. --
20 -- --
21 -- Xilinx products are not intended for use in life support appliances, --
22 -- devices, or systems. Use in such applications are expressly --
23 -- prohibited. --
24 -- --
25 -- (c) Copyright 1995-2017 Xilinx, Inc. --
26 -- All rights reserved. --
27 --------------------------------------------------------------------------------
28 --------------------------------------------------------------------------------
29 -- You must compile the wrapper file EthernetRAM.vhd when simulating
30 -- the core, EthernetRAM. When compiling the wrapper file, be sure to
31 -- reference the XilinxCoreLib VHDL simulation library. For detailed
32 -- instructions, please refer to the "CORE Generator Help".
33 
34 -- The synthesis directives "translate_off/translate_on" specified
35 -- below are supported by Xilinx, Mentor Graphics and Synplicity
36 -- synthesis tools. Ensure they are correct for your synthesis tool(s).
37 
38 LIBRARY ieee;
39 USE ieee.std_logic_1164.ALL;
40 -- synthesis translate_off
41 LIBRARY XilinxCoreLib;
42 -- synthesis translate_on
43 ENTITY EthernetRAM IS
44  PORT (
45  clka : IN STD_LOGIC;
46  wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
47  addra : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
48  dina : IN STD_LOGIC_VECTOR(63 DOWNTO 0);
49  douta : OUT STD_LOGIC_VECTOR(63 DOWNTO 0)
50  );
51 END EthernetRAM;
52 
53 ARCHITECTURE EthernetRAM_a OF EthernetRAM IS
54 -- synthesis translate_off
55 COMPONENT wrapped_EthernetRAM
56  PORT (
57  clka : IN STD_LOGIC;
58  wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
59  addra : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
60  dina : IN STD_LOGIC_VECTOR(63 DOWNTO 0);
61  douta : OUT STD_LOGIC_VECTOR(63 DOWNTO 0)
62  );
63 END COMPONENT;
64 
65 -- Configuration specification
66  FOR ALL : wrapped_EthernetRAM USE ENTITY XilinxCoreLib.blk_mem_gen_v7_3(behavioral)
67  GENERIC MAP (
68  c_addra_width => 10,
69  c_addrb_width => 10,
70  c_algorithm => 1,
71  c_axi_id_width => 4,
72  c_axi_slave_type => 0,
73  c_axi_type => 1,
74  c_byte_size => 9,
75  c_common_clk => 0,
76  c_default_data => "0",
77  c_disable_warn_bhv_coll => 0,
78  c_disable_warn_bhv_range => 0,
79  c_enable_32bit_address => 0,
80  c_family => "virtex4",
81  c_has_axi_id => 0,
82  c_has_ena => 0,
83  c_has_enb => 0,
84  c_has_injecterr => 0,
85  c_has_mem_output_regs_a => 0,
86  c_has_mem_output_regs_b => 0,
87  c_has_mux_output_regs_a => 0,
88  c_has_mux_output_regs_b => 0,
89  c_has_regcea => 0,
90  c_has_regceb => 0,
91  c_has_rsta => 0,
92  c_has_rstb => 0,
93  c_has_softecc_input_regs_a => 0,
94  c_has_softecc_output_regs_b => 0,
95  c_init_file => "BlankString",
96  c_init_file_name => "no_coe_file_loaded" ,
97  c_inita_val => "0",
98  c_initb_val => "0",
99  c_interface_type => 0,
100  c_load_init_file => 0,
101  c_mem_type => 0,
102  c_mux_pipeline_stages => 0,
103  c_prim_type => 1,
104  c_read_depth_a => 1024,
105  c_read_depth_b => 1024,
106  c_read_width_a => 64,
107  c_read_width_b => 64,
108  c_rst_priority_a => "CE",
109  c_rst_priority_b => "CE",
110  c_rst_type => "SYNC",
111  c_rstram_a => 0,
112  c_rstram_b => 0,
113  c_sim_collision_check => "ALL",
114  c_use_bram_block => 0,
115  c_use_byte_wea => 0,
116  c_use_byte_web => 0,
117  c_use_default_data => 0,
118  c_use_ecc => 0,
119  c_use_softecc => 0,
120  c_wea_width => 1,
121  c_web_width => 1,
122  c_write_depth_a => 1024,
123  c_write_depth_b => 1024,
124  c_write_mode_a => "READ_FIRST",
125  c_write_mode_b => "WRITE_FIRST",
126  c_write_width_a => 64,
127  c_write_width_b => 64,
128  c_xdevicefamily => "virtex4"
129  );
130 -- synthesis translate_on
131 BEGIN
132 -- synthesis translate_off
133 U0 : wrapped_EthernetRAM
134  PORT MAP (
135  clka => clka,
136  wea => wea,
137  addra => addra,
138  dina => dina,
139  douta => douta
140  );
141 -- synthesis translate_on
142 
143 END EthernetRAM_a;