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]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.1/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.1/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 dRelMessage23.tioga -- Jacobi, March 18, 1986 2:44:44 pm PST gbb May 15, 1986 10:41:04 am PDT Κμ˜šœ™J™(Icode™ —J˜JšΠbl˜J˜J˜˜ J˜@J˜#J˜RJ˜5J˜—J˜-J˜Jšœω˜ωJ˜JšœΆΟbœ“˜ΠJ˜JšœŒ˜ŒJ˜J˜΅J˜Jšž˜J˜˜(J˜,—J˜šœ˜Jšœ&˜&JšœO˜OJ˜Jšœ˜Jšœ2˜2J˜$J˜$JšœP˜PJ˜.J˜(J˜4J˜—˜J˜!J˜ΉJ˜—˜JšœC˜CJšœ0˜0—J˜˜ K˜K˜!K˜J˜—˜ J˜3Jšœ˜Jšœ˜Jšœ˜Jšœ1˜1J˜—šœ˜J˜-—J˜˜ J˜ξJ˜6J˜(J˜—˜J˜J˜—˜˜!J˜.J˜J˜—J˜—˜ J˜Jšœ˜J˜ J˜ J˜Jšœ˜Jšœ˜Jšœ˜—J˜˜ J˜—J˜šœ˜Jšœ˜Jšœ˜J˜—šœ ˜ J˜—J˜˜ J˜—J˜šœ ˜ J˜—J˜˜ J˜»J˜—˜ K˜/K˜‚K˜TK˜€K˜4K˜aJ˜—˜J˜žJ˜—˜J˜EJ˜—˜ K˜&K˜&Kšœ3˜3K˜t—J˜šœ ˜ J˜,—J˜šœ˜J˜ˆ—J˜šœ˜Jšœb˜bJšœ<˜<—J˜šœ˜J˜"J˜—J˜šœ˜JšœΜ˜ΜJšœ2˜2J˜Jšœ3˜3—J˜J˜Jšž˜J˜˜J˜YJ˜"J˜\—J˜˜'J˜—J˜˜/J˜uJ˜—˜8J˜—J˜J˜eJ˜J˜ —…— π