------------------------------------------------------------------------------- -- 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 : TxLine.vhd -- Author : Mentor Graphics -- Created : 2001/06/16 -- Last update: 2001/07/05 ------------------------------------------------------------------------------- -- Description: Ideal, Lossless Electrical Transmission Line ------------------------------------------------------------------------------- -- Revisions : -- Date Version Author Description -- 2001/07/05 1.0 Mentor Graphics Created ------------------------------------------------------------------------------- -- Use proposed IEEE natures and packages library IEEE; use IEEE.electrical_systems.all; entity TxLine is -- Initialize parameters generic ( z0 : real := 50.0; -- Characteristic impedance len : real := 1.0; -- Length of line vp : real := 3.0e8); -- Speed of wave propagation -- Define ports as electrical terminals port ( terminal p1, m1, p2, m2 : electrical); end entity TxLine; ------------------------------------------------------------------------------- -- Behavioral architecture ------------------------------------------------------------------------------- architecture behavioral of TxLine is -- Declare Branch Quantities quantity v1 across i1 through p1 to m1; quantity v2 across i2 through p2 to m2; -- Declare free Quantities quantity v12_1 : voltage; -- Voltage wave traveling from 1 toward 2, at 1 quantity v21_1 : voltage; -- Voltage wave traveling from 2 toward 1, at 1 quantity i12_1 : current; -- Current wave traveling from 1 toward 2, at 1 quantity i21_1 : current; -- Current wave traveling from 2 toward 1, at 1 quantity v12_2 : voltage; -- Voltage wave traveling from 1 toward 2, at 2 quantity v21_2 : voltage; -- Voltage wave traveling from 2 toward 1, at 2 quantity i12_2 : current; -- Current wave traveling from 1 toward 2, at 2 quantity i21_2 : current; -- Current wave traveling from 2 toward 1, at 2 -- Declare Constants constant td : real := len/vp; -- Wave propagation time for the line begin v12_2 == v12_1'delayed(td); -- Voltage wave delay, 1 -> 2 i12_2 == i12_1'delayed(td); -- Current wave delay, 1 -> 2 v21_1 == v21_2'delayed(td); -- Voltage wave delay, 2 -> 1 i21_1 == i21_2'delayed(td); -- Current wave delay, 2 -> 1 v1 == v12_1 + v21_1; -- Voltage waves sum at 1 i1 == i12_1 - i21_1; -- Current waves subtract at 1 v2 == v12_2 + v21_2; -- Voltage waves sum at 2 i2 == i21_2 - i12_2; -- Current waves subtract at 2 v12_1 == i12_1*z0; -- Line Impedance = V/I, for waves propagating 1->2 v21_2 == i21_2*z0; -- Line impedance = V/I, for waves propagating 2->1 end architecture behavioral; ------------------------------------------------------------------------------- -- Copyright (c) 2001 Mentor Graphics Corporation -------------------------------------------------------------------------------