annotate fifo.v @ 1:f88da01700da GSOFT-MEMEC-1-REL

Initial import of test project for Memec 3SxLC board with Xilinx XC3S400. Uses a FIFO and flashes some LEDs.
author darius
date Fri, 24 Feb 2006 14:01:25 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
1 /*******************************************************************************
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
2 * This file is owned and controlled by Xilinx and must be used *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
3 * solely for design, simulation, implementation and creation of *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
4 * design files limited to Xilinx devices or technologies. Use *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
5 * with non-Xilinx devices or technologies is expressly prohibited *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
6 * and immediately terminates your license. *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
7 * *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
8 * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
9 * SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
10 * XILINX DEVICES. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
11 * AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
12 * OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
13 * IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT, *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
14 * AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
15 * FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY DISCLAIMS ANY *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
16 * WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
17 * IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
18 * REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
19 * INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
20 * FOR A PARTICULAR PURPOSE. *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
21 * *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
22 * Xilinx products are not intended for use in life support *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
23 * appliances, devices, or systems. Use in such applications are *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
24 * expressly prohibited. *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
25 * *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
26 * (c) Copyright 1995-2006 Xilinx, Inc. *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
27 * All rights reserved. *
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
28 *******************************************************************************/
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
29 // The synopsys directives "translate_off/translate_on" specified below are
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
30 // supported by XST, FPGA Compiler II, Mentor Graphics and Synplicity synthesis
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
31 // tools. Ensure they are correct for your synthesis tool(s).
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
32
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
33 // You must compile the wrapper file fifo.v when simulating
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
34 // the core, fifo. When compiling the wrapper file, be sure to
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
35 // reference the XilinxCoreLib Verilog simulation library. For detailed
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
36 // instructions, please refer to the "CORE Generator Help".
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
37
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
38 `timescale 1ns/1ps
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
39
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
40 module fifo(
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
41 din,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
42 wr_en,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
43 wr_clk,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
44 rd_en,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
45 rd_clk,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
46 ainit,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
47 dout,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
48 full,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
49 empty);
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
50
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
51
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
52 input [3 : 0] din;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
53 input wr_en;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
54 input wr_clk;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
55 input rd_en;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
56 input rd_clk;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
57 input ainit;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
58 output [3 : 0] dout;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
59 output full;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
60 output empty;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
61
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
62 // synopsys translate_off
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
63
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
64 ASYNC_FIFO_V6_1 #(
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
65 4, // c_data_width
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
66 0, // c_enable_rlocs
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
67 15, // c_fifo_depth
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
68 0, // c_has_almost_empty
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
69 0, // c_has_almost_full
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
70 0, // c_has_rd_ack
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
71 0, // c_has_rd_count
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
72 0, // c_has_rd_err
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
73 0, // c_has_wr_ack
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
74 0, // c_has_wr_count
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
75 0, // c_has_wr_err
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
76 0, // c_rd_ack_low
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
77 2, // c_rd_count_width
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
78 0, // c_rd_err_low
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
79 1, // c_use_blockmem
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
80 0, // c_wr_ack_low
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
81 2, // c_wr_count_width
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
82 0) // c_wr_err_low
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
83 inst (
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
84 .DIN(din),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
85 .WR_EN(wr_en),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
86 .WR_CLK(wr_clk),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
87 .RD_EN(rd_en),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
88 .RD_CLK(rd_clk),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
89 .AINIT(ainit),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
90 .DOUT(dout),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
91 .FULL(full),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
92 .EMPTY(empty),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
93 .ALMOST_FULL(),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
94 .ALMOST_EMPTY(),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
95 .WR_COUNT(),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
96 .RD_COUNT(),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
97 .RD_ACK(),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
98 .RD_ERR(),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
99 .WR_ACK(),
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
100 .WR_ERR());
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
101
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
102
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
103 // synopsys translate_on
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
104
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
105 // FPGA Express black box declaration
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
106 // synopsys attribute fpga_dont_touch "true"
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
107 // synthesis attribute fpga_dont_touch of fifo is "true"
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
108
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
109 // XST black box declaration
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
110 // box_type "black_box"
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
111 // synthesis attribute box_type of fifo is "black_box"
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
112
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
113 endmodule
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
114