------------------------------------------------------------------------------- -- Copyright (c) 2001 Mentor Graphics Corporation -- -- This model is a component of the Mentor Graphics VHDL-AMS educational open -- source model library, and is covered by this license agreement. This model, -- including any updates, modifications, revisions, copies, and documentation -- are copyrighted works of Mentor Graphics. USE OF THIS MODEL INDICATES YOUR -- COMPLETE AND UNCONDITIONAL ACCEPTANCE OF THE TERMS AND CONDITIONS SET FORTH -- IN THIS LICENSE AGREEMENT. Mentor Graphics grants you a non-exclusive -- license to use, reproduce, modify and distribute this model, provided that: -- (a) no fee or other consideration is charged for any distribution except -- compilations distributed in accordance with Section (d) of this license -- agreement; (b) the comment text embedded in this model is included verbatim -- in each copy of this model made or distributed by you, whether or not such -- version is modified; (c) any modified version must include a conspicuous -- notice that this model has been modified and the date of modification; and -- (d) any compilations sold by you that include this model must include a -- conspicuous notice that this model is available from Mentor Graphics in its -- original form at no charge. -- -- THIS MODEL IS LICENSED TO YOU "AS IS" AND WITH NO WARRANTIES, EXPRESS OR -- IMPLIED. MENTOR GRAPHICS SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MENTOR GRAPHICS SHALL -- HAVE NO RESPONSIBILITY FOR ANY DAMAGES WHATSOEVER. ------------------------------------------------------------------------------- -- File : MeasFreq.vhd -- Author : Mentor Graphics -- Created : 2001/06/16 -- Last update: 2002-04-30 ------------------------------------------------------------------------------- -- Description: Measure Frequency of an electrical input signal (voltage) -- Output signal unitless quantity ------------------------------------------------------------------------------- -- Revisions : -- Date Version Author Description -- 2001/06/16 1.0 Mentor Graphics Created -- 2001/07/05 1.1 Mentor Graphics Added f_init parameter for -- initializing output -- 2001/11/27 1.2 Mentor Graphics Changed output to Quantity Port -- 2002/04/29 2.0 Mentor Graphics Simplified model based on -- suggestions from Peter Ashenden -- Changed output to real signal. -- Removed initialization. -- Simplified process. ------------------------------------------------------------------------------- library ieee; use ieee.electrical_systems.all; entity MeasFreq is generic ( thres : real := 0.0 ); -- threshold crossing port ( terminal input : electrical; signal f_out : out real := 0.0); end entity MeasFreq; ------------------------------------------------------------------------------- -- ThresDetect Architecture -- Uses threshold detection to measure frequency ------------------------------------------------------------------------------- architecture ThresDetect of MeasFreq is quantity vin across input; -- signal freq : real := 0.0; begin -- f_out <= freq; detect : process (vin'above(thres)) is variable t_old : real := real'low; begin if vin'above(thres) then f_out <= 1.0 / (now - t_old); t_old := now; end if; end process detect; end ThresDetect; ------------------------------------------------------------------------------- -- Copyright (c) 2001 Mentor Graphics Corporation -------------------------------------------------------------------------------