ArbiterXforms.1
Last Edited by: Spreitzer, January 11, 1985 2:36:32 pm PST
EQT
← &roseArb ← CompareRead.ReadDesign[ "[Indigo]<Rosemary>Capt>RoseArbiter>Arbiter-Str.DF"]
← &roseArb.name ← "RoseArb"
← &chipArb ← CompareRead.ReadDesign[ "[Indigo]<Rosemary>Capt>Arb04>Arbiter-Str.DF"]
← &chipArb.name ← "ChipArb"
← CompareNormal.CheckDesign[&roseArb, ignore, ignore]
← CompareNormal.CheckDesign[&chipArb, ignore, ignore]
← CompareNormal.CheckDesign[&roseArb, report, ignore]
← CompareNormal.CheckDesign[&chipArb, report, ignore]
← CompareNormal.CheckDesign[&roseArb, check, ignore]
← CompareNormal.CheckDesign[&chipArb, check, ignore]
← CompareNormal.CheckDesign[&roseArb, establish, ignore]
← CompareNormal.CheckDesign[&chipArb, establish, ignore]
← CompareTransforms.RenameAll[&chipArb, [NIL, CompareTransforms.FavorSimpleNames]]
← CompareNormal.CheckDesign[&roseArb, check, report]
← CompareNormal.CheckDesign[&chipArb, check, report]
← CompareWrite.WriteDesign[&roseArb, "Arb", "RoseArb0", "[Indigo]<Rosemary>CT>"]
Open RoseArb0>Arb-Str.DF
← CompareWrite.WriteDesign[&chipArb, "Arb", "ChipArb0", "[Indigo]<Rosemary>CT>"]
Open ChipArb0>Arb-Str.DF
← CompareTransforms.ExpandChildren[&chipArb, "PENCODER", TRUE]
← CompareTransforms.RaiseGrandchildren[&roseArb, CompareTransforms.ChildrenOfType[&roseArb, "PriorityEncoder", "StaticPrecharge"], [CompareTransforms.DontNameNewPort, NIL]]
← CompareTransforms.RenameCellType[&roseArb, "PriorityEncoder", CompareTransforms.SetNames[names: CompareTransforms.useOldNames, equivClass: "PENCODER"]]
← CompareTransforms.RenameVertices[&roseArb, "Arbiter", LIST["b1", "b2"], CompareTransforms.RenamePairs[&list[["b1", "Bot"], ["b2", "Top"]]]]
← CompareTransforms.Group[&roseArb, "Arbiter", CompareTransforms.ImplicitChildrenOfType[&roseArb, "BarrelShifter"], [designed: &list["dualBS"]], [designed: &list["DualBS"]], [CompareTransforms.NameNewPortFromAnyOldPortInstance, NIL]]
← CompareTransforms.RenamePorts[&chipArb, "DualBS", CompareTransforms.ReNameByName[TextReplace.RopeMapFromPairs[&list[["<idx:~%*>.<rest:@**>", "<rest><idx>", FALSE, TRUE], ["In", "right", TRUE], ["Bypass", "left", TRUE]]]]]
← CompareTransforms.ExpandChildren[&roseArb, "DualBS", TRUE]
← CompareWrite.WriteDesign[&roseArb, "Arb", "RoseArb1", "[Indigo]<Rosemary>CT>"]
← CompareWrite.WriteDesign[&chipArb, "Arb", "ChipArb1", "[Indigo]<Rosemary>CT>"]
Open RoseArb1>Arb-Str.DF
Open ChipArb1>Arb-Str.DF
XIn - Right X
XBypass - Left X
DualBS.<i>.XIn - Arbiter.X.Right<i>
DualBS.<i>.XBypass - Arbiter.X.Left<i>
DualBS.<i>.Shift - Arbiter.X.Shift<i>