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] - Rev 2

Compare with Previous | Blame | View Log

--******************************************************************************
--
--  Xilinx, Inc. 2002                 www.xilinx.com
--
--
--*******************************************************************************
--
--  File name :       s3_dqs_iob.vhd
--
--  Description :     This module instantiates DDR IOB output flip-flops, an 
--                    output buffer with registered tri-state, and an input buffer  
--                    for a single strobe/dqs bit. The DDR IOB output flip-flops 
--                    are used to forward strobe to memory during a write. During
--                    a read, the output of the IBUF is routed to the internal 
--                    delay module, dqs_delay. 
--                    
--  Date - revision : 07/28/2003
--
--
-- 
--*****************************************************************************
 
library ieee;
use ieee.std_logic_1164.all;
--library synplify; 
--use synplify.attributes.all;
 
--
-- pragma translate_off
library UNISIM;
use UNISIM.VCOMPONENTS.ALL;
-- pragma translate_on
--
 
entity s3_dqs_iob is
port(
     clk            : in std_logic;
     clk180         : in std_logic;
     ddr_dqs_reset  : in std_logic;
     ddr_dqs_enable : in std_logic;
     ddr_dqs        : inout std_logic;
     dqs            : out std_logic);
--attribute syn_noclockbuf : boolean;     
--attribute syn_noclockbuf of ddr_dqs : signal is true;                    
--attribute syn_noclockbuf of dqs     : signal is true;               
end s3_dqs_iob;
 
 
architecture arc_s3_dqs_iob of s3_dqs_iob is
component FD
port( D : in std_logic;
      Q : out std_logic;
      C : in std_logic);
end component;
 
component FDDRRSE 
port( Q  : out std_logic;
      C0 : in std_logic;
      C1 : in std_logic;
      CE : in std_logic;
      D0 : in std_logic;
      D1 : in std_logic;
      R  : in std_logic;
      S  : in std_logic);
end component;
 
component OBUFT
port(
      I : in std_logic;
      T : in std_logic;
      O : out std_logic);
end component;
 
component IBUF_SSTL2_II
port(
      I : in std_logic;
      O : out std_logic);
end component;
 
signal dqs_q            : std_logic;
signal ddr_dqs_enable1  : std_logic;
signal vcc              : std_logic;
signal gnd              : std_logic;
signal ddr_dqs_enable_b : std_logic;
signal data1            : std_logic;
 
begin
 
--***********************************************************************
--     Output DDR generation
--     This includes instantiation of the output DDR flip flop.
--     Additionally, to keep synthesis tools from register sharing, manually
--     instantiate the output tri-state flip-flop.
--*********************************************************************** 
vcc <= '1';
gnd <= '0';
ddr_dqs_enable_b <= not ddr_dqs_enable;
data1 <= '0' when ddr_dqs_reset = '1' else
         '1';
 
 
 
U1 : FD port map  ( D => ddr_dqs_enable_b,
                    Q => ddr_dqs_enable1,
                    C => clk);
 
U2 : FDDRRSE port map (  Q => dqs_q,
                        C0 => clk180,
                        C1 => clk,
                        CE => vcc,
                        D0 => gnd,
                        D1 => data1,
                         R => gnd,
                         S => gnd);
--***********************************************************************
--    IO buffer for dqs signal. Allows for distribution of dqs
--     to the data (DQ) loads.
--***********************************************************************
U3 : OBUFT  port map ( I => dqs_q, 
                       T => ddr_dqs_enable1 ,
                       O => ddr_dqs);
 
U4 : IBUF_SSTL2_II port map ( I => ddr_dqs,
                              O => dqs);
 
 
end arc_s3_dqs_iob;
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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