------------------------------------------------------------------------------- -- Copyright (c) 2003 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 : current_multiplier.vhd -- Author : Mentor Graphics -- Created : 2003-05-30 -- Last update: ------------------------------------------------------------------------------- -- Description: Ideal current multiplier model. Total current into "pos" terminal -- is "n" times the current through pos to neg. If current i goes from pos to neg, -- then current (n - 1)i enters pos but is by-passed to electrical_ref (absolute ground). -- A perfect short (0 volts) is maintained across pos to neg at all times. -- This model can be used to multiply the current drawn by a single electrical load, to -- make it represent multiple identical loads. Useful for Simultaneously Switching Outputs -- (SSO) Modeling and Analysis. -- Circuit topology: -- -- "pos" _ -- | -- |_______ -- | | -- | | -- i \/ \/ (n-1)i -- | | -- | ___|___ -- | ___ -- "neg" - _ -- ------------------------------------------------------------------------------- -- Revisions : -- Date Version Author Description -- 2003-05-30 1.0 Mentor Graphics Created ------------------------------------------------------------------------------- library IEEE; use IEEE.electrical_systems.all; entity current_multiplier is generic ( n : integer := 1 -- Multiplying factor ); port ( terminal pos, neg : electrical); end entity current_multiplier; architecture behavioral of current_multiplier is constant rn : real := real(n); -- Convert n to a real number rn quantity v across i through pos to neg; -- Voltage across (forced to = 0) and main current through quantity n_minus_one_i through pos to electrical_ref; -- Bypass current equal to (n-1)*i begin n_minus_one_i == (rn - 1.0)*i; v == 0.0; end architecture behavioral; ------------------------------------------------------------------------------- -- Copyright (c) 2003 Mentor Graphics Corporation -------------------------------------------------------------------------------