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

📄 idt723643.vhd

📁 VHDL的ram和fifo model code 包含众多的厂家
💻 VHD
📖 第 1 页 / 共 5 页
字号:
    FFIR     : OUT   std_logic := 'U';    FS0SD    : IN    std_logic := 'X';     FS1SEN   : IN    std_logic := 'X';     MBA      : IN    std_logic := 'X';    MBB      : IN    std_logic := 'X';    MBF1Neg  : OUT   std_logic := 'U';    MBF2Neg  : OUT   std_logic := 'U';    MRSNeg   : IN    std_logic := 'X';     PRSNeg   : IN    std_logic := 'X';     SIZE     : IN    std_logic := 'X';     SPMNeg   : IN    std_logic := 'X';    WRA      : IN    std_logic := 'X';      WRB      : IN    std_logic := 'X'       );   PORT MAP (    A_ipd(0)    => A0_ipd,    A_ipd(1)    => A1_ipd,    A_ipd(2)    => A2_ipd,    A_ipd(3)    => A3_ipd,    A_ipd(4)    => A4_ipd,    A_ipd(5)    => A5_ipd,    A_ipd(6)    => A6_ipd,    A_ipd(7)    => A7_ipd,    A_ipd(8)    => A8_ipd,    A_ipd(9)    => A9_ipd,    A_ipd(10)   => A10_ipd,    A_ipd(11)   => A11_ipd,    A_ipd(12)   => A12_ipd,    A_ipd(13)   => A13_ipd,    A_ipd(14)   => A14_ipd,    A_ipd(15)   => A15_ipd,    A_ipd(16)   => A16_ipd,    A_ipd(17)   => A17_ipd,    A_ipd(18)   => A18_ipd,    A_ipd(19)   => A19_ipd,    A_ipd(20)   => A20_ipd,    A_ipd(21)   => A21_ipd,    A_ipd(22)   => A22_ipd,    A_ipd(23)   => A23_ipd,    A_ipd(24)   => A24_ipd,    A_ipd(25)   => A25_ipd,    A_ipd(26)   => A26_ipd,    A_ipd(27)   => A27_ipd,    A_ipd(28)   => A28_ipd,    A_ipd(29)   => A29_ipd,    A_ipd(30)   => A30_ipd,    A_ipd(31)   => A31_ipd,    A_ipd(32)   => A32_ipd,    A_ipd(33)   => A33_ipd,    A_ipd(34)   => A34_ipd,    A_ipd(35)   => A35_ipd,    A(0)    	=> A0,    A(1)    	=> A1,    A(2)    	=> A2,    A(3)    	=> A3,    A(4) 	=> A4,    A(5)  	=> A5,    A(6)  	=> A6,    A(7)    	=> A7,    A(8)    	=> A8,    A(9)    	=> A9,    A(10)   	=> A10,    A(11)   	=> A11,    A(12)   	=> A12,    A(13)   	=> A13,    A(14)   	=> A14,    A(15)   	=> A15,    A(16)   	=> A16,    A(17)   	=> A17,    A(18)   	=> A18,    A(19)   	=> A19,    A(20)   	=> A20,    A(21)   	=> A21,    A(22)   	=> A22,    A(23)   	=> A23,    A(24)   	=> A24,    A(25)   	=> A25,    A(26)   	=> A26,    A(27)   	=> A27,    A(28)   	=> A28,    A(29)   	=> A29,    A(30)   	=> A30,    A(31)   	=> A31,    A(32)   	=> A32,    A(33)   	=> A33,    A(34)   	=> A34,    A(35)    	=> A35,    AENeg   	=> AENeg,    AFNeg   	=> AFNeg,    B_ipd(0)    => B0_ipd,    B_ipd(1)    => B1_ipd,    B_ipd(2)    => B2_ipd,    B_ipd(3)    => B3_ipd,    B_ipd(4)    => B4_ipd,    B_ipd(5)    => B5_ipd,    B_ipd(6)    => B6_ipd,    B_ipd(7)    => B7_ipd,    B_ipd(8)    => B8_ipd,    B_ipd(9)    => B9_ipd,    B_ipd(10)   => B10_ipd,    B_ipd(11)   => B11_ipd,    B_ipd(12)   => B12_ipd,    B_ipd(13)   => B13_ipd,    B_ipd(14)   => B14_ipd,    B_ipd(15)   => B15_ipd,    B_ipd(16)   => B16_ipd,    B_ipd(17)   => B17_ipd,    B_ipd(18)   => B18_ipd,    B_ipd(19)   => B19_ipd,    B_ipd(20)   => B20_ipd,    B_ipd(21)   => B21_ipd,    B_ipd(22)   => B22_ipd,    B_ipd(23)   => B23_ipd,    B_ipd(24)   => B24_ipd,    B_ipd(25)   => B25_ipd,    B_ipd(26)   => B26_ipd,    B_ipd(27)   => B27_ipd,    B_ipd(28)   => B28_ipd,    B_ipd(29)   => B29_ipd,    B_ipd(30)   => B30_ipd,    B_ipd(31)   => B31_ipd,    B_ipd(32)   => B32_ipd,    B_ipd(33)   => B33_ipd,    B_ipd(34)   => B34_ipd,    B_ipd(35)   => B35_ipd,    B(0)    	=> B0,    B(1)    	=> B1,    B(2)    	=> B2,    B(3)    	=> B3,    B(4) 	=> B4,    B(5)  	=> B5,    B(6)  	=> B6,    B(7)    	=> B7,    B(8)    	=> B8,    B(9)    	=> B9,    B(10)   	=> B10,    B(11)   	=> B11,    B(12)   	=> B12,    B(13)   	=> B13,    B(14)   	=> B14,    B(15)   	=> B15,    B(16)   	=> B16,    B(17)   	=> B17,    B(18)   	=> B18,    B(19)   	=> B19,    B(20)   	=> B20,    B(21)   	=> B21,    B(22)   	=> B22,    B(23)   	=> B23,    B(24)   	=> B24,    B(25)   	=> B25,    B(26)   	=> B26,    B(27)   	=> B27,    B(28)   	=> B28,    B(29)   	=> B29,    B(30)   	=> B30,    B(31)   	=> B31,    B(32)   	=> B32,    B(33)   	=> B33,    B(34)   	=> B34,    B(35)    	=> B35,    BEFWFT   	=> BEFWFT_ipd,    BM   	=> BM_ipd,    CLKA        => CLKA_ipd,    CLKB        => CLKB_ipd,    CSANeg      => CSANeg_ipd,    CSBNeg      => CSBNeg_ipd,    EFOR   	=> EFOR,    ENA         => ENA_ipd,    ENB         => ENB_ipd,    FFIR   	=> FFIR,    FS0SD       => FS0SD_ipd,    FS1SEN      => FS1SEN_ipd,    MBA         => MBA_ipd,    MBB         => MBB_ipd,    MBF1Neg     => MBF1Neg,    MBF2Neg     => MBF2Neg,    MRSNeg      => MRSNeg_ipd,    PRSNeg      => PRSNeg_ipd,    SIZE        => SIZE_ipd,    SPMNeg      => SPMNeg_ipd,    WRA         => WRA_ipd,    WRB         => WRB_ipd);      -- zero delayed outputs and bidirectional ports   -- (func. sec. uses these signals instead of =  --  actual outputs and bidirectional ports);  -- actual outputs are assigned in Path Delay Section    SIGNAL A_zd         : std_logic_vector (35 downto 0);  SIGNAL B_zd         : std_logic_vector (35 downto 0);   SIGNAL AENeg_zd    : std_logic;    SIGNAL AFNeg_zd    : std_logic;    SIGNAL EFOR_zd    : std_logic;       SIGNAL FFIR_zd    : std_logic;       SIGNAL MBF1Neg_zd   : std_logic;      SIGNAL MBF2Neg_zd   : std_logic;     ------------------------------------------------------------------------------  -- FIFO memory definitions  ------------------------------------------------------------------------------  -- general  CONSTANT FIFOWordLength  :  positive := 36;  SUBTYPE  FIFOWord    IS std_logic_vector(FIFOWordLength - 1 DOWNTO 0);  TYPE     FIFOArray   IS ARRAY (0 TO FIFOSize - 1) OF FIFOWord;    CONSTANT MailWordLength  :  positive := 36;  SUBTYPE  MailWord    IS std_logic_vector(MailWordLength - 1 DOWNTO 0);    CONSTANT Offs_Par_Number :  positive := 2; -- Number of Words while  					     -- Parallel Offset Loading  CONSTANT Offs_Ser_Number :  positive := OffsetSize*2; -- Number of Bits while  					     -- Serial Offset Loading    -- special  CONSTANT FIFOWordBytes   :  positive := 4;    ------------------------------------------------------------------------------  -- internal constants   ------------------------------------------------------------------------------       CONSTANT SIZByte : std_logic := '1';	     CONSTANT SIZWord : std_logic := '0';        ------------------------------------------------------------------------------  -- internal signals   ------------------------------------------------------------------------------  -- FIFO Arrays       SIGNAL FIFOMemory1int : FIFOArray := (FIFOArray'range =>                                        FIFOWord'(OTHERS => 'X'));                                          -- Main Registers                                            -- Input Registers           SIGNAL InputReg1int   : FIFOWord := (OTHERS => 'X');          -- Output Registers           SIGNAL OutputReg1int  : FIFOWord := (OTHERS => 'X');          -- FIFO Pointers          SIGNAL ReadPtr1int    : Natural RANGE 0 TO FIFOSize-1;     SIGNAL WritePtr1int   : Natural RANGE 0 TO FIFOSize-1;          SIGNAL ReadPtr1int_add : std_logic;                            -- additional high bits to differ cases when     SIGNAL WritePtr1int_add : std_logic; -- FIFO empty or full          -- FIFO Offset for Almoust Empty/Full Flags          SIGNAL X1int, Y1int   : Natural RANGE 0 TO FIFOSize-1;          -- Mail Registers          SIGNAL Mail1int,            Mail2int       : MailWord := (OTHERS => 'X');                 -- Flags for Standart and FWFT mode          SIGNAL EFNegint, FFNegint,  	-- standard mode      	    ORint			-- FWFT mode     	    : std_ulogic;         -- Flags Flip-flop first stage (each flag is synchonized      -- to its Port Clock through two flip-flop stages)          SIGNAL EF1int, FF1int, AE1int, AF1int : std_ulogic;           ---------- Input Registers Controlling Signals ------------           -- Flags "Input Register is loaded" - in this      -- model they will be loaded to FIFOMemory on CLK negedge           SIGNAL InputReg1Readyint   : std_ulogic;           ---------- Output Registers Controlling Signals ------------           SIGNAL OutputReg1Readyint : std_ulogic; -- all 4-bytes have been     				 	    -- read to Port-B      SIGNAL OutputReg1ReadyNextint : std_ulogic;                                            -- all 4-bytes will be      				 	    -- read to Port-B next CLKB     				 	    -- posedge     -- Pointers for Byte/Word Access for PortB             SIGNAL OutputReg1Ptrint : Natural RANGE 0 TO FIFOWordBytes-1;            -- Pointers for Byte/Word Access that will be latched on CLKB posedge       	     						          SIGNAL OutputReg1PtrNextint   : Natural RANGE 0 TO FIFOWordBytes - 1;              SIGNAL FWFTFirst : std_ulogic; -- first word though in FWFT mode          -------------------------------------------------------------------------       -- Master Reset 1,2 / Partial Reset 1,2          SIGNAL RST1int: std_ulogic; -- MRSNeg AND PRSNeg; MRS2Neg AND PRS2Neg          -- Master Reset (MRSNeg = '0' done          SIGNAL MRSDoneint: std_ulogic := '0';          -- Counters of Clocks during Master/Partion Reset is active or just after     -- Reset          SIGNAL CountCLKA1int, CountCLKB1int: Natural;          -- Big Endian ('1') / Little Endian ('0') Mode          SIGNAL BEint: std_ulogic;          -- Internal Control Signals          SIGNAL EnWrFIFO1int, EnRdFIFO1int,      	    EnWrMail1int, EnRdMail1int, EnWrMail2int, EnRdMail2int: std_ulogic;      	         ---------------------------------------------------------------------------     -- ALmost-Empty/Almost-Full Offsets Loading Mode          SIGNAL Offs_Par_Load_Modeint : std_ulogic := '0'; -- Parallel Offsets Loading Mode     SIGNAL Offs_Ser_Load_Modeint : std_ulogic := '0'; -- Serial Offsets Loading Mode          -- Word/Bit Counter while Offset Loading          SIGNAL CountLoadOffsetint: Natural;           ---------------------------------------------------------------------------     -- Additional Signals     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -