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

Subversion Repositories pulse_processing_algorithm

[/] [pulse_processing_algorithm/] [s3_dqs_iob.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 panda_emc
--******************************************************************************
2
--
3
--  Xilinx, Inc. 2002                 www.xilinx.com
4
--
5
--
6
--*******************************************************************************
7
--
8
--  File name :       s3_dqs_iob.vhd
9
--
10
--  Description :     This module instantiates DDR IOB output flip-flops, an 
11
--                    output buffer with registered tri-state, and an input buffer  
12
--                    for a single strobe/dqs bit. The DDR IOB output flip-flops 
13
--                    are used to forward strobe to memory during a write. During
14
--                    a read, the output of the IBUF is routed to the internal 
15
--                    delay module, dqs_delay. 
16
--                    
17
--  Date - revision : 07/28/2003
18
--
19
--
20
-- 
21
--*****************************************************************************
22
 
23
library ieee;
24
use ieee.std_logic_1164.all;
25
--library synplify; 
26
--use synplify.attributes.all;
27
 
28
--
29
-- pragma translate_off
30
library UNISIM;
31
use UNISIM.VCOMPONENTS.ALL;
32
-- pragma translate_on
33
--
34
 
35
entity s3_dqs_iob is
36
port(
37
     clk            : in std_logic;
38
     clk180         : in std_logic;
39
     ddr_dqs_reset  : in std_logic;
40
     ddr_dqs_enable : in std_logic;
41
     ddr_dqs        : inout std_logic;
42
     dqs            : out std_logic);
43
--attribute syn_noclockbuf : boolean;     
44
--attribute syn_noclockbuf of ddr_dqs : signal is true;                    
45
--attribute syn_noclockbuf of dqs     : signal is true;               
46
end s3_dqs_iob;
47
 
48
 
49
architecture arc_s3_dqs_iob of s3_dqs_iob is
50
component FD
51
port( D : in std_logic;
52
      Q : out std_logic;
53
      C : in std_logic);
54
end component;
55
 
56
component FDDRRSE
57
port( Q  : out std_logic;
58
      C0 : in std_logic;
59
      C1 : in std_logic;
60
      CE : in std_logic;
61
      D0 : in std_logic;
62
      D1 : in std_logic;
63
      R  : in std_logic;
64
      S  : in std_logic);
65
end component;
66
 
67
component OBUFT
68
port(
69
      I : in std_logic;
70
      T : in std_logic;
71
      O : out std_logic);
72
end component;
73
 
74
component IBUF_SSTL2_II
75
port(
76
      I : in std_logic;
77
      O : out std_logic);
78
end component;
79
 
80
signal dqs_q            : std_logic;
81
signal ddr_dqs_enable1  : std_logic;
82
signal vcc              : std_logic;
83
signal gnd              : std_logic;
84
signal ddr_dqs_enable_b : std_logic;
85
signal data1            : std_logic;
86
 
87
begin
88
 
89
--***********************************************************************
90
--     Output DDR generation
91
--     This includes instantiation of the output DDR flip flop.
92
--     Additionally, to keep synthesis tools from register sharing, manually
93
--     instantiate the output tri-state flip-flop.
94
--*********************************************************************** 
95
vcc <= '1';
96
gnd <= '0';
97
ddr_dqs_enable_b <= not ddr_dqs_enable;
98
data1 <= '0' when ddr_dqs_reset = '1' else
99
         '1';
100
 
101
 
102
 
103
U1 : FD port map  ( D => ddr_dqs_enable_b,
104
                    Q => ddr_dqs_enable1,
105
                    C => clk);
106
 
107
U2 : FDDRRSE port map (  Q => dqs_q,
108
                        C0 => clk180,
109
                        C1 => clk,
110
                        CE => vcc,
111
                        D0 => gnd,
112
                        D1 => data1,
113
                         R => gnd,
114
                         S => gnd);
115
--***********************************************************************
116
--    IO buffer for dqs signal. Allows for distribution of dqs
117
--     to the data (DQ) loads.
118
--***********************************************************************
119
U3 : OBUFT  port map ( I => dqs_q,
120
                       T => ddr_dqs_enable1 ,
121
                       O => ddr_dqs);
122
 
123
U4 : IBUF_SSTL2_II port map ( I => ddr_dqs,
124
                              O => dqs);
125
 
126
 
127
end arc_s3_dqs_iob;

powered by: WebSVN 2.1.0

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