w11 - vhd 0.794
W11 CPU core and support modules
Loading...
Searching...
No Matches
miglib_nexys4d.vhd
Go to the documentation of this file.
1-- $Id: miglib_nexys4d.vhd 1181 2019-07-08 17:00:50Z mueller $
2-- SPDX-License-Identifier: GPL-3.0-or-later
3-- Copyright 2018- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4--
5------------------------------------------------------------------------------
6-- Package Name: miglib_nexys4d
7-- Description: MIG interface components - for nexys4d
8--
9-- Dependencies: -
10-- Tool versions: viv 2017.2; ghdl 0.34
11--
12-- Revision History:
13-- Date Rev Version Comment
14-- 2018-12-30 1099 1.0 Initial version
15------------------------------------------------------------------------------
16
17library ieee;
18use ieee.std_logic_1164.all;
19
20use work.slvtypes.all;
21use work.miglib.all;
22
24
25constant mig_bawidth : positive := 4; -- byte addr width
26constant mig_mawidth : positive := 27; -- mem addr width
27constant mig_mwidth : positive := 2**mig_bawidth; -- mask width ( 16)
28constant mig_dwidth : positive := 8*mig_mwidth; -- data width (128)
29
30component sramif_mig_nexys4d is -- SRAM to DDR via MIG for nexys4d
31 port (
32 CLK : in slbit; -- clock
33 RESET : in slbit; -- reset
34 REQ : in slbit; -- request
35 WE : in slbit; -- write enable
36 BUSY : out slbit; -- controller busy
37 ACK_R : out slbit; -- acknowledge read
38 ACK_W : out slbit; -- acknowledge write
39 ACT_R : out slbit; -- signal active read
40 ACT_W : out slbit; -- signal active write
41 ADDR : in slv20; -- address (32 bit word address)
42 BE : in slv4; -- byte enable
43 DI : in slv32; -- data in (memory view)
44 DO : out slv32; -- data out (memory view)
45 CLKMIG : in slbit; -- sys clock for mig core
46 CLKREF : in slbit; -- ref clock for mig core
47 TEMP : in slv12; -- die temperature
48 MONI : out sramif2migui_moni_type;-- monitor signals
49 DDR2_DQ : inout slv16; -- dram: data in/out
50 DDR2_DQS_P : inout slv2; -- dram: data strobe (diff-p)
51 DDR2_DQS_N : inout slv2; -- dram: data strobe (diff-n)
52 DDR2_ADDR : out slv13; -- dram: address
53 DDR2_BA : out slv3; -- dram: bank address
54 DDR2_RAS_N : out slbit; -- dram: row addr strobe (act.low)
55 DDR2_CAS_N : out slbit; -- dram: column addr strobe (act.low)
56 DDR2_WE_N : out slbit; -- dram: write enable (act.low)
57 DDR2_CK_P : out slv1; -- dram: clock (diff-p)
58 DDR2_CK_N : out slv1; -- dram: clock (diff-n)
59 DDR2_CKE : out slv1; -- dram: clock enable
60 DDR2_CS_N : out slv1; -- dram: chip select (act.low)
61 DDR2_DM : out slv2; -- dram: data input mask
62 DDR2_ODT : out slv1 -- dram: on-die termination
63 );
64end component;
65
66component migui_nexys4d is -- MIG generated for nexys4d
67 port (
68 DDR2_DQ : inout slv16; -- dram: data in/out
69 DDR2_DQS_P : inout slv2; -- dram: data strobe (diff-p)
70 DDR2_DQS_N : inout slv2; -- dram: data strobe (diff-n)
71 DDR2_ADDR : out slv13; -- dram: address
72 DDR2_BA : out slv3; -- dram: bank address
73 DDR2_RAS_N : out slbit; -- dram: row addr strobe (act.low)
74 DDR2_CAS_N : out slbit; -- dram: column addr strobe (act.low)
75 DDR2_WE_N : out slbit; -- dram: write enable (act.low)
76 DDR2_CK_P : out slv1; -- dram: clock (diff-p)
77 DDR2_CK_N : out slv1; -- dram: clock (diff-n)
78 DDR2_CKE : out slv1; -- dram: clock enable
79 DDR2_CS_N : out slv1; -- dram: chip select (act.low)
80 DDR2_DM : out slv2; -- dram: data input mask
81 DDR2_ODT : out slv1; -- dram: on-die termination
82 APP_ADDR : in slv(mig_mawidth-1 downto 0); -- MIGUI address
83 APP_CMD : in slv3; -- MIGUI command
84 APP_EN : in slbit; -- MIGUI command enable
85 APP_WDF_DATA : in slv(mig_dwidth-1 downto 0); -- MIGUI write data
86 APP_WDF_END : in slbit; -- MIGUI write end
87 APP_WDF_MASK : in slv(mig_mwidth-1 downto 0); -- MIGUI write mask
88 APP_WDF_WREN : in slbit; -- MIGUI write enable
89 APP_RD_DATA : out slv(mig_dwidth-1 downto 0); -- MIGUI read data
90 APP_RD_DATA_END : out slbit; -- MIGUI read end
91 APP_RD_DATA_VALID : out slbit; -- MIGUI read valid
92 APP_RDY : out slbit; -- MIGUI ready for cmd
93 APP_WDF_RDY : out slbit; -- MIGUI ready for data write
94 APP_SR_REQ : in slbit; -- MIGUI reserved (tie to 0)
95 APP_REF_REQ : in slbit; -- MIGUI refresh reques
96 APP_ZQ_REQ : in slbit; -- MIGUI ZQ calibrate request
97 APP_SR_ACTIVE : out slbit; -- MIGUI reserved (ignore)
98 APP_REF_ACK : out slbit; -- MIGUI refresh acknowledge
99 APP_ZQ_ACK : out slbit; -- MIGUI ZQ calibrate acknowledge
100 UI_CLK : out slbit; -- MIGUI clock
101 UI_CLK_SYNC_RST : out slbit; -- MIGUI reset
102 INIT_CALIB_COMPLETE : out slbit; -- MIGUI calibration done
103 SYS_CLK_I : in slbit; -- MIGUI system clock
104 CLK_REF_I : in slbit; -- MIGUI reference clock
105 DEVICE_TEMP_I : in slv12; -- MIGUI xadc temperature
106 SYS_RST : in slbit -- MIGUI system reset
107 );
108end component;
109
110end package miglib_nexys4d;
positive := 2** mig_bawidth mig_mwidth
positive := 27 mig_mawidth
positive := 4 mig_bawidth
positive := 8* mig_mwidth mig_dwidth
out APP_RD_DATA slv( mig_dwidth- 1 downto 0)
out APP_RD_DATA_VALID slbit
out APP_REF_ACK slbit
out APP_RD_DATA_END slbit
out DDR2_RAS_N slbit
inout DDR2_DQS_P slv2
inout DDR2_DQS_N slv2
in APP_WDF_MASK slv( mig_mwidth- 1 downto 0)
in DEVICE_TEMP_I slv12
inout DDR2_DQ slv16
out INIT_CALIB_COMPLETE slbit
out DDR2_WE_N slbit
out DDR2_CAS_N slbit
out APP_ZQ_ACK slbit
out DDR2_ADDR slv13
out APP_WDF_RDY slbit
in APP_WDF_WREN slbit
out APP_SR_ACTIVE slbit
in APP_ADDR slv( mig_mawidth- 1 downto 0)
in APP_WDF_DATA slv( mig_dwidth- 1 downto 0)
out UI_CLK_SYNC_RST slbit
std_logic_vector( 19 downto 0) slv20
Definition: slvtypes.vhd:53
std_logic_vector( 12 downto 0) slv13
Definition: slvtypes.vhd:45
std_logic_vector( 3 downto 0) slv4
Definition: slvtypes.vhd:36
std_logic_vector( 11 downto 0) slv12
Definition: slvtypes.vhd:44
std_logic_vector( 2 downto 0) slv3
Definition: slvtypes.vhd:35
std_logic_vector( 0 downto 0) slv1
Definition: slvtypes.vhd:33
std_logic_vector( 31 downto 0) slv32
Definition: slvtypes.vhd:59
std_logic_vector( 15 downto 0) slv16
Definition: slvtypes.vhd:48
std_logic slbit
Definition: slvtypes.vhd:30
std_logic_vector( 1 downto 0) slv2
Definition: slvtypes.vhd:34
std_logic_vector slv
Definition: slvtypes.vhd:31
out MONI sramif2migui_moni_type