annotate fifo.vhd @ 3:65ee845bf08c default tip

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:26 +0000
parents f88da01700da
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 -- You must compile the wrapper file fifo.vhd when simulating
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
30 -- 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
31 -- reference the XilinxCoreLib VHDL simulation library. For detailed
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
32 -- 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
33
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
34 -- The synopsys directives "translate_off/translate_on" specified
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
35 -- below are supported by XST, FPGA Compiler II, Mentor Graphics and Synplicity
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
36 -- synthesis 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
37
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
38 LIBRARY ieee;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
39 USE ieee.std_logic_1164.ALL;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
40 -- synopsys translate_off
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
41 Library XilinxCoreLib;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
42 -- synopsys translate_on
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
43 ENTITY fifo IS
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
44 port (
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
45 din: IN std_logic_VECTOR(3 downto 0);
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
46 wr_en: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
47 wr_clk: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
48 rd_en: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
49 rd_clk: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
50 ainit: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
51 dout: OUT std_logic_VECTOR(3 downto 0);
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
52 full: OUT std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
53 empty: OUT std_logic);
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
54 END fifo;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
55
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
56 ARCHITECTURE fifo_a OF fifo IS
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
57 -- synopsys translate_off
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
58 component wrapped_fifo
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
59 port (
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
60 din: IN std_logic_VECTOR(3 downto 0);
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
61 wr_en: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
62 wr_clk: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
63 rd_en: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
64 rd_clk: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
65 ainit: IN std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
66 dout: OUT std_logic_VECTOR(3 downto 0);
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
67 full: OUT std_logic;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
68 empty: OUT std_logic);
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
69 end component;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
70
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
71 -- Configuration specification
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
72 for all : wrapped_fifo use entity XilinxCoreLib.async_fifo_v6_1(behavioral)
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
73 generic map(
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
74 c_use_blockmem => 1,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
75 c_rd_count_width => 2,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
76 c_has_wr_ack => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
77 c_has_almost_full => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
78 c_has_wr_err => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
79 c_wr_err_low => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
80 c_wr_ack_low => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
81 c_data_width => 4,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
82 c_enable_rlocs => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
83 c_rd_err_low => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
84 c_rd_ack_low => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
85 c_wr_count_width => 2,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
86 c_has_rd_count => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
87 c_has_almost_empty => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
88 c_has_rd_ack => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
89 c_has_wr_count => 0,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
90 c_fifo_depth => 15,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
91 c_has_rd_err => 0);
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
92 -- synopsys translate_on
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
93 BEGIN
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
94 -- synopsys translate_off
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
95 U0 : wrapped_fifo
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
96 port map (
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
97 din => din,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
98 wr_en => wr_en,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
99 wr_clk => wr_clk,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
100 rd_en => rd_en,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
101 rd_clk => rd_clk,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
102 ainit => ainit,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
103 dout => dout,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
104 full => full,
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
105 empty => empty);
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
106 -- synopsys translate_on
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
107
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
108 END fifo_a;
f88da01700da Initial import of test project for Memec 3SxLC board with Xilinx XC3S400.
darius
parents:
diff changeset
109