📄 idt723636.vhd
字号:
WRA : IN std_logic := 'X' -- Port-A Write/Read Select ); ATTRIBUTE vital_level0 OF IDT723636 : ENTITY IS True; END IDT723636;---------------------------------------------------------------------------------- ARCHITECTURE DECLARATION ----------------------------------------------------------------------------------ARCHITECTURE vhdl_behavioral OF IDT723636 IS ATTRIBUTE vital_level1 OF vhdl_behavioral : ARCHITECTURE IS False; CONSTANT partID : String := "IDT723636"; -- CONSTANTS which define IDT723626 / IDT723636 / IDT723646 type CONSTANT FIFOSize : POSITIVE := 512; -- 256/512/1024 CONSTANT OffsetSize : POSITIVE := 9; -- 8/9/10 -- delayed inputs and bidirectional ports -- (func. sec. must use these signals instead of actual inputs/inoutputs) SIGNAL A0_ipd : std_ulogic := 'X'; SIGNAL A1_ipd : std_ulogic := 'X'; SIGNAL A2_ipd : std_ulogic := 'X'; SIGNAL A3_ipd : std_ulogic := 'X'; SIGNAL A4_ipd : std_ulogic := 'X'; SIGNAL A5_ipd : std_ulogic := 'X'; SIGNAL A6_ipd : std_ulogic := 'X'; SIGNAL A7_ipd : std_ulogic := 'X'; SIGNAL A8_ipd : std_ulogic := 'X'; SIGNAL A9_ipd : std_ulogic := 'X'; SIGNAL A10_ipd : std_ulogic := 'X'; SIGNAL A11_ipd : std_ulogic := 'X'; SIGNAL A12_ipd : std_ulogic := 'X'; SIGNAL A13_ipd : std_ulogic := 'X'; SIGNAL A14_ipd : std_ulogic := 'X'; SIGNAL A15_ipd : std_ulogic := 'X'; SIGNAL A16_ipd : std_ulogic := 'X'; SIGNAL A17_ipd : std_ulogic := 'X'; SIGNAL A18_ipd : std_ulogic := 'X'; SIGNAL A19_ipd : std_ulogic := 'X'; SIGNAL A20_ipd : std_ulogic := 'X'; SIGNAL A21_ipd : std_ulogic := 'X'; SIGNAL A22_ipd : std_ulogic := 'X'; SIGNAL A23_ipd : std_ulogic := 'X'; SIGNAL A24_ipd : std_ulogic := 'X'; SIGNAL A25_ipd : std_ulogic := 'X'; SIGNAL A26_ipd : std_ulogic := 'X'; SIGNAL A27_ipd : std_ulogic := 'X'; SIGNAL A28_ipd : std_ulogic := 'X'; SIGNAL A29_ipd : std_ulogic := 'X'; SIGNAL A30_ipd : std_ulogic := 'X'; SIGNAL A31_ipd : std_ulogic := 'X'; SIGNAL A32_ipd : std_ulogic := 'X'; SIGNAL A33_ipd : std_ulogic := 'X'; SIGNAL A34_ipd : std_ulogic := 'X'; SIGNAL A35_ipd : std_ulogic := 'X'; SIGNAL BEFWFT_ipd : std_ulogic := 'X'; SIGNAL C0_ipd : std_ulogic := 'X'; SIGNAL C1_ipd : std_ulogic := 'X'; SIGNAL C2_ipd : std_ulogic := 'X'; SIGNAL C3_ipd : std_ulogic := 'X'; SIGNAL C4_ipd : std_ulogic := 'X'; SIGNAL C5_ipd : std_ulogic := 'X'; SIGNAL C6_ipd : std_ulogic := 'X'; SIGNAL C7_ipd : std_ulogic := 'X'; SIGNAL C8_ipd : std_ulogic := 'X'; SIGNAL C9_ipd : std_ulogic := 'X'; SIGNAL C10_ipd : std_ulogic := 'X'; SIGNAL C11_ipd : std_ulogic := 'X'; SIGNAL C12_ipd : std_ulogic := 'X'; SIGNAL C13_ipd : std_ulogic := 'X'; SIGNAL C14_ipd : std_ulogic := 'X'; SIGNAL C15_ipd : std_ulogic := 'X'; SIGNAL C16_ipd : std_ulogic := 'X'; SIGNAL C17_ipd : std_ulogic := 'X'; SIGNAL CLKA_ipd : std_ulogic := 'X'; SIGNAL CLKB_ipd : std_ulogic := 'X'; SIGNAL CLKC_ipd : std_ulogic := 'X'; SIGNAL CSANeg_ipd : std_ulogic := 'X'; SIGNAL CSBNeg_ipd : std_ulogic := 'X'; SIGNAL ENA_ipd : std_ulogic := 'X'; SIGNAL FS0SD_ipd : std_ulogic := 'X'; SIGNAL FS1SEN_ipd : std_ulogic := 'X'; SIGNAL MBA_ipd : std_ulogic := 'X'; SIGNAL MBB_ipd : std_ulogic := 'X'; SIGNAL MBC_ipd : std_ulogic := 'X'; SIGNAL MRS1Neg_ipd : std_ulogic := 'X'; SIGNAL MRS2Neg_ipd : std_ulogic := 'X'; SIGNAL PRS1Neg_ipd : std_ulogic := 'X'; SIGNAL PRS2Neg_ipd : std_ulogic := 'X'; SIGNAL RENB_ipd : std_ulogic := 'X'; SIGNAL SIZEB_ipd : std_ulogic := 'X'; SIGNAL SIZEC_ipd : std_ulogic := 'X'; SIGNAL SPMNeg_ipd : std_ulogic := 'X'; SIGNAL WRA_ipd : std_ulogic := 'X'; SIGNAL WENC_ipd : std_ulogic := 'X'; SIGNAL OpenIn, OpenOut : std_logic; -- Additional signals ALIAS tA : VitalDelayType01 IS tpd_CLKA_A0; ALIAS tWFF : VitalDelayType01 IS tpd_CLKA_FFAIRA; ALIAS tREF : VitalDelayType01 IS tpd_CLKA_EFAORA; ALIAS tPAE : VitalDelayType01 IS tpd_CLKA_AEANeg; ALIAS tPAF : VitalDelayType01 IS tpd_CLKA_AFANeg; ALIAS tPMF : VitalDelayType01 IS tpd_CLKA_MBF1Neg; ALIAS tPMR : VitalDelayType01 IS tpd_CLKA_B0; ALIAS tMDV : VitalDelayType01 IS tpd_MBA_A0; ALIAS tRSF : VitalDelayType01 IS tpd_MRS1Neg_AEBNeg; ALIAS tEN_DIS : VitalDelayType01Z IS tpd_CSANeg_A0; ALIAS tCLK : VitalDelayType IS tperiod_CLKA_posedge; ALIAS tCLKH : VitalDelayType IS tpw_CLKA_posedge; ALIAS tCLKL : VitalDelayType IS tpw_CLKA_negedge; ALIAS tDS : VitalDelayType IS tsetup_A0_CLKA; ALIAS tENS : VitalDelayType IS tsetup_CSANeg_CLKA; ALIAS tRSTS : VitalDelayType IS tsetup_MRS1Neg_CLKA; ALIAS tFSS : VitalDelayType IS tsetup_FS0SD_MRS1Neg; ALIAS tBES : VitalDelayType IS tsetup_BEFWFT_MRS1Neg; ALIAS tSPMS : VitalDelayType IS tsetup_SPMNeg_MRS1Neg; ALIAS tSDS : VitalDelayType IS tsetup_FS0SD_CLKA; ALIAS tSENS : VitalDelayType IS tsetup_FS1SEN_CLKA; ALIAS tFWS : VitalDelayType IS tsetup_BEFWFT_CLKA; ALIAS tDH : VitalDelayType IS thold_A0_CLKA; ALIAS tENH : VitalDelayType IS thold_CSANeg_CLKA; ALIAS tRSTH : VitalDelayType IS thold_MRS1Neg_CLKA; ALIAS tFSH : VitalDelayType IS thold_FS0SD_MRS1Neg; ALIAS tBEH : VitalDelayType IS thold_BEFWFT_MRS1Neg; ALIAS tSPMH : VitalDelayType IS thold_SPMNeg_MRS1Neg; ALIAS tSDH : VitalDelayType IS thold_FS0SD_CLKA; ALIAS tSENH : VitalDelayType IS thold_FS1SEN_CLKA; ALIAS tSPH : VitalDelayType IS thold_FS1SEN_MRS1Neg; BEGIN---------------------------------------------------------------------------------- Skew Delays ---------------------------------------------------------------------------------- Artificient VITAL primitives wich allows pass complex non-constaint -- SKEW time into the model SKEW1: VitalBuf (OpenOut, OpenIn, (tdevice_SKEW1, tdevice_SKEW1));SKEW2: VitalBuf (OpenOut, OpenIn, (tdevice_SKEW2, tdevice_SKEW2));---------------------------------------------------------------------------------- Wire Delays ----------------------------------------------------------------------------------WireDelay : BLOCKBEGIN w_1: VitalWireDelay (A0_ipd, A0, tipd_A0 ); w_2: VitalWireDelay (A1_ipd, A1, tipd_A1 ); w_3: VitalWireDelay (A2_ipd, A2, tipd_A2 ); w_4: VitalWireDelay (A3_ipd, A3, tipd_A3 ); w_5: VitalWireDelay (A4_ipd, A4, tipd_A4 ); w_6: VitalWireDelay (A5_ipd, A5, tipd_A5 ); w_7: VitalWireDelay (A6_ipd, A6, tipd_A6 ); w_8: VitalWireDelay (A7_ipd, A7, tipd_A7 ); w_9: VitalWireDelay (A8_ipd, A8, tipd_A8 ); w_10: VitalWireDelay (A9_ipd, A9, tipd_A9 ); w_11: VitalWireDelay (A10_ipd, A10, tipd_A10 ); w_12: VitalWireDelay (A11_ipd, A11, tipd_A11 ); w_13: VitalWireDelay (A12_ipd, A12, tipd_A12 ); w_14: VitalWireDelay (A13_ipd, A13, tipd_A13 ); w_15: VitalWireDelay (A14_ipd, A14, tipd_A14 ); w_16: VitalWireDelay (A15_ipd, A15, tipd_A15 ); w_17: VitalWireDelay (A16_ipd, A16, tipd_C16 ); w_18: VitalWireDelay (A17_ipd, A17, tipd_A17 ); w_19: VitalWireDelay (A18_ipd, A18, tipd_A18 ); w_20: VitalWireDelay (A19_ipd, A19, tipd_A19 ); w_21: VitalWireDelay (A20_ipd, A20, tipd_A20 ); w_22: VitalWireDelay (A21_ipd, A21, tipd_A21 ); w_23: VitalWireDelay (A22_ipd, A22, tipd_A22 ); w_24: VitalWireDelay (A23_ipd, A23, tipd_A23 ); w_25: VitalWireDelay (A24_ipd, A24, tipd_A24 ); w_26: VitalWireDelay (A25_ipd, A25, tipd_A25 ); w_27: VitalWireDelay (A26_ipd, A26, tipd_A26 ); w_28: VitalWireDelay (A27_ipd, A27, tipd_A27 ); w_29: VitalWireDelay (A28_ipd, A28, tipd_A28 ); w_30: VitalWireDelay (A29_ipd, A29, tipd_A29 ); w_31: VitalWireDelay (A30_ipd, A30, tipd_A30 ); w_32: VitalWireDelay (A31_ipd, A31, tipd_A31 ); w_33: VitalWireDelay (A32_ipd, A32, tipd_A32 ); w_34: VitalWireDelay (A33_ipd, A33, tipd_A33 ); w_35: VitalWireDelay (A34_ipd, A34, tipd_A34 ); w_36: VitalWireDelay (A35_ipd, A35, tipd_A35 ); w_37: VitalWireDelay (BEFWFT_ipd, BEFWFT, tipd_BEFWFT ); w_38: VitalWireDelay (C0_ipd, C0, tipd_C0 ); w_39: VitalWireDelay (C1_ipd, C1, tipd_C1 ); w_40: VitalWireDelay (C2_ipd, C2, tipd_C2 ); w_41: VitalWireDelay (C3_ipd, C3, tipd_C3 ); w_42: VitalWireDelay (C4_ipd, C4, tipd_C4 ); w_43: VitalWireDelay (C5_ipd, C5, tipd_C5 ); w_44: VitalWireDelay (C6_ipd, C6, tipd_C6 ); w_45: VitalWireDelay (C7_ipd, C7, tipd_C7 ); w_46: VitalWireDelay (C8_ipd, C8, tipd_C8 ); w_47: VitalWireDelay (C9_ipd, C9, tipd_C9 ); w_48: VitalWireDelay (C10_ipd, C10, tipd_C10 ); w_49: VitalWireDelay (C11_ipd, C11, tipd_C11 ); w_50: VitalWireDelay (C12_ipd, C12, tipd_C12 ); w_51: VitalWireDelay (C13_ipd, C13, tipd_C13 ); w_52: VitalWireDelay (C14_ipd, C14, tipd_C14 ); w_53: VitalWireDelay (C15_ipd, C15, tipd_C15 ); w_54: VitalWireDelay (C16_ipd, C16, tipd_C16 ); w_55: VitalWireDelay (C17_ipd, C17, tipd_C17 ); w_56: VitalWireDelay (CLKA_ipd, CLKA, tipd_CLKA ); w_57: VitalWireDelay (CLKB_ipd, CLKB, tipd_CLKB ); w_58: VitalWireDelay (CLKC_ipd, CLKC, tipd_CLKC ); w_59: VitalWireDelay (CSANeg_ipd, CSANeg, tipd_CSANeg ); w_60: VitalWireDelay (CSBNeg_ipd, CSBNeg, tipd_CSBNeg ); w_61: VitalWireDelay (ENA_ipd, ENA, tipd_ENA ); w_62: VitalWireDelay (FS0SD_ipd, FS0SD, tipd_FS0SD ); w_63: VitalWireDelay (FS1SEN_ipd, FS1SEN, tipd_FS1SEN ); w_64: VitalWireDelay (MBA_ipd, MBA, tipd_MBA ); w_65: VitalWireDelay (MBB_ipd, MBB, tipd_MBB ); w_66: VitalWireDelay (MBC_ipd, MBC, tipd_MBC ); w_67: VitalWireDelay (MRS1Neg_ipd, MRS1Neg, tipd_MRS1Neg ); w_68: VitalWireDelay (MRS2Neg_ipd, MRS2Neg, tipd_MRS2Neg ); w_69: VitalWireDelay (PRS1Neg_ipd, PRS1Neg, tipd_PRS1Neg ); w_70: VitalWireDelay (PRS2Neg_ipd, PRS2Neg, tipd_PRS2Neg ); w_71: VitalWireDelay (RENB_ipd, RENB, tipd_RENB ); w_72: VitalWireDelay (SIZEB_ipd, SIZEB, tipd_SIZEB ); w_73: VitalWireDelay (SIZEC_ipd, SIZEC, tipd_SIZEC ); w_74: VitalWireDelay (SPMNeg_ipd, SPMNeg, tipd_SPMNeg ); w_75: VitalWireDelay (WRA_ipd, WRA, tipd_WRA ); w_76: VitalWireDelay (WENC_ipd, WENC, tipd_WENC );END BLOCK;---------------------------------------------------------------------------------- Main Behavior Block ---------------------------------------------------------------------------------- VITALBehavior: BLOCK PORT ( A_ipd : IN std_logic_vector(35 downto 0) := (OTHERS => 'X'); A : OUT std_logic_vector(35 downto 0) := (OTHERS => 'U'); AEANeg : OUT std_logic := 'U'; AEBNeg : OUT std_logic := 'U'; AFANeg : OUT std_logic := 'U'; AFCNeg : OUT std_logic := 'U'; B : OUT std_logic_vector(17 downto 0) := (OTHERS => 'U'); BEFWFT : IN std_logic := 'X'; C : IN std_logic_vector(17 downto 0) := (OTHERS => 'X'); CLKA : IN std_logic := 'X'; CLKB : IN std_logic := 'X'; CLKC : IN std_logic := 'X'; CSANeg : IN std_logic := 'X'; CSBNeg : IN std_logic := 'X'; EFAORA : OUT std_logic := 'U'; EFBORB : OUT std_logic := 'U'; ENA : IN std_logic := 'X'; FFAIRA : OUT std_logic := 'U'; FFCIRC : OUT std_logic := 'U'; FS0SD : IN std_logic := 'X'; FS1SEN : IN std_logic := 'X'; MBA : IN std_logic := 'X'; MBB : IN std_logic := 'X'; MBC : IN std_logic := 'X'; MBF1Neg : OUT std_logic := 'U'; MBF2Neg : OUT std_logic := 'U'; MRS1Neg : IN std_logic := 'X'; MRS2Neg : IN std_logic := 'X'; PRS1Neg : IN std_logic := 'X'; PRS2Neg : IN std_logic := 'X'; RENB : IN std_logic := 'X'; SIZEB : IN std_logic := 'X'; SIZEC : IN std_logic := 'X'; SPMNeg : IN std_logic := 'X'; WENC : IN std_logic := 'X'; WRA : 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,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -