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_data_path_iobs/] [MIG_v4_dq_iob.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_v4_dq_iob.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: Places the data in the IOBs.
18
-------------------------------------------------------------------------------
19
 
20
library ieee;
21
use ieee.std_logic_1164.all;
22
library UNISIM;
23
use UNISIM.vcomponents.all;
24
 
25
entity MIG_v4_dq_iob is
26
  port(
27
    clk             : in    std_logic;
28
    clk90           : in    std_logic;
29
    data_dlyinc     : in    std_logic;
30
    data_dlyce      : in    std_logic;
31
    data_dlyrst     : in    std_logic;
32
    write_data_rise : in    std_logic;
33
    write_data_fall : in    std_logic;
34
    ctrl_wren       : in    std_logic;
35
    ddr_dq          : inout std_logic;
36
    read_data_rise  : out   std_logic;
37
    read_data_fall  : out   std_logic
38
    );
39
end MIG_v4_dq_iob;
40
 
41
architecture arch of MIG_v4_dq_iob is
42
 
43
  signal dq_in         : std_logic;
44
  signal dq_out        : std_logic;
45
  signal dq_delayed    : std_logic;
46
  signal write_en_l    : std_logic;
47
  signal write_en_l_r1 : std_logic;
48
  signal vcc           : std_logic;
49
  signal gnd           : std_logic;
50
 
51
  attribute IOB : string;
52
  attribute IOB of tri_state_dq : label is "true";
53
  attribute syn_useioff : boolean;
54
  attribute syn_useioff of tri_state_dq : label is true;
55
 
56
begin
57
 
58
 
59
  vcc <= '1';
60
  gnd <= '0';
61
 
62
  write_en_l <= not ctrl_wren;
63
 
64
  oddr_dq : ODDR
65
    generic map(
66
      SRTYPE       => "SYNC",
67
      DDR_CLK_EDGE => "SAME_EDGE"
68
      )
69
    port map(
70
      Q  => dq_out,
71
      C  => clk90,
72
      CE => vcc,
73
      D1 => write_data_rise,
74
      D2 => write_data_fall,
75
      R  => gnd,
76
      S  => gnd
77
      );
78
 
79
  tri_state_dq : FDCE
80
    port map(
81
      Q   => write_en_l_r1,
82
      C   => clk90,
83
      CE  => vcc,
84
      CLR => gnd,
85
      D   => write_en_l
86
      );
87
 
88
  iobuf_dq : IOBUF port map
89
    (
90
      I  => dq_out,
91
      T  => write_en_l_r1,
92
      IO => ddr_dq,
93
      O  => dq_in
94
      );
95
 
96
  idelay_dq : IDELAY
97
    generic map(
98
      IOBDELAY_TYPE  => "VARIABLE",
99
      IOBDELAY_VALUE => 0
100
      )
101
    port map(
102
      O   => dq_delayed,
103
      I   => dq_in,
104
      C   => clk,
105
      CE  => data_dlyce,
106
      INC => data_dlyinc,
107
      RST => data_dlyrst
108
      );
109
 
110
  iddr_dq : IDDR
111
    generic map(
112
      SRTYPE       => "SYNC",
113
      DDR_CLK_EDGE => "SAME_EDGE_PIPELINED"
114
      )
115
    port map (
116
      Q1 => read_data_rise,
117
      Q2 => read_data_fall,
118
      C  => clk,
119
      CE => vcc,
120
      D  => dq_delayed,
121
      R  => gnd,
122
      S  => gnd
123
      );
124
 
125
end arch;

powered by: WebSVN 2.1.0

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