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/] [backend_fifos_0/] [MIG_backend_fifos_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_backend_fifos_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 the modules containing internal FIFOs
18
--              to store the data and the address.
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_backend_fifos_0 is
28
  port(
29
    clk0            : in  std_logic;
30
    clk90           : in  std_logic;
31
    rst             : in  std_logic;
32
    app_af_addr     : in  std_logic_vector(35 downto 0);
33
    app_af_wren     : in  std_logic;
34
    ctrl_af_rden    : in  std_logic;
35
    af_addr         : out std_logic_vector(35 downto 0);
36
    af_empty        : out std_logic;
37
    af_almost_full  : out std_logic;
38
    app_wdf_data    : in  std_logic_vector((DATA_WIDTH*2 - 1) downto 0);
39
    app_mask_data   : in  std_logic_vector((DATA_MASK_WIDTH*2 - 1) downto 0);
40
    app_wdf_wren    : in  std_logic;
41
    ctrl_wdf_rden   : in  std_logic;
42
    wdf_data        : out std_logic_vector((DATA_WIDTH*2 - 1) downto 0);
43
    mask_data       : out std_logic_vector((DATA_MASK_WIDTH*2 - 1) downto 0);
44
    wdf_almost_full : out std_logic
45
    );
46
end MIG_backend_fifos_0;
47
 
48
architecture arch of MIG_backend_fifos_0 is
49
 
50
  component MIG_rd_wr_addr_fifo_0
51
    port(
52
      clk0           : in  std_logic;
53
      clk90          : in  std_logic;
54
      rst            : in  std_logic;
55
      app_af_addr    : in  std_logic_vector(35 downto 0);
56
      app_af_wren    : in  std_logic;
57
      ctrl_af_rden   : in  std_logic;
58
      af_addr        : out std_logic_vector(35 downto 0);
59
      af_empty       : out std_logic;
60
      af_almost_full : out std_logic
61
      );
62
  end component;
63
 
64
  component MIG_wr_data_fifo_16
65
    port(
66
      clk0              : in  std_logic;
67
      clk90             : in  std_logic;
68
      rst               : in  std_logic;
69
      app_wdf_data      : in  std_logic_vector(31 downto 0);
70
      app_mask_data     : in  std_logic_vector(3 downto 0);
71
      app_wdf_wren      : in  std_logic;
72
      ctrl_wdf_rden     : in  std_logic;
73
      wdf_data          : out std_logic_vector(31 downto 0);
74
      mask_data         : out std_logic_vector(3 downto 0);
75
      wr_df_almost_full : out std_logic
76
      );
77
  end component;
78
 
79
  component MIG_wr_data_fifo_8
80
    port(
81
      clk0              : in  std_logic;
82
      clk90             : in  std_logic;
83
      rst               : in  std_logic;
84
      app_wdf_data      : in  std_logic_vector(15 downto 0);
85
      app_mask_data     : in  std_logic_vector(1 downto 0);
86
      app_wdf_wren      : in  std_logic;
87
      ctrl_wdf_rden     : in  std_logic;
88
      wdf_data          : out std_logic_vector(15 downto 0);
89
      mask_data         : out std_logic_vector(1 downto 0);
90
      wr_df_almost_full : out std_logic
91
      );
92
  end component;
93
 
94
  signal wr_df_almost_full_w : std_logic_vector(FIFO_16-1 downto 0);
95
 
96
begin
97
 
98
  wdf_almost_full <= wr_df_almost_full_w(0);
99
 
100
  rd_wr_addr_fifo_00 : MIG_rd_wr_addr_fifo_0
101
    port map (
102
      clk0           => clk0,
103
      clk90          => clk90,
104
      rst            => rst,
105
      app_af_addr    => app_af_addr,
106
      app_af_wren    => app_af_wren,
107
      ctrl_af_rden   => ctrl_af_rden,
108
      af_addr        => af_addr,
109
      af_empty       => af_empty,
110
      af_almost_full => af_almost_full
111
      );
112
 
113
 
114
wr_data_fifo_160 : MIG_wr_data_fifo_16
115
  port map (
116
          clk0              => clk0,
117
          clk90             => clk90,
118
          rst               => rst,
119
          app_wdf_data      => app_wdf_data(31 downto 0),
120
          app_mask_data     => app_mask_data(3 downto 0),
121
          app_wdf_wren      => app_Wdf_WrEn,
122
          ctrl_wdf_rden     => ctrl_Wdf_RdEn,
123
          wdf_data          => wdf_data(31 downto 0),
124
          mask_data         => mask_data(3 downto 0),
125
          wr_df_almost_full => wr_df_almost_full_w(0)
126
         );
127
 
128
 
129
 
130
wr_data_fifo_161 : MIG_wr_data_fifo_16
131
  port map (
132
          clk0              => clk0,
133
          clk90             => clk90,
134
          rst               => rst,
135
          app_wdf_data      => app_wdf_data(63 downto 32),
136
          app_mask_data     => app_mask_data(7 downto 4),
137
          app_wdf_wren      => app_Wdf_WrEn,
138
          ctrl_wdf_rden     => ctrl_Wdf_RdEn,
139
          wdf_data          => wdf_data(63 downto 32),
140
          mask_data         => mask_data(7 downto 4),
141
          wr_df_almost_full => wr_df_almost_full_w(1)
142
         );
143
 
144
 
145
 
146
 
147
end arch;

powered by: WebSVN 2.1.0

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