00001 --**************************************************************
00002 --* *
00003 --* The source code for the ATLAS BCM "AAA" FPGA is made *
00004 --* available via the GNU General Public License (GPL) *
00005 --* unless otherwise stated below. *
00006 --* *
00007 --* In case of problems/questions/bug reports etc. please *
00008 --* contact michael.niegl@cern.ch *
00009 --* *
00010 --**************************************************************
00011
00012 --**************************************************************
00013 --* *
00014 --* $Source: /local/reps/bcmfpga/bcm_aaa/bcm_aaa/ddr/mem_interface_top_controller_iobs_0.vhd,v $ *
00015 --* $Revision: 1.3.2.3 $ *
00016 --* $Name: dev $ *
00017 --* $Author: mniegl $ *
00018 --* $Date: 2008/11/03 17:57:43 $ *
00019 --* *
00020 --**************************************************************
00021 -------------------------------------------------------------------------------
00022 -- Copyright (c) 2005 Xilinx, Inc.
00023 -- This design is confidential and proprietary of Xilinx, All Rights Reserved.
00024 -------------------------------------------------------------------------------
00025 -- ____ ____
00026 -- / /\/ /
00027 -- /___/ \ / Vendor: Xilinx
00028 -- \ \ \/ Version: 1.6
00029 -- \ \ Application : MIG
00030 -- / / Filename: mem_interface_top_controller_iobs_0.vhd
00031 -- /___/ /\ Date Last Modified: Wed Jun 1 2005
00032 -- \ \ / \Date Created: Mon May 2 2005
00033 -- \___\/\___\
00034 -- Device: Virtex-4
00035 -- Design Name: DDR1_SDRAM
00036 -- Description: Puts the memory control signals like address, bank address, row
00037 -- address strobe, column address strobe, write enable and clock enable in the IOBs.
00038 -------------------------------------------------------------------------------
00039
00040
00041 library ieee;
00042
00043 use ieee.std_logic_1164.all;
00044
00045 library unisim;
00046
00047 use unisim.vcomponents.all;
00048 use work.mem_interface_top_parameters_0.all;
00049
00050 entity mem_interface_top_controller_iobs_0 is
00051 port ( ctrl_ddr_address : in ((row_address - 1) downto 0);
00052 ctrl_ddr_ba : in ((bank_address - 1) downto 0);
00053 ctrl_ddr_ras_L : in ;
00054 ctrl_ddr_cas_L : in ;
00055 ctrl_ddr_we_L : in ;
00056 ctrl_ddr_cs_L : in ;
00057 ctrl_ddr_cke : in ;
00058 DDR_ADDRESS : out ((row_address - 1) downto 0);
00059 DDR_BA : out ((bank_address - 1) downto 0);
00060 DDR_RAS_L : out ;
00061 DDR_CAS_L : out ;
00062 DDR_WE_L : out ;
00063 DDR_CKE : out ;
00064 ddr_cs_L : out
00065 );
00066 end mem_interface_top_controller_iobs_0;
00067
00068 architecture arch of mem_interface_top_controller_iobs_0 is
00069
00070 component OBUF
00071 port ( I : in ;
00072 O : out
00073 );
00074 end component;
00075
00076 begin
00077
00078 r0: OBUF port map( I => ctrl_ddr_ras_L,
00079 O => DDR_RAS_L
00080 );
00081
00082 r1: OBUF port map( I => ctrl_ddr_cas_L,
00083 O => DDR_CAS_L
00084 );
00085
00086 r2: OBUF port map( I => ctrl_ddr_we_L,
00087 O => DDR_WE_L
00088 );
00089
00090
00091 OBUF_cs0: OBUF port map( I => ctrl_ddr_cs_L,
00092 O => ddr_cs_L
00093 );
00094
00095
00096 OBUF_cke0: OBUF port map( I => ctrl_ddr_cke,
00097 O => DDR_CKE
00098 );
00099
00100
00101
00102 OBUF_r0: OBUF port map( I => ctrl_ddr_address(0),
00103 O => DDR_ADDRESS(0)
00104 );
00105
00106
00107 OBUF_r1: OBUF port map( I => ctrl_ddr_address(1),
00108 O => DDR_ADDRESS(1)
00109 );
00110
00111
00112 OBUF_r2: OBUF port map( I => ctrl_ddr_address(2),
00113 O => DDR_ADDRESS(2)
00114 );
00115
00116
00117 OBUF_r3: OBUF port map( I => ctrl_ddr_address(3),
00118 O => DDR_ADDRESS(3)
00119 );
00120
00121
00122 OBUF_r4: OBUF port map( I => ctrl_ddr_address(4),
00123 O => DDR_ADDRESS(4)
00124 );
00125
00126
00127 OBUF_r5: OBUF port map( I => ctrl_ddr_address(5),
00128 O => DDR_ADDRESS(5)
00129 );
00130
00131
00132 OBUF_r6: OBUF port map( I => ctrl_ddr_address(6),
00133 O => DDR_ADDRESS(6)
00134 );
00135
00136
00137 OBUF_r7: OBUF port map( I => ctrl_ddr_address(7),
00138 O => DDR_ADDRESS(7)
00139 );
00140
00141
00142 OBUF_r8: OBUF port map( I => ctrl_ddr_address(8),
00143 O => DDR_ADDRESS(8)
00144 );
00145
00146
00147 OBUF_r9: OBUF port map( I => ctrl_ddr_address(9),
00148 O => DDR_ADDRESS(9)
00149 );
00150
00151
00152 OBUF_r10: OBUF port map( I => ctrl_ddr_address(10),
00153 O => DDR_ADDRESS(10)
00154 );
00155
00156
00157 OBUF_r11: OBUF port map( I => ctrl_ddr_address(11),
00158 O => DDR_ADDRESS(11)
00159 );
00160
00161
00162 OBUF_r12: OBUF port map( I => ctrl_ddr_address(12),
00163 O => DDR_ADDRESS(12)
00164 );
00165
00166
00167
00168
00169 OBUF_b0: OBUF port map( I => ctrl_ddr_ba(0),
00170 O => DDR_BA(0)
00171 );
00172
00173
00174 OBUF_b1: OBUF port map( I => ctrl_ddr_ba(1),
00175 O => DDR_BA(1)
00176 );
00177
00178
00179
00180 end arch;