StructureFromCore.Mesa
Mike Spreitzer March 5, 1987 4:08:27 pm PST
Last tweaked by Mike Spreitzer on March 4, 1989 11:15:51 am PST
DIRECTORY Core, CoreStructuralComparison, RefTab, StructuralComparisonDataStructure;
StructureFromCore: CEDAR DEFINITIONS = {
OPEN CoreStructuralComparison, StructuralComparisonDataStructure;
graphIDToRole: ARRAY RealGraphID OF Role ~ [A: A, B: B];
roleToGraphID: ARRAY Role OF RealGraphID ~ [A: A, B: B];
DroppedConnection: SIGNAL [subroot: Core.CellType, public, actual: DescendantWire];
BogusMerge: SIGNAL [subroot: Core.CellType, w1, w2: DescendantWire, from: DescendantCellInstance];
GetGraph: PROC [ttols: TransistorTolerances ← NIL, cct: Core.CellType, internals: BOOL, specData: REF ANY, sts: SubtreeSpec, ms: MergeSpec, SurveyPart: PROC [v: Vertex, core: REF ANY --UNION [Wire, CellInstance]--] ← NIL, vs: ViewStats ← NIL] RETURNS [sct: CellType];
GetCellType: PROC [sct: CellType] RETURNS [cct: --least recasted--Core.CellType];
ForgetGraph: PROC [sct: CellType];
CanonizeAndGetStructure: PROC [sct: CellType, insert: DescendantCellInstancePrivate, core: --not necessarily canonical--Descendant] RETURNS [v: Vertex];
GetStructure: PROC [sct: CellType, core: --Canonized--Descendant] RETURNS [v: Vertex];
GetCore: PROC [v: Vertex] RETURNS [core: Element--could be any of the possible aliases--];
GetCommonalityConstraints: PROC [subroot: Core.CellType] RETURNS [RefTab.Ref];
Every value is another RefTab.Ref representing a constraint; every key of that inner RefTab.Ref is a public atomic wire of subroot. Outer table is NIL when no constraints.
}.