TestChRouterYA:
PW.UserProc =
BEGIN
-- examples: PW.Design ← PW.OpenDesign["PWRouteTestA.dale"];
routerParams: PWRoute.RouterParams ← NEW[PWRoute.RouterParamsRec ← ["metal", "metal2"]];
top: PW.Object ← PW.Get[design, "-no name@585"];
bottom: PW.Object ← PW.Get[design, "-no name@573"];
test: PW.Object ← PWRoute.AbutChRouteListY[LIST[bottom, top], NIL, NIL, routerParams];
RETURN[test];
END;
TestSbRouterHA:
PW.UserProc =
BEGIN
-- examples: PW.Design ← PW.OpenDesign["PWRouteTestA.dale"];
routerParams: PWRoute.RouterParams ← NEW[PWRoute.RouterParamsRec ← [trunkLayer: "metal", branchLayer: "metal2", technologyKey: design.technology.key, opt: noIncompletes]];
rightOrig: PW.Object ← PW.Get[design, "SbRight"];
rightXfer: PW.Object ← PWRoute.XferPins[design.technology.key, rightOrig, left, 50, "metal"];
right: PW.Object ← PW.AbutX[rightXfer, rightOrig];
topOrig: PW.Object ← PW.Get[design, "SbTop"];
topXfer: PW.Object ← PWRoute.XferPins[design.technology.key, topOrig, bottom, 50, "metal2"];
top: PW.Object ← PW.AbutY[topXfer, topOrig];
bottomOrig: PW.Object ← PW.Get[design, "SbBottom"];
bottomXfer: PW.Object ← PWRoute.XferPins[design.technology.key, bottomOrig, top, 50, "metal2"];
bottom: PW.Object ← PW.AbutY[bottomOrig, bottomXfer];
sb: PW.Object ← PWRoute.AbutSbRoute[bottom, right, top, NIL, horizontal, routerParams];
column: PW.Object ← PW.AbutListY[LIST[bottom, sb, top]];
test: PW.Object ← PW.CreateEmptyCell[];
dy1: INT ← IRSize[bottom].y;
dx1: INT ← 0;
dx2: INT ← IRSize[column].x;
[] ← PW.IncludeInCell[test, column, [dx1 , 0]];
[] ← PW.IncludeInCell[test, right, [dx1 + dx2, dy1]];
PW.RepositionCell[test];
RETURN[test];
END;