OpenCores
URL https://opencores.org/ocsvn/the_wizardry_project/the_wizardry_project/trunk

Subversion Repositories the_wizardry_project

[/] [the_wizardry_project/] [trunk/] [Wizardry/] [VHDL/] [Wizardry Top Level/] [Memory Design/] [MIG_top_00/] [MIG_iobs_0/] [MIG_iobs_0.vhd] - Blame information for rev 24

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 24 mcwaccent
-------------------------------------------------------------------------------
2
-- Copyright (c) 2005-2007 Xilinx, Inc.
3
-- This design is confidential and proprietary of Xilinx, All Rights Reserved.
4
-------------------------------------------------------------------------------
5
--   ____  ____
6
--  /   /\/   /
7
-- /___/  \  /   Vendor             : Xilinx
8
-- \   \   \/    Version            : $Name: i+IP+131489 $
9
--  \   \        Application        : MIG
10
--  /   /        Filename           : MIG_iobs_0.vhd
11
-- /___/   /\    Date Last Modified : $Date: 2007/09/21 15:23:24 $
12
-- \   \  /  \   Date Created       : Mon May 2 2005
13
--  \___\/\___\
14
--
15
-- Device      : Virtex-4
16
-- Design Name : DDR SDRAM
17
-- Description: This module instantiates all the iobs modules. It is the
18
--              interface between the main logic and the memory.
19
-------------------------------------------------------------------------------
20
 
21
library ieee;
22
use ieee.std_logic_1164.all;
23
use work.MIG_parameters_0.all;
24
library UNISIM;
25
use UNISIM.vcomponents.all;
26
 
27
entity MIG_iobs_0 is
28
  port(
29
    ddr_ck           : out   std_logic_vector((CLK_WIDTH - 1) downto 0);
30
    ddr_ck_n         : out   std_logic_vector((CLK_WIDTH - 1) downto 0);
31
    clk              : in    std_logic;
32
    clk90            : in    std_logic;
33
    dqs_idelay_inc   : in    std_logic_vector((READENABLE - 1) downto 0);
34
    dqs_idelay_ce    : in    std_logic_vector((READENABLE - 1) downto 0);
35
    dqs_idelay_rst   : in    std_logic_vector((READENABLE - 1) downto 0);
36
    data_idelay_inc  : in    std_logic_vector((READENABLE - 1) downto 0);
37
    data_idelay_ce   : in    std_logic_vector((READENABLE - 1) downto 0);
38
    data_idelay_rst  : in    std_logic_vector((READENABLE - 1) downto 0);
39
    dqs_rst          : in    std_logic;
40
    dqs_en           : in    std_logic;
41
    wr_en            : in    std_logic;
42
    wr_data_rise     : in    std_logic_vector((DATA_WIDTH - 1) downto 0);
43
    wr_data_fall     : in    std_logic_vector((DATA_WIDTH - 1) downto 0);
44
    mask_data_rise   : in    std_logic_vector((DATA_MASK_WIDTH - 1) downto 0);
45
    mask_data_fall   : in    std_logic_vector((DATA_MASK_WIDTH - 1) downto 0);
46
    rd_data_rise     : out   std_logic_vector((DATA_WIDTH - 1) downto 0);
47
    rd_data_fall     : out   std_logic_vector((DATA_WIDTH - 1) downto 0);
48
    dqs_delayed      : out   std_logic_vector((DATA_STROBE_WIDTH - 1) downto 0);
49
    ddr_dq           : inout std_logic_vector((DATA_WIDTH - 1) downto 0);
50
    ddr_dqs          : inout std_logic_vector((DATA_STROBE_WIDTH - 1) downto 0);
51
    ddr_dm           : out   std_logic_vector((DATA_MASK_WIDTH - 1) downto 0);
52
    ctrl_ddr_address : in    std_logic_vector((ROW_ADDRESS - 1) downto 0);
53
    ctrl_ddr_ba      : in    std_logic_vector((BANK_ADDRESS - 1) downto 0);
54
    ctrl_ddr_ras_l   : in    std_logic;
55
    ctrl_ddr_cas_l   : in    std_logic;
56
    ctrl_ddr_we_l    : in    std_logic;
57
    ctrl_ddr_cs_l    : in    std_logic;
58
    ctrl_ddr_cke     : in    std_logic;
59
    ddr_address      : out   std_logic_vector((ROW_ADDRESS - 1) downto 0);
60
    ddr_ba           : out   std_logic_vector((BANK_ADDRESS - 1) downto 0);
61
    ddr_ras_l        : out   std_logic;
62
    ddr_cas_l        : out   std_logic;
63
    ddr_we_l         : out   std_logic;
64
    ddr_cke          : out   std_logic;
65
    ddr_cs_l         : out   std_logic
66
    );
67
end MIG_iobs_0;
68
 
69
architecture arch of MIG_iobs_0 is
70
 
71
  component MIG_infrastructure_iobs_0
72
    port(
73
      clk       : in std_logic;
74
      ddr_ck    : out std_logic_vector((CLK_WIDTH - 1) downto 0);
75
      ddr_ck_n  : out std_logic_vector((CLK_WIDTH - 1) downto 0)
76
      );
77
  end component;
78
 
79
  component MIG_data_path_iobs_0
80
    port (
81
      clk             : in std_logic;
82
      clk90           : in std_logic;
83
      dqs_idelay_inc  : in std_logic_vector((READENABLE - 1) downto 0);
84
      dqs_idelay_ce   : in std_logic_vector((READENABLE - 1) downto 0);
85
      dqs_idelay_rst  : in std_logic_vector((READENABLE - 1) downto 0);
86
      dqs_rst         : in std_logic;
87
      dqs_en          : in std_logic;
88
      dqs_delayed     : out std_logic_vector((DATA_STROBE_WIDTH - 1) downto 0);
89
      data_idelay_inc : in std_logic_vector((READENABLE - 1) downto 0);
90
      data_idelay_ce  : in std_logic_vector((READENABLE - 1) downto 0);
91
      data_idelay_rst : in std_logic_vector((READENABLE - 1) downto 0);
92
      wr_data_rise    : in std_logic_vector((DATA_WIDTH - 1) downto 0);
93
      wr_data_fall    : in std_logic_vector((DATA_WIDTH - 1) downto 0);
94
      wr_en           : in std_logic;
95
      rd_data_rise    : out std_logic_vector((DATA_WIDTH - 1) downto 0);
96
      rd_data_fall    : out std_logic_vector((DATA_WIDTH - 1) downto 0);
97
      mask_data_rise  : in std_logic_vector((DATA_MASK_WIDTH - 1) downto 0);
98
      mask_data_fall  : in std_logic_vector((DATA_MASK_WIDTH - 1) downto 0);
99
      ddr_dq          : inout std_logic_vector((DATA_WIDTH - 1) downto 0);
100
      ddr_dqs         : inout std_logic_vector((DATA_STROBE_WIDTH - 1) downto 0);
101
      ddr_dm          : out std_logic_vector((DATA_MASK_WIDTH - 1) downto 0)
102
      );
103
  end component;
104
 
105
  component MIG_controller_iobs_0
106
    port (
107
      ctrl_ddr_address : in  std_logic_vector((ROW_ADDRESS - 1) downto 0);
108
      ctrl_ddr_ba      : in  std_logic_vector((BANK_ADDRESS - 1) downto 0);
109
      ctrl_ddr_ras_l   : in  std_logic;
110
      ctrl_ddr_cas_l   : in  std_logic;
111
      ctrl_ddr_we_l    : in  std_logic;
112
      ctrl_ddr_cs_l    : in  std_logic;
113
      ctrl_ddr_cke     : in  std_logic;
114
      ddr_address      : out std_logic_vector((ROW_ADDRESS - 1) downto 0);
115
      ddr_ba           : out std_logic_vector((BANK_ADDRESS - 1) downto 0);
116
      ddr_ras_l        : out std_logic;
117
      ddr_cas_l        : out std_logic;
118
      ddr_we_l         : out std_logic;
119
      ddr_cke          : out std_logic;
120
      ddr_cs_l         : out std_logic
121
      );
122
  end component;
123
 
124
begin
125
 
126
  infrastructure_iobs_00: MIG_infrastructure_iobs_0
127
    port map   (
128
      clk       => clk,
129
      ddr_ck    => ddr_ck,
130
      ddr_ck_n  => ddr_ck_n
131
      );
132
 
133
  data_path_iobs_00: MIG_data_path_iobs_0
134
    port map    (
135
      clk                       => clk,
136
      clk90                     => clk90,
137
      dqs_idelay_inc            => dqs_idelay_inc,
138
      dqs_idelay_ce             => dqs_idelay_ce,
139
      dqs_idelay_rst            => dqs_idelay_rst,
140
      dqs_rst                   => dqs_rst,
141
      dqs_en                    => dqs_en,
142
      dqs_delayed               => dqs_delayed,
143
      data_idelay_inc           => data_idelay_inc,
144
      data_idelay_ce            => data_idelay_ce,
145
      data_idelay_rst           => data_idelay_rst,
146
      wr_data_rise              => wr_data_rise,
147
      wr_data_fall              => wr_data_fall,
148
      wr_en                     => wr_en,
149
      rd_data_rise              => rd_data_rise,
150
      rd_data_fall              => rd_data_fall,
151
      mask_data_rise            => mask_data_rise,
152
      mask_data_fall            => mask_data_fall,
153
      ddr_dq                    => ddr_dq,
154
      ddr_dqs                   => ddr_dqs,
155
      ddr_dm                    => ddr_dm
156
      );
157
 
158
  controller_iobs_00: MIG_controller_iobs_0
159
    port map     (
160
      ctrl_ddr_address => ctrl_ddr_address,
161
      ctrl_ddr_ba      => ctrl_ddr_ba,
162
      ctrl_ddr_ras_l   => ctrl_ddr_ras_l,
163
      ctrl_ddr_cas_l   => ctrl_ddr_cas_l,
164
      ctrl_ddr_we_l    => ctrl_ddr_we_l,
165
      ctrl_ddr_cs_l    => ctrl_ddr_cs_l,
166
      ctrl_ddr_cke     => ctrl_ddr_cke,
167
      ddr_address      => ddr_address,
168
      ddr_ba           => ddr_ba,
169
      ddr_ras_l        => ddr_ras_l,
170
      ddr_cas_l        => ddr_cas_l,
171
      ddr_we_l         => ddr_we_l,
172
      ddr_cke          => ddr_cke,
173
      ddr_cs_l         => ddr_cs_l
174
      );
175
 
176
end arch;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.