📄 idt723651.vhd
字号:
---------------------------------------------------------------------------------- File name : idt723651.vhd---------------------------------------------------------------------------------- Copyright (C) 1998 Integrated Device Technology; http://www.idt.com/-- Developed by SEVA Technologies Inc. (Moscow branch) under contract to IDT-- and supported by Free Model Foundry; http://www.FreeModelFoundry.com---- This program is free software; you can redistribute it and/or modify-- it under the terms of the GNU General Public License version 2 as-- published by the Free Software Foundation.---- This VHDL model is provided on an "AS IS" basis and IDT makes absolutely no-- warranty with respect to the information contained herein. IDT DISCLAIMS-- AND CUSTOMER WAIVES ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING-- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE-- ENTIRE RISK AS TO QUALITY AND PERFORMANCE IS WITH THE USER ACCORDINGLY, IN-- NO EVENT SHALL IDT BE LIABLE FOR ANY DIRECT OR INDIRECT DAMAGES, WHETHER IN-- CONTRACT OR TORT, INCLUDING ANY LOST PROFITS OR OTHER INCIDENTAL,-- CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES ARISING OUT OF THE USE OR-- APPLICATION OF THE VHDL model. Further, IDT reserves the right to make-- changes without notice to any product herein to improve reliability,-- function, or design. IDT does not convey any license under patent rights-- or any other intellectual property rights, including those of third parties.-- IDT is not obligated to provide maintenance or support for the licensed VHDL-- model.---- MODIFICATION HISTORY :---- version: | author: | mod date: | changes made:-- V1.0 A. Poliakov 98 APR 30 initial release-- V1.1 Ilya Shenfinkel 99 MAR 15 corrected FIFO1_Read_Data process-- V1.2 | R. Munden | 02 MAY 19 | licensing changed to GPL----------------------------------------------------------------------------------- PART DESCRIPTION :---- Library: FIFO-- Technology: CMOS-- Part: IDT723651---- Descripton: SyncFIFO 2048x36--------------------------------------------------------------------------------LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.vital_primitives.ALL; USE ieee.vital_timing.ALL;LIBRARY fmf; USE fmf.ff_package.ALL; USE fmf.gen_utils.ALL; USE fmf.conversions.to_nat; USE fmf.conversions.to_slv;---------------------------------------------------------------------------------- ENTITY DECLARATION ----------------------------------------------------------------------------------ENTITY IDT723651 IS GENERIC ( ---------------------------------------------------------------------------- -- VITAL generics ---------------------------------------------------------------------------- -- tipd delays: interconnect path delays -- (there must be one generic for each input pin) tipd_A0 : VitalDelayType01 := VitalZeroDelay01; tipd_A1 : VitalDelayType01 := VitalZeroDelay01; tipd_A2 : VitalDelayType01 := VitalZeroDelay01; tipd_A3 : VitalDelayType01 := VitalZeroDelay01; tipd_A4 : VitalDelayType01 := VitalZeroDelay01; tipd_A5 : VitalDelayType01 := VitalZeroDelay01; tipd_A6 : VitalDelayType01 := VitalZeroDelay01; tipd_A7 : VitalDelayType01 := VitalZeroDelay01; tipd_A8 : VitalDelayType01 := VitalZeroDelay01; tipd_A9 : VitalDelayType01 := VitalZeroDelay01; tipd_A10 : VitalDelayType01 := VitalZeroDelay01; tipd_A11 : VitalDelayType01 := VitalZeroDelay01; tipd_A12 : VitalDelayType01 := VitalZeroDelay01; tipd_A13 : VitalDelayType01 := VitalZeroDelay01; tipd_A14 : VitalDelayType01 := VitalZeroDelay01; tipd_A15 : VitalDelayType01 := VitalZeroDelay01; tipd_A16 : VitalDelayType01 := VitalZeroDelay01; tipd_A17 : VitalDelayType01 := VitalZeroDelay01; tipd_A18 : VitalDelayType01 := VitalZeroDelay01; tipd_A19 : VitalDelayType01 := VitalZeroDelay01; tipd_A20 : VitalDelayType01 := VitalZeroDelay01; tipd_A21 : VitalDelayType01 := VitalZeroDelay01; tipd_A22 : VitalDelayType01 := VitalZeroDelay01; tipd_A23 : VitalDelayType01 := VitalZeroDelay01; tipd_A24 : VitalDelayType01 := VitalZeroDelay01; tipd_A25 : VitalDelayType01 := VitalZeroDelay01; tipd_A26 : VitalDelayType01 := VitalZeroDelay01; tipd_A27 : VitalDelayType01 := VitalZeroDelay01; tipd_A28 : VitalDelayType01 := VitalZeroDelay01; tipd_A29 : VitalDelayType01 := VitalZeroDelay01; tipd_A30 : VitalDelayType01 := VitalZeroDelay01; tipd_A31 : VitalDelayType01 := VitalZeroDelay01; tipd_A32 : VitalDelayType01 := VitalZeroDelay01; tipd_A33 : VitalDelayType01 := VitalZeroDelay01; tipd_A34 : VitalDelayType01 := VitalZeroDelay01; tipd_A35 : VitalDelayType01 := VitalZeroDelay01; tipd_B0 : VitalDelayType01 := VitalZeroDelay01; tipd_B1 : VitalDelayType01 := VitalZeroDelay01; tipd_B2 : VitalDelayType01 := VitalZeroDelay01; tipd_B3 : VitalDelayType01 := VitalZeroDelay01; tipd_B4 : VitalDelayType01 := VitalZeroDelay01; tipd_B5 : VitalDelayType01 := VitalZeroDelay01; tipd_B6 : VitalDelayType01 := VitalZeroDelay01; tipd_B7 : VitalDelayType01 := VitalZeroDelay01; tipd_B8 : VitalDelayType01 := VitalZeroDelay01; tipd_B9 : VitalDelayType01 := VitalZeroDelay01; tipd_B10 : VitalDelayType01 := VitalZeroDelay01; tipd_B11 : VitalDelayType01 := VitalZeroDelay01; tipd_B12 : VitalDelayType01 := VitalZeroDelay01; tipd_B13 : VitalDelayType01 := VitalZeroDelay01; tipd_B14 : VitalDelayType01 := VitalZeroDelay01; tipd_B15 : VitalDelayType01 := VitalZeroDelay01; tipd_B16 : VitalDelayType01 := VitalZeroDelay01; tipd_B17 : VitalDelayType01 := VitalZeroDelay01; tipd_B18 : VitalDelayType01 := VitalZeroDelay01; tipd_B19 : VitalDelayType01 := VitalZeroDelay01; tipd_B20 : VitalDelayType01 := VitalZeroDelay01; tipd_B21 : VitalDelayType01 := VitalZeroDelay01; tipd_B22 : VitalDelayType01 := VitalZeroDelay01; tipd_B23 : VitalDelayType01 := VitalZeroDelay01; tipd_B24 : VitalDelayType01 := VitalZeroDelay01; tipd_B25 : VitalDelayType01 := VitalZeroDelay01; tipd_B26 : VitalDelayType01 := VitalZeroDelay01; tipd_B27 : VitalDelayType01 := VitalZeroDelay01; tipd_B28 : VitalDelayType01 := VitalZeroDelay01; tipd_B29 : VitalDelayType01 := VitalZeroDelay01; tipd_B30 : VitalDelayType01 := VitalZeroDelay01; tipd_B31 : VitalDelayType01 := VitalZeroDelay01; tipd_B32 : VitalDelayType01 := VitalZeroDelay01; tipd_B33 : VitalDelayType01 := VitalZeroDelay01; tipd_B34 : VitalDelayType01 := VitalZeroDelay01; tipd_B35 : VitalDelayType01 := VitalZeroDelay01; tipd_CLKA : VitalDelayType01 := VitalZeroDelay01; tipd_CLKB : VitalDelayType01 := VitalZeroDelay01; tipd_CSANeg : VitalDelayType01 := VitalZeroDelay01; tipd_CSBNeg : VitalDelayType01 := VitalZeroDelay01; tipd_ENA : VitalDelayType01 := VitalZeroDelay01; tipd_ENB : VitalDelayType01 := VitalZeroDelay01; tipd_FS0SD : VitalDelayType01 := VitalZeroDelay01; tipd_FS1SEN : VitalDelayType01 := VitalZeroDelay01; tipd_MBA : VitalDelayType01 := VitalZeroDelay01; tipd_MBB : VitalDelayType01 := VitalZeroDelay01; tipd_RSTNeg : VitalDelayType01 := VitalZeroDelay01; tipd_RTM : VitalDelayType01 := VitalZeroDelay01; tipd_RFM : VitalDelayType01 := VitalZeroDelay01; tipd_WRA : VitalDelayType01 := VitalZeroDelay01; tipd_WRB : VitalDelayType01 := VitalZeroDelay01; ------------------------------------------------------------ -- tpd delays: propagation delays -- tA tpd_CLKB_B0 : VitalDelayType01 := UnitDelay01; -- tPIR tpd_CLKA_IR : VitalDelayType01 := UnitDelay01; -- tPOR tpd_CLKB_ORB : VitalDelayType01 := UnitDelay01; -- tPAE tpd_CLKB_AENeg : VitalDelayType01 := UnitDelay01; -- tPAF tpd_CLKA_AFNeg : VitalDelayType01 := UnitDelay01; -- tPMF tpd_CLKA_MBF1Neg : VitalDelayType01 := UnitDelay01; -- tPMR tpd_CLKA_B0 : VitalDelayType01 := UnitDelay01; -- tMDV tpd_MBB_B0 : VitalDelayType01 := UnitDelay01; -- tRSF tpd_RSTNeg_AENeg : VitalDelayType01 := UnitDelay01; -- tEN/tDIS tpd_CSANeg_A0 : VitalDelayType01Z := UnitDelay01Z; -- tpw values: pulse widths -- tCLK tperiod_CLKA_posedge : VitalDelayType := UnitDelay; -- tCLKH -- tCLKL tpw_CLKA_posedge : VitalDelayType := UnitDelay; tpw_CLKA_negedge : VitalDelayType := UnitDelay; -- tsetup values: setup times -- tDS tsetup_A0_CLKA : VitalDelayType := UnitDelay; -- tENS1 tsetup_ENA_CLKA : VitalDelayType := UnitDelay; -- tENS2 tsetup_CSANeg_CLKA : VitalDelayType := UnitDelay; -- tRMS tsetup_RTM_CLKB : VitalDelayType := UnitDelay; -- tRSTS tsetup_RSTNeg_CLKA : VitalDelayType := UnitDelay; -- tFSS tsetup_FS0SD_RSTNeg : VitalDelayType := UnitDelay; -- tSDS tsetup_FS0SD_CLKA : VitalDelayType := UnitDelay; -- tSENS tsetup_FS1SEN_CLKA : VitalDelayType := UnitDelay; -- thold values: hold times -- tDH thold_A0_CLKA : VitalDelayType := UnitDelay; -- tENH1 thold_ENA_CLKA : VitalDelayType := UnitDelay; -- tENH2 thold_CSANeg_CLKA : VitalDelayType := UnitDelay; -- tRMH thold_RTM_CLKB : VitalDelayType := UnitDelay; -- tRSTH thold_RSTNeg_CLKA : VitalDelayType := UnitDelay; -- tFSH thold_FS0SD_RSTNeg : VitalDelayType := UnitDelay; -- tSDH thold_FS0SD_CLKA : VitalDelayType := UnitDelay; -- tSENH thold_FS1SEN_CLKA : VitalDelayType := UnitDelay; -- tskew values: skew times tdevice_SKEW1 : VitalDelayType := UnitDelay; -- Skew Time, between posedge CLKA and posedge CLKB for ORB and IR; -- tdevice_SKEW2 : VitalDelayType := UnitDelay; -- Skew Time, between posedge CLKA and posedge CLKB for AFNeg and AENeg; -- -- generic control parameters InstancePath : STRING := DefaultInstancePath; TimingChecksOn : BOOLEAN := DefaultTimingChecks; MsgOn : BOOLEAN := DefaultMsgOn; XOn : BOOLEAN := DefaultXOn; TimingModel : STRING := DefaultTimingModel ); PORT ( A0 : INOUT std_logic; ----------------------------- A1 : INOUT std_logic; -- A2 : INOUT std_logic; -- A3 : INOUT std_logic; -- A4 : INOUT std_logic; -- A5 : INOUT std_logic; -- A6 : INOUT std_logic; -- A7 : INOUT std_logic; -- A8 : INOUT std_logic; -- A9 : INOUT std_logic; -- A10 : INOUT std_logic; -- A11 : INOUT std_logic; -- A12 : INOUT std_logic; -- A13 : INOUT std_logic; -- A14 : INOUT std_logic; -- A15 : INOUT std_logic; -- A16 : INOUT std_logic; -- A17 : INOUT std_logic; -- A18 : INOUT std_logic; -- 36 pin bidirectional Port-A data bus A19 : INOUT std_logic; -- A20 : INOUT std_logic; -- A21 : INOUT std_logic; -- A22 : INOUT std_logic; -- A23 : INOUT std_logic; -- A24 : INOUT std_logic; -- A25 : INOUT std_logic; -- A26 : INOUT std_logic; -- A27 : INOUT std_logic; -- A28 : INOUT std_logic; -- A29 : INOUT std_logic; -- A30 : INOUT std_logic; -- A31 : INOUT std_logic; -- A32 : INOUT std_logic; -- A33 : INOUT std_logic; -- A34 : INOUT std_logic; -- A35 : INOUT std_logic; -------------------------------------- AENeg : OUT std_logic := 'U'; -- Almost-Empty Flag for Port-B AFNeg : OUT std_logic := 'U'; -- Almost-Full Flag for Port-A B0 : INOUT std_logic; ----------------------------- B1 : INOUT std_logic; -- B2 : INOUT std_logic; -- B3 : INOUT std_logic; -- B4 : INOUT std_logic; -- B5 : INOUT std_logic; -- B6 : INOUT std_logic; -- B7 : INOUT std_logic; -- B8 : INOUT std_logic; -- B9 : INOUT std_logic; -- B10 : INOUT std_logic; -- B11 : INOUT std_logic; -- B12 : INOUT std_logic; -- B13 : INOUT std_logic; -- B14 : INOUT std_logic; -- B15 : INOUT std_logic; -- B16 : INOUT std_logic; -- B17 : INOUT std_logic; -- B18 : INOUT std_logic; -- 36 pin bidirectional Port-B data bus B19 : INOUT std_logic; -- B20 : INOUT std_logic; -- B21 : INOUT std_logic; -- B22 : INOUT std_logic; -- B23 : INOUT std_logic; -- B24 : INOUT std_logic; -- B25 : INOUT std_logic; -- B26 : INOUT std_logic; -- B27 : INOUT std_logic; -- B28 : INOUT std_logic; -- B29 : INOUT std_logic; -- B30 : INOUT std_logic; -- B31 : INOUT std_logic; -- B32 : INOUT std_logic; -- B33 : INOUT std_logic; -- B34 : INOUT std_logic; -- B35 : INOUT std_logic; -------------------------------------- CLKA : IN std_logic := 'X'; -- Port-A clock CLKB : IN std_logic := 'X'; -- Port-B clock CSANeg : IN std_logic := 'X'; -- Port-A Chip Select CSBNeg : IN std_logic := 'X'; -- Port-B Chip Select ORB : OUT std_logic := 'U'; -- Port-B Empty / Output Ready Flag ENA : IN std_logic := 'X'; -- Port-A Enable ENB : IN std_logic := 'X'; -- Port-B Enable IR : OUT std_logic := 'U'; -- Port-A Full / Input Ready Flag FS0SD : IN std_logic := 'X'; -- Flag Offset Select 0 / Serial Data FS1SEN : IN std_logic := 'X'; -- Flag Offset Select 1 / Serial Enable MBA : IN std_logic := 'X'; -- Port-A Mailbox Select MBB : IN std_logic := 'X'; -- Port-B Mailbox Select MBF1Neg : OUT std_logic := 'U'; -- Mail1 Register Flag MBF2Neg : OUT std_logic := 'U'; -- Mail2 Register Flag RSTNeg : IN std_logic := 'X'; -- Reset RFM : IN std_logic := 'X'; -- Read From Mark RTM : IN std_logic := 'X'; -- Retransmit Mode WRA : IN std_logic := 'X'; -- Port-A Write/Read Select WRB : IN std_logic := 'X' -- Port-B Write/Read Select ); ATTRIBUTE vital_level0 OF IDT723651 : ENTITY IS True;END IDT723651;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -