📄 prmtvs_p.vhdl
字号:
-- Description: The concurrent primitive procedure calls implement a -- signal inversion function. The output is a parameter to -- the procedure. The path delay information is passed as -- a parameter to the call. -- -- Arguments: -- -- IN Type Description -- a std_ulogic Input signal for the simple inverter -- Data std_ulogic Input signal for the enable high and -- low inverters. -- Enable std_ulogic Enable signal for the enable high and -- low inverters. -- tpd_a_q VitalDelayType01 Propagation delay from input a to -- output q for the simple inverter. -- tpd_data_q VitalDelayType01 Propagation delay from input data to -- output q for the enable high and low -- inverters. -- tpd_enable_q VitalDelayType01Z Propagation delay from input enable -- to output q for the enable high and -- low inverters. -- ResultMap VitalResultMapType The output signal strength result map -- to modify default result mapping for -- simple inverter. -- VitalResultZMapType The output signal strength result map -- to modify default result mapping -- which has high impedance capability -- for the enable high, enable low -- inverters. -- -- INOUT -- none -- -- OUT -- q std_ulogic Output signal of the inverter. -- -- Returns -- none -- -- ------------------------------------------------------------------------- PROCEDURE VitalINV ( SIGNAL q : OUT std_ulogic; SIGNAL a : IN std_ulogic; CONSTANT tpd_a_q : IN VitalDelayType01 := VitalDefDelay01; CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap ); PROCEDURE VitalINVIF0 ( SIGNAL q : OUT std_ulogic; SIGNAL Data : IN std_ulogic; SIGNAL Enable : IN std_ulogic; CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; CONSTANT ResultMap : IN VitalResultZMapType := VitalDefaultResultZMap); PROCEDURE VitalINVIF1 ( SIGNAL q : OUT std_ulogic; SIGNAL Data : IN std_ulogic; SIGNAL Enable : IN std_ulogic; CONSTANT tpd_data_q : IN VitalDelayType01 := VitalDefDelay01; CONSTANT tpd_enable_q : IN VitalDelayType01Z := VitalDefDelay01Z; CONSTANT ResultMap : IN VitalResultZMapType := VitalDefaultResultZMap); -- ------------------------------------------------------------------------ -- -- Sequential -- Primitive -- Function Name: VitalMUX, VitalMUX2, VitalMUX4, VitalMUX8 -- -- Description: The VitalMUX functions return the selected data bit -- based on the value of dSelect. For MUX2, the function -- returns data0 when dselect is 0 and returns data1 when -- dselect is 1. When dselect is X, result is X for MUX2 -- when data0 /= data1. X propagation is reduced when the -- dselect signal is X and both data signals are identical. -- When this is the case, the result returned is the value -- of the data signals. -- -- For the N input device: -- -- N must equal 2**(bits of dSelect) -- -- Arguments: -- -- IN Type Description -- Data std_logic_vector Input signal for the N-bit, 4-bit and -- 8-bit mux. -- Data1,Data0 std_ulogic Input signals for the 2-bit mux. -- dSelect std_ulogic Select signal for 2-bit mux -- std_logic_vector2 Select signal for 4-bit mux -- std_logic_vector3 Select signal for 8-bit mux -- std_logic_vector Select signal for N-Bit mux -- ResultMap VitalResultMapType The output signal strength result map -- to modify default result mapping for -- all muxes. -- -- INOUT -- none -- -- OUT -- none -- -- Returns -- std_ulogic The value of the selected bit is -- returned. -- -- ------------------------------------------------------------------------- FUNCTION VitalMUX ( CONSTANT Data : IN std_logic_vector; CONSTANT dSelect : IN std_logic_vector; CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap ) RETURN std_ulogic; FUNCTION VitalMUX2 ( CONSTANT Data1, Data0 : IN std_ulogic; CONSTANT dSelect : IN std_ulogic; CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap ) RETURN std_ulogic; FUNCTION VitalMUX4 ( CONSTANT Data : IN std_logic_vector4; CONSTANT dSelect : IN std_logic_vector2; CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap ) RETURN std_ulogic; FUNCTION VitalMUX8 ( CONSTANT Data : IN std_logic_vector8; CONSTANT dSelect : IN std_logic_vector3; CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap ) RETURN std_ulogic; -- ------------------------------------------------------------------------- -- -- Concurrent -- Primitive -- Procedure Name: VitalMUX, VitalMUX2, VitalMUX4, VitalMUX8 -- -- Description: The VitalMUX concurrent primitive procedures calls -- return in the output q the value of the selected data -- bit based on the value of dsel. For the two bit mux, -- the data returned is either d0 or d1, the data input. -- For 4, 8 and N-bit functions, data is the input and is -- of type std_logic_vector. For the 2-bit mux, if d0 or -- d1 are X, the output is X only when d0 do not equal d1. -- When d0 and d1 are equal, the return value is this value -- to reduce X propagation. -- -- Propagation delay information is passed as a parameter -- to the procedure call for delays from data to output and -- select to output. For 2-bit muxes, the propagation -- delays from data are provided for d0 and d1 to output. -- -- -- Arguments: -- -- IN Type Description -- d1,d0 std_ulogic Input signals for the 2-bit mux. -- Data std_logic_vector4 Input signals for the 4-bit mux. -- std_logic_vector8 Input signals for the 8-bit mux. -- std_logic_vector Input signals for the N-bit mux. -- dsel std_ulogic Select signal for the 2-bit mux. -- std_logic_vector2 Select signals for the 4-bit mux. -- std_logic_vector3 Select signals for the 8-bit mux. -- std_logic_vector Select signals for the N-bit mux. -- tpd_d1_q VitalDelayType01 Propagation delay from input d1 to -- output q for 2-bit mux. -- tpd_d0_q VitalDelayType01 Propagation delay from input d0 to -- output q for 2-bit mux. -- tpd_data_q VitalDelayArrayType01 Propagation delay from input data -- to output q for 4-bit, 8-bit and -- N-bit muxes. -- tpd_dsel_q VitalDelayType01 Propagation delay from input dsel -- to output q for 2-bit mux. -- VitalDelayArrayType01 Propagation delay from input dsel -- to output q for 4-bit, 8-bit and -- N-bit muxes. -- ResultMap VitalResultMapType The output signal strength result -- map to modify default result -- mapping for all muxes. -- -- INOUT -- none -- -- OUT -- q std_ulogic The value of the selected signal. -- -- Returns -- none -- -- ------------------------------------------------------------------------- PROCEDURE VitalMUX ( SIGNAL q : OUT std_ulogic; SIGNAL Data : IN std_logic_vector; SIGNAL dSel : IN std_logic_vector; CONSTANT tpd_data_q : IN VitalDelayArrayType01; CONSTANT tpd_dsel_q : IN VitalDelayArrayType01; CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap ); PROCEDURE VitalMUX2 ( SIGNAL q : OUT std_ulogic; SIGNAL d1, d0 : IN std_ulogic; SIGNAL dSel : IN std_ulogic; CONSTANT tpd_d1_q : IN VitalDelayType01 := VitalDefDelay01; CONSTANT tpd_d0_q : IN VitalDelayType01 := VitalDefDelay01; CONSTANT tpd_dsel_q : IN VitalDelayType01 := VitalDefDelay01; CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap ); PROCEDURE VitalMUX4 ( SIGNAL q : OUT std_ulogic; SIGNAL Data : IN std_logic_vector4; SIGNAL dSel : IN std_logic_vector2; CONSTANT tpd_data_q : IN VitalDelayArrayType01; CONSTANT tpd_dsel_q : IN VitalDelayArrayType01; CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap ); PROCEDURE VitalMUX8 ( SIGNAL q : OUT std_ulogic; SIGNAL Data : IN std_logic_vector8; SIGNAL dSel : IN std_logic_vector3; CONSTANT tpd_data_q : IN VitalDelayArrayType01; CONSTANT tpd_dsel_q : IN VitalDelayArrayType01; CONSTANT ResultMap : IN VitalResultMapType := VitalDefaultResultMap ); -- ------------------------------------------------------------------------ -- -- Sequential -- Primitive -- Function Name: VitalDECODER, VitalDECODER2, VitalDECODER4, -- VitalDECODER8 -- -- Description: The VitalDECODER functions are the sequential primitive -- calls for decoder logic. The functions are provided -- for N, 2, 4 and 8-bit outputs. -- -- The N-bit decoder is (2**(bits of data)) wide. -- -- The VitalDECODER returns 0 if enable is 0. -- The VitalDECODER returns the result bit set to 1 if -- enable is 1. All other bits of returned result are -- set to 0. -- -- The returned array is in descending order: -- (n-1 downto 0). -- -- Arguments: -- -- IN Type Description -- Data std_ulogic Input signal for 2-bit decoder. -- std_logic_vector2 Input signals for 4-bit decoder. -- std_logic_vector3 Input signals for 8-bit decoder. -- std_logic_vector Input signals for N-bit decoder. -- Enable std_ulogic Enable input signal. The result is -- output when enable is high. -- ResultMap VitalResultMapType The output signal strength result map -- to modify default result mapping for -- all output signals of the decoders. -- -- INOUT -- none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -