PreMessage23.tioga
-- Jacobi, March 18, 1986 2:44:44 pm PST
ChipNDale 2.3 released.
The main changes for clients are
Clean up of my very long pending list. (Including name changes)
Recursive properties allowed again.
Expand mechanism has weakened, clearly stated (not necessarily simple) invariants.
Multiprogramming possibilities for clients improved.
Interactive usage is not essantialy changed.
The file [Cyan]<DATools6.0>CDCommon23>doc>renames23.tioga contains list of
changed names and instructions how to use the EditTool to substitute these names
quickly. It can not be complete, some changes depend on context or need manual inspection.
To get rid of old load files, it might be a good idea to delete CD*!*, delete CMos*!*, NMos*!*; bringover environment [To get ChangeWorkingDirectory again] and bringover ChipNDale. Do that (or use a new subdirectory). Lots of old loadfile are replaced with cm files; the old files will deceive you for sure if you don't delete them.
/Cyan/DATools6.0/Top/CDDesign23.df contains pointers to other tools already converted to release 2.3. As soon as the additional tools you might need are converted to ChipNDale 2.3 you might switch to ChipNDale 2.3 at your own paste. It is not possible for me to wait with a release until all tools are ready; I do not have the necessary control, nor do I think such tight control would be good. Most of the Core related tools are already available for version 2.3. Check /Cyan/DATools6.0/Top/DAWorld.df for those tools.
ChipNDale version 2.2 will be archived; any improvements or bug corrections on 2.2 made after this release will not be added to the archive. I will not delete version 2.2 without previous message to ChipNDaleUsers^.pa and DAToolsUsers^.pa. Version 2.1 will be deleted unless somebody get serious problems.
Changes in interfaces
This is not a complete list of changes,
it contains only changes clients should know
CD
Comments about invariants are improved
ContextFilter uses booleans instead of Imager.color; ContextColors: new concept
OutlineProc uses a layer
names of layers are changed
commentLayer is now a technology independent layer
old inside rect features are removed
further proc removed; use properties
uses HashTable for directory, but exported as REF ANY (module changes too often)
registration of object classes is more elegant
creation of Draw-Records is more elegant
parent object classes, for object oriented tricks...
CDBottomUp (CDExtras23.df)
Handle has more fields for client
This module should be used more! It allows analysis tools to monitor whether cells or subcells where changed since last analysis, and to do the analysis of subcells in the right order.
CDCells
SetSimplificationTreshhold: new proc (simplifyOn is real; speed up)
SetBorder: new proc (new field drawBorder: BOOL)
CDCleanUp
comments improved
procedures can have a root object
new proc RemoveProperties
CDCommandOps
procedures return Rope; dont write directly anymore
LambdaRope: from CDExtras
InstRope: renamed
BoundingBox: from CDExtras
CallWithResource can wait until resource is freed
CDColors
Imager colors are handled identical to bricks
CDDirectory
ExpandProcs AnotherProcs redesigned. The actual expansion or copy works exactly as before, but the procedures return to the caller what he might do with the result. (If a procedure caches the result, the caller now knows that he must not change the result...) There are new higher level procedures to convert or copy immutable returned objects into mutable state.
creation of objectclasses in directory is more elegant
implementation does no more use LOOPHOLE
CDDirectoryOps
procedures have better names
CDExtras
procedures moved to proper places
ToRope, ToLambda, BoundingBox --> CDCommandOps
RemoveProperties --> CDCleanUp
PushedCellName --> CDCells
CDInstances
Transform: Removed
SplitPointed: Removed
Copy: New
Composed: New
DeComposed: New
ComposedList: New name
DeComposedList: New name
TransformList removed
CDIOExtras
included into CDIO
CDLayers
new procedure Kind.
(new procedure MakePaint)
CDMarkObjects
removed; use CDSymbolicObjects
CDPanelExtras
included into CDPanel
CDPinObjects
removed; use CDSymbolicObjects
CDPrivate
New low level features to implement enumeration of (mutable) designs. Necessary, so CDSequencer can implement enumeration of designs to be periodically saved without importing CDViewers.
CDProperties
use module PropertyLists instead of Properties.
A new module PropertyLists is made instead to change Properties to avoid version conflicts; Properties will no more be supported.
property list will not be reordered; vanila user can now safely enumerate properties
output and copy without monitor lock (no reorder to prevent): properties can have (recursive) CD-types with property lists again
procedures renamed; new names are easier to remember
properties registration can set a boolean field which causes the property to be removed on edits.
CDPropertyTools
Should be used by all tools which set up parameters by setting global properties. This module allows to undo such a setup without exactly knowing the set up.
CDTextExtraction
replaces CDPropertyExtraction; (Same features but better parameters).
CDSequencer
Is now the only way to serialize calls
no private data fields visible anymore
procedures Quit and AbortDesignsCommand are renamed
new procedure to initialize a designs queue (So designs created by patchwork are immutable unless dialogue opened)
CDSimpleRules
new MaxWidth feature (for limited size cuts)
CDSymbolicObjects
direction has a none constant. The direction constants have a certain order (Not changed); if you define direction constants of your own, try to use the same order unless you have a reason not to. (The selected order makes computations with CD.Orientation easy).
CDViewer
CreateViewer has field to tell whether design should be opened for queued (interactive) commands.
ShowArrow, RemoveArrow removed; use module CDVArrow instead
CSMonitor (CSMonitor23.df)
Monitor request returns the viewer
Redesplay feature
CStitching (CStitching2.df)
replaces CornerStitching. Main difference: the new definition module is such that both implementations could use it. (The changed module has a different name, so you could still use the old one; don't)
Better statement of what operations are legal when
Renaming; better and shorter.
... en replaced by eN: for emphasis on asymetry.
Some functional changes
CD
Uses less GFI's (>8 implementation modules merged, removed or changed to use less gfi's)
Displaying cells is faster (again)
The viewer lock problem on the color display is improved; not locking has been reported yet.
InterpressPlot (CDInterpressPlot23.df)
now draws borders
Hierachical property extraction (CDExtras23.df)
New package. I'm not sure whether property extraction should be hierarchical, but this is a good test of CDBottomUp.
Background design rule checker (CDBackgroundCheck23.df)
semi new
The old CDColors commandtool command is removed from basic ChipNDale and included into CDExtras23.df.
-- Christian