File: CedarThymeDoc.tioga
Copyright (C) 1984 by Xerox Corporation. All rights reserved.
Last Edited by: SChen, May 28, 1985 5:52:27 pm PDT
-- IF you are reading this documentation on line, you might want to make use of the Tioga Levels commands to see different levels of texts.
A. Cedar Thyme 1-2-3
1. BringOver [Cherry]<Thyme>Cedar5.2>Top>Thyme.df

BringOver with "public" access. This will give you all the files necessary to run Thyme, including all the fonts, all the supporting packages, an example (CMOSInverter.thy) and its sample outputs, ... etc.

It is considered a good practice to set working directory properly before running Thyme. ///Thyme/ is suggested but not required.
2. User Profile

Thyme currently expects 8 bits per point on your color monitor. To set your color monitor properly (once and for all), just put the following lines in your user profile if they are not there yet:
ColorDisplay.Side: left -- or right, if you like.
ColorDisplay.BitsPerPoint: 8
ColorDisplay.Type: 640x480 -- or 1024x768, depending on your monitor.
3. Load and Run

Type

thyme <return>

in the CommandTool (after bringing over), and a Thyme viewer will be created. Give it your input file name (say, NmosInverter, which should have been brought over with Thyme.df) and click Run. It will go for it.

You may simulate another circuit using the same viewer when the previous run is completed. Just change the input file name (to say, CmosInverter, which should have been brought over, too) and click Run. Typing thyme <return> in the CommandTool again will create another Thyme viewer, which should be able to simulate another circuit concurrently.
B. User's Guide
1. ThymeManual

If you havn't got a copy of the manual for Thyme written by Rich Barth, print out a copy of /Cherry/Thyme/Top/ThymeManual.press and read it. It gives you a lot more information about how Thyme works and how to use it.

Since the ThymeManual was written when Cedar Thyme was not available, a few places would need some modification to be applicable to Cedar Thyme. This documentation is therefore written to serve as a supplement to ThymeManual for users running Thyme in Cedar. It is assumed here that you already have some familiarity with the basics of the Cedar environment.
2. Viewers

The Cedar Thyme takes advantage of the Cedar Viewers package in designing the user interface. It may create two types of viewers. The one created after you type

thyme <return>

in the CommandTool is the main viewer (called "Thyme viewer" hereafter). Each "plot" statement in your input file may create the other type of viewer called "plot viewer".

2.1- Thyme viewer:

The Thyme viewer is initially created in the iconic state and looks like five basic circuit elements connected together. Once opened, it will show three regions under the white on black caption bar, as described below.

2.1.1- The menus

There are initially five menus shown in this region, namely, Stop, Dump Run, New and TypeScriptMenus. The last menu, TypeScriptMenus, may create (or destroy) six more menus beneath these five menus. The six additional menus deal with the typescript. They are: Save, Reset, Find, Word, Def, and FindError.

The Stop menu will abort the simulation without saving anything. Since this is somewhat destructive, the button is "guarded" by a short line segment, indicating that this button needs confirmation to take effect. If you want to stop the simulation, you should first click at it so that the little guard disappears; if you click at it again while the guard has not reappeared, this will serve as a confirmation to stop it.

The Dump menu may abort the simulation but also save the calculation that has been done so far, to be used as the initial condition of some later simulations. (See ThymeManual for more details about the IC command.)

The Run menu simply starts the simulation.

The New menu may create another instance of the Thyme viewer, which may be used to simulate another circuit concurrently -- or appear to do so.

The TypeScriptMenus menu is a toggle, which may create (or destroy) six menus beneath these five menus.

The Save and Reset menu buttons will save or reset the typescript viewer and its backing file, Thyme.log.

The Find, Word, and Def menu buttons are similar to the ones in a Tioga viewer, which may search texts, words, or definitions in three different "search directions" depending on which mouse button is clicked. Clicking with the shift key held down means that you don't care about the case of characters.

Similar to the above three searching buttons, the FindError button searches for error messages.

2.1.2.- The middle region

There are four lines in this region. They have to do with the working directory, the input file, the output file, and the progress of simulation, respectively.

The first line shows your working directory. (explained below in a different paragraph.)

The second line shows your input file name. You may specify your input file name here. It is assuming an extension of ".thy" and the highest version, so you may omit the extension and the version number if that's the case.

The extension may not be omitted when the version of the file is specified.

The third line will show your output file name(s) automatically once a simulation is started.

The last line indicates the progress of the simulation. There is always a cursor sized pattern in the blank region after the label "Progress:". The patterns are similiar to those employed by the Alto Thyme, except that:

when Thyme is in idle state, an anchor is shown; and when Thyme is parsing the input file, an eyeball is shown.

If you want to see the detailed time/step information, let the "details:" button be turned on (white on black). You may turn it on or off by clicking at the "details:" button.

In principle, the simulation should take less time when it's turned off, but the difference should be very little.

2.1.3- The typescript

This area is a typescript for messages sent out by Thyme. The texts are automatically stored in the file called "Thyme.log".

You may clear the typescript by the Reset menu button if you are not interested in what has been shown in it any more. You may save the typescript by clicking the Save button; but remember to rename this version of Thyme.log to a different name, otherwise later versions of Thyme.log may overwrite it.

2.2- Plot viewer:

Each plot command in your input file may create a plot viewer for you. Or you may create plot viewers by the "plot" command in a CommandTool to review plots saved from previous Thyme simulations. For more detail about this plotting facility, see PlotDoc.tioga, which should have been brought over with Thyme.df to you disk.

The plot viewers are related to the Thyme viewer as long as the simulation is running, so they may not be destroyed before the simulation stops by itself or is aborted by the user.
3. Working Directory

The working directory is initially set to the one where you invoke Thyme. You may change it to another directory.

But if you set this field to empty, then Thyme will set it to ///thyme/ when it tries to find the working directory. If you put a remote directory as the working directory, output files can not be created.

3.1- for output files:

All output files (including dump file, text output files, or plot files) will be created in the current working directory.

3.2- for input file and included files:

If you don't specify the directories for the input file or the included files, the current working directory will be assumed.

The input file and the included files may reside in a directory different from the current working directory. You may specify the directory for the input on the Thyme viewer. (In the "Input File" field.) You may specify the directory for the included files in your input file. (That is, after the ! mark. E.g., ! /Cherry/Thyme/Cedar5.2/Top/ThymeBasics)

3.3- for Thyme.error

When Thyme finds an error, it will look for a file in your working directory called Thyme.error in order to provide you with a little information as to what went wrong.

If it couldn't find it in your working directory, it would try with the Thyme release directory; if it still failed, it would still give you the error numbers. In this case, you would have to read the file Thyme.error by yourself for some hints about the errors.
4. Minor Changes from Alto Thyme

4.1- Library models and functions:

You don't have to specify any of the the following library statements at the beginning of your input file any more. They are included by default.

library[MosModels];
library[StdFunctions];
library[Level2Model];

For those modeling wizards: the library statement still works to include any special models of your own.

4.2- Process files names:

A character "C" is added in the file names. E.g., Cmos2.0u25.thy is now renamed to Cmos2.0u25C.thy.

Some users think it may provide a little more information to have a C in the names of these process files, and it might be more natural when one types their names out. Of course you are free to rename them on your disk.

4.3- MAXITER:

The paragraph about MAXITER in the manual is modified to read:
MAXITER ← 20 Sets the maximum of iterations the Gauss Sidel procedure will go through before it complains that the iteration count has been exceeed. For Alto Thyme, this parameter may be specified to be 0 up to 32767; and for Cedar Thyme, it may be 0 up to 2147483647 (=LAST[INT]). If you specified a value greater than 32767 for this parameter with Alto Thyme, it may not work.

When this limit is exceeded, Thyme will give you a message telling you so, but still try to go on, until it converges or exceeds the actual limit of iterations. For Alto Thyme, the actual limit of iterations that may be performed is twice this parameter's value. For Cedar Thyme, it is the minimum of twice this parameter's value and 2147483647. If the solution has not converged when this actual limit of iteration count is reached, the signal "solveError" will be raised with the message "GS did not converge", and Thyme will fall into the debugger.
C. Comments Are Always Welcome

We would like to make Thyme as useful and friendly as possible to our designers. Any comments from you are therefore always welcome.