1 | /*******************************************************************************
|
---|
2 | * This file is owned and controlled by Xilinx and must be used *
|
---|
3 | * solely for design, simulation, implementation and creation of *
|
---|
4 | * design files limited to Xilinx devices or technologies. Use *
|
---|
5 | * with non-Xilinx devices or technologies is expressly prohibited *
|
---|
6 | * and immediately terminates your license. *
|
---|
7 | * *
|
---|
8 | * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" *
|
---|
9 | * SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR *
|
---|
10 | * XILINX DEVICES. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION *
|
---|
11 | * AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION *
|
---|
12 | * OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS *
|
---|
13 | * IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT, *
|
---|
14 | * AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE *
|
---|
15 | * FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY DISCLAIMS ANY *
|
---|
16 | * WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE *
|
---|
17 | * IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR *
|
---|
18 | * REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF *
|
---|
19 | * INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
|
---|
20 | * FOR A PARTICULAR PURPOSE. *
|
---|
21 | * *
|
---|
22 | * Xilinx products are not intended for use in life support *
|
---|
23 | * appliances, devices, or systems. Use in such applications are *
|
---|
24 | * expressly prohibited. *
|
---|
25 | * *
|
---|
26 | * (c) Copyright 1995-2009 Xilinx, Inc. *
|
---|
27 | * All rights reserved. *
|
---|
28 | *******************************************************************************/
|
---|
29 | // The synthesis directives "translate_off/translate_on" specified below are
|
---|
30 | // supported by Xilinx, Mentor Graphics and Synplicity synthesis
|
---|
31 | // tools. Ensure they are correct for your synthesis tool(s).
|
---|
32 |
|
---|
33 | // You must compile the wrapper file FTU_dual_port_ram.v when simulating
|
---|
34 | // the core, FTU_dual_port_ram. When compiling the wrapper file, be sure to
|
---|
35 | // reference the XilinxCoreLib Verilog simulation library. For detailed
|
---|
36 | // instructions, please refer to the "CORE Generator Help".
|
---|
37 |
|
---|
38 | `timescale 1ns/1ps
|
---|
39 |
|
---|
40 | module FTU_dual_port_ram(
|
---|
41 | clka,
|
---|
42 | ena,
|
---|
43 | wea,
|
---|
44 | addra,
|
---|
45 | dina,
|
---|
46 | douta,
|
---|
47 | clkb,
|
---|
48 | enb,
|
---|
49 | web,
|
---|
50 | addrb,
|
---|
51 | dinb,
|
---|
52 | doutb);
|
---|
53 |
|
---|
54 |
|
---|
55 | input clka;
|
---|
56 | input ena;
|
---|
57 | input [0 : 0] wea;
|
---|
58 | input [4 : 0] addra;
|
---|
59 | input [7 : 0] dina;
|
---|
60 | output [7 : 0] douta;
|
---|
61 | input clkb;
|
---|
62 | input enb;
|
---|
63 | input [0 : 0] web;
|
---|
64 | input [3 : 0] addrb;
|
---|
65 | input [15 : 0] dinb;
|
---|
66 | output [15 : 0] doutb;
|
---|
67 |
|
---|
68 | // synthesis translate_off
|
---|
69 |
|
---|
70 | BLK_MEM_GEN_V3_3 #(
|
---|
71 | .C_ADDRA_WIDTH(5),
|
---|
72 | .C_ADDRB_WIDTH(4),
|
---|
73 | .C_ALGORITHM(2),
|
---|
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_FAMILY("spartan3"),
|
---|
80 | .C_HAS_ENA(1),
|
---|
81 | .C_HAS_ENB(1),
|
---|
82 | .C_HAS_INJECTERR(0),
|
---|
83 | .C_HAS_MEM_OUTPUT_REGS_A(0),
|
---|
84 | .C_HAS_MEM_OUTPUT_REGS_B(0),
|
---|
85 | .C_HAS_MUX_OUTPUT_REGS_A(0),
|
---|
86 | .C_HAS_MUX_OUTPUT_REGS_B(0),
|
---|
87 | .C_HAS_REGCEA(0),
|
---|
88 | .C_HAS_REGCEB(0),
|
---|
89 | .C_HAS_RSTA(0),
|
---|
90 | .C_HAS_RSTB(0),
|
---|
91 | .C_INITA_VAL("0"),
|
---|
92 | .C_INITB_VAL("0"),
|
---|
93 | .C_INIT_FILE_NAME("no_coe_file_loaded"),
|
---|
94 | .C_LOAD_INIT_FILE(0),
|
---|
95 | .C_MEM_TYPE(2),
|
---|
96 | .C_MUX_PIPELINE_STAGES(0),
|
---|
97 | .C_PRIM_TYPE(1),
|
---|
98 | .C_READ_DEPTH_A(32),
|
---|
99 | .C_READ_DEPTH_B(16),
|
---|
100 | .C_READ_WIDTH_A(8),
|
---|
101 | .C_READ_WIDTH_B(16),
|
---|
102 | .C_RSTRAM_A(0),
|
---|
103 | .C_RSTRAM_B(0),
|
---|
104 | .C_RST_PRIORITY_A("CE"),
|
---|
105 | .C_RST_PRIORITY_B("CE"),
|
---|
106 | .C_RST_TYPE("SYNC"),
|
---|
107 | .C_SIM_COLLISION_CHECK("ALL"),
|
---|
108 | .C_USE_BYTE_WEA(0),
|
---|
109 | .C_USE_BYTE_WEB(0),
|
---|
110 | .C_USE_DEFAULT_DATA(0),
|
---|
111 | .C_USE_ECC(0),
|
---|
112 | .C_WEA_WIDTH(1),
|
---|
113 | .C_WEB_WIDTH(1),
|
---|
114 | .C_WRITE_DEPTH_A(32),
|
---|
115 | .C_WRITE_DEPTH_B(16),
|
---|
116 | .C_WRITE_MODE_A("NO_CHANGE"),
|
---|
117 | .C_WRITE_MODE_B("NO_CHANGE"),
|
---|
118 | .C_WRITE_WIDTH_A(8),
|
---|
119 | .C_WRITE_WIDTH_B(16),
|
---|
120 | .C_XDEVICEFAMILY("spartan3a"))
|
---|
121 | inst (
|
---|
122 | .CLKA(clka),
|
---|
123 | .ENA(ena),
|
---|
124 | .WEA(wea),
|
---|
125 | .ADDRA(addra),
|
---|
126 | .DINA(dina),
|
---|
127 | .DOUTA(douta),
|
---|
128 | .CLKB(clkb),
|
---|
129 | .ENB(enb),
|
---|
130 | .WEB(web),
|
---|
131 | .ADDRB(addrb),
|
---|
132 | .DINB(dinb),
|
---|
133 | .DOUTB(doutb),
|
---|
134 | .RSTA(),
|
---|
135 | .REGCEA(),
|
---|
136 | .RSTB(),
|
---|
137 | .REGCEB(),
|
---|
138 | .INJECTSBITERR(),
|
---|
139 | .INJECTDBITERR(),
|
---|
140 | .SBITERR(),
|
---|
141 | .DBITERR(),
|
---|
142 | .RDADDRECC());
|
---|
143 |
|
---|
144 |
|
---|
145 | // synthesis translate_on
|
---|
146 |
|
---|
147 | // XST black box declaration
|
---|
148 | // box_type "black_box"
|
---|
149 | // synthesis attribute box_type of FTU_dual_port_ram is "black_box"
|
---|
150 |
|
---|
151 | endmodule
|
---|
152 |
|
---|