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_user_interface_0/] [MIG_user_interface_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_user_interface_0.vhd
11
-- /___/   /\    Date Last Modified : $Date: 2007/09/21 15:23:25 $
12
-- \   \  /  \   Date Created       : Mon May 2 2005
13
--  \___\/\___\
14
--
15
-- Device      : Virtex-4
16
-- Design Name : DDR SDRAM
17
-- Description: Interfaces with the user. The user should provide the data and
18
--              various commands.
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_user_interface_0 is
28
  port(
29
    clk                : in  std_logic;
30
    clk90              : in  std_logic;
31
    reset              : in  std_logic;
32
    ctrl_rden          : in  std_logic;
33
    read_data_rise     : in  std_logic_vector((DATA_WIDTH - 1) downto 0);
34
    read_data_fall     : in  std_logic_vector((DATA_WIDTH - 1) downto 0);
35
    read_data_fifo_out : out std_logic_vector((DATA_WIDTH*2 - 1) downto 0);
36
    comp_done          : out std_logic;
37
    read_data_valid    : out std_logic;
38
    af_empty           : out std_logic;
39
    af_almost_full     : out std_logic;
40
    app_af_addr        : in  std_logic_vector(35 downto 0);
41
    app_af_wren        : in  std_logic;
42
    ctrl_af_rden       : in  std_logic;
43
    af_addr            : out std_logic_vector(35 downto 0);
44
    app_wdf_data       : in  std_logic_vector((DATA_WIDTH*2 - 1) downto 0);
45
    app_mask_data      : in  std_logic_vector((DATA_MASK_WIDTH*2 - 1) downto 0);
46
    app_wdf_wren       : in  std_logic;
47
    ctrl_wdf_rden      : in  std_logic;
48
    wdf_data           : out std_logic_vector((DATA_WIDTH*2 - 1) downto 0);
49
    mask_data          : out std_logic_vector((DATA_MASK_WIDTH*2 - 1) downto 0);
50
    wdf_almost_full    : out std_logic
51
    );
52
end MIG_user_interface_0;
53
 
54
architecture arch of MIG_user_interface_0 is
55
 
56
  component MIG_rd_data_0
57
    port(
58
      clk                 : in  std_logic;
59
      reset               : in  std_logic;
60
      ctrl_rden           : in  std_logic;
61
      read_data_rise      : in  std_logic_vector(DATA_WIDTH - 1 downto 0);
62
      read_data_fall      : in  std_logic_vector(DATA_WIDTH - 1 downto 0);
63
      read_data_fifo_rise : out std_logic_vector(DATA_WIDTH - 1 downto 0);
64
      read_data_fifo_fall : out std_logic_vector(DATA_WIDTH - 1 downto 0);
65
      comp_done           : out std_logic;
66
      read_data_valid     : out std_logic
67
      );
68
  end component;
69
 
70
  component MIG_backend_fifos_0
71
    port(
72
      clk0            : in  std_logic;
73
      clk90           : in  std_logic;
74
      rst             : in  std_logic;
75
      app_af_addr     : in  std_logic_vector(35 downto 0);
76
      app_af_wren     : in  std_logic;
77
      ctrl_af_rden    : in  std_logic;
78
      af_addr         : out std_logic_vector(35 downto 0);
79
      af_empty        : out std_logic;
80
      af_almost_full  : out std_logic;
81
      app_wdf_data    : in  std_logic_vector((DATA_WIDTH*2 - 1) downto 0);
82
      app_mask_data   : in  std_logic_vector((DATA_MASK_WIDTH*2 - 1) downto 0);
83
      app_wdf_wren    : in  std_logic;
84
      ctrl_wdf_rden   : in  std_logic;
85
      wdf_data        : out std_logic_vector((DATA_WIDTH*2 - 1) downto 0);
86
      mask_data       : out std_logic_vector((DATA_MASK_WIDTH*2 - 1) downto 0);
87
      wdf_almost_full : out std_logic
88
      );
89
  end component;
90
 
91
  signal read_data_fifo_rise_i : std_logic_vector((DATA_WIDTH - 1) downto 0);
92
  signal read_data_fifo_fall_i : std_logic_vector((DATA_WIDTH - 1) downto 0);
93
 
94
begin
95
 
96
  read_data_fifo_out <= read_data_fifo_rise_i & read_data_fifo_fall_i;
97
 
98
  rd_data_00 : MIG_rd_data_0
99
    port map (
100
      clk                 => clk,
101
      reset               => reset,
102
      ctrl_rden           => ctrl_rden,
103
      read_data_rise      => read_data_rise,
104
      read_data_fall      => read_data_fall,
105
      read_data_fifo_rise => read_data_fifo_rise_i,
106
      read_data_fifo_fall => read_data_fifo_fall_i,
107
      comp_done           => comp_done,
108
      read_data_valid     => read_data_valid
109
      );
110
 
111
  backend_fifos_00 : MIG_backend_fifos_0
112
    port map (
113
      clk0            => clk,
114
      clk90           => clk90,
115
      rst             => reset,
116
      app_af_addr     => app_af_addr,
117
      app_af_wren     => app_af_wren,
118
      ctrl_af_rden    => ctrl_af_rden,
119
      af_addr         => af_addr,
120
      af_empty        => af_empty,
121
      af_almost_full  => af_almost_full,
122
      app_wdf_data    => app_wdf_data,
123
      app_mask_data   => app_mask_data,
124
      app_wdf_wren    => app_wdf_wren,
125
      ctrl_wdf_rden   => ctrl_wdf_rden,
126
      wdf_data        => wdf_data,
127
      mask_data       => mask_data,
128
      wdf_almost_full => wdf_almost_full
129
      );
130
 
131
end arch;

powered by: WebSVN 2.1.0

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