w11 - vhd 0.794
W11 CPU core and support modules
Loading...
Searching...
No Matches
migui_nexys4d.vhd
Go to the documentation of this file.
1--*****************************************************************************
2-- (c) Copyright 2009 - 2012 Xilinx, Inc. All rights reserved.
3--
4-- This file contains confidential and proprietary information
5-- of Xilinx, Inc. and is protected under U.S. and
6-- international copyright and other intellectual property
7-- laws.
8--
9-- DISCLAIMER
10-- This disclaimer is not a license and does not grant any
11-- rights to the materials distributed herewith. Except as
12-- otherwise provided in a valid license issued to you by
13-- Xilinx, and to the maximum extent permitted by applicable
14-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
15-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
16-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
17-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
18-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
19-- (2) Xilinx shall not be liable (whether in contract or tort,
20-- including negligence, or under any other theory of
21-- liability) for any loss or damage of any kind or nature
22-- related to, arising under or in connection with these
23-- materials, including for any direct, or any indirect,
24-- special, incidental, or consequential loss or damage
25-- (including loss of data, profits, goodwill, or any type of
26-- loss or damage suffered as a result of any action brought
27-- by a third party) even if such damage or loss was
28-- reasonably foreseeable or Xilinx had been advised of the
29-- possibility of the same.
30--
31-- CRITICAL APPLICATIONS
32-- Xilinx products are not designed or intended to be fail-
33-- safe, or for use in any application requiring fail-safe
34-- performance, such as life-support or safety devices or
35-- systems, Class III medical devices, nuclear facilities,
36-- applications related to the deployment of airbags, or any
37-- other applications that could lead to death, personal
38-- injury, or severe property or environmental damage
39-- (individually and collectively, "Critical
40-- Applications"). Customer assumes the sole risk and
41-- liability of any use of Xilinx products in Critical
42-- Applications, subject only to applicable laws and
43-- regulations governing limitations on product liability.
44--
45-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
46-- PART OF THIS FILE AT ALL TIMES.
47--
48--*****************************************************************************
49-- ____ ____
50-- / /\/ /
51-- /___/ \ / Vendor : Xilinx
52-- \ \ \/ Version : 4.2
53-- \ \ Application : MIG
54-- / / Filename : migui_nexys4d.vhd
55-- /___/ /\ Date Last Modified : $Date: 2011/06/02 08:35:03 $
56-- \ \ / \ Date Created : Wed Feb 01 2012
57-- \___\/\___\
58--
59-- Device : 7 Series
60-- Design Name : DDR2 SDRAM
61-- Purpose :
62-- Wrapper module for the user design top level file. This module can be
63-- instantiated in the system and interconnect as shown in example design
64-- (example_top module).
65-- Reference :
66-- Revision History :
67--*****************************************************************************
68
69library ieee;
70use ieee.std_logic_1164.all;
71use ieee.numeric_std.all;
72
73entity migui_nexys4d is
74 port (
75 ddr2_dq : inout std_logic_vector(15 downto 0);
76 ddr2_dqs_p : inout std_logic_vector(1 downto 0);
77 ddr2_dqs_n : inout std_logic_vector(1 downto 0);
78 ddr2_addr : out std_logic_vector(12 downto 0);
79 ddr2_ba : out std_logic_vector(2 downto 0);
80 ddr2_ras_n : out std_logic;
81 ddr2_cas_n : out std_logic;
82 ddr2_we_n : out std_logic;
83 ddr2_ck_p : out std_logic_vector(0 downto 0);
84 ddr2_ck_n : out std_logic_vector(0 downto 0);
85 ddr2_cke : out std_logic_vector(0 downto 0);
86 ddr2_cs_n : out std_logic_vector(0 downto 0);
87 ddr2_dm : out std_logic_vector(1 downto 0);
88 ddr2_odt : out std_logic_vector(0 downto 0);
89 app_addr : in std_logic_vector(26 downto 0);
90 app_cmd : in std_logic_vector(2 downto 0);
91 app_en : in std_logic;
92 app_wdf_data : in std_logic_vector(127 downto 0);
93 app_wdf_end : in std_logic;
94 app_wdf_mask : in std_logic_vector(15 downto 0);
95 app_wdf_wren : in std_logic;
96 app_rd_data : out std_logic_vector(127 downto 0);
97 app_rd_data_end : out std_logic;
98 app_rd_data_valid : out std_logic;
99 app_rdy : out std_logic;
100 app_wdf_rdy : out std_logic;
101 app_sr_req : in std_logic;
102 app_ref_req : in std_logic;
103 app_zq_req : in std_logic;
104 app_sr_active : out std_logic;
105 app_ref_ack : out std_logic;
106 app_zq_ack : out std_logic;
107 ui_clk : out std_logic;
108 ui_clk_sync_rst : out std_logic;
109 init_calib_complete : out std_logic;
110 -- System Clock Ports
111 sys_clk_i : in std_logic;
112 -- Reference Clock Ports
113 clk_ref_i : in std_logic;
114 device_temp_i : in std_logic_vector(11 downto 0);
115 sys_rst : in std_logic
116 );
117end entity migui_nexys4d;
118
120
121-- Start of IP top component
122
124 port(
125 ddr2_dq : inout std_logic_vector(15 downto 0);
126 ddr2_dqs_p : inout std_logic_vector(1 downto 0);
127 ddr2_dqs_n : inout std_logic_vector(1 downto 0);
128 ddr2_addr : out std_logic_vector(12 downto 0);
129 ddr2_ba : out std_logic_vector(2 downto 0);
130 ddr2_ras_n : out std_logic;
131 ddr2_cas_n : out std_logic;
132 ddr2_we_n : out std_logic;
133 ddr2_ck_p : out std_logic_vector(0 downto 0);
134 ddr2_ck_n : out std_logic_vector(0 downto 0);
135 ddr2_cke : out std_logic_vector(0 downto 0);
136 ddr2_cs_n : out std_logic_vector(0 downto 0);
137 ddr2_dm : out std_logic_vector(1 downto 0);
138 ddr2_odt : out std_logic_vector(0 downto 0);
139 app_addr : in std_logic_vector(26 downto 0);
140 app_cmd : in std_logic_vector(2 downto 0);
141 app_en : in std_logic;
142 app_wdf_data : in std_logic_vector(127 downto 0);
143 app_wdf_end : in std_logic;
144 app_wdf_mask : in std_logic_vector(15 downto 0);
145 app_wdf_wren : in std_logic;
146 app_rd_data : out std_logic_vector(127 downto 0);
147 app_rd_data_end : out std_logic;
148 app_rd_data_valid : out std_logic;
149 app_rdy : out std_logic;
150 app_wdf_rdy : out std_logic;
151 app_sr_req : in std_logic;
152 app_ref_req : in std_logic;
153 app_zq_req : in std_logic;
154 app_sr_active : out std_logic;
155 app_ref_ack : out std_logic;
156 app_zq_ack : out std_logic;
157 ui_clk : out std_logic;
158 ui_clk_sync_rst : out std_logic;
159 init_calib_complete : out std_logic;
160 -- System Clock Ports
161 sys_clk_i : in std_logic;
162 -- Reference Clock Ports
163 clk_ref_i : in std_logic;
164 device_temp_i : in std_logic_vector(11 downto 0);
165 sys_rst : in std_logic
166 );
167end component migui_nexys4d_mig;
168
169-- End of IP top component
170
171begin
172
173-- Start of IP top instance
175 port map (
176 -- Memory interface ports
178 ddr2_ba => ddr2_ba,
185 ddr2_dq => ddr2_dq,
190 ddr2_dm => ddr2_dm,
192 -- Application interface ports
194 app_cmd => app_cmd,
195 app_en => app_en,
202 app_rdy => app_rdy,
210 ui_clk => ui_clk,
213 -- System Clock Ports
215 -- Reference Clock Ports
219 );
220-- End of IP top instance
221
222end architecture arch_migui_nexys4d;
223
224
migui_nexys4d_mig u_migui_nexys4d_migu_migui_nexys4d_mig
in app_sr_req std_logic
in device_temp_i std_logic_vector( 11 downto 0)
out app_rd_data std_logic_vector(( nCK_PER_CLK* 2* PAYLOAD_WIDTH)- 1 downto 0)
in app_cmd std_logic_vector( 2 downto 0)
out app_zq_ack std_logic
in app_wdf_end std_logic
in app_zq_req std_logic
out ddr2_cke std_logic_vector( CKE_WIDTH- 1 downto 0)
out ddr2_we_n std_logic
out ddr2_cas_n std_logic
out app_wdf_rdy std_logic
inout ddr2_dqs_p std_logic_vector( DQS_WIDTH- 1 downto 0)
out ddr2_addr std_logic_vector( ROW_WIDTH- 1 downto 0)
out app_rd_data_end std_logic
out ddr2_ba std_logic_vector( BANK_WIDTH- 1 downto 0)
out init_calib_complete std_logic
in sys_clk_i std_logic
in clk_ref_i std_logic
out ddr2_ck_n std_logic_vector( CK_WIDTH- 1 downto 0)
in app_ref_req std_logic
out app_sr_active std_logic
out app_rd_data_valid std_logic
inout ddr2_dq std_logic_vector( DQ_WIDTH- 1 downto 0)
out ddr2_odt std_logic_vector( ODT_WIDTH- 1 downto 0)
out ui_clk std_logic
inout ddr2_dqs_n std_logic_vector( DQS_WIDTH- 1 downto 0)
out app_ref_ack std_logic
in app_addr std_logic_vector( ADDR_WIDTH- 1 downto 0)
out ddr2_dm std_logic_vector( DM_WIDTH- 1 downto 0)
in app_wdf_mask std_logic_vector(( nCK_PER_CLK* 2* PAYLOAD_WIDTH/ 8)- 1 downto 0)
out ddr2_ras_n std_logic
out ddr2_cs_n std_logic_vector(( CS_WIDTH* nCS_PER_RANK)- 1 downto 0)
in app_wdf_wren std_logic
out ddr2_ck_p std_logic_vector( CK_WIDTH- 1 downto 0)
out ui_clk_sync_rst std_logic
in app_wdf_data std_logic_vector(( nCK_PER_CLK* 2* PAYLOAD_WIDTH)- 1 downto 0)
out app_rdy std_logic
in app_sr_req std_logic
out ddr2_addr std_logic_vector( 12 downto 0)
in device_temp_i std_logic_vector( 11 downto 0)
out ddr2_cs_n std_logic_vector( 0 downto 0)
out ddr2_ba std_logic_vector( 2 downto 0)
out ddr2_odt std_logic_vector( 0 downto 0)
in app_cmd std_logic_vector( 2 downto 0)
out app_zq_ack std_logic
in app_wdf_end std_logic
out ddr2_dm std_logic_vector( 1 downto 0)
in app_zq_req std_logic
out ddr2_we_n std_logic
out ddr2_cas_n std_logic
out app_wdf_rdy std_logic
inout ddr2_dqs_n std_logic_vector( 1 downto 0)
inout ddr2_dq std_logic_vector( 15 downto 0)
in app_wdf_data std_logic_vector( 127 downto 0)
out app_rd_data_end std_logic
out init_calib_complete std_logic
in sys_clk_i std_logic
in clk_ref_i std_logic
in app_ref_req std_logic
out ddr2_ck_n std_logic_vector( 0 downto 0)
out app_sr_active std_logic
out app_rd_data_valid std_logic
out app_rd_data std_logic_vector( 127 downto 0)
in sys_rst std_logic
out ui_clk std_logic
out ddr2_cke std_logic_vector( 0 downto 0)
inout ddr2_dqs_p std_logic_vector( 1 downto 0)
in app_en std_logic
out app_ref_ack std_logic
in app_addr std_logic_vector( 26 downto 0)
in app_wdf_mask std_logic_vector( 15 downto 0)
out ddr2_ras_n std_logic
in app_wdf_wren std_logic
out ui_clk_sync_rst std_logic
out ddr2_ck_p std_logic_vector( 0 downto 0)
out app_rdy std_logic