📄 vital_timing.vhdl
字号:
); PROCEDURE VitalPathDelay01 ( SIGNAL OutSignal : OUT std_logic; VARIABLE GlitchData : INOUT VitalGlitchDataType; CONSTANT OutSignalName : IN string; CONSTANT OutTemp : IN std_logic; CONSTANT Paths : IN VitalPathArray01Type; CONSTANT DefaultDelay : IN VitalDelayType01 := VitalZeroDelay01; CONSTANT Mode : IN VitalGlitchKindType := OnEvent; CONSTANT XOn : IN BOOLEAN := TRUE; CONSTANT MsgOn : IN BOOLEAN := TRUE; CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING ); PROCEDURE VitalPathDelay01Z ( SIGNAL OutSignal : OUT std_logic; VARIABLE GlitchData : INOUT VitalGlitchDataType; CONSTANT OutSignalName : IN string; CONSTANT OutTemp : IN std_logic; CONSTANT Paths : IN VitalPathArray01ZType; CONSTANT DefaultDelay : IN VitalDelayType01Z := VitalZeroDelay01Z; CONSTANT Mode : IN VitalGlitchKindType := OnEvent; CONSTANT XOn : IN BOOLEAN := TRUE; CONSTANT MsgOn : IN BOOLEAN := TRUE; CONSTANT MsgSeverity : IN SEVERITY_LEVEL := WARNING; CONSTANT OutputMap : IN VitalOutputMapType := VitalDefaultOutputMap ); -- ------------------------------------------------------------------------ -- -- Function Name: VitalWireDelay -- -- Description: VitalWireDelay is used to delay an input signal. -- The delay is selected from the input parameter passed. -- The function is useful for back annotation of actual -- net delays. -- -- The function is overloaded to permit passing a delay -- value for twire for VitalDelayType, VitalDelayType01 -- and VitalDelayType01Z. twire is a generic which can -- be back annotated and must be constructed to follow -- the SDF to generic mapping rules. -- -- Arguments: -- -- IN Type Description -- InSig std_ulogic The input signal (port) to be -- delayed. -- twire VitalDelayType The delay value for which the input -- VitalDelayType01 signal should be delayed. For Vital- -- VitalDelayType01Z DelayType, the value is single value -- passed. For VitalDelayType01 and -- VitalDelayType01Z, the appropriate -- delay value is selected by VitalCalc- -- Delay. -- -- INOUT -- none -- -- OUT -- OutSig std_ulogic The internal delayed signal -- -- Returns -- none -- -- ------------------------------------------------------------------------- PROCEDURE VitalWireDelay ( SIGNAL OutSig : OUT std_ulogic; SIGNAL InSig : IN std_ulogic; CONSTANT twire : IN VitalDelayType ); PROCEDURE VitalWireDelay ( SIGNAL OutSig : OUT std_ulogic; SIGNAL InSig : IN std_ulogic; CONSTANT twire : IN VitalDelayType01 ); PROCEDURE VitalWireDelay ( SIGNAL OutSig : OUT std_ulogic; SIGNAL InSig : IN std_ulogic; CONSTANT twire : IN VitalDelayType01Z ); -- ------------------------------------------------------------------------ -- -- Function Name: VitalSignalDelay -- -- Description: The VitalSignalDelay procedure is called in a signal -- delay block in the architecture to delay the -- appropriate test or reference signal in order to -- accommodate negative constraint checks. -- -- The amount of delay is of type TIME and is a constant. -- -- Arguments: -- -- IN Type Description -- InSig std_ulogic The signal to be delayed. -- dly TIME The amount of time the signal is -- delayed. -- -- INOUT -- none -- -- OUT -- OutSig std_ulogic The delayed signal -- -- Returns -- none -- -- ------------------------------------------------------------------------- PROCEDURE VitalSignalDelay ( SIGNAL OutSig : OUT std_ulogic; SIGNAL InSig : IN std_ulogic; CONSTANT dly : IN TIME ); -- ------------------------------------------------------------------------ -- -- Function Name: VitalSetupHoldCheck -- -- Description: The VitalSetupHoldCheck procedure detects a setup or a -- hold violation on the input test signal with respect -- to the corresponding input reference signal. The timing -- constraints are specified through parameters -- representing the high and low values for the setup and -- hold values for the setup and hold times. This -- procedure assumes non-negative values for setup and hold -- timing constraints. -- -- It is assumed that negative timing constraints -- are handled by internally delaying the test or -- reference signals. Negative setup times result in -- a delayed reference signal. Negative hold times -- result in a delayed test signal. Furthermore, the -- delays and constraints associated with these and -- other signals may need to be appropriately -- adjusted so that all constraint intervals overlap -- the delayed reference signals and all constraint -- values (with respect to the delayed signals) are -- non-negative. -- -- This function is overloaded based on the input -- TestSignal. A vector and scalar form are provided. -- -- TestSignal XXXXXXXXXXXX____________________________XXXXXXXXXXXXXXXXXXXXXX -- : -- : -->| error region |<-- -- : -- _______________________________ -- RefSignal \______________________________ -- : | | | -- : | -->| |<-- thold -- : -->| tsetup |<-- -- -- Arguments: -- -- IN Type Description -- TestSignal std_ulogic Value of test signal -- std_logic_vector -- TestSignalName STRING Name of test signal -- TestDelay TIME Model's internal delay associated -- with TestSignal -- RefSignal std_ulogic Value of reference signal -- RefSignalName STRING Name of reference signal -- RefDelay TIME Model's internal delay associated -- with RefSignal -- SetupHigh TIME Absolute minimum time duration before -- the transition of RefSignal for which -- transitions of TestSignal are allowed -- to proceed to the "1" state without -- causing a setup violation. -- SetupLow TIME Absolute minimum time duration before -- the transition of RefSignal for which -- transitions of TestSignal are allowed -- to proceed to the "0" state without -- causing a setup violation. -- HoldHigh TIME Absolute minimum time duration after -- the transition of RefSignal for which -- transitions of TestSignal are allowed -- to proceed to the "1" state without -- causing a hold violation. -- HoldLow TIME Absolute minimum time duration after -- the transition of RefSignal for which -- transitions of TestSignal are allowed -- to proceed to the "0" state without -- causing a hold violation. -- CheckEnabled BOOLEAN Check performed if TRUE. -- RefTransition VitalEdgeSymbolType -- Reference edge specified. Events on -- the RefSignal which match the edge -- spec. are used as reference edges. -- HeaderMsg STRING String that will accompany any -- assertion messages produced. -- XOn BOOLEAN If TRUE, Violation output parameter -- is set to "X". Otherwise, Violation -- is always set to "0." -- MsgOn BOOLEAN If TRUE, set and hold violation -- message will be generated. -- Otherwise, no messages are generated, -- even upon violations. -- MsgSeverity SEVERITY_LEVEL Severity level for the assertion. -- -- INOUT -- TimingData VitalTimingDataType -- VitalSetupHoldCheck information -- storage area. This is used -- internally to detect reference edges -- and record the time of the last edge. -- -- OUT -- Violation X01 This is the violation flag returned. -- -- Returns -- none -- -- ------------------------------------------------------------------------- PROCEDURE VitalSetupHoldCheck ( VARIABLE Violation : OUT X01; VARIABLE TimingData : INOUT VitalTimingDataType;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -