?? lib.vital
字號:
---- head of VITAL tables library ----library IEEE;use IEEE.STD_LOGIC_1164.all;-- synopsys translate_offlibrary IEEE;use IEEE.VITAL_Timing.all;use IEEE.VITAL_Primitives.all;-- synopsys translate_onpackage VTABLES is CONSTANT L : VitalTableSymbolType := '0'; CONSTANT H : VitalTableSymbolType := '1'; CONSTANT x : VitalTableSymbolType := '-'; CONSTANT S : VitalTableSymbolType := 'S'; CONSTANT R : VitalTableSymbolType := '/'; CONSTANT U : VitalTableSymbolType := 'X'; CONSTANT V : VitalTableSymbolType := 'B'; -- valid clock signal (non-rising)-- Begin: edit by TY Wu CONSTANT CNTCN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, x, x, L ), ( H, L, L, H, H, x, H ), ( H, H, x, x, x, x, S ), ( H, x, x, L, x, x, S ), ( H, x, x, x, L, x, S ), ( x, L, H, H, H, x, L )); CONSTANT CNTCSN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, x, x, x, L ), ( H, L, x, L, H, H, x, H ), ( H, H, H, x, x, x, x, S ), ( H, x, L, x, x, x, x, H ), ( H, x, H, x, L, x, x, S ), ( H, x, H, x, x, L, x, S ), ( x, L, H, H, H, H, x, L )); CONSTANT CNTCSN1_QN_tab : VitalStateTableType := ( ( L, x, x, x, x, x, x, L ), ( H, L, H, x, H, H, x, H ), ( H, H, x, H, x, x, x, S ), ( H, x, x, L, x, x, x, H ), ( H, x, x, H, L, x, x, S ), ( H, x, x, H, x, L, x, S ), ( x, L, L, H, H, H, x, L ));-- End CONSTANT DFCN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, x, L ), ( H, L, H, H, x, H ), ( H, H, x, x, x, S ), ( H, x, x, L, x, S ), ( x, L, L, H, x, L )); CONSTANT DFCN1N_QN_tab : VitalStateTableType := ( ( L, H, H, H, x, L ), ( L, x, L, H, x, H ), ( H, H, x, x, x, S ), ( x, L, x, x, x, H ), ( x, H, x, L, x, S )); CONSTANT DFCSN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, x, x, L ), ( H, L, H, x, H, x, H ), ( H, H, x, H, x, x, S ), ( H, x, x, L, x, x, H ), ( H, x, x, H, L, x, S ), ( x, L, L, H, H, x, L )); CONSTANT DFCSN1_QN_tab : VitalStateTableType := ( ( L, x, x, x, x, x, L ), ( H, L, x, L, H, x, H ), ( H, H, H, x, x, x, S ), ( H, x, L, x, x, x, H ), ( H, x, H, x, L, x, S ), ( x, L, H, H, H, x, L )); CONSTANT DFF1_Q_tab : VitalStateTableType := ( ( L, L, H, x, L ), ( L, H, H, x, H ), ( H, x, x, x, S ), ( x, x, L, x, S )); CONSTANT DFF1N_QN_tab : VitalStateTableType := ( ( L, L, H, x, H ), ( L, H, H, x, L ), ( H, x, x, x, S ), ( x, x, L, x, S )); CONSTANT DFSN1_Q_tab : VitalStateTableType := ( ( L, L, H, H, x, L ), ( L, H, x, H, x, H ), ( H, x, H, x, x, S ), ( x, x, L, x, x, H ), ( x, x, H, L, x, S )); CONSTANT DFSN1N_QN_tab : VitalStateTableType := ( ( L, x, x, x, x, L ), ( H, L, L, H, x, H ), ( H, H, x, x, x, S ), ( H, x, x, L, x, S ), ( x, L, H, H, x, L )); CONSTANT DFX1_Q_tab : VitalStateTableType := ( ( L, L, L, x, H, x, L ), ( L, L, x, L, H, x, L ), ( L, H, H, x, H, x, H ), ( L, H, x, L, H, x, H ), ( L, x, L, H, H, x, L ), ( L, x, H, H, H, x, H ), ( H, x, x, x, x, x, S ), ( x, x, x, x, L, x, S )); CONSTANT DFX1N_QN_tab : VitalStateTableType := ( ( L, L, L, x, H, x, H ), ( L, L, H, x, H, x, L ), ( L, H, x, L, H, x, H ), ( L, H, x, H, H, x, L ), ( L, x, L, L, H, x, H ), ( L, x, H, H, H, x, L ), ( H, x, x, x, x, x, S ), ( x, x, x, x, L, x, S )); CONSTANT DFXCN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, x, x, x, L ), ( H, L, H, H, x, H, x, H ), ( H, L, H, x, L, H, x, H ), ( H, L, x, H, H, H, x, H ), ( H, H, x, x, x, x, x, S ), ( H, x, x, x, x, L, x, S ), ( x, L, L, L, x, H, x, L ), ( x, L, L, x, L, H, x, L ), ( x, L, x, L, H, H, x, L )); CONSTANT DFXCN1N_QN_tab : VitalStateTableType := ( ( L, L, L, x, x, H, x, H ), ( L, L, H, x, H, H, x, L ), ( L, H, x, L, x, H, x, H ), ( L, H, x, H, H, H, x, L ), ( L, x, L, L, x, H, x, H ), ( L, x, H, H, H, H, x, L ), ( H, x, x, x, H, x, x, S ), ( x, x, x, x, L, x, x, H ), ( x, x, x, x, H, L, x, S )); CONSTANT DFXCSN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, x, x, x, x, L ), ( H, L, H, H, x, x, H, x, H ), ( H, L, H, x, L, x, H, x, H ), ( H, L, x, H, H, x, H, x, H ), ( H, H, x, x, x, H, x, x, S ), ( H, x, x, x, x, L, x, x, H ), ( H, x, x, x, x, H, L, x, S ), ( x, L, L, L, x, H, H, x, L ), ( x, L, L, x, L, H, H, x, L ), ( x, L, x, L, H, H, H, x, L )); CONSTANT DFXCSN1_QN_tab : VitalStateTableType := ( ( L, x, x, x, x, x, x, x, L ), ( H, L, L, L, x, x, H, x, H ), ( H, L, H, x, L, x, H, x, H ), ( H, L, x, L, L, x, H, x, H ), ( H, H, x, x, x, H, x, x, S ), ( H, x, x, x, x, L, x, x, H ), ( H, x, x, x, x, H, L, x, S ), ( x, L, L, H, x, H, H, x, L ), ( x, L, H, x, H, H, H, x, L ), ( x, L, x, H, H, H, H, x, L )); CONSTANT DFXSN1_Q_tab : VitalStateTableType := ( ( L, L, L, x, H, H, x, L ), ( L, L, x, L, H, H, x, L ), ( L, H, H, x, x, H, x, H ), ( L, H, x, L, x, H, x, H ), ( L, x, L, H, H, H, x, L ), ( L, x, H, H, x, H, x, H ), ( H, x, x, x, H, x, x, S ), ( x, x, x, x, L, x, x, H ), ( x, x, x, x, H, L, x, S )); CONSTANT DFXSN1N_QN_tab : VitalStateTableType := ( ( L, x, x, x, x, x, x, L ), ( H, L, L, L, x, H, x, H ), ( H, L, H, x, L, H, x, H ), ( H, L, x, L, L, H, x, H ), ( H, H, x, x, x, x, x, S ), ( H, x, x, x, x, L, x, S ), ( x, L, L, H, x, H, x, L ), ( x, L, H, x, H, H, x, L ), ( x, L, x, H, H, H, x, L )); CONSTANT JKF1_Q_tab : VitalStateTableType := ( ( L, L, L, x, H, x, L ), ( L, L, x, H, H, x, L ), ( L, H, L, x, H, x, H ), ( L, H, x, L, H, x, H ), ( L, x, H, L, H, x, H ), ( L, x, H, H, H, x, L ), ( H, x, x, x, x, x, S ), ( x, x, x, x, L, x, S )); CONSTANT JKFCN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, x, x, x, L ), ( H, L, H, L, x, H, x, H ), ( H, L, H, x, L, H, x, H ), ( H, L, x, H, L, H, x, H ), ( H, H, x, x, x, x, x, S ), ( H, x, x, x, x, L, x, S ), ( x, L, L, L, x, H, x, L ), ( x, L, L, x, H, H, x, L ), ( x, L, x, H, H, H, x, L )); CONSTANT JKFCN1N_QN_tab : VitalStateTableType := ( ( L, L, L, x, H, H, x, L ), ( L, L, x, H, H, H, x, L ), ( L, H, L, x, x, H, x, H ), ( L, H, x, L, x, H, x, H ), ( L, x, H, L, x, H, x, H ), ( L, x, H, H, H, H, x, L ), ( H, x, x, x, H, x, x, S ), ( x, x, x, x, L, x, x, H ), ( x, x, x, x, H, L, x, S )); CONSTANT JKFCSN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, x, x, x, x, L ), ( H, L, H, L, x, x, H, x, H ), ( H, L, H, x, L, x, H, x, H ), ( H, L, x, H, L, x, H, x, H ), ( H, H, x, x, x, H, x, x, S ), ( H, x, x, x, x, L, x, x, H ), ( H, x, x, x, x, H, L, x, S ), ( x, L, L, L, x, H, H, x, L ), ( x, L, L, x, H, H, H, x, L ), ( x, L, x, H, H, H, H, x, L )); CONSTANT JKFCSN1_QN_tab : VitalStateTableType := ( ( L, x, x, x, x, x, x, x, L ), ( H, L, H, H, x, x, H, x, H ), ( H, L, H, x, L, x, H, x, H ), ( H, L, x, L, L, x, H, x, H ), ( H, H, x, x, x, H, x, x, S ), ( H, x, x, x, x, L, x, x, H ), ( H, x, x, x, x, H, L, x, S ), ( x, L, L, H, x, H, H, x, L ), ( x, L, L, x, H, H, H, x, L ), ( x, L, x, L, H, H, H, x, L )); CONSTANT LH1_Q_tab : VitalStateTableType := ( ( L, H, x, L ), ( H, H, x, H ), ( x, L, x, S )); CONSTANT LH1N_QN_tab : VitalStateTableType := ( ( L, H, x, H ), ( H, H, x, L ), ( x, L, x, S )); CONSTANT LHCN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, L ), ( H, H, H, x, H ), ( H, x, L, x, S ), ( x, L, H, x, L )); CONSTANT LHCN1N_QN_tab : VitalStateTableType := ( ( L, x, x, x, H ), ( H, H, H, x, L ), ( H, x, L, x, S ), ( x, L, H, x, H )); CONSTANT LN1_Q_tab : VitalStateTableType := ( ( L, L, x, L ), ( L, H, x, H ), ( H, x, x, S )); CONSTANT LN1N_QN_tab : VitalStateTableType := ( ( L, L, x, H ), ( L, H, x, L ), ( H, x, x, S )); CONSTANT LNCN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, L ), ( H, L, H, x, H ), ( H, H, x, x, S ), ( x, L, L, x, L )); CONSTANT LNCN1N_QN_tab : VitalStateTableType := ( ( L, H, H, x, L ), ( L, x, L, x, H ), ( H, H, x, x, S ), ( x, L, x, x, H )); CONSTANT LNCSN1_Q_tab : VitalStateTableType := ( ( L, x, x, H, x, L ), ( H, L, H, x, x, H ), ( H, H, x, H, x, S ), ( x, L, L, H, x, L ), ( x, x, x, L, x, H )); CONSTANT LNCSN1N_QN_tab : VitalStateTableType := ( ( L, x, x, x, x, L ), ( H, L, x, L, x, H ), ( H, H, H, x, x, S ), ( H, x, L, x, x, H ), ( x, L, H, H, x, L )); CONSTANT LNSN1_Q_tab : VitalStateTableType := ( ( L, L, H, x, L ), ( L, H, x, x, H ), ( H, x, H, x, S ), ( x, x, L, x, H )); CONSTANT LNSN1N_QN_tab : VitalStateTableType := ( ( L, x, x, x, L ), ( H, L, L, x, H ), ( H, H, x, x, S ), ( x, L, H, x, L )); CONSTANT NDL1_Q_tab : VitalStateTableType := ( ( L, x, x, L ), ( H, L, x, H ), ( H, H, x, S )); CONSTANT NRL1_Q_tab : VitalStateTableType := ( ( L, L, x, S ), ( L, H, x, L ), ( H, x, x, H )); CONSTANT TFCN1_Q_tab : VitalStateTableType := ( ( L, x, x, x, x, L ), ( H, L, L, H, x, H ), ( H, H, x, x, x, S ), ( H, x, x, L, x, S ), ( x, L, H, H, x, L ));end VTABLES;-------------------------------------------------------- CELL AN2D1 -----library IEEE;use IEEE.STD_LOGIC_1164.all;-- synopsys translate_offlibrary IEEE;use IEEE.VITAL_Timing.all;-- synopsys translate_on-- entity declaration --entity AN2D1 is-- synopsys translate_off generic( TimingChecksOn: Boolean := True; InstancePath: STRING := "*"; Xon: Boolean := True; MsgOn: Boolean := True; tpd_A1_Z : VitalDelayType01 := (0.238 ns, 0.228 ns); tpd_A2_Z : VitalDelayType01 := (0.236 ns, 0.246 ns); tipd_A1 : VitalDelayType01 := (0.000 ns, 0.000 ns); tipd_A2 : VitalDelayType01 := (0.000 ns, 0.000 ns));-- synopsys translate_on port( A1 : in STD_ULOGIC; A2 : in STD_ULOGIC; Z : out STD_ULOGIC);attribute VITAL_LEVEL0 of AN2D1 : entity is TRUE;end AN2D1;-- architecture body --library IEEE;use IEEE.VITAL_Primitives.all;library VITAL;use VITAL.VTABLES.all;architecture VITAL of AN2D1 is attribute VITAL_LEVEL1 of VITAL : architecture is TRUE; SIGNAL A1_ipd : STD_ULOGIC := 'X'; SIGNAL A2_ipd : STD_ULOGIC := 'X';begin --------------------- -- INPUT PATH DELAYs --------------------- WireDelay : block begin VitalWireDelay (A1_ipd, A1, tipd_A1); VitalWireDelay (A2_ipd, A2, tipd_A2); end block; -------------------- -- BEHAVIOR SECTION -------------------- VITALBehavior : process (A1_ipd, A2_ipd) -- functionality results VARIABLE Results : STD_LOGIC_VECTOR(1 to 1) := (others => 'X'); ALIAS Z_zd : STD_LOGIC is Results(1); -- output glitch detection variables VARIABLE Z_GlitchData : VitalGlitchDataType; begin ------------------------- -- Functionality Section ------------------------- Z_zd := (A2_ipd) AND (A1_ipd); ---------------------- -- Path Delay Section ---------------------- VitalPathDelay01 ( OutSignal => Z, GlitchData => Z_GlitchData, OutSignalName => "Z", OutTemp => Z_zd, Paths => (0 => (A1_ipd'last_event, tpd_A1_Z, TRUE), 1 => (A2_ipd'last_event, tpd_A2_Z, TRUE)), Mode => OnDetect, Xon => Xon, MsgOn => MsgOn, MsgSeverity => WARNING);end process;end VITAL;configuration CFG_AN2D1_VITAL of AN2D1 is for VITAL end for;end CFG_AN2D1_VITAL;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -