Assemble the whole chip, assuming the SC block has been checkpointed as ArbInFrame.core Statistics on ColorDisplayModeOff Install DAUser _ CedarProcess.SetPriority[background] cdread Arbiter25 _ &design _ CDViewer.FindDesign["Arbiter25"] _ &cx _ Sisyph.Create[&design, NIL] -- Generate whole chip, assuming SC block has been cached on file _ &ct _ Sisyph.ES["Arbiter.sch", &cx] -- this extracts the top-level schematic -- _ CoreIO.ReportSaveCellType[&ct, "ArbSch.core"] -- Apply Static Install Static _ Static.CountLeafConnections[&ct, Static.CheckCount, CoreFlat.CreateCutSet[labels: LIST["Logic"]]] -- errors can be found found in the terminal -- Generate Layout _ &ob _ PWCore.Layout[&ct] -- creates the CD object and attaches it to the cellType _ PWCore.Store[&ct, TRUE] -- saves the decorated Core under Arbiter.core, the layout under ArbiterLayout.dale, and a view of the public pins under ArbiterShell.dale -- the decorated Core will be read back for future work -- the layout will be DRCed, plotted, and turned into a Mebes file -- the shell will be needed to check the pad position and make the probing and bonding maps _ PW.Draw[&ob] ΤArbCountdown2.cm Copyright Σ 1987 by Xerox Corporation. All rights reserved. Louis Monier November 10, 1987 5:56:45 pm PST Last Edited by: McCreight November 10, 1987 5:17:21 pm PST -- Start everything and read in the source design -- you always want to know how long it took -- saves a lot of cycles -- SpiceOps -- and anything else you might need such as FSA, DP, Alps, ..., or any of your private code -- read the CD design -- this creates a context for Sysiph -- Apply MintCheck Install Mint _ &circuit _ Mint.CreateCircuit[&ct] _ MintCmds.PrepareCircuit[&circuit, FALSE]; _ Mint.CheckLibrary[&circuit] -- errors can be found found in the terminal -- make a note of this number of transistors, and write home about it -- you also get an estimation of the total capacitance which you can use to derive an upper bound on the average power consumption. -- Simulate as completely as possible, at transistor level (assuming testproc) Source TestArbiter.cm -- Check the connectivity Install ConnectivityChecker CheckConnectivity ArbiterLayout.dale -- signals all disconnected internals; returns a list of disconnected publics -- DRC ArbiterLayout.dale (we need a programming interface) -- Plots CDPlot Sleepy -k ArbiterLayout -- Plot ArbLayout.dale and eyeball it -- Use the shell to produce a bonding map; make sure that all bonding and wiring constraints are satisfied -- Generate the Mebes files source CDMEBESCMOSB01Oct87.load _ %CDMEBES.stripesPerClump _ 5; _ %CDMEBES.wDir _ "///mebes/" _ &layDesign _ PW.OpenDesign["ArbiterLayout"] _ CDProperties.PutDesignProp[&layDesign, $CDMEBESMaskSetName, "ARBNOV87A"] -- 9 chars, alphanum _ CDMEBESMainImpl.StartMEBESMask[NEW[CDSequencer.CommandRec _ [design: &layDesign]]] -- generates a bunch of files of the form ///mebes/ARBNOV87A/ARBNOV87A.dd -- Smodel under /indigo/dragon7.0/Arbiter12Oct87.df and archive immediately -- Visit your travel agent for good prices for Tahiti Κq˜™Icode™