1
package com.sun.electric.tool.generator.flag.designs.Infinity2;
5
import com.sun.electric.database.topology.NodeInst;
6
import com.sun.electric.tool.generator.flag.FlagConstructorData;
7
import com.sun.electric.tool.generator.flag.FlagDesign;
8
import com.sun.electric.tool.generator.flag.LayoutNetlist;
9
import com.sun.electric.tool.generator.layout.LayoutLib;
10
import com.sun.electric.tool.generator.layout.LayoutLib.Corner;
12
/** Physical design for the Ring */
13
public class Crosser extends FlagDesign {
15
private void stackInsts(List<NodeInst> layInsts) {
17
for (NodeInst me : layInsts) {
19
LayoutLib.alignCorners(prev, Corner.TL, me, Corner.BL, 0, 0);
25
// Constructor does everything
26
public Crosser(FlagConstructorData data) {
27
super(Infinity2Config.CONFIG, data);
29
LayoutNetlist layNets = createLayoutInstancesFromSchematic(data);
31
stackInsts(layNets.getLayoutInstancesSortedBySchematicPosition());
33
addEssentialBounds(layNets.getLayoutCell());
35
stitchScanChains(layNets);
37
routeSignals(layNets);
39
reexportPowerGround(layNets.getLayoutCell());
41
reexportSignals(layNets);
43
addNccVddGndExportsConnectedByParent(layNets.getLayoutCell());