-- FILE: Printout.mesa
-- Last edited by Ousterhout, April 26, 1983 2:11 pm

-- This file contains definitions for routines used to print out
-- various pieces of information about the network structure.

DIRECTORY
    Globals,
    Real,
    Rope;

Printout: CEDAR DEFINITIONS =
BEGIN
OPEN Globals;

Units: REAL;
    -- Number of microns per printed unit (e.g. lambda).  Defaults
    -- to 2.0 microns.  If Units is 2.0 then a printed distance of 1
    -- corresponds to 2 microns.

FetRope: PROC[fet: Fet] RETURNS [rope: Rope.ROPE];
    -- Creates a rope describing the Fet in a form suitable
    -- for giving to the user.  The fet is identified in terms
    -- of the nodes it connects to and its location.

NodeRope: PROC[node: Node] RETURNS [rope: Rope.ROPE];
    -- Creates a rope describing the node in terms of the location
    -- of a transistor terminal (preferably a gate) to which it
    -- connects.

PrintCap: CmdProc; 
    -- Prints out capacitance information for nodes in the circuit.
    -- Args can contain a switch "-t threshold", where threshold
    -- specifies the minimum amount of capacitance a node must
    -- have to be printed (the default is 0).  It can also contain a
    -- list of node names (default is "*").  All of the named nodes
    -- with greater than the specified amount of capacitance are
    -- printed.  All switches in args must precede all node names.

PrintRes: CmdProc;
    -- Just like PrintCap, except prints parasitic resistance values
    -- in ohms.

PrintFets: CmdProc;
    -- Prints out information about all fets whose gates attach to
    -- the nodes in the argument list.  If no argument list is supplied,
    -- then absolutely all fets are printed.

PrintNodes: CmdProc;
    -- Each argument gives a node name.  This command routine
    -- prints out information about every node that is given.  If no
    -- arguments are given, then information is printed out about
    -- every node in the circuit.
    
END.