Mercurial > ~darius > hgwebdir.cgi > memec-test
annotate fifo.vhd @ 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 |
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 |