⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 write_burst_4.vhd

📁 XILINX memory interface generator. XILINX的外部存储器接口。
💻 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


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 + -