]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/lx-rocon.git/blob - hw/ipcore_dir/control_bram.vhd
683ab5fc082c6de5cc193ffe07fd3ae4309a686b
[fpga/lx-cpu1/lx-rocon.git] / hw / ipcore_dir / control_bram.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-2013 Xilinx, Inc.                                    --
26 --    All rights reserved.                                                    --
27 --------------------------------------------------------------------------------
28 --------------------------------------------------------------------------------
29 -- You must compile the wrapper file control_bram.vhd when simulating
30 -- the core, control_bram. 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 control_bram IS
44   PORT (
45     clka : IN STD_LOGIC;
46     ena : IN STD_LOGIC;
47     wea : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
48     addra : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
49     dina : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
50     douta : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
51     clkb : IN STD_LOGIC;
52     enb : IN STD_LOGIC;
53     web : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
54     addrb : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
55     dinb : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
56     doutb : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
57   );
58 END control_bram;
59
60 ARCHITECTURE control_bram_a OF control_bram IS
61 -- synthesis translate_off
62 COMPONENT wrapped_control_bram
63   PORT (
64     clka : IN STD_LOGIC;
65     ena : IN STD_LOGIC;
66     wea : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
67     addra : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
68     dina : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
69     douta : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
70     clkb : IN STD_LOGIC;
71     enb : IN STD_LOGIC;
72     web : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
73     addrb : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
74     dinb : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
75     doutb : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
76   );
77 END COMPONENT;
78
79 -- Configuration specification
80   FOR ALL : wrapped_control_bram USE ENTITY XilinxCoreLib.blk_mem_gen_v7_3(behavioral)
81     GENERIC MAP (
82       c_addra_width => 9,
83       c_addrb_width => 9,
84       c_algorithm => 0,
85       c_axi_id_width => 4,
86       c_axi_slave_type => 0,
87       c_axi_type => 1,
88       c_byte_size => 8,
89       c_common_clk => 0,
90       c_default_data => "0",
91       c_disable_warn_bhv_coll => 0,
92       c_disable_warn_bhv_range => 0,
93       c_enable_32bit_address => 0,
94       c_family => "spartan6",
95       c_has_axi_id => 0,
96       c_has_ena => 1,
97       c_has_enb => 1,
98       c_has_injecterr => 0,
99       c_has_mem_output_regs_a => 0,
100       c_has_mem_output_regs_b => 0,
101       c_has_mux_output_regs_a => 0,
102       c_has_mux_output_regs_b => 0,
103       c_has_regcea => 0,
104       c_has_regceb => 0,
105       c_has_rsta => 0,
106       c_has_rstb => 0,
107       c_has_softecc_input_regs_a => 0,
108       c_has_softecc_output_regs_b => 0,
109       c_init_file => "BlankString",
110       c_init_file_name => "no_coe_file_loaded",
111       c_inita_val => "0",
112       c_initb_val => "0",
113       c_interface_type => 0,
114       c_load_init_file => 0,
115       c_mem_type => 2,
116       c_mux_pipeline_stages => 0,
117       c_prim_type => 3,
118       c_read_depth_a => 288,
119       c_read_depth_b => 288,
120       c_read_width_a => 32,
121       c_read_width_b => 32,
122       c_rst_priority_a => "CE",
123       c_rst_priority_b => "CE",
124       c_rst_type => "SYNC",
125       c_rstram_a => 0,
126       c_rstram_b => 0,
127       c_sim_collision_check => "ALL",
128       c_use_bram_block => 0,
129       c_use_byte_wea => 1,
130       c_use_byte_web => 1,
131       c_use_default_data => 1,
132       c_use_ecc => 0,
133       c_use_softecc => 0,
134       c_wea_width => 4,
135       c_web_width => 4,
136       c_write_depth_a => 288,
137       c_write_depth_b => 288,
138       c_write_mode_a => "WRITE_FIRST",
139       c_write_mode_b => "WRITE_FIRST",
140       c_write_width_a => 32,
141       c_write_width_b => 32,
142       c_xdevicefamily => "spartan6"
143     );
144 -- synthesis translate_on
145 BEGIN
146 -- synthesis translate_off
147 U0 : wrapped_control_bram
148   PORT MAP (
149     clka => clka,
150     ena => ena,
151     wea => wea,
152     addra => addra,
153     dina => dina,
154     douta => douta,
155     clkb => clkb,
156     enb => enb,
157     web => web,
158     addrb => addrb,
159     dinb => dinb,
160     doutb => doutb
161   );
162 -- synthesis translate_on
163
164 END control_bram_a;