


TECC(1ICD)		     5/2/88		       TECC(1ICD)



NNNNAAAAMMMMEEEE
     tecc - technology compiler for space

SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
     tttteeeecccccccc [[[[----ssss]]]] [[[[----pppp pppprrrroooocccceeeessssssss]]]] file

OOOOPPPPTTTTIIIIOOOONNNNSSSS
     The following options can be specified:

     ----ssss      Silent mode.

     ----pppp _p_r_o_c_e_s_s
	     Specifies the process.  The default process is
	     determined by the current project directory.

DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
     The program _t_e_c_c acts as a pre-processor for technology
     descriptions for the circuit extraction program _s_p_a_c_e. From
     a user-defined element-definition file, _t_e_c_c produces a
     table-format element-definition file that can be used as
     input for _s_p_a_c_e.

     The user-defined input file should have the extension '.s',
     while the table-format output file will be called to the
     input file with '.t' substituted for '.s'.

TTTTHHHHEEEE EEEELLLLEEEEMMMMEEEENNNNTTTT DDDDEEEEFFFFIIIINNNNIIIITTTTIIIIOOOONNNN FFFFIIIILLLLEEEE
     In the user-defined element-definition file the elements are
     listed that can be recognized from the layout description.
     For each of the elements, at least a name and a condition
     list has to be specified.

     The name of an element is used to identify the element when
     error messages are generated or, for transistor elements, to
     identify the element in the circuit that is extracted.  It
     is not allowed to use the same name in more than one element
     definition.

     A condition list specifies how the presence of a particular
     element depends on the presence or absence of the different
     masks.  To denote that an element requires the presence of a
     mask, this mask has to be included in its condition list as
     a single mask name.  To denote that an element requires the
     absence of a certain mask, this mask has to be included in
     its condition list as a mask name preceded with a '!' sign.
     When the presence of the element does not depend on the
     mask, the mask should simply be omitted from the condition
     list.  Alternative condition lists might be specified for an
     element definition by separating them with a '|' character.

     References to masks in adjacent areas can be made by preced-
     ing the mask names with a '-' character, or a '=' character.



		   The Nelsis IC Design System			1






TECC(1ICD)		     5/2/88		       TECC(1ICD)



     The following (cross-section) gives an example.

	------------+		     +-------------
	    =in     |		     |	  -in
	------------+		     +-------------

		    +------------------------------
		    |	     ps 	  -ps
		    +------------------------------

	 ------------------------------------------
			  substrate

     When preceding the mask name with a '-' character, a refer-
     ence is made to a mask that is in an adjacent area.  When
     preceding the mask name with a '=' character, a reference is
     made to a mask that is in an area that is opposite to the
     area that contains the masks preceded with the '-' sign.
     The above can be used to define the elements that are
     present on the boundary between two regions of different
     mask combinations (e.g. edge capacitances) or elements that
     are present between the boundaries themselves (e.g. lateral
     capacitances between parallel wires).

     In the following, the syntax and semantics of the element-
     definition file is described.  The element-definition file
     may contain specifications for the key list, the units, the
     conductor elements, the transistor elements, the contact
     elements and the capacitance elements.  Each of these
     specifications is optional but their order is fixed.

     TTTThhhheeee kkkkeeeeyyyy lllliiiisssstttt::::

     kkkkeeeeyyyyssss:::: _m_a_s_k_1 _m_a_s_k_2 ... _m_a_s_k_N

     In the key list the masks are enumerated that should be used
     as key masks during element recognition.  Based on the key
     masks _t_e_c_c produces a hash table that allows _s_p_a_c_e to find
     circuit elements without separately checking the element
     conditions that refer to the presence or absence of the key
     masks.  Adjacent masks (that are specified by preceding them
     with a '-' or '=' character) might also be used as a key
     mask.  By carefully choosing the key masks, the speed of
     element recognition will be optimal, while the hash table
     will be not too large (the size of the hash table will be
     equal to 2 ^ N, where N is the number of key masks).

     When no key list is specified, but

     mmmmaaaaxxxxkkkkeeeeyyyyssss _N





2		   The Nelsis IC Design System






TECC(1ICD)		     5/2/88		       TECC(1ICD)



     is specified instead, _t_e_c_c will select the key masks itself.
     Up to a maximum of N, _t_e_c_c will select the masks that are
     most frequently used for specifying the element conditions.

     When neither a key list nor a maximum number of keys is
     specified, _t_e_c_c will assume that maxkeys is equal to 10.

     UUUUnnnniiiitttt ssssppppeeeecccciiiiffffiiiiccccaaaattttiiiioooonnnn::::

     uuuunnnniiiitttt _v_a_r_i_a_b_l_e _v_a_l_u_e
       .
       .

     With one of the above commands, the unit of a variable in
     the conductor list, the contact list or the capacitance list
     is specified.  The string _v_a_r_i_a_b_l_e can be either _r_e_s_i_s_t_a_n_c_e
     to specify the unit for sheet resistance, _c__r_e_s_i_s_t_a_n_c_e to
     specify the unit for contact resistance, _a__c_a_p_a_c_i_t_a_n_c_e to
     specify the unit for area capacitance, _e__c_a_p_a_c_i_t_a_n_c_e to
     specify the unit for edge capacitance or _c_a_p_a_c_i_t_a_n_c_e to
     specify the unit for capacitance.	The unit of each variable
     is specified by _v_a_l_u_e, expressed in S.I. units.

     TTTThhhheeee ccccoooonnnndddduuuuccccttttoooorrrr lllliiiisssstttt::::

     ccccoooonnnndddduuuuccccttttoooorrrrssss:

	_n_a_m_e : _c_o_n_d_i_t_i_o_n__l_i_s_t(_s) : _m_a_s_k : _s_h_e_e_t-_r_e_s_i_s_t_i_v_i_t_y
	  .
	  .

     The conductor list contains the definitions for the conduct-
     ing layers in the circuit.  For each conductor specifica-
     tion, a specification of the actual conductor mask and a
     specification of the sheet-resistivity (in ohms) is
     required.

     TTTThhhheeee ttttrrrraaaannnnssssiiiissssttttoooorrrr lllliiiisssstttt

     ttttrrrraaaannnnssssiiiissssttttoooorrrrssss:

	_n_a_m_e : _c_o_n_d_i_t_i_o_n__l_i_s_t(_s) : _m_a_s_k__g _m_a_s_k__d_s
	  .
	  .

     For a transistor, the name and the condition list are fol-
     lowed by a specification of the gate mask _m_a_s_k__g and the
     drain/source mask _m_a_s_k__d_s.  Both the gate mask and the
     drain/source mask should have been defined as a conductor
     mask.





		   The Nelsis IC Design System			3






TECC(1ICD)		     5/2/88		       TECC(1ICD)



     TTTThhhheeee ccccoooonnnnttttaaaacccctttt lllliiiisssstttt

     ccccoooonnnnttttaaaaccccttttssss:

	_n_a_m_e : _c_o_n_d_i_t_i_o_n__l_i_s_t(_s) : _m_a_s_k_1 _m_a_s_k_2 : _c_o_n_t_a_c_t-_r_e_s_i_s_t_a_n_c_e
	  .
	  .

     The contact elements connect different conductors that are
     on top of each other.  _M_a_s_k_1 and _m_a_s_k_2 are the conductor
     masks that are connected by the contact.  The parameter at
     the end of the specification specifies the contact resis-
     tance in ohm for a (hypothetical) contact of 1 meter * 1
     meter.

     TTTThhhheeee ccccaaaappppaaaacccciiiittttaaaannnncccceeee lllliiiisssstttt

     ccccaaaappppaaaacccciiiittttaaaannnncccceeeessss:

	_n_a_m_e : _c_o_n_d_i_t_i_o_n__l_i_s_t(_s) : _m_a_s_k_1 [ _m_a_s_k_2 ] : _c_a_p_a_c_i_t_i_v_i_t_y
	  .
	  .

     In the capacitance list, both ground and coupling capaci-
     tances can be defined.  Ground capacitances are defined by
     specifying only _m_a_s_k_1, while coupling capacitances are
     defined by specifying both _m_a_s_k_1 and _m_a_s_k_2.

     Furthermore, capacitances are distinguished between surface
     capacitances, edge capacitances and lateral capacitances.
     To define edge capacitance, masks preceded with a '-' char-
     acter are used in the condition list, and either _m_a_s_k_1 or
     _m_a_s_k_2 has to be preceded with a '-' character.  To define
     lateral capacitances, masks preceded with a '-' character
     and mask preceded with a '=' character are used in the con-
     dition list, and _m_a_s_k_1 is preceded with a '-' character
     while _m_a_s_k_2 is preceded with a '=' character.

     For surface capacitances, _c_a_p_a_c_i_t_i_v_i_t_y is the capacitance
     per square meter.	For edge capacitances, _c_a_p_a_c_i_t_i_v_i_t_y is
     the capacitance per meter edge length.  For lateral capaci-
     tances, _c_a_p_a_c_i_t_i_v_i_t_y is the capacitance for a configuration
     where the spacing between two parallel wires is equal to
     length of the two wires.  (It is assumed the lateral cou-
     pling capacitance is proportional to length of the shading
     area between the two wires and inverse proportional to their
     spacing.)

     CCCCoooommmmmmmmeeeennnntttt
     Comments can be included in the element-definition file by
     preceding them with a '#' character.  All text following the
     '#' character, until the end of the line, will be skipped as



4		   The Nelsis IC Design System






TECC(1ICD)		     5/2/88		       TECC(1ICD)



     comment.

EEEEXXXXAAAAMMMMPPPPLLLLEEEE
     The following gives an example of a complete element-
     definition file for a cmos process.

     # process : c5th
     # author  : A.J. van Genderen, TU-Delft
     # date    : Feb. 15, 1988

     unit resistance	1     # Ohm
     unit c_resistance	1e-12 # Ohm per meter ^ 2
     unit a_capacitance 1e-3  # Farad per meter ^ 2
     unit e_capacitance 1e-9  # Farad per meter
     unit e_capacitance 1e-18 # Farad

     conductors :

	 condM	: in	     : in : 0.040
	 condP1 : ps sp      : ps : 33
	 condP2 : ps sn      : ps : 30
	 condP3 : ps !sn !sp : ps : 20
	 condD1 : od !ps sp  : od : 45	  # p+
	 condD2 : od !ps sn  : od : 30	  # n+

	 condD3 : od !ps !sn !sp  : od : 38    # terminal

     transistors :

	 nenh : ps od sn !sp !nw !cop !con !cps : ps od
	 penh : nw ps od sp !sn !cop !con !cps	: ps od

     contacts :

	 contP	: cps in ps !od : in ps : 90
	 contD1 : con in od !ps : in od : 270
	 contD2 : cop in od !ps : in od : 90

     capacitances :

       # ground capacitances

	 capM  : in !ps !od	 : in  : 0.036
	 capMe : !in -in !ps !od : -in : 0.080

	 capP  : ps !od      : ps  : 0.069
	 capPe : !ps -ps !od : -ps : 0.051

	 capD1	: od !ps sn	   : od  : 0.041   # diff - substr
	 capD1e : !od !-ps -od -sn : -od : 0.21    # diff - substr
	 capD2	: od !ps sp	   : od  : 0.120   # diff - well
	 capD2e : !od !-ps -od -sp : -od : 0.80    # diff - well



		   The Nelsis IC Design System			5






TECC(1ICD)		     5/2/88		       TECC(1ICD)



       # coupling capacitances

	 capMP	: in	  ps : in ps  : 0.075
	 capMPe : !in -in ps : -in ps : 0.090

	 capMD1  : in	   !ps od sn :	in od : 0.065
	 capMD1e : !in -in !ps od sn : -in od : 0.090
	 capMD2  : in	   !ps od sp :	in od : 0.066
	 capMD2e : !in -in !ps od sp : -in od : 0.090

       # lateral coupling capacitances

	 capMeMe : -in !in =in : -in =in : 2.4

	 capPePe : -ps !ps =ps : -ps =ps : 1.8

	 capMePe : -in !in !ps =ps : -in =ps : 1.2


AAAAUUUUTTTTHHHHOOOORRRR
     A.J. van Genderen.

FFFFIIIILLLLEEEESSSS
     file.s    input file
     file.t    output file

SSSSEEEEEEEE AAAALLLLSSSSOOOO
     space(1ICD),

DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
     When no silent mode is specified, _t_e_c_c will print informa-
     tion about the hash table that is being constructed for ele-
     ment recognition.	This information can be used to tune the
     specification of the key masks.

     Furthermore, _t_e_c_c will check if legal mask names are used
     and if conductor masks are used with transistor, contact and
     capacitance definitions.  During extraction itself it will
     be checked if appropriate conductor elements are present;
     for transistor elements and capacitance elements this
     required, for contact elements this is not required.














6		   The Nelsis IC Design System



