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_data_path_0/] [MIG_data_path_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_data_path_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: Instantiates the tap logic and the data write modules. Gives
18
--              the rise and the fall data and the calibration information for
19
--              IDELAY elements.
20
-------------------------------------------------------------------------------
21
 
22
library ieee;
23
use ieee.std_logic_1164.all;
24
use work.MIG_parameters_0.all;
25
library UNISIM;
26
use UNISIM.vcomponents.all;
27
 
28
entity MIG_data_path_0 is
29
  port(
30
    clk                  : in std_logic;
31
    clk90                : in std_logic;
32
    reset0               : in std_logic;
33
    reset90              : in std_logic;
34
    idelay_ctrl_rdy      : in std_logic;
35
    dummy_write_pattern  : in std_logic;
36
    ctrl_dummyread_start : in std_logic;
37
    wdf_data             : in std_logic_vector((DATA_WIDTH*2 - 1) downto 0);
38
    mask_data            : in std_logic_vector((DATA_MASK_WIDTH*2 - 1) downto 0);
39
    ctrl_wren            : in std_logic;
40
    ctrl_dqs_rst         : in std_logic;
41
    ctrl_dqs_en          : in std_logic;
42
    dqs_delayed          : in std_logic_vector((DATA_STROBE_WIDTH - 1) downto 0);
43
    data_idelay_inc      : out std_logic_vector((READENABLE - 1) downto 0);
44
    data_idelay_ce       : out std_logic_vector((READENABLE - 1) downto 0);
45
    data_idelay_rst      : out std_logic_vector((READENABLE - 1) downto 0);
46
    dqs_idelay_inc       : out std_logic_vector((READENABLE - 1) downto 0);
47
    dqs_idelay_ce        : out std_logic_vector((READENABLE - 1) downto 0);
48
    dqs_idelay_rst       : out std_logic_vector((READENABLE - 1) downto 0);
49
    sel_done             : out std_logic;
50
    dqs_rst              : out std_logic;
51
    dqs_en               : out std_logic;
52
    wr_en                : out std_logic;
53
    wr_data_rise         : out std_logic_vector((DATA_WIDTH - 1) downto 0);
54
    wr_data_fall         : out std_logic_vector((DATA_WIDTH - 1) downto 0);
55
    mask_data_rise       : out std_logic_vector((DATA_MASK_WIDTH - 1) downto 0);
56
    mask_data_fall       : out std_logic_vector((DATA_MASK_WIDTH - 1) downto 0)
57
    );
58
end MIG_data_path_0;
59
 
60
architecture arch of MIG_data_path_0 is
61
 
62
  component MIG_data_write_0
63
    port(
64
      clk                 : in std_logic;
65
      clk90               : in std_logic;
66
      reset90             : in std_logic;
67
      wdf_data            : in std_logic_vector((DATA_WIDTH*2 - 1) downto 0);
68
      mask_data           : in std_logic_vector((DATA_MASK_WIDTH*2 - 1) downto 0);
69
      dummy_write_pattern : in std_logic;
70
      ctrl_wren           : in std_logic;
71
      ctrl_dqs_rst        : in std_logic;
72
      ctrl_dqs_en         : in std_logic;
73
      dqs_rst             : out std_logic;
74
      dqs_en              : out std_logic;
75
      wr_en               : out std_logic;
76
      wr_data_rise        : out std_logic_vector((DATA_WIDTH - 1) downto 0);
77
      wr_data_fall        : out std_logic_vector((DATA_WIDTH - 1) downto 0);
78
      mask_data_rise      : out std_logic_vector((DATA_MASK_WIDTH - 1) downto 0);
79
      mask_data_fall      : out std_logic_vector((DATA_MASK_WIDTH - 1) downto 0)
80
      );
81
  end component;
82
 
83
  component MIG_tap_logic_0
84
    port(
85
      clk                  : in std_logic;
86
      reset0               : in std_logic;
87
      idelay_ctrl_rdy      : in std_logic;
88
      ctrl_dummyread_start : in std_logic;
89
      dqs_delayed          : in std_logic_vector((DATA_STROBE_WIDTH - 1) downto 0);
90
      data_idelay_inc      : out std_logic_vector((READENABLE - 1) downto 0);
91
      data_idelay_ce       : out std_logic_vector((READENABLE - 1) downto 0);
92
      data_idelay_rst      : out std_logic_vector((READENABLE - 1) downto 0);
93
      dqs_idelay_inc       : out std_logic_vector((READENABLE - 1) downto 0);
94
      dqs_idelay_ce        : out std_logic_vector((READENABLE - 1) downto 0);
95
      dqs_idelay_rst       : out std_logic_vector((READENABLE - 1) downto 0);
96
      sel_done             : out std_logic
97
      );
98
  end component;
99
 
100
begin
101
 
102
  data_write_10: MIG_data_write_0
103
    port map (
104
      clk                  => clk,
105
      clk90                => clk90,
106
      reset90              => reset90,
107
      wdf_data             => wdf_data,
108
      mask_data            => mask_data,
109
      dummy_write_pattern  => dummy_write_pattern,
110
      ctrl_wren            => ctrl_wren,
111
      ctrl_dqs_rst         => ctrl_dqs_rst,
112
      ctrl_dqs_en          => ctrl_dqs_en,
113
      dqs_rst              => dqs_rst,
114
      dqs_en               => dqs_en,
115
      wr_en                => wr_en,
116
      wr_data_rise         => wr_data_rise,
117
      wr_data_fall         => wr_data_fall,
118
      mask_data_rise       => mask_data_rise,
119
      mask_data_fall       => mask_data_fall
120
      );
121
 
122
  tap_logic_00: MIG_tap_logic_0
123
    port map (
124
      clk                   => clk,
125
      reset0                => reset0,
126
      idelay_ctrl_rdy       => idelay_ctrl_rdy,
127
      ctrl_dummyread_start  => ctrl_dummyread_start,
128
      dqs_delayed           => dqs_delayed,
129
      data_idelay_inc       => data_idelay_inc,
130
      data_idelay_ce        => data_idelay_ce,
131
      data_idelay_rst       => data_idelay_rst,
132
      dqs_idelay_inc        => dqs_idelay_inc,
133
      dqs_idelay_ce         => dqs_idelay_ce,
134
      dqs_idelay_rst        => dqs_idelay_rst,
135
      sel_done              => sel_done
136
      );
137
 
138
end arch;

powered by: WebSVN 2.1.0

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