📄 qdr2_transfer_done.vhd
字号:
--*****************************************************************************************
--**
--** www.xilinx.com Copyright (C) 2003 Xilinx, Inc. All rights reserved
--**
--** QDR(tm) SRAM Virtex(tm)-II Interface VHDL instanciation
--**
--*****************************************************************************************
--**
--** Disclaimer: LIMITED WARRANTY AND DISCLAMER. These designs are
--** provided to you "as is". Xilinx and its licensors make and you
--** receive no warranties or conditions, express, implied, statutory
--** or otherwise, and Xilinx specifically disclaims any implied
--** warranties of merchantability, non-infringement, or fitness for a
--** particular purpose. Xilinx does not warrant that the functions
--** contained in these designs will meet your requirements, or that the
--** operation of these designs will be uninterrupted or error free, or
--** that defects in the Designs will be corrected. Furthermore, Xilinx
--** does not warrant or make any representations regarding use or the
--** results of the use of the designs in terms of correctness, accuracy,
--** reliability, or otherwise.
--**
--** LIMITATION OF LIABILITY. In no event will Xilinx or its licensors be
--** liable for any loss of data, lost profits, cost or procurement of
--** substitute goods or services, or for any special, incidental,
--** consequential, or indirect damages arising from the use or operation
--** of the designs or accompanying documentation, however caused and on
--** any theory of liability. This limitation will apply even if Xilinx
--** has been advised of the possibility of such damage. This limitation
--** shall apply not-withstanding the failure of the essential purpose of
--** any limited remedies herein.
--**
--*****************************************************************************************
--***********************************************
--* Library declaration
--***********************************************
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
--pragma translate_off
--synopsys translate_off
LIBRARY UNISIM;
use UNISIM.VCOMPONENTS.ALL;
--synopsys translate_on
--pragma translate_on
entity qdr2_transfer_done is
port (
clk0 : in std_logic;
clk90 : in std_logic;
clk180 : in std_logic;
clk270 : in std_logic;
reset : in std_logic;
reset90 : in std_logic;
reset180 : in std_logic;
reset270 : in std_logic;
cq_div : in std_logic;
transfer_done0 : out std_logic;
transfer_done1 : out std_logic;
transfer_done2 : out std_logic;
transfer_done3 : out std_logic );
end qdr2_transfer_done;
architecture qdr2_transfer_done_arch of qdr2_transfer_done is
attribute syn_hier : string;
attribute syn_hier of qdr2_transfer_done_arch: architecture is "hard";
--***********************************************
--* Components declaration
--***********************************************
component LUT2
generic(
INIT : bit_vector(3 downto 0) := x"0" );
port ( O : out STD_ULOGIC;
I0 : in STD_ULOGIC;
I1 : in STD_ULOGIC );
end component;
component LUT3
generic(
INIT : bit_vector(7 downto 0) := x"00" );
port ( O : out STD_ULOGIC;
I0 : in STD_ULOGIC;
I1 : in STD_ULOGIC;
I2 : in STD_ULOGIC );
end component;
component FDR
port ( Q : out std_logic;
C : in std_logic;
D : in std_logic;
R : in std_logic );
end component;
component FD
port ( Q : out std_logic;
C : in std_logic;
D : in std_logic );
end component;
--***********************************************
--* Signals and constants declaration
--***********************************************
attribute syn_keep : boolean;
signal transfer_done_int : std_logic_vector (3 downto 0);
signal transfer_done0_clk0 : std_logic;
signal transfer_done0_clk90 : std_logic;
signal transfer_done0_clk180 : std_logic;
signal transfer_done0_clk270 : std_logic;
signal transfer_done1_clk90 : std_logic;
signal transfer_done1_clk270 : std_logic;
signal transfer_done2_clk90 : std_logic;
signal transfer_done2_clk270 : std_logic;
signal transfer_done3_clk90 : std_logic;
signal transfer_done3_clk270 : std_logic;
signal sync_rst_xdone0_ck0 : std_logic;
signal sync_rst_xdone0_ck180 : std_logic;
signal sync_rst_clk90 : std_logic;
signal sync_rst_clk270 : std_logic;
begin
sync_rst_xdone0_ck0 <= reset or transfer_done0_clk0;
sync_rst_xdone0_ck180 <= reset180 or transfer_done0_clk180;
transfer_done0 <= transfer_done_int(0);
transfer_done1 <= transfer_done_int(1);
transfer_done2 <= transfer_done_int(2);
transfer_done3 <= transfer_done_int(3);
xdone0 : LUT2 generic map (INIT => x"e")
port map ( I0 => transfer_done0_clk90,
I1 => transfer_done0_clk270,
O => transfer_done_int(0) );
xdone1 : LUT2 generic map (INIT => x"e")
port map ( I0 => transfer_done1_clk90,
I1 => transfer_done1_clk270,
O => transfer_done_int(1) );
xdone2 : LUT2 generic map (INIT => x"e")
port map ( I0 => transfer_done2_clk90,
I1 => transfer_done2_clk270,
O => transfer_done_int(2) );
xdone3 : LUT2 generic map (INIT => x"e")
port map ( I0 => transfer_done3_clk90,
I1 => transfer_done3_clk270,
O => transfer_done_int(3) );
xdone0_clk0 : FDR port map (
Q => transfer_done0_clk0,
C => clk0,
R => sync_rst_xdone0_ck0,
D => cq_div );
xdone0_clk90 : FDR port map (
Q => transfer_done0_clk90,
C => clk90,
R => sync_rst_clk90,
D => transfer_done0_clk0 );
xdone0_clk180 : FDR port map (
Q => transfer_done0_clk180,
C => clk180,
R => sync_rst_xdone0_ck180,
D => cq_div );
xdone0_clk270 : FDR port map (
Q => transfer_done0_clk270,
C => clk270,
R => sync_rst_clk270,
D => transfer_done0_clk180 );
xdone0_rst90 : LUT3 generic map (INIT => x"fe")
port map ( I0 => reset90,
I1 => transfer_done0_clk270,
I2 => transfer_done0_clk90,
O => sync_rst_clk90 );
xdone0_rst270 : LUT3 generic map (INIT => x"fe")
port map ( I0 => reset270,
I1 => transfer_done0_clk270,
I2 => transfer_done0_clk90,
O => sync_rst_clk270 );
xdone1_clk90 : FD port map (
Q => transfer_done1_clk90,
C => clk90,
D => transfer_done0_clk270 );
xdone1_clk270 : FD port map (
Q => transfer_done1_clk270,
C => clk270,
D => transfer_done0_clk90 );
xdone2_clk90 : FD port map (
Q => transfer_done2_clk90,
C => clk90,
D => transfer_done1_clk270 );
xdone2_clk270 : FD port map (
Q => transfer_done2_clk270,
C => clk270,
D => transfer_done1_clk90 );
xdone3_clk90 : FD port map (
Q => transfer_done3_clk90,
C => clk90,
D => transfer_done2_clk270 );
xdone3_clk270 : FD port map (
Q => transfer_done3_clk270,
C => clk270,
D => transfer_done2_clk90 );
end qdr2_transfer_done_arch;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -