This document is for informational and instructional purposes only , and is subject to change WITHOUT NOTICE . All rights are reserved by ATELECAD ( FRANCE ) . ATELECAD makes no warranty of any kind with regards to this material , including , but not limited to , the implied warranties or merchantability and fitness for a particular purpose . ATELECAD shall not be liable for any incidental , indirect , special , or consequential damages , arising out , or related to this document , or to the information contained in it . Copyright ATELECAD 1989 . All rights reserved . For historical reasons some libraries are joined as exemples to help you and give you examples how to create and install your own libraries ... Obviously the joined parameters are not belongings or close to existing true processes of real commercial society ... They are given only and mainly for Educational purposes ... PHILIPS is a reserved trade Mark of PHILIPS and PHILIPS Semiconductor Subilo is a reserved trade Mark of PHILIPS Semiconductor Qubic1 is a reserved trade Mark of PHILIPS Semiconductor Qubic3 is a reserved trade Mark of PHILIPS Semiconductor Qubic4 is a reserved trade Mark of PHILIPS Semiconductor MENTOR is a trade mark of MENTOR graphics corp Data Joined: ************ Atelecad_ta : Atelecad Specific Documentation Tool spice_new_feature_28dec04 Atelecad_spice : Improved Analog Simulator spice Atelecad_va2cpp : Atelecad Specific Verilog A Model Compiler Part 1 Atelecad_va2cOPTsupLINE : Atelecad Specific Verilog A Model Compiler Part 2 README_ATELECAD_ALL_Tools-Xlib_3may07 Tools-Xlib : Atelecad tools using Standard Xlib Functions Tools-Motif : Atelecad tools Open Motif-2.3.4 Functions xlibaux libMotif-2.3.4-28jan2014 libXaw3d-03sept2013 libXmu-10jan2007 xlibaux_Archives libXaw3d.a libXm.a libXmu.a Hox To REcompile the Binary Tools: ********************************** Normaly that is not needed , only useful when adding new features ... => Normaly all existing binary ( in /users/atelecad/binexe ) are compiled in such a way , to be compatible to most LINUX distributions => If some libraries are missing & requested , try first to download them using your own Logicial Managers Most of libraries are also given in xlibaux_Archives + xlibaux => If you want to recompile a tool , you find in their directory a file help that indicate how it was compiled ( see : 0_How-To-REcompile.txt ) You may have to adapt this way , depending of your LINUX distributions . You may use "locate" to find your specific local place of files in your LINUX distributions to adapt this way (ie : Makefile ...etc ). INTRODUCTION : ************** ATELECAD allows : ( Managing = Create + Edit + Save ) * Managing SYMBOLS with the symbol editor : ftsed or fmsed * Managing SHEETS with the network editor : ftned or fmned * Managing HIERARCHY with the expand editor : ftexp or fmexp * does LOGIC SIMULATION with the logic simulator : ftsim or fmsim * does ANALOGIC SIMULATION Netlist for the analogic simulator : ftspi3nl or fmspi3nl * does ANALOGIC SIMULATION with the analogic simulator : spice or spice3 * you may control & see results for ANALOGIC SIMULATION from ftned or fmned ( for 1 level schematic ) * you may control & see results for ANALOGIC SIMULATION from ftexp or fmexp ( for > 1 level schematic ) * Improved features in ATELECAD spice : Extracts ( see also spice_new_feature_28dec04 ) -> New Models : PHILIPS + HICUM +.. etc ... ( Buildt In ) -> Bipolar BJT Level 2 : identical to level at nominal Temp , but with other temperature laws variation . -> EKV-EPFL 2.4,2.6 Mos : from 07-12-97 (EPFL Lausanne) -> Philips Capacitance + Diode : Juncap(for Philips Mos) -> Philips Mos : Mos902,Mos903,Mos30,Mos3002 Mos1101,Mos1102 -> Philips Bipolar : Mextram (TNS503,TPS503),TPL500 Mextram (TNS504,TPS504) -> Mos BSIM3 : Version 3.3 -> Mos BSIM4 : Version 1.1 -> Bipolar HICUM : level 2.1 : with Self heating / 4 or 5 ext Nodes level 0 : model 203 .... Etc .... . -> 2 Levels of Analysis for DC , but now you can swept also parameters as TEMP ... Device Parameters as R1[TEMP] ... ( VS is compatible with 2 Levels plots ) -> 2 Levels of Analysis for DC , but now you can swept also parameters as TEMP ... Device Parameters as R1[TEMP] ... ( VS is compatible with 2 Levels plots ) -> 2 Levels of Analysis (as for DC ) for AC , NOISE , SENS , TF -> New Commands : Extracts ... -> NODESAVE save node state for NODESET feature -> ICSAVE save node state for IC feature -> VARY allows Parameters variation : -> DC , AC : ex: coupled parameters ... -> TRANSIENT : ex: can use the parameters time , temp , node state, @dev[param] .... etc in the expression. -> SUBCKT parameters ... can handle parameters : to , into SUBCKT ( with parameter algebric expression possibility in "{expression}" ) -> New Process Block capabilities... You may define Model parameter value as a function of some Process parameters values ... So the Spice model library may be defined as function of some Process parameters and devices dimensions . -> Direct control from schematic capabilities... -> New Verilog A Model compiler ( improved features for convergency , Init + Limiting Functions may be also added ...) Now Convergency for Verilog A Models could be as good as Built-In Functions .... -> Dynamic Share Lib Spice Model libraries (to speed up the start-up of Spice for big Schematic ....) -> Schematic Driven Ploting or Printing -> Improve the Automatic DC convergence methods -> New Verilog A Model compiler * In development (other Spice Executable) : PORT , NPORT . * In development (other Spice Executable) : SP Analysis: S-PARAMETER Analysis . * In development (other Spice Executable) : Harmonic Balance : HB , QP, CE A global ATELECAD Documentation Tool is available : ta (ie : /users/atelecad/binexe/ta or /users/atelecad/binexe/tutocae.exe) When tool name starts with "ft" means tool linked with standard X11 Xlib Functions ... When tool name starts with "fm" means tool linked with Open Motif-2.3.4 Functions ... INSTALL: ******** * to use all feature of ATELECAD , I would advise you to download : * "xterm" terminal * "nedit" text editor * Login as the User that will use ATELECAD = "YourLoginName" (Example = if YourLoginName="john" , $HOME=/home/john ... ) * First download the files : 1- "Atelecad_Free_README_Introduction.txt" 2- "Atelecad_Free_Install_AsRoot.sh" 3- "Atelecad_Free_AllData_v1.0_2015-02-04.tar.gz" ( from site http://atelecad.free.fr ) * LogIN as Root : " su + root_passwd ) exec in root Unix shell : " tar -xvf Atelecad_Free_AllData_v1.0_2015-02-04.tar.gz " " Atelecad_Free_Install_AsRoot.sh YourUser-Home-Dir " ex : YourUser-Home-Dir = /home/YourLoginName (Example = if YourLoginName="john" , $HOME=/home/john ... YourUser-Home-Dir = "/home/john" , exec : " Atelecad_Free_Install_AsRoot.sh /home/john " ) * LogOUT as Root : "CNTL_D ) * Login as the User that will use ATELECAD = "YourLoginName" exec in User Unix shell : " Atelecad_Free_PostInstall_AsUser.sh " * LogOUT as User * RE Login as the User that will use ATELECAD = "YourLoginName" * From Now , then you may start using the ATELECAD tools * you may try the ATELECAD all exemples under : $HOME/AtelExample_Free_distrib for instance : cd $HOME/AtelExample_Free_distrib/dir_ampli ftned amplidif or fmned amplidif spice -x amplidif.cir ............... exemple of spice command in : amplidif/analyse (note : "*" is the comment char for spice ...) Files: ( see "ta" for more info ) ****** US : **** ==> REference documentation for tsed,tned,texp,tsim can found under : /users/atelecad/doc/DocAtel ftsed => /users/atelecad/doc/DocAtel/sym ftned => /users/atelecad/doc/DocAtel/net ftexp => /users/atelecad/doc/DocAtel/exp ftsim => /users/atelecad/doc/DocAtel/sim basic tutorial : /users/atelecad/doc/DocAtel/BasicTutorials_US ex: " kwrite /users/atelecad/doc/DocAtel/net/list_commands" " nedit /users/atelecad/doc/DocAtel/net/tn_0_1 " " nedit /users/atelecad/doc/DocAtel/net/tn_1_1 " Keyboard Function KEYS : /users/atelecad/doc/DocAtel/ps_key ==> Available Examples : in $HOME/AtelExample_Free_distrib ---------------------- ( see /users/atelecad/README_ATELECAD ) FRANCAIS : ******** ==> la documentation de reference pour tsed,tned,texp,tsim peut etre obtenue ======================================================================== grace a un editeur UNIX "nedit , kedit , kwrite ...." ( dans un SHELL ) ====================================================================== documentation de reference sous : /users/atelecad/doc/DocAtel ftsed => /users/atelecad/doc/DocAtel/sym ftned => /users/atelecad/doc/DocAtel/net ftexp => /users/atelecad/doc/DocAtel/exp ftsim => /users/atelecad/doc/DocAtel/sim tutorial basique: /users/atelecad/doc/DocAtel/BasicTutorials_FR touche de fonction du clavier : /users/atelecad/doc/DocAtel/ps_key PRINCIPAL FEATURES : ( see "ta" for more info ) ******************* * UNDO - REDO fonction ( 1 to N step : until the beginning of the session )) * 1 SYMBOL that can be loadable , update , replace ... ** LOAD , REPLACE , UPDATE : by REFERENCE ** EDIT ( delete , move , copy , add properties ... ) * VIEWING and COPYING ( PART or ALL OF ) external SHEETS . * EDITING NETWORK and PROPERTIES ... . * SELECT AREA , ... , AND SELECT PROPERTIES with "WILD CARD" (*) . * AUTOMATIC SCRIPT with all previous command executed of the session : ** you can RESTART a new session , REDOING exactly what have been previously done ( 100 % AUTOMATIC ) ** to use for instance AFTER a CRASH , an OPERATOR ERROR .... . ** with this script you can create AUTOMATIC PROCEDURES (ex : for libraries ... ) * You can generate a file SCRIPT to remake the sheet ( for transfert , record , ... ) * You can generate a ASCII file DATA to get sheet data . ( for netlist , customised tools , ... ) Expand : * control the DEPTH of expand . * store only defined properties ( converted during expand ) . * SYMBOL , SHEET that can be VIEWED , SELECTED ... * view UP , DOWN , expanded sheet . * SELECT AREA , ... , AND SELECT PROPERTIES with "WILD CHAR" (*) . Logic Simulations : * MATRICE of LOGIC STATES : ** LEVELS : "I" ,"0" , "X" , "1" "X" : unknown "I" : indeterminate ** STRENGTHS : "S" , "W" , "R" , "Z" , "U" "S" : Strong "W" : Weak "R" : Resistive "Z" : high impedance "U" : Undefined state . * INIT , DEFINE , LIST , TRACE result of simulations for all EQUIPOTENTIAL ( delay , powerful timing analysis , back annotations ) * you can make and use your OWN BEHAVIOURAL MODELS * SYMBOL , SHEET that can be VIEWED , SELECTED ... * view UP , DOWN , to see and PROBE signals into sheet . * SELECT AREA , ... , AND SELECT PROPERTIES with "WILD CHAR" (*) . * define BREAK time point for a wanted time and NET state . * define a "SPIKE MIN" under this value no warning for spike condition , and allows 4 DIFFERENT SPIKE STRATEGIES . * define if needed for some (or all) "INSTANCES" (and their child) their switches to define for them : "Min/Typ/Max" SEPARATELY . ( TIMING INDex ) * define coefficients to modify delays , timings (setup, hold, minpulse) ( TIMING COEFFICIENT ) Using TSIM you can : * INIT , DEFINE ( function of time ) , all equipotentials by their names , using commands as : FORCE , CLOCK PERIOD , "INIT" properties on "NETS" , "GLOBAL" name . * LIST , TRACE the results of simulation : using commands : LIST , TRACE , PERIOD LIST , PERIODE TRACE * define a name for UN_NAMMED EQUIPOTENTIAL using : PROBE ( at level 0 , or -1 , -2 ... using VIEW DOWN ) * regenerate the simulation with new equipotential . * view the expanded sheet , select object , get status ... etc . view down into instance sheet , until you reach the bottom level , view up until you reach the top level . * view another sheet or symbol ( VIEW SHEET ) . * change menu or key function ( DEFine MENU ...) . * show the owner of selected properties using the command "SHOW LINK" . * execute automatic SCRIPT ( DO ). * define BREAK time point for a wanted time and NET state . * reset action : using FORGET ... , RESET SIM TIME * define a "SPIKE MIN" under this value no warning for spike condition ( control only the WARNING messages , and so allows to suppress the unwanted warning message , for instance during an init period , or when spikes are too short to be significant ) * define 4 different SPIKE strategies ( SPIKE MODel ) . * define if needed for some (or all) "INSTANCES" (and their child) their switches to define for them : "Min/Typ/Max" SEPARATELY . ( TIMING INDex ) * define coefficients to modify delays , timings (setup, hold, minpulse ) using TIMING COEFFICIENT . * to status most of the object . 0.2 - OVERVIEW : --------- To call the network editor TNED type : " $ ftned component_name [ext_do_file [par1 [par2...]] " component_name : name of your component ( directory ) ext_do_file : file to automatically executed commands ( option ) . par1 , par2 : external variable used for commands ( option ) . To call the symbol editor TSED type : " $ ftsed component_name [ext_do_file [par1 [par2...]] " component_name : name of your component ( directory ) ext_do_file : file to automatically executed commands ( option ) . par1 , par2 : external variable used for commands ( option ) . To call the expand editor TEXP type : " $ ftexp component_name [ext_do_file [par1 [par2...]] " component_name : name of your component ( directory ) ext_do_file : file to automatically executed commands ( option ) . par1 , par2 : external variable used for commands ( option ) . To call the LOGIC SIMULATOR "TSIM" type : " $ ftsim component_name [MIn/TYp/MAx [ext_do_file [file_type [par1 [par2...]]]] " component_name : name of your component ( directory ) MIn/TYp/MAx : timing , delays switches ( option ) . ext_do_file : file to automatically executed commands ( option ) . file_type : extension to find the expanded file ( option ) . par1 , par2 : external variable used into ext_do_file ( option ) . To call the Hierarchical Spice3 Netlist generator type : " $ tspi3nl component_name [property] " component_name : name of your component ( directory ) property : property name that define the "primitives" ( option ) . 0.2.1 MANAGING SHEETS : The Network editor TNED can make HIERARCHICAL electronic schemas and can use to edit it : * symbols created with the symbol editor TSED * another sheet created with the sheet editor TNED Sheet defines : * the function of the corresponding symbol ( if any , and not their representation ) : using : ** the INSTANCES of the used SYMBOL ( position,name,number,...) . ** the INTERCONNEXIONS between INSTANCE PINS . * the parameters ( also called PROPERTIES - name-values-owners -switches ) and passing way from symbol to sheet . 0.2.2 SHEET STRUCTURE : * INSTANCE is made of : ** 1 instance BODY : that includes graphical + properties data for the instance itself . ** 1 to N instance PINS : that includes graphical + properties data for the instance PINS . ** and is LINKED to 1 EXTERNAL SYMBOL that have been loaded with commands : ACTivate SYMbol , INStantiate SYMbol * NET is made of : ** properties ; ** 1 to N VERTEX that include graphics . ( 1 vertex for 1 instance pin and 1 vertex for each corner of net ... ) * 1 EXTERNAL SYMBOL is made of : ** 1 component BODY : that includes graphical + properties data for the external symbol itself . ** 1 to N component PINS : that includes graphical + properties data for the external symbols PINS . 0.2.3 PRINCIPAL FUNCTION of the NETWORK EDITOR ( TNED ) : ** You can LOAD SYMBOLS with commands : ACTivate SYMbol ... , INStantiate SYMbol ... . ** You can update an INSTANCE wth the new symbol version with : UPDate SYMbol ** You can view and copy part of another SHEET with : VIEW SHEEt ... + COPY Context ... etc to the EDIT SHEET . ** You can UNDO 1 to N step of previous command and AFTER You can REDO 1 to N step of previous command . ( Starting until the begining of the session ) ** You can create BUS ( for NETS ) by using : *** special PIN NAME : ex : "IN(0:8) ; *** special symbols : "RIP" * You can EDIT graphics and properties on INSTANCES , FRAMES , ( depending of their switches ) , with command as ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc : ** for instance BODY you can : *** DELete , SELect AREa , COPY , MOVE , ... etc ( you can't edit part of graphics ) *** edit the body PROPERTIES with command : ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc ( depending of their switches ) . ** for instance PINS you can : *** you can't edit the pins GRAPHICS separately from instance , only : SELect AREa ... etc ( if you delete the graphics you delete also ALL the instance with their properties ) *** edit the pins PROPERTIES with command : ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc . ( depending of their switches ) . ** for FRAME you can : *** edit the frame GRAPHICS with command : DELete , CHAnge frame DIMension , SELect AREa ... etc ( if you delete the graphics you delete also all the frame with their properties ) *** edit the frame PROPERTIES with command : ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc : * You can generate a file SCRIPT to remake the sheet ( for transfert , record , ... ) ** compatible to TNED from ATELECAD ** compatible to NETED from MENTOR ( MENTOR is a trade mark of MENTOR graphics corp ) * You can generate a ASCII file DATA to get sheet data . ( for netlist , customised tools , ... ) 0.2.4 MANAGING SYMBOL : The symbol editor TSED can make symbol that are "callable" afterwards into : * an other symbol with the symbol editor TSED * a sheet with the sheet editor TNED Symbol defines : * the representation of the component ( not their functions ) * the PINS ( position,name,number,...) to define interconnexions * the parameters ( also called PROPERTIES - name-values-owners -switches ) and passing way from symbol to sheet . 0.2.5 SYMBOL STRUCTURE : * SYMBOL is made of : ** 1 to N COMPONENTS ( limited by Computer configuration >> 10 ) At start_up 1 components exists and it is the "EDIT_COMPONENT" ( component that you can edit : the target component for commands as : COPY , INStantiate SYMbol , MOVE , ADD PROperty , ADD PIN , CHAnge FRAme DIMension ... ) You can create some new components with command : CREate COMponent ( becomes the EDIT_COMPONENT ) you can define the "EDIT_COMPONENT" with command EDIt COMponent ( the one selected ) * COMPONENTS is made of : ** 1 component BODY : that includes graphical + properties data for the component itself . ** 1 to N component PINS : that includes graphical + properties data for the component PINS . ** 0 to 1 component FRAME : that includes graphical + properties data for the component itself . ** 0 to N EXTERNAL SYMBOLS ( limited by Computer configuration >> 10 ) that have been loaded with commands : ACTivate SYMbol , INStantiate SYMbol * 1 EXTERNAL SYMBOL is made of : ** 1 component BODY : that includes graphical + properties data for the external symbol itself . ** 1 to N component PINS : that includes graphical + properties data for the external symbols PINS . 0.2.6 PRINCIPAL FUNCTION of the SYMBOL EDITOR ( TSED ) : * The target component for some command is ONLY the "EDIT_COMPONENT" * You can EDIT graphics and properties on COMPONENTS , FRAMES , EXTERNAL SYMBOLS ( depending of their switches ) , with command as ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc : ** for component BODY you can : *** edit the body GRAPHICS with command : LINe STArt , LINe CONtinue , ARC CONtinue , COPY , MOVE , DELete , SELect AREa ... etc ( to edit part of graphics use SMAsh ON ) *** edit the body PROPERTIES with command : ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc : ** for component PINS you can : *** edit the pins GRAPHICS with command : ADD PIN , DELete , SELect AREa ... etc ( if you delete the graphics you delete also all the pin with their properties ) *** edit the pins PROPERTIES with command : ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc : ** for component FRAME you can : *** edit the frame GRAPHICS with command : DELete , CHAnge frame DIMension , SELect AREa ... etc ( if you delete the graphics you delete also all the frame with their properties ) *** edit the frame PROPERTIES with command : ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc : ** for body of EXTERNAL SYMBOL you can : *** edit the body GRAPHICS with command : DELETE , INSTantiate SYMbol ... etc ( if you delete the graphics you delete also all the external symbol with their pins , properties ) *** edit the body PROPERTIES with command : ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc ( for property that are NEW or NOFIXED ) ** for PINS of EXTERNAL SYMBOL you can : *** edit the pins GRAPHICS with command : delete , DELete , SELect AREa ... etc ( if you delete the graphics you delete also all the pin with their properties and all the symbol ) *** edit the pins PROPERTIES with command : ADD PROperty , CHAnge PROperty VALue , SELect PROperty , ... etc : ( for property that are NEW or NOFIXED ) ** You can add to the "EDIT_COMPONENT" some EXTERNAL SYMBOL ( entirely copied as SYMBOL into the EDIT_COMPONENT ) with : ACTivate SYMbol , INStantiate SYMbol ** You can update an old external symbol with : UPDate SYMbol ** You can view and copy part of an external symbol with : VIEW SYMbol , COPY Context ... etc to the EDIT_COMPONENT ( body and pins ) . ** You can UNDO 1 to N step of previous command and AFTER You can REDO 1 to N step of previous command . ( Starting until the begining of the session ) ** You can RESTART the previous session using : "$ TSED dir_name dir_name/cur_session " ( the file "dir_name/cur_session " is automatically during the sessions with all commands done so can restart it as an external " DO_FILE " ) * You can generate a file SCRIPT to remake the symbol ( for transfert , record , ... ) ** compatible to TSED from ATELECAD ** compatible to SYMED from MENTOR ( MENTOR is a trade mark of MENTOR graphics corp ) * You can generate a ASCII file DATA to get symbol data . ( for netlist , customised tools , ... ) * you can GROW ( UP / DOWN ) a symbol using 1 command . 0.2.7 SCHEMA OF STRUCTURE : SYMBOL | -------------------------------------- | | component_1 component_2 | ----------------------------------------------------------- | | | | | frame | body pin_1 pin_2 | | | | ( graphics + | ( graphics + ( graphics + properties ) | properties ) properties ) | | ------------------------------ | | symbol_1 (external) symbol_2 (external) | -------------------- | | body pin_1 ( graphics + ( graphics + properties ) properties ) 0.2.8 EXPANDING SHEETS : The Expand editor TEXP can Expand HIERARCHICAL electronic schemas and can use to edit it : * symbols created with the symbol editor TSED * sheets created with the sheet editor TNED Symbol defines : * the representation of the component ( not their functions ) * the PINS ( position,name,number,...) to define interconnexions * the parameters ( also called PROPERTIES - name-values-owners -switches ) and passing way from symbol to sheet . Sheet defines : * the function of the corresponding symbol ( if any , and not their representation ) : using : ** the INSTANCES of the used SYMBOL ( position,name,number,...) . ** the INTERCONNEXIONS between INSTANCE PINS . * the parameters ( that can bee edited ... ) . Using TEXP you can : * control the "DEPTH" of expand by using the command "PRIMitive" , the parameters defining name and value of properties that are on the body of a primitive ( the expand stops at that level ) * store in the design file , in the order you mentionned , the properties ( name , values ) that belong to object : ** instance body ** instance pin ** net ** frame . * view the expanded sheet , select object , get status ... etc . view down into instance sheet , until you reach the bottom level , view up until you reach the top level . * view another sheet or symbol . * change menu or key function * define the time step that will be used during logic simulation and to convert before to store the "TIME" properties ( with the command "TIME STEP" ) . * show the owner of selected properties using the command "SHOW LINK" . * You can generate a ASCII file DATA to get design data ( for netlist , customised tools , ... ) using the command GENerate DATa . 0.2.9 LOGIC SIMULATION : The logic simulator can simulated HIERARCHICAL electronic schemas and can use to simulate it : * symbols created with the symbol editor TSED * sheets created with the sheet editor TNED * design file created with the sheet expander TEXP Symbol defines : * the representation of the component ( not their functions ) * the PINS ( position,name,number,...) to define interconnexions * the parameters ( also called PROPERTIES - name-values-owners -switches ) and passing way from symbol to sheet . Sheet defines : * the function of the corresponding symbol ( if any , and not their representation ) : using : ** the INSTANCES of the used SYMBOL ( position,name,number,...) . ** the INTERCONNEXIONS between INSTANCE PINS . * the parameters ( that can bee edited ... ) . Using TSIM you can : * INIT , DEFINE ( function of time ) , all equipotentials by their names , using commands as : FORCE , CLOCK PERIOD , "INIT" properties on "NETS" , "GLOBAL" name . * LIST , TRACE the results of simulation : using commands : LIST , TRACE , PERIOD LIST , PERIODE TRACE * define a name for UN_NAMMED EQUIPOTENTIAL using : PROBE ( at level 0 , or -1 , -2 ... using VIEW DOWN ) * regenerate the simulation with new equipotential . * view the expanded sheet , select object , get status ... etc . view down into instance sheet , until you reach the bottom level , view up until you reach the top level . * view another sheet or symbol ( VIEW SHEET ) . * change menu or key function ( DEFine MENU ...) . * show the owner of selected properties using the command "SHOW LINK" . * execute automatic SCRIPT ( DO ). * define BREAK time point for a wanted time and NET state . * reset action : using FORGET ... , RESET SIM TIME * define a "SPIKE MIN" under this value no warning for spike condition ( control only the WARNING messages , and so allows to suppress the unwanted warning message , for instance during an init period , or when spikes are too short to be significant ) * define 4 different SPIKE strategies ( SPIKE MODel ) . * define if needed for some (or all) "INSTANCES" (and their child) their switches to define for them : "Min/Typ/Max" SEPARATELY . ( TIMING INDex ) * define coefficients to modify delays , timings (setup, hold, minpulse ) using TIMING COEFFICIENT . * to status most of the object . 0.2.10 ANALOGIC Netlist : 0.2.10 - Property on Symbol : -------------------- 0.2.10.1 the netlistor go down the circuit hierarchy until it find a property that define this symbol as "primitive" (property on Symbol Body) ==> No property primitive : it goes until no sheet was found ==> default property name for primitive : "SPICEMODEL" ==> you may use another property name : [property] ex: "PMODEL" 0.2.10.2 PRIMITIVE : the data that define "model","model parameters" .... should be the value of a property on Symbol Body: ==> name : "INST" ; value : "component name" ex of data: "Q1" "M1" ................... ==> name : "VALUE" ; value : "data..." ex of data: "gha55h90" "'gha55h90 mult=2'" ................... 0.2.10.3 Intermediate Symbol : the data that define the "subckt"," subckt parameters" .... should be the value of a property on Symbol Body: ==> generate a SUBCKT for SPICE .... ==> name : "INST" ; value : "Subckt name" ex of data: "X1" "xp1" ................... ==> name : "VALUE" ; value : "data..." ex of data: "PDIFF" "'PDIFF parameters mult_=2'" ................... 0.2.10.4 you should have on Symbol pin : "PIN" (pin name) 0.2.10.5 Exemple : # TSED # C_3 BODY_comp NOFixed Visible "inst" "XP" # C_3 BODY_comp Fixed Visible "VALUE" "PDIFF" # P_35 PIN_comp Fixed NOVisible "PIN" "C2" # P_35 PIN_comp Fixed NOVisible "PINTYPE" "IO" # P_38 PIN_comp Fixed NOVisible "PIN" "EM" # P_38 PIN_comp Fixed NOVisible "PINTYPE" "IO" # P_41 PIN_comp Fixed NOVisible "PIN" "BA1" # P_41 PIN_comp Fixed NOVisible "PINTYPE" "IO" # P_44 PIN_comp Fixed NOVisible "PIN" "BA2" # P_44 PIN_comp Fixed NOVisible "PINTYPE" "IO" # P_47 PIN_comp Fixed NOVisible "PIN" "C1" # P_47 PIN_comp Fixed NOVisible "PINTYPE" "IO" # STAtus PROperty Edit --------------------------------------------------------- * "" # * "diviecl" # * "/XP1" # * "pairediff/sheet.tm_1" # .SUBCKT PDIFF (BA1,BA2,C1,C2,EM) # * I_68 # VE (TAIL,EM) 0.6 # * I_106 # B1 (C1,TAIL) I=(0.5*I(VE))*(1.0+(tanh((v(BA1)-v(BA2))/0.052))) # * I_256 # B2 (C2,TAIL) I=(0.5*I(VE))*(1.0-(tanh((v(BA1)-v(BA2))/0.052))) # * I_153 # RBE1 (BA1,TAIL) 10meg # * I_206 # RBE2 (TAIL,BA2) 10meg # * I_238 # RCE2 (C2,TAIL) 100meg # * I_247 # RCE1 (C1,TAIL) 100meg # * I_265 # RGND (EM,0) 100meg # * I_187 # CBC1 (BA1,C1) 0.1p # * I_229 # CBC2 (BA2,C2) 0.1p # .ENDS PDIFF # * # * I_58 # VDD (VDD,0) 3 # * I_148 # V1 (E1,0) 1.5 AC 1 PULSE(1,2,1n,1n,1n,10n,20n) # * I_157 # V2 (E2,0) 1.5 # * I_252 # V4 (E4,0) 2.5 # * I_107 # IT1 (N_114,0) 1m # * I_261 # IT2 (N_268,0) 1m # * I_228 # RQ1 (VDD,Q1) 1k # * I_243 # RQ2 (VDD,QB1) 1k # * I_280 # RQ3 (VDD,Q2B) 1k # * I_295 # RQ4 (VDD,Q2) 1k # * I_605 # XP1 (Q2B,E4,VDD,Q1,N_328) PDIFF # * I_619 # XP2 (E1,E2,N_328,N_315,N_114) PDIFF # * I_633 # XP3 (E4,Q1,Q1,QB1,N_315) PDIFF # * I_647 # XP4 (Q1,E4,Q2B,Q2,N_358) PDIFF # * I_661 # XP5 (E2,E1,N_358,N_351,N_268) PDIFF # * I_675 # XP6 (Q2,E4,Q2B,Q2,N_351) PDIFF # * # ************************************* # * End of Netlist # ************************************* # * # * 0.2.10.6 you may generate parameters data for SUBCKT : property to add : on SYMBOL : (using tsed) ==> "PARAMS" ; value : ex: "W_=10u L_=2u" ( SWItches : Not_fixed Visible) ==> actual parameter value ==> the value could be change using tned ==> "PARDEF" ; value : ex: "W_=3u L_=3u" ( SWItches : Not_fixed Visible) ==> default parameter value property to update : on INSTANCE : (using tned) ==> "PARAMS" ; value : ex: "W_=20u L_=4u" ( SWItches : Not_fixed Visible) ==> actual parameter value 0.2.10.7 Exemple : # * "" # * "bascfin2" # * "/XB" # * "basc/sheet.tm_2" # * "/XB/XNA1" # * # * symbol : "nand3" # *C_3 BODY_comp NOFixed Visible "INST" "XNA" # *C_3 BODY_comp Fixed Visible "value" "NAND3" # * # * "nand3/sheet.tm_1" # .SUBCKT NAND3 (aln,alp,I1,I2,I3,O1) # * I_163 # M4 (O1,I1,NET1,aln) MEKVN W=10u L=1u # * I_176 # M5 (NET1,I2,NET2,aln) MEKVN W=10u L=1u # * I_189 # M6 (NET2,I3,aln,aln) MEKVN W=10u L=1u # * I_241 # M1 (O1,I1,alp,alp) MEKVP W=30u L=1u # * I_258 # M2 (O1,I2,alp,alp) MEKVP W=30u L=1u # * I_275 # M3 (O1,I3,alp,alp) MEKVP W=30u L=1u # .ENDS NAND3 # * # * "/XB/XI1" # * # * symbol : "inv" # *C_3 BODY_comp NOFixed Visible "INST" "XI" # *C_3 BODY_comp Fixed Visible "value" "INV" # *C_3 BODY_comp NOFixed Visible "params" "'W_=10u L_=3u'" # *C_3 BODY_comp Fixed NOVisible "pardef" "'W_=10u L_=3u'" # * # * "inv/sheet.tm_1" # .SUBCKT INV (aln,alp,I1,O1) parameters W_=10u L_=3u # * I_109 # M2 (O1,I1,aln,aln) MEKVN W=W_ L=L_ # * I_158 # M1 (O1,I1,alp,alp) MEKVP W=W_ L=L_ # .ENDS INV # * # * "/XB/XA3" # * # * symbol : "inv" # *C_3 BODY_comp NOFixed Visible "INST" "XA" # *C_3 BODY_comp Fixed Visible "value" "NAND2" # *C_3 BODY_comp NOFixed Visible "params" "'W_=10u L_=3u'" # *C_3 BODY_comp Fixed NOVisible "pardef" "'W_=10u L_=3u'" # * # * "nand2/sheet.tm_1" # .SUBCKT NAND2 (aln,alp,I1,I2,O1) parameters W_=10u L_=3u # * I_125 # M3 (O1,I1,NET1,aln) MEKVN W=W_ L=L_ # * I_143 # M4 (NET1,I2,aln,aln) MEKVN W=W_ L=L_ # * I_192 # M1 (O1,I2,alp,alp) MEKVP W=W_ L=L_ # * I_210 # M2 (O1,I1,alp,alp) MEKVP W=W_ L=L_ # .ENDS NAND2 # * # * symbol : "basc" # *C_3 BODY_comp NOFixed Visible "INST" "Xbascule" # *C_3 BODY_comp Fixed Visible "value" "basc" # * # .SUBCKT basc (aln,alp,CLK,D,Q,QB) # * I_128 # *I_128 INSTANCE : "nand3/symbol.tm_1" # *I_128 I_BODY NOFixed Visible "INST" "XNA1" # XNA1 (aln,alp,N_202,CLK,N_169,N_188) NAND3 # * I_416 # *I_416 INSTANCE : "inv/symbol.tm_2" # *I_416 I_BODY NOFixed Visible "INST" "XI1" # *I_416 I_BODY NOFixed Visible "params" "'W_=20u L_=2u'" # *XI1 (aln,alp,N_184,QB) INV W_=20u L_=2u # * I_429 # XI2 (aln,alp,N_177,Q) INV W_=20u L_=2u # * I_484 # XA3 (aln,alp,N_169,N_202,N_164) NAND2 W_=20u L_=2u # * I_499 # XA4 (aln,alp,N_177,N_169,N_184) NAND2 W_=20u L_=2u # * I_514 # XA5 (aln,alp,N_188,N_184,N_177) NAND2 W_=20u L_=2u # * I_529 # XA6 (aln,alp,CLK,N_164,N_169) NAND2 W_=20u L_=2u # * I_544 # XA7 (aln,alp,D,N_188,N_202) NAND2 W_=20u L_=2u # .ENDS basc # * # * I_33 # V (VDD,0) 5 # * I_46 # Va (clk,0) 0 ac 0 pulse 0 5 15u 1u 1u 10u 30u # * I_59 # Vb (D,0) 0 ac 0 pulse 0 5 10u 1u 1u 10u 20u # * I_242 # XB (0,VDD,clk,D,Q,QB) basc # * # ************************************* # * End of Netlist # ************************************* # * # * special KEYS : ************* (* programmable *) extract All "F" Keys CNTL_N --> to QUIT without saving CNTL_Y --> to QUIT and SAVE (* not programmable *) CNTL_A --> to stop procedure execution CNTL_C --> to QUIT without saving CNTL_D --> to QUIT and SAVE Esc --> escape --> delete all the CMD line Insert --> again --> add/copy string to the CMD line Backspace --> backspace --> delete 1 left char of the CMD line Delete --> delete --> delete 1 right char of the CMD line ############################## EOF ###########################################