📄 write_burst_4.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 write_burst_4 is
generic (
-- Constant Parameters
addr_bits : INTEGER := 18;
data_bits : INTEGER := 18;
mem_sizes : INTEGER := 524287
);
port ( D0 : in std_logic_vector (data_bits-1 downto 0);
D1 : in std_logic_vector (data_bits-1 downto 0);
CLK180 : in std_logic;
CLK90 : in std_logic;
CLK270 : in std_logic;
W_n : in std_logic;
RESET : in std_logic;
W_BAR : out std_logic;
Q : out std_logic_vector (data_bits-1 downto 0) );
end write_burst_4;
architecture write_burst_4_arch of write_burst_4 is
--***********************************************
--* Components declaration
--***********************************************
component FD
port( Q : out std_logic;
D : in std_logic;
C : in std_logic );
end component;
component FDDRRSE
port( Q : out std_logic;
D0 : in std_logic;
D1 : in std_logic;
C0 : in std_logic;
C1 : in std_logic;
CE : in std_logic;
R : in std_logic;
S : in std_logic );
end component;
--***********************************************
--* Signals and constants declaration
--***********************************************
attribute syn_keep : boolean;
signal D0_S1 : std_logic_vector (data_bits-1 downto 0);
signal D0_S2 : std_logic_vector (data_bits-1 downto 0);
signal D1_S1 : std_logic_vector (data_bits-1 downto 0);
signal D1_S2 : std_logic_vector (data_bits-1 downto 0);
signal D0_Initial : std_logic_vector (data_bits-1 downto 0);
signal W_n_1 : std_logic;
signal W_n_2 : std_logic;
signal GND : std_logic := '0';
signal HIGH : std_logic := '1';
begin
-- CLK180 <= not( CLK0 );
-- CLK270 <= not( CLK90 );
INST_WRITE : for I in (data_bits - 1) downto 0 generate
WRT_FDC_D0_initial : FD port map (
Q => D0_Initial(i),
D => D0(i),
C => CLK180 );
WRT_FDC_D1_S1 : FD port map (
Q => D1_S1(i),
D => D1(i),
C => CLK270 );
WRT_FDC_D0_S1 : FD port map (
Q => D0_S1(i),
D => D0_Initial(i),
C => CLK90 );
WRT_FDC_D1_S2 : FD port map (
Q => D1_S2(i),
D => D1_S1(i),
C => CLK270 );
WRT_FDC_D0_S2 : FD port map (
Q => D0_S2(i),
D => D0_S1(i),
C => CLK90 );
WRT_FDDR_DQ : FDDRRSE port map (
Q => Q(i),
D0 => D0_S2(i),
D1 => D1_S2(i),
C0 => CLK90,
C1 => CLK270,
CE => HIGH,
R => GND,
S => GND );
end generate;
WRT_PIPE : FD port map (
Q => W_n_1,
D => W_n,
C => CLK270 );
WRT_FD_W_n : FDDRRSE port map (
Q => W_BAR,
D0 => W_n_1,
D1 => HIGH,
C0 => CLK270,
C1 => CLK90,
CE => HIGH,
R => GND,
S => RESET );
end write_burst_4_arch;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -