cd22.tioga
-- Jacobi, October 17, 1985 7:41:54 pm PDT
ChipNDale 2.2 is not yet released
Tioga level structure introduced.
Most definition modules commented.
You wouldn't believe it, but I have removed more than I have introduced.
40 words in mds are saved (20 at some speed cost, 20 for free just by carefull checking)
2 GFI's are saved by mergin modules. (Well, I will not merge modules which do not belong together)
CD
lambda removed, lambda field included into the technology. This will allow increasing lambda if it proves necessary for second sourcing.
ObjectClass.reservedForCDEnvironment removed. The module was CDEnvironment was removed earlier.
InterestSize new proc. Vanilla procedure, but used fairly often.
ContextFilter simpler (saves memory)
DrawInformation
specialFonts,
checkPriority boolean flags; (cleaner)
Properties renamed to PropList (resolves name conflict with new module Properties)
CDAtomicObjects
size is interest rect size. Designers creating designs by program will be thankful.
CDColors
Allows specifying of context filters. Good for ChipNSil.
CDDefaultProcs
CDDefaultProcsExtras merged in.
CDDrawQueue
replaces CDDraw; is simpler (and [not measurable] faster)
CDExtras
ToLambda has lambda parameter.
SelectedBox new procedure.
CDImports
All names and comments beautyfied
Load now has a design-name (previous: design) Not giving the user access to the cached design allows to share it with CDRemote.
CreateImport if necessary loads the design first... If all you want are the defaults, CreateImport the only procedure of this module you need.
CDIO
UseWorkingDirectory removed; Cedar does not allow this without dirty trick
ReadDesign has new working directory parameter
CDIOExtras
New module; all silly simple procedures; but they were coded inline in zillion places before
CDLayers
new module; replaces CDDefaults and CDDefaultsExtras. May now be used by arbitrary clients without invalidating the control panel.
CDMenus
comments made understandable
new procedure ImplementMenuEntryCommand for conveniance
CDObjectProcs
removed; replace it with CDProperties. This module was not used so often that it could not as well be implemented using properties.
CDOrient
Get rid of forgotten 45...
CDPanel
setting and querrying the default layer is removed; use CDLayers directly
panel get the changes if other source cause a change in default layer width
lambda from technology
CDProperties
PropRef: TYPE = REF Properties; --must never be NIL;
this allows to put properties on more types, but to have a smaller (faster) select statement. Important types like Objects and Instances still have direct properties.
Properties: use module Properties instead of Atom; uses substantially less memory and is a little bit faster, at cost of more expensive enumeration of properties.
Properties MUST NOT be enumerated without CDProperties's monitor lock. If you want to enumerate properties in a vanilla program, make a copy first and enumerate the copy. (Otherwise a GetProp from a concurrent process fools your enumeration; [ChipNDale actually doesn't care])
Properties can not contain objects which contain Properties. Would wedge when written to files.
CDRemote
replaces CDGenerateRemote; easier to use
CDTexts
comments removed, (I didn't remember if they were correct or wrong)
MakeFont is only procedure to create a font
CDUtil
usefull stuff for client generation of chipndale objects; replaces old modules CDSimpleCells and CDSimpleCells2 (without changes)
CDValue
new procedure StoreConditional. This allows implementation of arbitrary initializations in an atomic way without introducing monitors. This is specially useful for programs which are already monitored, recursiv monitor entry for initialization will not wedge.
Registration has new registrationKey parameter (like CDProperties always had)
CMosObjects
size is interest rect size
CornerStitching
Beautified; The definition module now documents legal conditions to call procedures
Enumerations have split into two procedures with less parameters each.
ChangeTile no more inline, but works for every tile.
TerminalIO
WriteF, WriteF1, WriteRopes, TOS new procedures
time outs for RequestSelection and Confirm
Confirm replaces UserSaysYes
TerminalIOExtras: RequestRope with timeout. This procedure has been introduced into an "Extras" module, because the correctness of its implementation depends on assumptions which have been checked by experiments.
Interpress plot
Font substitution for all scales; different format of font substitution file. Thanks to Don.
PD plot
Supports c150.
Special colors for ChipNSil-stick diagrams on c150
Supports c400.
All the coordinate transform between design and device is rewritten. Removed some rounding errors.
Label generation
Hack to make a flat cell with labels matching all texts in tioga fonts. Handy for plotting.
New cmos-B technology NOT YET PART OF RELEASE
for the dragon project
Large contacts, vias (space key).
3 lambda diffusion over gate.
With conversion program from cmos-A
funny comment layer
...
Cursor tracking on Dandelions is faster