DIRECTORY CD, CoreCreate, PW, PWCore, Rope, Sisyph; BIC: CEDAR PROGRAM IMPORTS CoreCreate, PW, PWCore, Sisyph = BEGIN OPEN CoreCreate; design: CD.Design; cx: Sisyph.Context; Extract: PROC [name: ROPE] RETURNS [cellType: CellType] ~ { cellType _ Sisyph.ExtractSchematicByName[name: name, cx: cx]; }; CSeq: PROC [inX: BOOL, name: ROPE, ct: CellType, count: NAT, wrs: LIST OF WR] RETURNS [cellType: CellType] = { cellType _ SequenceCell[name: name, baseCell: ct, count: count, sequencePorts: WireList[wrs]]; IF inX THEN PWCore.SetArrayX[cellType] ELSE PWCore.SetArrayY[cellType]; }; CSeqX: PROC [name: ROPE, ct: CellType, count: NAT, wrs: LIST OF WR] RETURNS [cellType: CellType] = {cellType _ CSeq[TRUE, name, ct, count, wrs]}; CSeqY: PROC [name: ROPE, ct: CellType, count: NAT, wrs: LIST OF WR] RETURNS [cellType: CellType] = {cellType _ CSeq[FALSE, name, ct, count, wrs]}; MakeDP: PROC [n: NAT] RETURNS [ct: CellType] ~ { slice: CellType _ PWCore.RotateCellType[Extract["normalSlice.sch"], $Rot270]; ct _ CSeqX["DataPath", slice, n, LIST["fromPad5V", "toPad5V", "fromPad2V", "toPad2V", "ShiftIn", "ShiftOut"]]; }; Rot270: PROC [name: Rope.ROPE, cx: Sisyph.Context] RETURNS [ct: CellType] ~ { ct _ PWCore.RotateCellType[Sisyph.ES[name, cx], $Rot270]; }; design _ PW.OpenDesign["BIC"]; cx _ Sisyph.Create[design: design]; END. ξBIC.mesa Copyright Σ 1985, 1987 by Xerox Corporation. All rights reserved. Created by: Louis Monier February 2, 1987 4:51:27 pm PST Last Edited by: Louis Monier February 2, 1987 6:20:33 pm PST [] _ CDImports.Load[design, "Logic"]; Κο– "cedar" style˜codešœ™KšœB™BK™8K™<—K˜KšΟk œœœ˜3K˜•StartOfExpansion[]šΟbœœ˜Kšœ œ˜)Kšœœ ˜—K˜Kšœœ˜Kšœ˜šΟnœœœœ˜;Kšœ=˜=K˜—K˜šŸœœœœœœœœœ˜nšœ#˜#Kšœ˜Kšœ˜—Kšœœœ˜GK˜—KšŸœœœœ œœ)œ˜‘KšŸœœœœ œœ)œ˜’K˜K˜šŸœœœœ˜0KšœM˜MKšœ œI˜nK˜—K˜K˜šŸœœ œœ˜MKšœ"œ˜9K˜—Kšœ œ˜Kšœ%™%Kšœ#˜#K˜Kšœ˜K˜—…—: