home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
o
/
ops5.zip
/
WEAVER.OPS
< prev
Wrap
Text File
|
1992-05-31
|
490KB
|
8,851 lines
(literalize unit unit-name file-name)
(literalize pin net-name pin-name external-net-name external-pin-name pin-left-x pin-left-y fixed-pin pin-x pin-y pin-layer pin-layer-constraint pin-channel-side pin-is-attached)
(literalize channel channel-bottom-left-x channel-bottom-left-y channel-top-right-x channel-top-right-y channel-width channel-length no-of-left-pins no-of-right-pins no-of-bottom-pins no-of-top-pins right-fixed left-fixed bottom-fixed top-fixed channel-type no-of-fixed-sides)
(literalize net net-name parent-name net-no-of-pins net-left-x net-left-y net-right-x net-right-y no-of-left-pins no-of-right-pins no-of-top-pins no-of-bottom-pins net-is-routed left-most-pin-name right-most-pin-name bottom-most-pin-name top-most-pin-name fixed-net net-layer external-net-name no-of-inter max-no-of-via)
(literalize layer-info layer-name layer-order layer-priority)
(literalize context present previous saved)
(literalize ff net-name pin-name grid-layer grid-x grid-y came-from can-chng-layer)
(literalize next-net-to-be-routed net-name no-of-attached-pins criteria)
(literalize to-be-routed net-name no-of-attached-pins)
(literalize occupied x y m)
(literalize constraint constraint-type constraint-relation channel-side constraint-reason net-name-1 net-name-2 pin-name-1 pin-name-2 seg-id-1 seg-id-2)
(literalize congestion direction coordinate no-of-nets extra-nets como)
(literalize intersection net-name direction min max)
(literalize horizontal min max com compo commo layer status min-net max-net net-name pin-name)
(literalize vertical min max com compo commo layer status min-net max-net net-name pin-name)
(literalize horizontal-s net-name min max com id top-count bot-count sum difference absolute side)
(literalize vertical-s net-name min max com id top-count bot-count sum difference absolute side)
(literalize total net-name row-col coor level-pins total-pins cong min-xy max-xy last-pin last-xy nets)
(literalize tree net-name orientation com min max count id)
(vector-attribute nets)
(p p327
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max>) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y <y>)
(horizontal-s ^net-name <nn> ^min { <hmin> <= <gx> } ^max { <hmax> >= <gx> > <min> } ^com 1 ^id <id>)
- (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com 1 ^id <> <id>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-x { >= <hmin> <= <hmax> } ^pin-channel-side bottom)
(constraint ^constraint-type vertical ^seg-id-1 <id>)
(total ^net-name <> <nn>)
- (total-verti <nn>)
-->
(remove <t>)
)
(p p328
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max>) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y <y>)
(horizontal-s ^net-name <nn> ^min { <hmin> <= <gx> < <max> } ^max { <hmax> >= <gx> } ^com <lr> ^id <id>)
- (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <lr> ^id <> <id>)
(last-row <lr>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-x { >= <hmin> <= <hmax> } ^pin-channel-side top)
(constraint ^constraint-type vertical ^seg-id-2 <id>)
(total ^net-name <> <nn>)
- (total-verti <nn>)
-->
(remove <t>)
)
(p p329
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max>) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x <x> ^grid-y { <gy> >= <min> <= <max> })
(vertical-s ^net-name <nn> ^min { <vmin> <= <gy> } ^max { <vmax> >= <gy> > <min> } ^com 1 ^id <id>)
- (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com 1 ^id <> <id>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-y { >= <vmin> <= <vmax> } ^pin-channel-side left)
(constraint ^constraint-type horizontal ^seg-id-1 <id>)
(total ^net-name <> <nn>)
- (total-verti <nn>)
-->
(remove <t>)
)
(p p330
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max>) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x <x> ^grid-y { <gy> >= <min> <= <max> })
(vertical-s ^net-name <nn> ^min { <vmin> <= <gy> < <max> } ^max { <vmax> >= <gy> } ^com <lc> ^id <id>)
- (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <lc> ^id <> <id>)
(last-col <lc>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-y { >= <vmin> <= <vmax> } ^pin-channel-side right)
(constraint ^constraint-type horizontal ^seg-id-2 <id>)
(total ^net-name <> <nn>)
- (total-verti <nn>)
-->
(remove <t>)
)
(p p331
{ <c> (context ^present modify-total) }
-->
(modify <c> ^present delete-total)
)
(p p332
{ <c> (context ^present delete-total) }
- (total)
-->
(remove <c>)
(make context ^previous find-no-of-pins-on-a-row-col)
)
(p p333
{ <c> (context ^present extend-total) }
(last-row <lr>)
-->
(make maximum-total 0 0 0 1 0 <lr> 0)
(make merge-direction left)
(modify <c> ^present merge)
(make eliminate-total)
)
(p p334
{ <c> (context ^present delete-total) }
-->
(modify <c> ^present extend-total)
)
(p p335
(context ^present modify-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y <y>)
(horizontal-s ^net-name <nn> ^min { <hmin> <= <gx> } ^max { <hmax> >= <gx> } ^com 1 ^id <id> ^absolute <a> ^sum <s>)
- (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com 1 ^id <> <id>)
- (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <hmin> ^max-xy <hmax> ^last-pin checked)
(pin ^net-name <nn> ^pin-name <pn> ^pin-x { >= <hmin> <= <hmax> } ^pin-channel-side bottom)
-->
(make (substr <t> 1 inf) ^min-xy <hmin> ^max-xy <hmax> ^level-pins <a> ^total-pins <s> ^last-pin checked ^last-xy <id> ^nets <nn> <hmin> <hmax>)
)
(p p336
(context ^present modify-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y <y>)
(horizontal-s ^net-name <nn> ^min { <hmin> <= <gx> } ^max { <hmax> >= <gx> } ^com <lr> ^id <id> ^absolute <a> ^sum <s>)
- (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <lr> ^id <> <id>)
- (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <hmin> ^max-xy <hmax> ^last-pin checked)
(last-row <lr>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-x { >= <hmin> <= <hmax> } ^pin-channel-side top)
-->
(make (substr <t> 1 inf) ^min-xy <hmin> ^max-xy <hmax> ^level-pins <a> ^total-pins <s> ^last-pin checked ^last-xy <id> ^nets <nn> <hmin> <hmax>)
)
(p p337
(context ^present modify-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x <x> ^grid-y { <gy> >= <min> <= <max> })
(vertical-s ^net-name <nn> ^min { <vmin> <= <gy> } ^max { <vmax> >= <gy> } ^com 1 ^id <id> ^absolute <a> ^sum <s>)
- (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com 1 ^id <> <id>)
- (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <vmin> ^max-xy <vmax> ^last-pin checked)
(pin ^net-name <nn> ^pin-name <pn> ^pin-y { >= <vmin> <= <vmax> } ^pin-channel-side left)
-->
(make (substr <t> 1 inf) ^min-xy <vmin> ^max-xy <vmax> ^level-pins <a> ^total-pins <s> ^last-pin checked ^last-xy <id> ^nets <nn> <vmin> <vmax>)
)
(p p338
(context ^present modify-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x <x> ^grid-y { <gy> >= <min> <= <max> })
(vertical-s ^net-name <nn> ^min { <vmin> <= <gy> } ^max { <vmax> >= <gy> } ^com <lc> ^id <id> ^absolute <a> ^sum <s>)
- (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <lc> ^id <> <id>)
- (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <vmin> ^max-xy <vmax> ^last-pin checked)
(last-col <lc>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-y { >= <vmin> <= <vmax> } ^pin-channel-side right)
-->
(make (substr <t> 1 inf) ^min-xy <vmin> ^max-xy <vmax> ^level-pins <a> ^total-pins <s> ^last-pin checked ^last-xy <id> ^nets <nn> <vmin> <vmax>)
)
(p p339
(context ^present modify-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y <y>)
(horizontal-s ^net-name <nn> ^min 1 ^max { <hmax> >= <gx> } ^com <com> ^id <id> ^absolute <a> ^sum <s>)
- (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <garb> ^id <> <id>)
- (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy 1 ^max-xy <hmax> ^last-pin checked)
(pin ^net-name <nn> ^pin-name <pn> ^pin-x 0 ^pin-y <com> ^pin-channel-side left)
-->
(make (substr <t> 1 inf) ^min-xy 1 ^max-xy <hmax> ^level-pins <a> ^total-pins <s> ^last-pin checked ^last-xy <id> ^nets <nn> 1 <hmax>)
)
(p p340
(context ^present modify-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y <y>)
(horizontal-s ^net-name <nn> ^min { <hmin> <= <gx> } ^max <lc> ^com <com> ^id <id> ^absolute <a> ^sum <s>)
- (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <garb> ^id <> <id>)
- (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <hmin> ^max-xy <lc> ^last-pin checked)
(pin ^net-name <nn> ^pin-name <pn> ^pin-y <com> ^pin-channel-side right)
(last-col <lc>)
-->
(make (substr <t> 1 inf) ^min-xy <hmin> ^max-xy <lc> ^level-pins <a> ^total-pins <s> ^last-pin checked ^last-xy <id> ^nets <nn> <hmin> <lc>)
)
(p p341
(context ^present modify-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x <x> ^grid-y { <gy> >= <min> <= <max> })
(vertical-s ^net-name <nn> ^min 1 ^max { <vmax> >= <gy> } ^com <com> ^id <id> ^absolute <a> ^sum <s>)
- (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <garb> ^id <> <id>)
- (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy 1 ^max-xy <vmax> ^last-pin checked)
(pin ^net-name <nn> ^pin-name <pn> ^pin-x <com> ^pin-channel-side bottom)
-->
(make (substr <t> 1 inf) ^min-xy 1 ^max-xy <vmax> ^level-pins <a> ^total-pins <s> ^last-pin checked ^last-xy <id> ^nets <nn> 1 <vmax>)
)
(p p342
(context ^present modify-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(ff ^net-name <nn> ^pin-name <pn> ^grid-x <x> ^grid-y { <gy> >= <min> <= <max> })
(vertical-s ^net-name <nn> ^min { <vmin> <= <gy> } ^max <lr> ^com <com> ^id <id> ^absolute <a> ^sum <s>)
- (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <garb> ^id <> <id>)
- (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <vmin> ^max-xy <lr> ^last-pin checked)
(pin ^net-name <nn> ^pin-name <pn> ^pin-x <com> ^pin-channel-side top)
(last-row <lr>)
-->
(make (substr <t> 1 inf) ^min-xy <vmin> ^max-xy <lr> ^level-pins <a> ^total-pins <s> ^last-pin checked ^last-xy <id> ^nets <nn> <vmin> <lr>)
)
(p p343
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col <rc> ^coor <y> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(total ^net-name <nn> ^row-col <rc> ^coor <y> ^last-pin checked)
-->
(remove <t>)
)
(p p344
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col <rc> ^coor <y> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
-->
(remove <t>)
)
(p p345
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col <rc> ^coor <y> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
(net ^net-name <nn> ^net-no-of-pins 2)
-->
(modify <t> ^last-pin checked ^nets <nn> <min> <max>)
)
(p p346
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col <rc> ^coor <y> ^min-xy <min> ^max-xy <max> ^last-pin <> checked) }
- (total ^last-pin checked)
-->
(modify <t> ^last-pin checked ^nets <nn> <min> <max>)
)
(p p347
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max>) }
(last-col <lc>)
(horizontal-s ^net-name { <nn1> <> <nn> } ^min 1 ^max { >= <min> <> <lc> } ^com <y> ^id <=> 1)
(pin ^net-name <nn1> ^pin-x 0 ^pin-y <y>)
- (pin ^net-name <nn> ^pin-y <y> ^pin-channel-side right)
-->
(remove <t>)
)
(p p348
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <tmin> ^max-xy <max>) }
(last-col <lc>)
(horizontal-s ^net-name { <nn1> <> <nn> } ^min 1 ^max { <maxs> <> <lc> } ^com <y> ^id <=> 1)
(pin ^net-name <nn1> ^pin-x 0 ^pin-y <y>)
(vertical ^net-name <nn> ^min <= <y> ^max >= <y> ^com { <min> > 1 <= <maxs> })
- (vertical ^net-name <nn> ^min <= <y> ^max >= <y> ^com < <min>)
{ <h> (horizontal ^net-name <nn1> ^min 0 ^max { <hmax> < <min> } ^com <y> ^layer <lay>) }
{ <ff> (ff ^net-name <nn1> ^grid-x <hmax> ^grid-y <y> ^grid-layer <lay> ^came-from west) }
{ <h1> (horizontal ^net-name nil ^min <hmax> ^max > <hmax> ^com <y> ^layer <lay>) }
- (pin ^net-name <nn> ^pin-y <y>)
- (vertical ^status nil ^net-name { <> <nn1> <> nil } ^min <= <y> ^max >= <y> ^com <min> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn1> <> nil } ^min <= <min> ^max >= <min> ^com <y> ^layer <lay>)
-->
(remove <t>)
(modify <h> ^max <min>)
(modify <h1> ^min <min> ^min-net <nn1>)
(modify <ff> ^grid-x <min> ^can-chng-layer nil)
)
(p p349
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max>) }
(last-col <lc>)
(horizontal-s ^net-name { <nn1> <> <nn> } ^min { <= <max> <> 1 } ^max <lc> ^com <y> ^id <=> 1)
(pin ^net-name <nn1> ^pin-y <y> ^pin-channel-side right)
- (pin ^net-name <nn> ^pin-y <y> ^pin-channel-side left)
-->
(remove <t>)
)
(p p350
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <tmax>) }
(last-col <lc>)
(horizontal-s ^net-name { <nn1> <> <nn> } ^min { <mins> <> 1 } ^max <lc> ^com <y> ^id <=> 1)
(pin ^net-name <nn1> ^pin-y <y> ^pin-channel-side right)
(vertical ^net-name <nn> ^min <= <y> ^max >= <y> ^com { <max> >= <mins> < <lc> })
- (vertical ^net-name <nn> ^min <= <y> ^max >= <y> ^com > <max>)
{ <h> (horizontal ^net-name <nn1> ^min { <hmin> > <max> } ^max <garb> ^com <y> ^layer <lay>) }
{ <ff> (ff ^net-name <nn1> ^grid-x <hmin> ^grid-y <y> ^grid-layer <lay> ^came-from east) }
{ <h1> (horizontal ^net-name nil ^min < <max> ^max <hmin> ^com <y> ^layer <lay>) }
- (pin ^net-name <nn> ^pin-y <y>)
- (vertical ^status nil ^net-name { <> <nn1> <> nil } ^min <= <y> ^max >= <y> ^com <max> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn1> <> nil } ^min <= <max> ^max >= <max> ^com <y> ^layer <lay>)
-->
(remove <t>)
(modify <h> ^min <max>)
(modify <h1> ^max <max> ^max-net <nn1>)
(modify <ff> ^grid-x <max> ^can-chng-layer nil)
)
(p p351
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max>) }
(last-row <lr>)
(vertical-s ^net-name { <nn1> <> <nn> } ^min 1 ^max { >= <min> <> <lr> } ^com <x> ^id <=> 1)
(pin ^net-name <nn1> ^pin-x <x> ^pin-channel-side bottom)
- (pin ^net-name <nn> ^pin-x <x> ^pin-channel-side top)
-->
(remove <t>)
)
(p p352
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <tmin> ^max-xy <max>) }
(last-row <lr>)
(vertical-s ^net-name { <nn1> <> <nn> } ^min 1 ^max { <maxs> <> <lr> } ^com <x> ^id <=> 1)
(pin ^net-name <nn1> ^pin-x <x> ^pin-channel-side bottom)
(horizontal ^net-name <nn> ^min <= <x> ^max <x> ^com { <min> > 1 <= <maxs> })
- (horizontal ^net-name <nn> ^min <= <x> ^max <x> ^com < <min>)
{ <v> (vertical ^net-name <nn1> ^min 0 ^max { <vmax> < <min> } ^com <x> ^layer <lay>) }
{ <ff> (ff ^net-name <nn1> ^grid-x <x> ^grid-y <vmax> ^grid-layer <lay> ^came-from south) }
{ <v1> (vertical ^net-name nil ^min <vmax> ^max > <vmax> ^com <x> ^layer <lay>) }
- (pin ^net-name <nn> ^pin-x <x>)
- (vertical ^status nil ^net-name { <> <nn1> <> nil } ^min <= <min> ^max >= <min> ^com <x>)
- (horizontal ^status nil ^net-name { <> <nn1> <> nil } ^min <= <x> ^max >= <x> ^com <min>)
-->
(remove <t>)
(modify <v> ^max <min>)
(modify <v1> ^min <min> ^min-net <nn1>)
(modify <ff> ^grid-y <min> ^can-chng-layer nil)
)
(p p353
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max>) }
(last-row <lr>)
(vertical-s ^net-name { <nn1> <> <nn> } ^min { <= <max> <> 1 } ^max <lr> ^com <x> ^id <=> 1)
(pin ^net-name <nn1> ^pin-x <x> ^pin-channel-side top)
- (pin ^net-name <nn> ^pin-x <x> ^pin-channel-side bottom)
-->
(remove <t>)
)
(p p354
(context ^present delete-total)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <tmax>) }
(last-row <lr>)
(vertical-s ^net-name { <nn1> <> <nn> } ^min { <mins> <> 1 } ^max <lr> ^com <x> ^id <=> 1)
(pin ^net-name <nn1> ^pin-x <x> ^pin-channel-side top)
(horizontal ^net-name <nn> ^min <= <x> ^max >= <x> ^com { <max> >= <mins> < <lr> })
- (horizontal ^net-name <nn> ^min <= <x> ^max >= <x> ^com > <max>)
{ <v> (vertical ^net-name <nn1> ^min { <vmin> > <max> } ^max <garb> ^com <x> ^layer <lay>) }
{ <ff> (ff ^net-name <nn1> ^grid-x <x> ^grid-y <vmin> ^grid-layer <lay> ^came-from north) }
{ <v1> (vertical ^net-name nil ^min < <vmin> ^max <vmin> ^com <x> ^layer <lay>) }
- (pin ^net-name <nn> ^pin-x <x>)
- (vertical ^status nil ^net-name { <> <nn1> <> nil } ^min <= <max> ^max >= <max> ^com <x>)
- (horizontal ^status nil ^net-name { <> <nn1> <> nil } ^min <= <x> ^max >= <x> ^com <max>)
-->
(remove <t>)
(modify <v> ^min <max>)
(modify <v1> ^max <max> ^max-net <nn1>)
(modify <ff> ^grid-y <max> ^can-chng-layer nil)
)
(p p355
(context ^present extend-total)
- (switch-box)
{ <t> (total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max> ^last-xy <id>) }
(last-row > <y>)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com 1 ^id <id>)
- (horizontal ^net-name nil ^min <= <min> ^max >= <max> ^com <y>)
- (horizontal ^net-name <nn> ^min <= <min> ^max >= <min> ^com <y>)
- (horizontal ^net-name <nn> ^min <= <max> ^max >= <max> ^com <y>)
- (horizontal ^net-name <nn> ^min >= <min> ^max <= <max> ^com <y>)
(horizontal ^net-name nil ^min <= <min> ^max >= <max> ^com > <y>)
- (ff ^net-name <nn> ^grid-x { >= <min> <= <max> } ^grid-y <y> ^pin-name >= 1000)
-->
(modify <t> ^coor (compute <y> + 1))
)
(p p356
(context ^present extend-total)
- (switch-box)
{ <t> (total ^net-name <nn> ^row-col row ^coor { <y> > 0 } ^min-xy <min> ^max-xy <max> ^last-xy <id>) }
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <lr> ^id <id>)
(last-row <lr>)
- (horizontal ^net-name nil ^min <= <min> ^max >= <max> ^com <y>)
- (horizontal ^net-name <nn> ^min <= <min> ^max >= <min> ^com <y>)
- (horizontal ^net-name <nn> ^min <= <max> ^max >= <max> ^com <y>)
- (horizontal ^net-name <nn> ^min >= <min> ^max <= <max> ^com <y>)
(horizontal ^net-name nil ^min <= <min> ^max >= <max> ^com < <y>)
- (ff ^net-name <nn> ^grid-x { >= <min> <= <max> } ^grid-y <y> ^pin-name >= 1000)
-->
(modify <t> ^coor (compute <y> - 1))
)
(p p357
(context ^present extend-total)
- (switch-box)
{ <t> (total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max> ^last-xy <id>) }
(last-col > <x>)
(vertical-s ^net-name <nn> ^min <min> ^max <max> ^com 1 ^id <id>)
- (vertical ^net-name nil ^min <= <min> ^max >= <max> ^com <x>)
- (vertical ^net-name <nn> ^min <= <min> ^max >= <min> ^com <x>)
- (vertical ^net-name <nn> ^min <= <max> ^max >= <max> ^com <x>)
- (vertical ^net-name <nn> ^min >= <min> ^max <= <max> ^com <x>)
(vertical ^net-name nil ^min <= <min> ^max >= <max> ^com > <x>)
- (ff ^net-name <nn> ^grid-x <x> ^grid-y { >= <min> <= <max> } ^pin-name >= 1000)
-->
(modify <t> ^coor (compute <x> + 1))
)
(p p358
(context ^present extend-total)
- (switch-box)
{ <t> (total ^net-name <nn> ^row-col col ^coor { <x> > 0 } ^min-xy <min> ^max-xy <max> ^last-xy <id>) }
(vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <lc> ^id <id>)
(last-col <lc>)
- (vertical ^net-name nil ^min <= <min> ^max >= <max> ^com <x>)
- (vertical ^net-name <nn> ^min <= <min> ^max >= <min> ^com <x>)
- (vertical ^net-name <nn> ^min <= <max> ^max >= <max> ^com <x>)
- (vertical ^net-name <nn> ^min >= <min> ^max <= <max> ^com <x>)
(vertical ^net-name nil ^min <= <min> ^max >= <max> ^com < <x>)
- (ff ^net-name <nn> ^grid-x <x> ^grid-y { >= <min> <= <max> } ^pin-name >= 1000)
-->
(modify <t> ^coor (compute <x> - 1))
)
(p p359
(context ^present extend-total)
(total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max> ^last-xy <id>)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com 1 ^id <id>)
(horizontal ^net-name nil ^min <= <min> ^max >= <max> ^com <y>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y { <gy> < <y> } ^grid-layer <lay> ^pin-name <pn>) }
{ <v> (vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { <vmax> >= <y> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <y> ^max >= <y> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <y> ^layer <lay>)
-->
(make vertical ^min <y> ^max <vmax> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn> ^max-net <mn>)
(modify <v> ^max <gy> ^max-net <nn>)
(make vertical ^min <gy> ^max <y> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^net-name <nn> ^pin-name <pn>)
(modify <ff> ^grid-y <y> ^came-from south ^can-chng-layer nil)
)
(p p360
(context ^present extend-total)
(total ^net-name <nn> ^row-col row ^coor <y> ^min-xy <min> ^max-xy <max> ^last-xy <id>)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <lr> ^id <id>)
(last-row <lr>)
(horizontal ^net-name nil ^min <= <min> ^max >= <max> ^com <y>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y { <gy> > <y> } ^grid-layer <lay> ^pin-name <pn>) }
{ <v> (vertical ^net-name nil ^min { <vmin> <= <y> } ^max { <vmax> >= <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <y> ^max >= <y> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <y> ^layer <lay>)
-->
(make vertical ^min <gy> ^max <vmax> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn> ^max-net <mn>)
(modify <v> ^max <y> ^max-net <nn>)
(make vertical ^min <y> ^max <gy> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^net-name <nn> ^pin-name <pn>)
(modify <ff> ^grid-y <y> ^came-from north ^can-chng-layer nil)
)
(p p361
(context ^present extend-total)
(total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max> ^last-xy <id>)
(vertical-s ^net-name <nn> ^min <min> ^max <max> ^com 1 ^id <id>)
(vertical ^net-name nil ^min <= <min> ^max >= <max> ^com <x>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx> < <x> } ^grid-y { <gy> >= <min> <= <max> } ^grid-layer <lay> ^pin-name <pn>) }
{ <v> (horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { <hmax> >= <x> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <x> ^max >= <x> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <x> ^layer <lay>)
-->
(make horizontal ^min <x> ^max <hmax> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn> ^max-net <mn>)
(modify <v> ^max <gx> ^max-net <nn>)
(make horizontal ^min <gx> ^max <x> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^net-name <nn> ^pin-name <pn>)
(modify <ff> ^grid-x <x> ^came-from west ^can-chng-layer nil)
)
(p p362
(context ^present extend-total)
(total ^net-name <nn> ^row-col col ^coor <x> ^min-xy <min> ^max-xy <max> ^last-xy <id>)
(vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <lc> ^id <id>)
(last-col <lc>)
(vertical ^net-name nil ^min <= <min> ^max >= <max> ^com <x>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx> > <x> } ^grid-y { <gy> >= <min> <= <max> } ^grid-layer <lay> ^pin-name <pn>) }
{ <v> (horizontal ^net-name nil ^min { <hmin> <= <x> } ^max { <hmax> >= <gx> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <x> ^max >= <x> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <x> ^layer <lay>)
-->
(make horizontal ^min <gx> ^max <hmax> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn> ^max-net <mn>)
(modify <v> ^max <x> ^max-net <nn>)
(make horizontal ^min <x> ^max <gx> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^net-name <nn> ^pin-name <pn>)
(modify <ff> ^grid-x <x> ^came-from east ^can-chng-layer nil)
)
(p p490
{ <c> (context ^present separate) }
-->
(modify <c> ^present reconnect)
)
(p p491
{ <c> (context ^present reconnect) }
-->
(modify <c> ^present form-verti)
)
(p p492
{ <c> (context ^present form-verti) }
-->
(modify <c> ^present partial-route)
)
(p p493
{ <c> (context ^present partial-route) }
-->
(modify <c> ^present extend-pins)
)
(p p494
{ <c1> (context ^present extend-pins) }
-->
(modify <c1> ^present nil ^previous extend-pins)
)
(p p495
{ <c1> (context ^previous extend-pins) }
-->
(make switch-box)
(make context ^present propagate-constraint)
(remove <c1>)
)
(p p496
{ <c1> (context ^previous extend-pins) }
(channel ^no-of-left-pins 0 ^no-of-right-pins 0)
-->
(remove <c1>)
(make context ^present find-no-of-pins-on-a-row-col)
)
(p p497
{ <c1> (context ^previous extend-pins) }
(channel ^no-of-bottom-pins 0 ^no-of-top-pins 0)
-->
(remove <c1>)
(make context ^present find-no-of-pins-on-a-row-col)
)
(p p498
(context ^previous propagate-constraint)
(net ^net-is-routed <> yes)
-->
(remove 1)
(make context ^present lshape1)
)
(p p499
(context ^present lshape1)
-->
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p500
{ <c> (context ^previous find-no-of-pins-on-a-row-col) }
- (total)
- (extend-ff-tried)
-->
(remove <c>)
(make context ^present lshape4)
)
(p p501
{ <c> (context ^present lshape4) }
-->
(remove <c>)
(make extend-ff-tried)
(make context ^present extend-ff)
)
(p p502
{ <c> (context ^present extend-ff) }
-->
(remove <c>)
(make context ^previous extend-ff)
)
(p p503
{ <c> (context ^previous extend-ff) }
- (extended-ff)
-->
(remove <c>)
(make context ^present find-no-of-pins-on-a-row-col)
)
(p p504
{ <c> (context ^previous extend-ff) }
{ <e> (extended-ff) }
{ <ex> (extend-ff-tried) }
-->
(remove <c> <e> <ex>)
(make context ^present find-no-of-pins-on-a-row-col)
(make goal cleanup extended-ff)
)
(p p505
(context ^previous find-no-of-pins-on-a-row-col)
- (total)
(extend-ff-tried)
- (total-verti)
-->
(remove 1)
(make context ^present find-no-of-vcg-hcg)
(make goal cleanup counted-verti)
)
(p p506
(context ^previous find-no-of-pins-on-a-row-col)
- (total)
(total-verti)
- (verti-has-loop)
-->
(remove 1)
(make verti-has-loop)
(make context ^present choose-between-total-verti)
)
(p p507
(context ^previous find-no-of-pins-on-a-row-col)
- (total)
(total-verti)
(verti-has-loop)
-->
(make context ^present extend-h-v-s)
(make goal cleanup total-verti)
(make goal cleanup counted-verti)
(make goal cleanup extend-ff-tried)
(remove 1 3)
)
(p p508
(context ^present choose-between-total-verti)
- (total-verti ^4 > 0)
-->
(modify 1 ^present extend-h-v-s)
(make goal cleanup counted-verti)
)
(p p509
(context ^previous find-no-of-vcg-hcg)
- (total-verti)
-->
(remove 1)
(make context ^present extend-h-v-s)
)
(p p510
(context ^present loose-constraint)
-->
(make context ^present lshape2)
(remove 1)
)
(p p511
(context ^present lshape2)
-->
(modify 1 ^present lshape3)
)
(p p512
(context ^present lshape3)
-->
(remove 1)
(make context ^present random0)
)
(p p513
(context ^present random0)
-->
(remove 1)
(make context ^present random1)
)
(p p514
(context ^present remove-routed-net-segments)
- (net ^net-is-routed <> yes)
- (horizontal ^net-name <> nil ^status nil)
- (vertical ^net-name <> nil ^status nil)
-->
(write (crlf) | Finished with the routing.|)
(halt)
)
(p p1
(context ^present separate)
{ <h> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(vertical-s ^net-name <nn> ^com <min>)
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side bottom)
(pin ^net-name <nn> ^pin-x { <px> > <min> < <max> } ^pin-channel-side top)
- (horizontal-s ^net-name <nn> ^min <= <px> ^max >= <px> ^id <> <id>)
(pin ^net-name <> <nn> ^pin-x <min> ^pin-channel-side top)
- (pin ^net-name <nn> ^pin-x <px> ^pin-channel-side bottom)
- (pin ^net-name <nn> ^pin-x { < <px> > <min> })
(pin ^net-name <nn> ^pin-x > <px> ^pin-channel-side top)
-->
(modify <h> ^min <px>)
(make horizontal-s ^net-name <nn> ^min <min> ^max <px> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p2
(context ^present separate)
{ <h> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(vertical-s ^net-name <nn> ^com <min>)
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side top)
(pin ^net-name <nn> ^pin-x { <px> > <min> < <max> } ^pin-channel-side bottom)
- (horizontal-s ^net-name <nn> ^min <= <px> ^max >= <px> ^id <> <id>)
(pin ^net-name <> <nn> ^pin-x <min> ^pin-channel-side bottom)
- (pin ^net-name <nn> ^pin-x <px> ^pin-channel-side top)
- (pin ^net-name <nn> ^pin-x { < <px> > <min> })
(pin ^net-name <nn> ^pin-x > <px> ^pin-channel-side bottom)
-->
(modify <h> ^min <px>)
(make horizontal-s ^net-name <nn> ^min <min> ^max <px> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p3
(context ^present separate)
{ <h> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(vertical-s ^net-name <nn> ^com <max>)
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side bottom)
(pin ^net-name <nn> ^pin-x { <px> > <min> < <max> } ^pin-channel-side top)
- (horizontal-s ^net-name <nn> ^min <= <px> ^max >= <px> ^id <> <id>)
(pin ^net-name <> <nn> ^pin-x <max> ^pin-channel-side top)
- (pin ^net-name <nn> ^pin-x <px> ^pin-channel-side bottom)
- (pin ^net-name <nn> ^pin-x { < <max> > <px> })
(pin ^net-name <nn> ^pin-x < <px> ^pin-channel-side top)
-->
(modify <h> ^max <px>)
(make horizontal-s ^net-name <nn> ^min <px> ^max <max> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p4
(context ^present separate)
{ <h> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(vertical-s ^net-name <nn> ^com <max>)
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side top)
(pin ^net-name <nn> ^pin-x { <px> > <min> < <max> } ^pin-channel-side bottom)
- (horizontal-s ^net-name <nn> ^min <= <px> ^max >= <px> ^id <> <id>)
(pin ^net-name <> <nn> ^pin-x <max> ^pin-channel-side bottom)
- (pin ^net-name <nn> ^pin-x <px> ^pin-channel-side top)
- (pin ^net-name <nn> ^pin-x { < <max> > <px> })
(pin ^net-name <nn> ^pin-x < <px> ^pin-channel-side bottom)
-->
(modify <h> ^max <px>)
(make horizontal-s ^net-name <nn> ^min <px> ^max <max> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p5
(context ^present reconnect)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^id <id1>) }
{ <h2> (horizontal-s ^net-name <nn> ^min <min1> ^max <min> ^id <id2>) }
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side bottom)
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side top)
- (pin ^pin-x <max> ^pin-channel-side bottom)
- (pin ^net-name <nn> ^pin-x { < <max> > <min> })
(last-row <lr>)
- (horizontal-s ^net-name <nn> ^id <id1> ^com { > 1 < <lr> })
- (horizontal-s ^net-name <nn> ^id <id2> ^com { > 1 < <lr> })
-->
(remove <h1>)
(make vertical-s ^net-name <nn> ^min 1 ^max <lr> ^com <max> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
(modify <h2> ^max <max>)
)
(p p6
(context ^present reconnect)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^id <id1>) }
{ <h2> (horizontal-s ^net-name <nn> ^min <max> ^max <max1> ^id <id2>) }
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side top)
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side bottom)
- (pin ^pin-x <min> ^pin-channel-side bottom)
- (pin ^net-name <nn> ^pin-x { < <max> > <min> })
(last-row <lr>)
- (horizontal-s ^net-name <nn> ^id <id1> ^com { > 1 < <lr> })
- (horizontal-s ^net-name <nn> ^id <id2> ^com { > 1 < <lr> })
-->
(remove <h1>)
(make vertical-s ^net-name <nn> ^min 1 ^max <lr> ^com <min> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
(modify <h2> ^min <min>)
)
(p p7
(context ^present reconnect)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^id <id1>) }
{ <h2> (horizontal-s ^net-name <nn> ^min <min1> ^max <min> ^id <id2>) }
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side bottom)
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side top)
- (pin ^pin-x <max> ^pin-channel-side top)
- (pin ^net-name <nn> ^pin-x { < <max> > <min> })
(last-row <lr>)
- (horizontal-s ^net-name <nn> ^id <id1> ^com { > 1 < <lr> })
- (horizontal-s ^net-name <nn> ^id <id2> ^com { > 1 < <lr> })
-->
(remove <h1>)
(make vertical-s ^net-name <nn> ^min 1 ^max <lr> ^com <max> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
(modify <h2> ^max <max>)
)
(p p8
(context ^present reconnect)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^id <id1>) }
{ <h2> (horizontal-s ^net-name <nn> ^min <max> ^max <max1> ^id <id2>) }
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side top)
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side bottom)
- (pin ^pin-x <min> ^pin-channel-side top)
- (pin ^net-name <nn> ^pin-x { < <max> > <min> })
(last-row <lr>)
- (horizontal-s ^net-name <nn> ^id <id1> ^com { > 1 < <lr> })
- (horizontal-s ^net-name <nn> ^id <id2> ^com { > 1 < <lr> })
-->
(remove <h1>)
(make vertical-s ^net-name <nn> ^min 1 ^max <lr> ^com <min> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
(modify <h2> ^min <min>)
)
(p p9
(context ^present reconnect)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com>)
(horizontal-s ^net-name <nn> ^min { <min1> >= <min> } ^max { <max1> <= <max> } ^com <> <com>)
{ <v> (vertical-s ^net-name <nn> ^com { <com1> >= <min1> <= <max1> }) }
(pin ^net-name <> <nn> ^pin-x <com1>)
(congestion ^direction col ^coordinate { <px> >= <min1> <= <max1> })
- (pin ^net-name <> <nn> ^pin-x <px>)
- (vertical-s ^com <px>)
-->
(modify <v> ^com <px>)
)
(p p10
(context ^present reconnect)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com>)
(horizontal-s ^net-name <nn> ^min { <min1> >= <min> <= <max> } ^max { <max1> >= <max> } ^com <> <com>)
{ <v> (vertical-s ^net-name <nn> ^com { <com1> >= <min1> <= <max> }) }
(pin ^net-name <> <nn> ^pin-x <com1>)
(congestion ^direction col ^coordinate { <px> >= <min1> <= <max> })
- (pin ^net-name <> <nn> ^pin-x <px>)
- (vertical-s ^com <px>)
-->
(modify <v> ^com <px>)
)
(p p11
(context ^present reconnect)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <hcom> ^id <id>)
(horizontal-s ^net-name <nn> ^min { <min1> >= <min> } ^max { <max1> <= <max> } ^com <> <hcom>)
- (vertical-s ^net-name <nn> ^com { >= <min1> <= <max1> })
{ <v> (vertical-s ^net-name <nn> ^com { <vcom> < <min1> }) }
- (horizontal-s ^net-name <nn> ^min <= <vcom> ^max >= <vcom> ^id <> <id>)
-->
(modify <v> ^com <min1>)
)
(p p12
(context ^present reconnect)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <hcom> ^id <id>)
(horizontal-s ^net-name <nn> ^min { <min1> >= <min> } ^max { <max1> <= <max> } ^com <> <hcom>)
- (vertical-s ^net-name <nn> ^com { >= <min1> <= <max1> })
{ <v> (vertical-s ^net-name <nn> ^com { <vcom> > <max1> }) }
- (horizontal-s ^net-name <nn> ^min <= <vcom> ^max >= <vcom> ^id <> <id>)
-->
(modify <v> ^com <max1>)
)
(p p13
(context ^present reconnect)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <hcom> ^id <id>)
(horizontal-s ^net-name <nn> ^min { <min1> >= <min> <= <max> } ^max { <max1> >= <max> } ^com <> <hcom>)
- (vertical-s ^net-name <nn> ^com { >= <min1> <= <max> })
{ <v> (vertical-s ^net-name <nn> ^com { <vcom> < <min1> }) }
- (horizontal-s ^net-name <nn> ^min <= <vcom> ^max >= <vcom> ^id <> <id>)
-->
(modify <v> ^com <min1>)
)
(p p14
(context ^present reconnect)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <hcom> ^id <id>)
(horizontal-s ^net-name <nn> ^min { <min1> >= <min> <= <max> } ^max { <max1> >= <max> } ^com <> <hcom>)
- (vertical-s ^net-name <nn> ^com { >= <min1> <= <max> })
{ <v> (vertical-s ^net-name <nn> ^com { <vcom> > <max> }) }
- (horizontal-s ^net-name <nn> ^min <= <vcom> ^max >= <vcom> ^id <> <id>)
-->
(modify <v> ^com <max>)
)
(p p15
(context ^present reconnect)
(horizontal-s ^net-name <nn> ^min <min1> ^max <max1> ^id <id1>)
{ <h> (horizontal-s ^net-name <nn> ^min <max1> ^max <max2> ^com <com> ^id <id2>) }
(horizontal-s ^net-name <nn> ^min <max2> ^max <max3> ^id <id3>)
- (horizontal-s ^net-name <nn> ^id { <> <id1> <> <id2> <> <id3> })
(vertical-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com <max1>)
(vertical-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com <max2>)
-->
(modify <h> ^min <min1> ^max <max3>)
)
(p p16
(context ^present reconnect)
(vertical-s ^net-name <nn> ^min <min1> ^max <max1> ^id <id1>)
{ <h> (vertical-s ^net-name <nn> ^min <max1> ^max <max2> ^com <com> ^id <id2>) }
(vertical-s ^net-name <nn> ^min <max2> ^max <max3> ^id <id3>)
- (vertical-s ^net-name <nn> ^id { <> <id1> <> <id2> <> <id3> })
(horizontal-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com <max1>)
(horizontal-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com <max2>)
-->
(modify <h> ^min <min1> ^max <max3>)
)
(p p17
(context ^present separate)
{ <v> (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(horizontal-s ^net-name <nn> ^min <hmin> ^max <com> ^com <max>)
(pin ^net-name <nn> ^pin-y { <py> > <min> < <max> } ^pin-channel-side right)
- (pin ^net-name <nn> ^pin-x > <com> ^pin-y { > <py> <= <max> })
- (pin ^net-name <nn> ^pin-x <com> ^pin-channel-side top)
- (horizontal-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com { > <py> < <max> })
- (horizontal-s ^net-name <nn> ^min <com> ^max <hmax> ^com <max>)
-->
(modify <v> ^max <py>)
(make vertical-s ^net-name <nn> ^min <py> ^max <max> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p18
(context ^present separate)
{ <v> (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(horizontal-s ^net-name <nn> ^min <com> ^max <hmax> ^com <max>)
(pin ^net-name <nn> ^pin-y { <py> > <min> < <max> } ^pin-channel-side left)
- (pin ^net-name <nn> ^pin-x < <com> ^pin-y { > <py> <= <max> })
- (pin ^net-name <nn> ^pin-x <com> ^pin-channel-side top)
- (horizontal-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com { > <py> < <max> })
- (horizontal-s ^net-name <nn> ^min <hmin> ^max <com> ^com <max>)
-->
(modify <v> ^max <py>)
(make vertical-s ^net-name <nn> ^min <py> ^max <max> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p19
(context ^present separate)
{ <v> (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(horizontal-s ^net-name <nn> ^min <hmin> ^max <com> ^com <min>)
(pin ^net-name <nn> ^pin-y { <py> > <min> < <max> } ^pin-channel-side right)
- (pin ^net-name <nn> ^pin-x > <com> ^pin-y { < <py> >= <min> })
- (pin ^net-name <nn> ^pin-x <com> ^pin-channel-side bottom)
- (horizontal-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com { > <min> < <py> })
- (horizontal-s ^net-name <nn> ^min <com> ^max <hmax> ^com <min>)
-->
(modify <v> ^min <py>)
(make vertical-s ^net-name <nn> ^min <min> ^max <py> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p20
(context ^present separate)
{ <v> (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(horizontal-s ^net-name <nn> ^min <com> ^max <hmax> ^com <min>)
(pin ^net-name <nn> ^pin-y { <py> > <min> < <max> } ^pin-channel-side left)
- (pin ^net-name <nn> ^pin-x < <com> ^pin-y { < <py> >= <min> })
- (pin ^net-name <nn> ^pin-x <com> ^pin-channel-side bottom)
- (horizontal-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com { > <min> < <py> })
- (horizontal-s ^net-name <nn> ^min <hmin> ^max <com> ^com <min>)
-->
(modify <v> ^min <py>)
(make vertical-s ^net-name <nn> ^min <min> ^max <py> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p21
(context ^present separate)
{ <h> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(vertical-s ^net-name <nn> ^min <vmin> ^max <com> ^com <min>)
(pin ^net-name <nn> ^pin-x { <px> > <min> < <max> } ^pin-channel-side top)
- (pin ^net-name <nn> ^pin-x { < <px> >= <min> } ^pin-y > <com>)
- (pin ^net-name <nn> ^pin-y <com> ^pin-channel-side left)
- (vertical-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com { > <min> < <px> })
- (vertical-s ^net-name <nn> ^min <com> ^max <vmax> ^com <min>)
-->
(modify <h> ^min <px>)
(make horizontal-s ^net-name <nn> ^min <min> ^max <px> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p22
(context ^present separate)
{ <h> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(vertical-s ^net-name <nn> ^min <com> ^max <vmax> ^com <min>)
(pin ^net-name <nn> ^pin-x { <px> > <min> < <max> } ^pin-channel-side bottom)
- (pin ^net-name <nn> ^pin-x { < <px> >= <min> } ^pin-y < <com>)
- (pin ^net-name <nn> ^pin-y <com> ^pin-channel-side left)
- (vertical-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com { > <min> < <px> })
- (vertical-s ^net-name <nn> ^min <vmin> ^max <com> ^com <min>)
-->
(modify <h> ^min <px>)
(make horizontal-s ^net-name <nn> ^min <min> ^max <px> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p23
(context ^present separate)
{ <h> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(vertical-s ^net-name <nn> ^min <vmin> ^max <com> ^com <max>)
(pin ^net-name <nn> ^pin-x { <px> > <min> < <max> } ^pin-channel-side top)
- (pin ^net-name <nn> ^pin-x { > <px> <= <max> } ^pin-y > <com>)
- (pin ^net-name <nn> ^pin-y <com> ^pin-channel-side right)
- (vertical-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com { > <px> < <max> })
- (vertical-s ^net-name <nn> ^min <com> ^max <vmax> ^com <max>)
-->
(modify <h> ^max <px>)
(make horizontal-s ^net-name <nn> ^min <px> ^max <max> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p24
(context ^present separate)
{ <h> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <com> ^id <id>) }
(vertical-s ^net-name <nn> ^min <com> ^max <vmax> ^com <max>)
(pin ^net-name <nn> ^pin-x { <px> > <min> < <max> } ^pin-channel-side bottom)
- (pin ^net-name <nn> ^pin-x { > <px> <= <max> } ^pin-y < <com>)
- (pin ^net-name <nn> ^pin-y <com> ^pin-channel-side right)
- (vertical-s ^net-name <nn> ^min <= <com> ^max >= <com> ^com { > <px> < <max> })
- (vertical-s ^net-name <nn> ^min <vmin> ^max <com> ^com <max>)
-->
(modify <h> ^max <px>)
(make horizontal-s ^net-name <nn> ^min <px> ^max <max> ^com <com> ^id (compute <id> + 1000) ^top-count 1 ^bot-count 1 ^difference 0 ^absolute 0 ^sum 2)
)
(p p604
(context ^present form-verti)
(horizontal-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference 0)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-x { <vcom> >= <min> <= <max> } ^pin-channel-side top)
(horizontal-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^id <id1>)
- (horizontal-s ^net-name <bnn> ^min <= <vcom> ^max >= <vcom> ^id <> <id1>)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-x <vcom> ^pin-channel-side bottom)
- (constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
-->
(make constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn> ^seg-id-1 <id> ^seg-id-2 <id1> ^constraint-type vertical)
)
(p p605
(context ^present form-verti)
(horizontal-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference 0)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-x { <vcom> >= <min> <= <max> } ^pin-channel-side bottom)
(horizontal-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^id <id1>)
- (horizontal-s ^net-name <bnn> ^min <= <vcom> ^max >= <vcom> ^id <> <id1>)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-x <vcom> ^pin-channel-side top)
- (constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn>)
-->
(make constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn> ^seg-id-1 <id1> ^seg-id-2 <id> ^constraint-type vertical)
)
(p p606
(context ^present form-verti)
(horizontal-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference 0)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-x { <vcom> >= <min> <= <max> } ^pin-channel-side top)
(horizontal-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^id <id1> ^com 1)
(horizontal-s ^net-name <bnn> ^min <= <vcom> ^max >= <vcom> ^id <> <id1>)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-x <vcom> ^pin-channel-side bottom)
- (constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
-->
(make constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn> ^seg-id-1 <id> ^seg-id-2 <id1> ^constraint-type vertical)
)
(p p607
(context ^present form-verti)
(horizontal-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference 0)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-x { <vcom> >= <min> <= <max> } ^pin-channel-side bottom)
(horizontal-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^id <id1> ^com <> 1)
(horizontal-s ^net-name <bnn> ^min <= <vcom> ^max >= <vcom> ^id <> <id1>)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-x <vcom> ^pin-channel-side top)
- (constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn>)
-->
(make constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn> ^seg-id-1 <id1> ^seg-id-2 <id> ^constraint-type vertical)
)
(p p608
(context ^present form-verti)
(horizontal-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference <> 0)
(vertical-s ^net-name <tnn> ^com { <vcom> >= <min> <= <max> })
(horizontal-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^com <com> ^id <id1>)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-x <vcom> ^pin-channel-side top)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-x <vcom> ^pin-channel-side bottom)
- (constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
-->
(make constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn> ^seg-id-1 <id> ^seg-id-2 <id1> ^constraint-type vertical)
)
(p p609
(context ^present form-verti)
(horizontal-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference <> 0)
(vertical-s ^net-name <tnn> ^com { <vcom> >= <min> <= <max> })
(horizontal-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^com <com> ^id <id1>)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-x <vcom> ^pin-channel-side bottom)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-x <vcom> ^pin-channel-side top)
- (constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn>)
-->
(make constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn> ^seg-id-1 <id1> ^seg-id-2 <id> ^constraint-type vertical)
)
(p p610
(context ^present form-verti)
(horizontal-s ^net-name <tnn> ^min <min> ^max <max> ^com 1 ^id <id>)
(vertical-s ^net-name <tnn> ^com { <vcom> >= <min> <= <max> })
(horizontal-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^com <lr> ^id <id1>)
(last-row <lr>)
(vertical-s ^net-name <bnn> ^com <vcom>)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-x <vcom> ^pin-channel-side top)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-x <vcom> ^pin-channel-side bottom)
- (constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
-->
(make constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn> ^seg-id-1 <id> ^seg-id-2 <id1> ^constraint-type vertical)
)
(p p611
(context ^present form-verti)
(vertical-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference 0)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-y { <vcom> >= <min> <= <max> } ^pin-channel-side right)
(vertical-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^id <id1>)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-y <vcom> ^pin-channel-side left)
- (constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
-->
(make constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn> ^seg-id-1 <id> ^seg-id-2 <id1> ^constraint-type horizontal)
)
(p p612
(context ^present form-verti)
(vertical-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference 0)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-y { <vcom> >= <min> <= <max> } ^pin-channel-side left)
(vertical-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^id <id1>)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-y <vcom> ^pin-channel-side right)
- (constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn>)
-->
(make constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn> ^seg-id-1 <id1> ^seg-id-2 <id> ^constraint-type horizontal)
)
(p p613
(context ^present form-verti)
(vertical-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference <> 0)
(horizontal-s ^net-name <tnn> ^com { <vcom> >= <min> <= <max> })
(vertical-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^com <com> ^id <id1>)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-y <vcom> ^pin-channel-side right)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-y <vcom> ^pin-channel-side left)
- (constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
-->
(make constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn> ^seg-id-1 <id> ^seg-id-2 <id1> ^constraint-type horizontal)
)
(p p614
(context ^present form-verti)
(vertical-s ^net-name <tnn> ^min <min> ^max <max> ^com <com> ^id <id> ^difference <> 0)
(horizontal-s ^net-name <tnn> ^com { <vcom> >= <min> <= <max> })
(vertical-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^com <com> ^id <id1>)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-y <vcom> ^pin-channel-side left)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-y <vcom> ^pin-channel-side right)
- (constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn>)
-->
(make constraint ^net-name-1 <bnn> ^net-name-2 <tnn> ^pin-name-1 <bpn> ^pin-name-2 <tpn> ^seg-id-1 <id1> ^seg-id-2 <id> ^constraint-type horizontal)
)
(p p615
(context ^present form-verti)
(vertical-s ^net-name <tnn> ^min <min> ^max <max> ^com 1 ^id <id>)
(horizontal-s ^net-name <tnn> ^com { <vcom> >= <min> <= <max> })
(vertical-s ^net-name { <bnn> <> <tnn> } ^min <= <vcom> ^max >= <vcom> ^com <lc> ^id <id1>)
(last-col <lc>)
(horizontal-s ^net-name <bnn> ^com <vcom>)
(pin ^net-name <tnn> ^pin-name <tpn> ^pin-y <vcom> ^pin-channel-side right)
(pin ^net-name <bnn> ^pin-name <bpn> ^pin-y <vcom> ^pin-channel-side left)
- (constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
-->
(make constraint ^net-name-1 <tnn> ^net-name-2 <bnn> ^pin-name-1 <tpn> ^pin-name-2 <bpn> ^seg-id-1 <id> ^seg-id-2 <id1> ^constraint-type horizontal)
)
(p p616
(context ^present form-verti)
(constraint ^constraint-type vertical ^net-name-1 <tnn> ^net-name-2 <bnn> ^seg-id-1 <tid> ^seg-id-2 <bid>)
(constraint ^constraint-type vertical ^net-name-1 <nn1> ^net-name-2 <tnn> ^seg-id-1 <id1> ^seg-id-2 <tid2>)
- (vertical-cycle <tnn> <tid> <tid2>)
-->
(make vertical-cycle <tnn> <tid> <tid2>)
)
(p p617
(context ^present form-verti)
(constraint ^constraint-type horizontal ^net-name-1 <tnn> ^net-name-2 <bnn> ^seg-id-1 <tid> ^seg-id-2 <bid>)
(constraint ^constraint-type horizontal ^net-name-1 <nn1> ^net-name-2 <tnn> ^seg-id-1 <id1> ^seg-id-2 <tid2>)
- (horizontal-cycle <tnn> <tid> <tid2>)
-->
(make horizontal-cycle <tnn> <tid> <tid2>)
)
(p p618
(context ^present remove-cycle)
{ <h> (horizontal-cycle <nn>) }
- (constraint ^constraint-type horizontal ^net-name-1 <nn>)
- (constraint ^constraint-type horizontal ^net-name-2 <nn>)
-->
(remove <h>)
)
(p p619
(context ^present remove-cycle)
{ <h> (horizontal-cycle <nn>) }
- (constraint ^constraint-type horizontal ^net-name-2 <nn>)
-->
(remove <h>)
)
(p p620
(context ^present remove-cycle)
{ <h> (horizontal-cycle <nn>) }
- (constraint ^constraint-type horizontal ^net-name-1 <nn>)
-->
(remove <h>)
)
(p p621
(context ^present remove-cycle)
{ <h> (vertical-cycle <nn>) }
- (constraint ^constraint-type vertical ^net-name-1 <nn>)
- (constraint ^constraint-type vertical ^net-name-2 <nn>)
-->
(remove <h>)
)
(p p622
(context ^present remove-cycle)
{ <h> (vertical-cycle <nn>) }
- (constraint ^constraint-type vertical ^net-name-2 <nn>)
-->
(remove <h>)
)
(p p623
(context ^present remove-cycle)
{ <h> (vertical-cycle <nn>) }
- (constraint ^constraint-type vertical ^net-name-1 <nn>)
-->
(remove <h>)
)
(p p624
{ <c> (context ^present remove-cycle) }
-->
(remove <c>)
)
(p p625
(context ^present remove-cycle)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^id <id1>) }
{ <h2> (horizontal-s ^net-name <nn> ^min <min1> ^max <min> ^id <id2>) }
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side bottom)
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side top)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^com <max>)
- (pin ^net-name <nn> ^pin-x { < <max> > <min> })
(last-row <lr>)
- (horizontal-s ^net-name <nn> ^id <id1> ^com { > 1 < <lr> })
- (horizontal-s ^net-name <nn> ^id <id2> ^com { > 1 < <lr> })
-->
(remove <h1>)
(make vertical-s ^net-name <nn> ^min 1 ^max <lr> ^com <max> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
(modify <h2> ^max <max>)
)
(p p626
(context ^present remove-cycle)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^id <id1>) }
{ <h2> (horizontal-s ^net-name <nn> ^min <max> ^max <max1> ^id <id2>) }
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side top)
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side bottom)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^com <min>)
- (pin ^net-name <nn> ^pin-x { < <max> > <min> })
(last-row <lr>)
- (horizontal-s ^net-name <nn> ^id <id1> ^com { > 1 < <lr> })
- (horizontal-s ^net-name <nn> ^id <id2> ^com { > 1 < <lr> })
-->
(remove <h1>)
(make vertical-s ^net-name <nn> ^min 1 ^max <lr> ^com <min> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
(modify <h2> ^min <min>)
)
(p p627
(context ^present remove-cycle)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^id <id1>) }
{ <h2> (horizontal-s ^net-name <nn> ^min <min1> ^max <min> ^id <id2>) }
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side bottom)
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side top)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^com <max>)
- (pin ^net-name <nn> ^pin-x { < <max> > <min> })
(last-row <lr>)
- (horizontal-s ^net-name <nn> ^id <id1> ^com { > 1 < <lr> })
- (horizontal-s ^net-name <nn> ^id <id2> ^com { > 1 < <lr> })
-->
(remove <h1>)
(make vertical-s ^net-name <nn> ^min 1 ^max <lr> ^com <max> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
(modify <h2> ^max <max>)
)
(p p628
(context ^present remove-cycle)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^id <id1>) }
{ <h2> (horizontal-s ^net-name <nn> ^min <max> ^max <max1> ^id <id2>) }
(pin ^net-name <nn> ^pin-x <max> ^pin-channel-side top)
(pin ^net-name <nn> ^pin-x <min> ^pin-channel-side bottom)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^com <min>)
- (pin ^net-name <nn> ^pin-x { < <max> > <min> })
(last-row <lr>)
- (horizontal-s ^net-name <nn> ^id <id1> ^com { > 1 < <lr> })
- (horizontal-s ^net-name <nn> ^id <id2> ^com { > 1 < <lr> })
-->
(remove <h1>)
(make vertical-s ^net-name <nn> ^min 1 ^max <lr> ^com <min> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
(modify <h2> ^min <min>)
)
(p p629
(context ^present remove-cycle)
(horizontal-s ^net-name <nn> ^min <hmin> ^max <hmax> ^com 1)
(ff ^net-name <nn> ^grid-x { <gx> >= <hmin> <= <hmax> } ^grid-y <gy> ^came-from south)
- (ff ^net-name <nn> ^grid-x <> <gx> ^grid-y < <gy>)
- (vertical-s ^net-name <nn> ^min 1 ^max > <gy> ^com <gx>)
-->
(make vertical-s ^net-name <nn> ^min 1 ^max (compute <gy> + 1) ^com <gx> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
)
(p p630
(context ^present remove-cycle)
(horizontal-s ^net-name <nn> ^min <hmin> ^max <hmax> ^com 1)
(ff ^net-name <nn> ^grid-x { <gx> >= <hmin> <= <hmax> } ^grid-y <gy> ^came-from south)
- (ff ^net-name <nn> ^grid-x <> <gx> ^grid-y <= <gy>)
{ <v> (vertical-s ^net-name <nn> ^min 1 ^max <= <gy> ^com <gx>) }
-->
(modify <v> ^max (compute <gy> + 1))
)
(p p631
(context ^present remove-cycle)
(last-row <lr>)
(horizontal-s ^net-name <nn> ^min <hmin> ^max <hmax> ^com <lr>)
(ff ^net-name <nn> ^grid-x { <gx> >= <hmin> <= <hmax> } ^grid-y <gy> ^came-from north)
- (ff ^net-name <nn> ^grid-x <> <gx> ^grid-y > <gy>)
- (vertical-s ^net-name <nn> ^min < <gy> ^max <lr> ^com <gx>)
-->
(make vertical-s ^net-name <nn> ^min (compute <gy> - 1) ^max <lr> ^com <gx> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
)
(p p632
(context ^present remove-cycle)
(last-row <lr>)
(horizontal-s ^net-name <nn> ^min <hmin> ^max <hmax> ^com <lr>)
(ff ^net-name <nn> ^grid-x { <gx> >= <hmin> <= <hmax> } ^grid-y <gy> ^came-from north)
- (ff ^net-name <nn> ^grid-x <> <gx> ^grid-y >= <gy>)
{ <v> (vertical-s ^net-name <nn> ^min >= <gy> ^max <lr> ^com <gx>) }
-->
(modify <v> ^min (compute <gy> - 1))
)
(p p633
(context ^present remove-cycle)
(vertical-s ^net-name <nn> ^min <vmin> ^max <vmax> ^com 1)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy> >= <vmin> <= <vmax> } ^came-from west)
- (ff ^net-name <nn> ^grid-x < <gx> ^grid-y <> <gy>)
- (horizontal-s ^net-name <nn> ^min 1 ^max > <gx> ^com <gy>)
-->
(make horizontal-s ^net-name <nn> ^min 1 ^max (compute <gx> + 1) ^com <gy> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
)
(p p634
(context ^present remove-cycle)
(vertical-s ^net-name <nn> ^min <vmin> ^max <vmax> ^com 1)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy> >= <vmin> <= <vmax> } ^came-from west)
- (ff ^net-name <nn> ^grid-x <= <gx> ^grid-y <> <gy>)
{ <h> (horizontal-s ^net-name <nn> ^min 1 ^max <= <gx> ^com <gy>) }
-->
(modify <h> ^max (compute <gx> + 1))
)
(p p635
(context ^present remove-cycle)
(last-col <lc>)
(vertical-s ^net-name <nn> ^min <vmin> ^max <vmax> ^com <lc>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy> >= <vmin> <= <vmax> } ^came-from east)
- (ff ^net-name <nn> ^grid-x > <gx> ^grid-y <> <gy>)
- (horizontal-s ^net-name <nn> ^min < <gx> ^max <lc> ^com <gy>)
-->
(make horizontal-s ^net-name <nn> ^min (compute <gx> - 1) ^max <lc> ^com <gy> ^id (genatom) ^difference 0 ^absolute 0 ^sum 2)
)
(p p636
(context ^present remove-cycle)
(last-col <lc>)
(vertical-s ^net-name <nn> ^min <vmin> ^max <vmax> ^com <lc>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy> >= <vmin> <= <vmax> } ^came-from east)
- (ff ^net-name <nn> ^grid-x >= <gx> ^grid-y <> <gy>)
{ <h> (horizontal-s ^net-name <nn> ^min >= <gx> ^max <lc> ^com <gy>) }
-->
(modify <h> ^min (compute <gx> - 1))
)
(p p637
(context ^present remove-cycle)
(last-row <lr>)
(horizontal-s ^net-name <nn> ^min <hmin> ^max <hmax> ^sum 2 ^difference 0)
{ <v> (vertical-s ^net-name <nn> ^min 1 ^max { <lr> <> 2 } ^com { <vcom> >= <hmin> <= <hmax> }) }
(pin ^net-name <nn> ^pin-x <vcom> ^pin-channel-side top)
(ff ^net-name <> <nn> ^grid-x <vcom> ^came-from south)
-->
(modify <v> ^min (compute <lr> - 1))
)
(p p638
(context ^present remove-cycle)
(last-row <lr>)
(horizontal-s ^net-name <nn> ^min <hmin> ^max <hmax> ^sum 2 ^difference 0)
{ <v> (vertical-s ^net-name <nn> ^min 1 ^max { <lr> <> 2 } ^com { <vcom> >= <hmin> <= <hmax> }) }
(pin ^net-name <nn> ^pin-x <vcom> ^pin-channel-side bottom)
(ff ^net-name <> <nn> ^grid-x <vcom> ^came-from north)
-->
(modify <v> ^max 2)
)
(p p639
(context ^present remove-cycle)
(last-col <lc>)
(vertical-s ^net-name <nn> ^min <hmin> ^max <hmax> ^sum 2 ^difference 0)
{ <v> (horizontal-s ^net-name <nn> ^min 1 ^max { <lc> <> 2 } ^com { <vcom> >= <hmin> <= <hmax> }) }
(pin ^net-name <nn> ^pin-x <vcom> ^pin-channel-side right)
(ff ^net-name <> <nn> ^grid-x <vcom> ^came-from west)
-->
(modify <v> ^min (compute <lc> - 1))
)
(p p640
(context ^present remove-cycle)
(last-col <lc>)
(vertical-s ^net-name <nn> ^min <hmin> ^max <hmax> ^sum 2 ^difference 0)
{ <v> (horizontal-s ^net-name <nn> ^min 1 ^max { <lc> <> 2 } ^com { <vcom> >= <hmin> <= <hmax> }) }
(pin ^net-name <nn> ^pin-x <vcom> ^pin-channel-side left)
(ff ^net-name <> <nn> ^grid-x <vcom> ^came-from east)
-->
(modify <v> ^max 2)
)
(p p472
(context ^present partial-route)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from north) }
{ <vs> (vertical-s ^net-name <nn> ^min <gy1> ^max <gy> ^com <gx>) }
{ <ff2> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1> ^came-from south) }
{ <v> (vertical ^net-name nil ^min <gy1> ^max <gy> ^com <gx> ^layer <lay>) }
-->
(modify <v> ^net-name <nn> ^pin-name <pn>)
(remove <ff1> <ff2> <vs>)
)
(p p473
(context ^present partial-route)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from east) }
{ <vs> (horizontal-s ^net-name <nn> ^min <gx1> ^max <gx> ^com <gy>) }
{ <ff2> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn1> ^came-from west) }
{ <v> (horizontal ^net-name nil ^min <gx1> ^max <gx> ^com <gy> ^layer <lay>) }
-->
(modify <v> ^net-name <nn> ^pin-name <pn>)
(remove <ff1> <ff2> <vs>)
)
(p p474
(context ^present partial-route)
{ <v1> (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <vcom>) }
{ <h> (horizontal-s ^net-name <nn> ^min <vcom> ^max <hmax> ^com <min> ^top-count 1 ^bot-count 1) }
{ <v2> (vertical-s ^net-name <nn> ^min <vmin> ^max <min> ^com <hmax> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmax> ^grid-y <vmin> ^came-from east)
(ff ^net-name <nn> ^grid-x <vcom> ^grid-y <max> ^came-from north)
-->
(remove <v2>)
(modify <h> ^com <vmin>)
(modify <v1> ^min <vmin>)
)
(p p475
(context ^present partial-route)
{ <h> (horizontal-s ^net-name <nn> ^min <vcom> ^max <hmax> ^com <min> ^top-count 1 ^bot-count 1) }
{ <v2> (vertical-s ^net-name <nn> ^min <vmin> ^max <min> ^com <hmax> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmax> ^grid-y <vmin> ^came-from east)
(ff ^net-name <nn> ^grid-x <vcom> ^grid-y <min> ^came-from north)
-->
(modify <v2> ^com <vcom>)
(modify <h> ^com <vmin>)
)
(p p476
(context ^present partial-route)
{ <v1> (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <vcom>) }
{ <h> (horizontal-s ^net-name <nn> ^min <hmin> ^max <vcom> ^com <min> ^top-count 1 ^bot-count 1) }
{ <v2> (vertical-s ^net-name <nn> ^min <vmin> ^max <min> ^com <hmin> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmin> ^grid-y <vmin> ^came-from west)
(ff ^net-name <nn> ^grid-x <vcom> ^grid-y <max> ^came-from north)
-->
(remove <v2>)
(modify <h> ^com <vmin>)
(modify <v1> ^min <vmin>)
)
(p p477
(context ^present partial-route)
{ <h> (horizontal-s ^net-name <nn> ^min <hmin> ^max <vcom> ^com <min> ^top-count 1 ^bot-count 1) }
{ <v2> (vertical-s ^net-name <nn> ^min <vmin> ^max <min> ^com <hmin> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmin> ^grid-y <vmin> ^came-from west)
(ff ^net-name <nn> ^grid-x <vcom> ^grid-y <min> ^came-from north)
-->
(modify <v2> ^com <vcom>)
(modify <h> ^com <vmin>)
)
(p p478
(context ^present partial-route)
{ <v1> (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <vcom>) }
{ <h> (horizontal-s ^net-name <nn> ^min <vcom> ^max <hmax> ^com <max> ^top-count 1 ^bot-count 1) }
{ <v2> (vertical-s ^net-name <nn> ^min <max> ^max <vmax> ^com <hmax> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmax> ^grid-y <vmax> ^came-from east)
(ff ^net-name <nn> ^grid-x <vcom> ^grid-y <min> ^came-from south)
-->
(remove <v2>)
(modify <h> ^com <vmax>)
(modify <v1> ^max <vmax>)
)
(p p479
(context ^present partial-route)
{ <h> (horizontal-s ^net-name <nn> ^min <vcom> ^max <hmax> ^com <max> ^top-count 1 ^bot-count 1) }
{ <v2> (vertical-s ^net-name <nn> ^min <max> ^max <vmax> ^com <hmax> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmax> ^grid-y <vmax> ^came-from east)
(ff ^net-name <nn> ^grid-x <vcom> ^grid-y <max> ^came-from south)
-->
(modify <v2> ^com <vcom>)
(modify <h> ^com <vmax>)
)
(p p480
(context ^present partial-route)
{ <v1> (vertical-s ^net-name <nn> ^min <min> ^max <max> ^com <vcom>) }
{ <h> (horizontal-s ^net-name <nn> ^min <hmin> ^max <vcom> ^com <max> ^top-count 1 ^bot-count 1) }
{ <v2> (vertical-s ^net-name <nn> ^min <max> ^max <vmax> ^com <hmin> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmin> ^grid-y <vmax> ^came-from west)
(ff ^net-name <nn> ^grid-x <vcom> ^grid-y <min> ^came-from south)
-->
(remove <v2>)
(modify <h> ^com <vmax>)
(modify <v1> ^max <vmax>)
)
(p p481
(context ^present partial-route)
{ <h> (horizontal-s ^net-name <nn> ^min <hmin> ^max <vcom> ^com <max> ^top-count 1 ^bot-count 1) }
{ <v2> (vertical-s ^net-name <nn> ^min <max> ^max <vmax> ^com <hmin> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmin> ^grid-y <vmax> ^came-from west)
(ff ^net-name <nn> ^grid-x <vcom> ^grid-y <max> ^came-from south)
-->
(modify <v2> ^com <vcom>)
(modify <h> ^com <vmax>)
)
(p p482
(context ^present partial-route)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <hcom>) }
{ <v> (vertical-s ^net-name <nn> ^min <hcom> ^max <vmax> ^com <min> ^top-count 1 ^bot-count 1) }
{ <h2> (horizontal-s ^net-name <nn> ^min <hmin> ^max <min> ^com <vmax> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmin> ^grid-y <vmax> ^came-from north)
(ff ^net-name <nn> ^grid-x <max> ^grid-y <hcom> ^came-from east)
-->
(remove <h2>)
(modify <v> ^com <hmin>)
(modify <h1> ^min <hmin>)
)
(p p483
(context ^present partial-route)
{ <v> (vertical-s ^net-name <nn> ^min <hcom> ^max <vmax> ^com <min> ^top-count 1 ^bot-count 1) }
{ <h2> (horizontal-s ^net-name <nn> ^min <hmin> ^max <min> ^com <vmax> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmin> ^grid-y <vmax> ^came-from north)
(ff ^net-name <nn> ^grid-x <min> ^grid-y <hcom> ^came-from east)
-->
(modify <h2> ^com <hcom>)
(modify <v> ^com <hmin>)
)
(p p484
(context ^present partial-route)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <hcom>) }
{ <v> (vertical-s ^net-name <nn> ^min <hcom> ^max <vmax> ^com <max> ^top-count 1 ^bot-count 1) }
{ <h2> (horizontal-s ^net-name <nn> ^min <max> ^max <hmax> ^com <vmax> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmax> ^grid-y <vmax> ^came-from north)
(ff ^net-name <nn> ^grid-x <min> ^grid-y <hcom> ^came-from west)
-->
(remove <h2>)
(modify <v> ^com <hmax>)
(modify <h1> ^max <hmax>)
)
(p p485
(context ^present partial-route)
{ <v> (vertical-s ^net-name <nn> ^min <hcom> ^max <vmax> ^com <max> ^top-count 1 ^bot-count 1) }
{ <h2> (horizontal-s ^net-name <nn> ^min <max> ^max <hmax> ^com <vmax> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmax> ^grid-y <vmax> ^came-from north)
(ff ^net-name <nn> ^grid-x <max> ^grid-y <hcom> ^came-from west)
-->
(modify <h2> ^com <hcom>)
(modify <v> ^com <hmax>)
)
(p p486
(context ^present partial-route)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <hcom>) }
{ <v> (vertical-s ^net-name <nn> ^min <vmin> ^max <hcom> ^com <min> ^top-count 1 ^bot-count 1) }
{ <h2> (horizontal-s ^net-name <nn> ^min <hmin> ^max <min> ^com <vmin> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmin> ^grid-y <vmin> ^came-from south)
(ff ^net-name <nn> ^grid-x <max> ^grid-y <hcom> ^came-from east)
-->
(remove <h2>)
(modify <v> ^com <hmin>)
(modify <h1> ^min <hmin>)
)
(p p487
(context ^present partial-route)
{ <v> (vertical-s ^net-name <nn> ^min <vmin> ^max <hcom> ^com <min> ^top-count 1 ^bot-count 1) }
{ <h2> (horizontal-s ^net-name <nn> ^min <hmin> ^max <min> ^com <vmin> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmin> ^grid-y <vmin> ^came-from south)
(ff ^net-name <nn> ^grid-x <min> ^grid-y <hcom> ^came-from east)
-->
(modify <h2> ^com <hcom>)
(modify <v> ^com <hmin>)
)
(p p488
(context ^present partial-route)
{ <h1> (horizontal-s ^net-name <nn> ^min <min> ^max <max> ^com <hcom>) }
{ <v> (vertical-s ^net-name <nn> ^min <vmin> ^max <hcom> ^com <max> ^top-count 1 ^bot-count 1) }
{ <h2> (horizontal-s ^net-name <nn> ^min <max> ^max <hmax> ^com <vmin> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmax> ^grid-y <vmin> ^came-from south)
(ff ^net-name <nn> ^grid-x <min> ^grid-y <hcom> ^came-from west)
-->
(remove <h2>)
(modify <v> ^com <hmax>)
(modify <h1> ^max <hmax>)
)
(p p489
(context ^present partial-route)
{ <v> (vertical-s ^net-name <nn> ^min <vmin> ^max <hcom> ^com <max> ^top-count 1 ^bot-count 1) }
{ <h2> (horizontal-s ^net-name <nn> ^min <max> ^max <hmax> ^com <vmin> ^top-count 1 ^bot-count 1) }
(ff ^net-name <nn> ^grid-x <hmax> ^grid-y <vmin> ^came-from south)
(ff ^net-name <nn> ^grid-x <max> ^grid-y <hcom> ^came-from west)
-->
(modify <h2> ^com <hcom>)
(modify <v> ^com <hmax>)
)
(p p186
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^difference { <d> < 0 })
- (horizontal-s ^difference < <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from south) }
- (ff ^net-name <nn> ^grid-x <garb1> ^grid-y < <gy1>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y <gy1>)
- (horizontal ^net-name nil ^min < <gx2> ^max > <gx1> ^com <gy1>)
- (horizontal ^net-name nil ^min <gx2> ^max > <gx1> ^com <gy1> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx2> ^max <gx1> ^com <gy1> ^max-net nil)
{ <v> (vertical ^net-name nil ^max { <max> > <gy1> } ^min { < <max> <= <gy1> } ^com <gx1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy2> ^como <gy1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <gx1> ^layer <lay1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx1> ^max >= <gx1> ^com <gy2> ^layer <lay1>)
- (extended-ff <nn> bottom)
- (vertical-cycle <nn>)
-->
(modify <v> ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy2> ^min <gy1> ^layer <lay1> ^com <gx1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p187
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^difference { <d> < 0 })
- (horizontal-s ^difference < <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from south) }
- (ff ^net-name <nn> ^grid-x <garb1> ^grid-y < <gy1>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y <gy1>)
- (horizontal ^net-name nil ^min < <gx1> ^max > <gx2> ^com <gy1>)
- (horizontal ^net-name nil ^min <gx1> ^max > <gx2> ^com <gy1> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx1> ^max <gx2> ^com <gy1> ^max-net nil)
{ <v> (vertical ^net-name nil ^max { <max> > <gy1> } ^min { < <max> <= <gy1> } ^com <gx1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy2> ^como <gy1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <gx1> ^layer <lay1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx1> ^max >= <gx1> ^com <gy2> ^layer <lay1>)
- (extended-ff <nn> bottom)
- (vertical-cycle <nn>)
-->
(modify <v> ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy2> ^min <gy1> ^layer <lay1> ^com <gx1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p188
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^difference { <d> < 0 })
- (horizontal-s ^difference < <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from south) }
(vertical-s ^net-name <nn> ^min <= <gy1> ^max > <gy1> ^com <gx1>)
- (ff ^net-name <nn> ^grid-x <> <gx1> ^grid-y <= <gy1>)
{ <v> (vertical ^net-name nil ^max { <max> > <gy1> } ^min { < <max> <= <gy1> } ^com <gx1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy2> ^como <gy1>)
- (vertical-s ^net-name <> <nn> ^min <= <gy2> ^max >= <gy2> ^com <gx1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <gx1> ^layer <lay1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx1> ^max >= <gx1> ^com <gy2> ^layer <lay1>)
- (extended-ff <nn> bottom)
- (vertical-cycle <nn>)
-->
(make extended-ff <nn> bottom)
(modify <v> ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy2> ^min <gy1> ^layer <lay1> ^com <gx1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p189
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^difference { <d> > 0 })
- (horizontal-s ^difference > <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from north) }
- (ff ^net-name <nn> ^grid-x <garb1> ^grid-y > <gy1>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y <gy1>)
- (horizontal ^net-name nil ^min < <gx2> ^max > <gx1> ^com <gy1>)
- (horizontal ^net-name nil ^min <gx2> ^max > <gx1> ^com <gy1> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx2> ^max <gx1> ^com <gy1> ^max-net nil)
{ <v> (vertical ^net-name nil ^max { <max> >= <gy1> } ^min { < <max> < <gy1> } ^com <gx1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy1> ^como <gy2>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <gx1> ^layer <lay1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx1> ^max >= <gx1> ^com <gy2> ^layer <lay1>)
- (extended-ff <nn> top)
- (vertical-cycle <nn>)
-->
(modify <v> ^max <gy2> ^max-net <nn>)
(make vertical ^net-name <nn> ^max <gy1> ^min <gy2> ^layer <lay1> ^com <gx1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p190
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^difference { <d> > 0 })
- (horizontal-s ^difference > <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from north) }
- (ff ^net-name <nn> ^grid-x <garb1> ^grid-y > <gy1>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y <gy1>)
- (horizontal ^net-name nil ^min < <gx1> ^max > <gx2> ^com <gy1>)
- (horizontal ^net-name nil ^min <gx1> ^max > <gx2> ^com <gy1> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx1> ^max <gx2> ^com <gy1> ^max-net nil)
{ <v> (vertical ^net-name nil ^max { <max> >= <gy1> } ^min { < <max> < <gy1> } ^com <gx1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy1> ^como <gy2>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <gx1> ^layer <lay1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx1> ^max >= <gx1> ^com <gy2> ^layer <lay1>)
- (extended-ff <nn> top)
- (vertical-cycle <nn>)
-->
(modify <v> ^max <gy2> ^max-net <nn>)
(make vertical ^net-name <nn> ^max <gy1> ^min <gy2> ^layer <lay1> ^com <gx1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p191
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^difference { <d> > 0 })
- (horizontal-s ^difference > <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from north) }
(vertical-s ^net-name <nn> ^min < <gy1> ^max >= <gy1> ^com <gx1>)
- (ff ^net-name <nn> ^grid-x <> <gx1> ^grid-y >= <gy1>)
{ <v> (vertical ^net-name nil ^max { <max> >= <gy1> } ^min { < <max> < <gy1> } ^com <gx1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy1> ^como <gy2>)
- (vertical-s ^net-name <> <nn> ^min <= <gy2> ^max >= <gy2> ^com <gx1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <gx1> ^layer <lay1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx1> ^max >= <gx1> ^com <gy2> ^layer <lay1>)
- (extended-ff <nn> top)
- (vertical-cycle <nn>)
-->
(make extended-ff <nn> top)
(modify <v> ^max <gy2> ^max-net <nn>)
(make vertical ^net-name <nn> ^max <gy1> ^min <gy2> ^layer <lay1> ^com <gx1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p192
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^difference 0)
- (horizontal-s ^difference <> 0)
{ <ff> (ff ^net-name <nn> ^grid-x <max> ^grid-y <gy> ^grid-layer <lay> ^came-from south ^pin-name <pn>) }
- (horizontal ^net-name nil ^min < <max> ^max >= <max> ^com <gy>)
{ <v> (vertical ^net-name nil ^max { <vmax> > <gy> } ^min { < <vmax> <= <gy> } ^com <max> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy2> ^como <gy>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <max> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <max> ^max >= <max> ^com <gy2> ^layer <lay>)
- (vertical-cycle <nn>)
(horizontal ^net-name nil ^min < <max> ^max >= <max> ^com > <gy>)
-->
(modify <v> ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy2> ^min <gy> ^layer <lay> ^com <max> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p193
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^difference 0)
- (horizontal-s ^difference <> 0)
{ <ff> (ff ^net-name <nn> ^grid-x <min> ^grid-y <gy> ^grid-layer <lay> ^came-from south ^pin-name <pn>) }
- (horizontal ^net-name nil ^min <= <min> ^max > <min> ^com <gy>)
{ <v> (vertical ^net-name nil ^max { <vmax> > <gy> } ^min { < <vmax> <= <gy> } ^com <min> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy2> ^como <gy>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <min> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <min> ^max >= <min> ^com <gy2> ^layer <lay>)
- (vertical-cycle <nn>)
(horizontal ^net-name nil ^min <= <min> ^max > <min> ^com > <gy>)
-->
(modify <v> ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy2> ^min <gy> ^layer <lay> ^com <min> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p194
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^difference 0)
- (horizontal-s ^difference <> 0)
{ <ff> (ff ^net-name <nn> ^grid-x <max> ^grid-y <gy> ^grid-layer <lay> ^came-from north ^pin-name <pn>) }
- (horizontal ^net-name nil ^min < <max> ^max >= <max> ^com <gy>)
{ <v> (vertical ^net-name nil ^max { <vmax> >= <gy> } ^min { < <vmax> < <gy> } ^com <max> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy> ^como <gy2>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <max> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <max> ^max >= <max> ^com <gy2> ^layer <lay>)
- (vertical-cycle <nn>)
(horizontal ^net-name nil ^min < <max> ^max >= <max> ^com < <gy>)
-->
(modify <v> ^max <gy2> ^max-net <nn>)
(make vertical ^net-name <nn> ^max <gy> ^min <gy2> ^layer <lay> ^com <max> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p195
(context ^present extend-ff)
(horizontal-s ^net-name <nn> ^min <min> ^max <max> ^difference 0)
- (horizontal-s ^difference <> 0)
{ <ff> (ff ^net-name <nn> ^grid-x <min> ^grid-y <gy> ^grid-layer <lay> ^came-from north ^pin-name <pn>) }
- (horizontal ^net-name nil ^min <= <min> ^max > <min> ^com <gy>)
{ <v> (vertical ^net-name nil ^max { <vmax> >= <gy> } ^min { < <vmax> < <gy> } ^com <min> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction row ^coordinate <gy> ^como <gy2>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <min> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <min> ^max >= <min> ^com <gy2> ^layer <lay>)
- (vertical-cycle <nn>)
(horizontal ^net-name nil ^min <= <min> ^max > <min> ^com < <gy>)
-->
(modify <v> ^max <gy2> ^max-net <nn>)
(make vertical ^net-name <nn> ^max <gy> ^min <gy2> ^layer <lay> ^com <min> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
)
(p p196
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^difference { <d> < 0 })
- (vertical-s ^difference < <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from west) }
- (ff ^net-name <nn> ^grid-x < <gx1> ^grid-y <garb1>)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y { <gy2> < <gy1> })
- (vertical ^net-name nil ^min < <gy2> ^max > <gy1> ^com <gx1>)
- (vertical ^net-name nil ^min <gy2> ^max > <gy1> ^com <gx1> ^min-net nil)
- (vertical ^net-name nil ^min < <gy2> ^max <gy1> ^com <gx1> ^max-net nil)
{ <v> (horizontal ^net-name nil ^max { <max> > <gx1> } ^min { < <max> <= <gx1> } ^com <gy1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx2> ^como <gx1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <gy1> ^layer <lay1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy1> ^max >= <gy1> ^com <gx2> ^layer <lay1>)
- (extended-ff <nn> left)
- (horizontal-cycle <nn>)
-->
(modify <v> ^min <gx2> ^min-net <nn>)
(make horizontal ^net-name <nn> ^max <gx2> ^min <gx1> ^layer <lay1> ^com <gy1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p197
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^difference { <d> < 0 })
- (vertical-s ^difference < <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from west) }
- (ff ^net-name <nn> ^grid-x < <gx1> ^grid-y <garb1>)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y { <gy2> > <gy1> })
- (vertical ^net-name nil ^min < <gy1> ^max > <gy2> ^com <gx1>)
- (vertical ^net-name nil ^min <gy1> ^max > <gy2> ^com <gx1> ^min-net nil)
- (vertical ^net-name nil ^min < <gy1> ^max <gy2> ^com <gx1> ^max-net nil)
{ <v> (horizontal ^net-name nil ^max { <max> > <gx1> } ^min { < <max> <= <gx1> } ^com <gy1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx2> ^como <gx1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <gy1> ^layer <lay1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy1> ^max >= <gy1> ^com <gx2> ^layer <lay1>)
- (extended-ff <nn> left)
- (horizontal-cycle <nn>)
-->
(modify <v> ^min <gx2> ^min-net <nn>)
(make horizontal ^net-name <nn> ^max <gx2> ^min <gx1> ^layer <lay1> ^com <gy1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p198
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^difference { <d> < 0 })
- (vertical-s ^difference < <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from west) }
(horizontal-s ^net-name <nn> ^min <= <gx1> ^max > <gx1> ^com <gy1>)
- (ff ^net-name <nn> ^grid-x <= <gx1> ^grid-y <> <gy1>)
{ <v> (horizontal ^net-name nil ^max { <max> > <gx1> } ^min { < <max> <= <gx1> } ^com <gy1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx2> ^como <gx1>)
- (horizontal-s ^net-name <> <nn> ^min <= <gx2> ^max >= <gx2> ^com <gy1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <gy1> ^layer <lay1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy1> ^max >= <gy1> ^com <gx2> ^layer <lay1>)
- (extended-ff <nn> left)
- (horizontal-cycle <nn>)
-->
(make extended-ff <nn> left)
(modify <v> ^min <gx2> ^min-net <nn>)
(make horizontal ^net-name <nn> ^max <gx2> ^min <gx1> ^layer <lay1> ^com <gy1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p199
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^difference { <d> > 0 })
- (vertical-s ^difference > <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from east) }
- (ff ^net-name <nn> ^grid-x > <gx1> ^grid-y <garb1>)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y { <gy2> < <gy1> })
- (vertical ^net-name nil ^min < <gy2> ^max > <gy1> ^com <gx1>)
- (vertical ^net-name nil ^min <gy2> ^max > <gy1> ^com <gx1> ^min-net nil)
- (vertical ^net-name nil ^min < <gy2> ^max <gy1> ^com <gx1> ^max-net nil)
{ <v> (horizontal ^net-name nil ^max { <max> >= <gx1> } ^min { < <max> < <gx1> } ^com <gy1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx1> ^como <gx2>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <gy1> ^layer <lay1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy1> ^max >= <gy1> ^com <gx2> ^layer <lay1>)
- (extended-ff <nn> right)
- (horizontal-cycle <nn>)
-->
(modify <v> ^max <gx2> ^max-net <nn>)
(make horizontal ^net-name <nn> ^max <gx1> ^min <gx2> ^layer <lay1> ^com <gy1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p200
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^difference { <d> > 0 })
- (vertical-s ^difference > <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from east) }
- (ff ^net-name <nn> ^grid-x > <gx1> ^grid-y <gy1>)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y { <gy2> > <gy1> })
- (vertical ^net-name nil ^min < <gy1> ^max > <gy2> ^com <gx1>)
- (vertical ^net-name nil ^min <gy1> ^max > <gy2> ^com <gx1> ^min-net nil)
- (vertical ^net-name nil ^min < <gy1> ^max <gy2> ^com <gx1> ^max-net nil)
{ <v> (horizontal ^net-name nil ^max { <max> >= <gx1> } ^min { < <max> < <gx1> } ^com <gy1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx1> ^como <gx2>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <gy1> ^layer <lay1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy1> ^max >= <gy1> ^com <gx2> ^layer <lay1>)
- (extended-ff <nn> right)
- (horizontal-cycle <nn>)
-->
(modify <v> ^max <gx2> ^max-net <nn>)
(make horizontal ^net-name <nn> ^max <gx1> ^min <gx2> ^layer <lay1> ^com <gy1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p201
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^difference { <d> > 0 })
- (vertical-s ^difference > <d>)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn> ^came-from east) }
(horizontal-s ^net-name <nn> ^min < <gx1> ^max >= <gx1> ^com <gy1>)
- (ff ^net-name <nn> ^grid-x >= <gx1> ^grid-y <> <gy1>)
{ <v> (horizontal ^net-name nil ^max { <max> >= <gx1> } ^min { < <max> < <gx1> } ^com <gy1> ^layer <lay1> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx1> ^como <gx2>)
- (horizontal-s ^net-name <> <nn> ^min <= <gx2> ^max >= <gx2> ^com <gy1>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <gy1> ^layer <lay1>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy1> ^max >= <gy1> ^com <gx2> ^layer <lay1>)
- (extended-ff <nn> right)
- (horizontal-cycle <nn>)
-->
(make extended-ff <nn> right)
(modify <v> ^max <gx2> ^max-net <nn>)
(make horizontal ^net-name <nn> ^max <gx1> ^min <gx2> ^layer <lay1> ^com <gy1> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p202
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^min <min> ^max <max> ^difference 0)
- (vertical-s ^difference <> 0)
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <max> ^grid-layer <lay> ^came-from west ^pin-name <pn>) }
- (vertical ^net-name nil ^min < <max> ^max >= <max> ^com <gx>)
{ <v> (horizontal ^net-name nil ^max { <vmax> > <gx> } ^min { < <vmax> <= <gx> } ^com <max> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx2> ^como <gx>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <max> ^layer <lay>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <max> ^max >= <max> ^com <gx2> ^layer <lay>)
- (horizontal-cycle <nn>)
-->
(modify <v> ^min <gx2> ^min-net <nn>)
(make horizontal ^net-name <nn> ^max <gx2> ^min <gx> ^layer <lay> ^com <max> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p203
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^min <min> ^max <max> ^difference 0)
- (vertical-s ^difference <> 0)
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <min> ^grid-layer <lay> ^came-from west ^pin-name <pn>) }
- (vertical ^net-name nil ^min <= <min> ^max > <min> ^com <gx>)
{ <v> (horizontal ^net-name nil ^max { <vmax> > <gx> } ^min { < <vmax> <= <gx> } ^com <min> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx2> ^como <gx>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <min> ^layer <lay>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <min> ^max >= <min> ^com <gx2> ^layer <lay>)
- (horizontal-cycle <nn>)
-->
(modify <v> ^min <gx2> ^min-net <nn>)
(make horizontal ^net-name <nn> ^max <gx2> ^min <gx> ^layer <lay> ^com <min> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p204
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^min <min> ^max <max> ^difference 0)
- (vertical-s ^difference <> 0)
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <max> ^grid-layer <lay> ^came-from east ^pin-name <pn>) }
- (vertical ^net-name nil ^min < <max> ^max >= <max> ^com <gx>)
{ <v> (horizontal ^net-name nil ^max { <vmax> >= <gx> } ^min { < <vmax> < <gx> } ^com <max> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx> ^como <gx2>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <max> ^layer <lay>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <max> ^max >= <max> ^com <gx2> ^layer <lay>)
- (horizontal-cycle <nn>)
-->
(modify <v> ^max <gx2> ^max-net <nn>)
(make horizontal ^net-name <nn> ^max <gx> ^min <gx2> ^layer <lay> ^com <max> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p205
(context ^present extend-ff)
(vertical-s ^net-name <nn> ^min <min> ^max <max> ^difference 0)
- (vertical-s ^difference <> 0)
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <min> ^grid-layer <lay> ^came-from east ^pin-name <pn>) }
- (vertical ^net-name nil ^min <= <min> ^max > <min> ^com <gx>)
{ <v> (horizontal ^net-name nil ^max { <vmax> >= <gx> } ^min { < <vmax> < <gx> } ^com <min> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(congestion ^direction col ^coordinate <gx> ^como <gx2>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <min> ^layer <lay>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <min> ^max >= <min> ^com <gx2> ^layer <lay>)
- (horizontal-cycle <nn>)
-->
(modify <v> ^max <gx2> ^max-net <nn>)
(make horizontal ^net-name <nn> ^max <gx> ^min <gx2> ^layer <lay> ^com <min> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
)
(p p206
{ <c> (context ^present extend-h-v-s) }
-->
(modify <c> ^present loose-constraint0)
)
(p p207
{ <c> (context ^present extend-h-v-s) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^came-from west ^pin-name <pn>) }
(horizontal-s ^net-name <nn> ^min <= <gx> ^max { <hmaxs> > <gx> } ^com <gy>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^com <gy>)
(vertical-s ^net-name <nn> ^min <= <gy> ^max >= <gy> ^com { <vcoms> > <gx> <= <hmaxs> })
- (vertical-s ^net-name <nn> ^min <= <gy> ^max >= <gy> ^com { >= <gx> < <vcoms> })
{ <h> (horizontal ^net-name nil ^min <gx> ^max { <hmax> >= <vcoms> } ^com <gy> ^layer <lay>) }
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <vcoms> ^layer <lay>)
-->
(make (substr <h> 1 inf) ^net-name <nn> ^pin-name <pn> ^max <vcoms>)
(modify <h> ^min <vcoms> ^min-net <nn>)
(modify <ff> ^grid-x <vcoms> ^can-chng-layer nil)
(modify <c> ^present propagate-constraint)
)
(p p208
{ <c> (context ^present extend-h-v-s) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^came-from east ^pin-name <pn>) }
(horizontal-s ^net-name <nn> ^min { <hmins> < <gx> } ^max >= <gx> ^com <gy>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^com <gy>)
(vertical-s ^net-name <nn> ^min <= <gy> ^max >= <gy> ^com { <vcoms> < <gx> >= <hmins> })
- (vertical-s ^net-name <nn> ^min <= <gy> ^max >= <gy> ^com { <= <gx> > <vcoms> })
{ <h> (horizontal ^net-name nil ^min { <hmin> <= <vcoms> } ^max <gx> ^com <gy> ^layer <lay>) }
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <vcoms> ^layer <lay>)
-->
(make (substr <h> 1 inf) ^net-name <nn> ^pin-name <pn> ^min <vcoms>)
(modify <h> ^max <vcoms> ^max-net <nn>)
(modify <ff> ^grid-x <vcoms> ^can-chng-layer nil)
(modify <c> ^present propagate-constraint)
)
(p p209
{ <c> (context ^present extend-h-v-s) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^came-from south ^pin-name <pn>) }
(vertical-s ^net-name <nn> ^min <= <gy> ^max { <vmaxs> > <gy> } ^com <gx>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^com <gx>)
(horizontal-s ^net-name <nn> ^min <= <gx> ^max >= <gx> ^com { <hcoms> > <gy> <= <vmaxs> })
- (horizontal-s ^net-name <nn> ^min <= <gx> ^max >= <gx> ^com { >= <gy> < <hcoms> })
{ <v> (vertical ^net-name nil ^min <gy> ^max { <vmax> >= <hcoms> } ^com <gx> ^layer <lay>) }
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <hcoms> ^layer <lay>)
-->
(make (substr <v> 1 inf) ^net-name <nn> ^pin-name <pn> ^max <hcoms>)
(modify <v> ^min <hcoms> ^min-net <nn>)
(modify <ff> ^grid-y <hcoms> ^can-chng-layer nil)
(modify <c> ^present propagate-constraint)
)
(p p210
{ <c> (context ^present extend-h-v-s) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^came-from north ^pin-name <pn>) }
(vertical-s ^net-name <nn> ^min { <vmins> < <gy> } ^max >= <gy> ^com <gx>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^com <gx>)
(horizontal-s ^net-name <nn> ^min <= <gx> ^max >= <gx> ^com { <hcoms> < <gy> >= <vmins> })
- (horizontal-s ^net-name <nn> ^min <= <gx> ^max >= <gx> ^com { <= <gy> > <hcoms> })
{ <v> (vertical ^net-name nil ^min { <vmin> <= <hcoms> } ^max <gy> ^com <gx> ^layer <lay>) }
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <hcoms> ^layer <lay>)
-->
(make (substr <v> 1 inf) ^net-name <nn> ^pin-name <pn> ^min <hcoms>)
(modify <v> ^max <hcoms> ^max-net <nn>)
(modify <ff> ^grid-y <hcoms> ^can-chng-layer nil)
(modify <c> ^present propagate-constraint)
)
(p p29
(goal cleanup <c>)
(<c>)
-->
(remove 2)
)
(p p30
(goal cleanup <c>)
- (<c>)
-->
(remove 1)
)
(p p31
(goal cleanup)
(verti-has-loop)
-->
(remove 2)
)
(p p83
(context ^present propagate-constraint)
-->
(remove 1)
(make context ^previous propagate-constraint)
(make context ^present remove-cycle)
)
(p p84
(context ^present << propagate-constraint extend-pins move-ff >>)
(horizontal ^status nil ^net-name { <nn1> <> nil } ^min <min1> ^max <max1> ^com <com> ^layer <lay> ^compo <cpo> ^commo <egarb1>)
(horizontal ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min { <min2> <= <max1> } ^max { <max2> >= <min1> } ^com <cpo> ^layer <lay> ^compo <garb1> ^commo <egarb2>)
{ <v1> (vertical ^net-name nil ^min { <min3> <= <com> } ^max { <max3> >= <cpo> > <min3> } ^com { <com2> <= <max1> >= <min1> <= <max2> >= <min2> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <mnn> ^max-net <man>) }
-->
(make vertical ^min <min3> ^max <com> ^com <com2> ^compo <cpo2> ^commo <cmo2> ^layer <lay> ^max-net <nn1> ^min-net <mnn>)
(make vertical ^min <cpo> ^max <max3> ^com <com2> ^compo <cpo2> ^commo <cmo2> ^layer <lay> ^min-net <nn2> ^max-net <man>)
(remove <v1>)
)
(p p85
(context ^present << propagate-constraint extend-pins >>)
(ff ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <egarb1>)
(horizontal ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min { <garb1> <= <gx> } ^max { <garb2> >= <gx> } ^com <com> ^layer <lay> ^compo <egarb2> ^commo <gy>)
{ <v1> (vertical ^net-name nil ^min { <min3> <= <gy> } ^max { <max3> >= <com> > <min3> } ^com <gx> ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <mnn> ^max-net <man>) }
-->
(make vertical ^min <min3> ^max <gy> ^com <gx> ^compo <cpo2> ^commo <cmo2> ^layer <lay> ^max-net <nn1> ^min-net <mnn>)
(make vertical ^min <com> ^max <max3> ^com <gx> ^compo <cpo2> ^commo <cmo2> ^layer <lay> ^min-net <nn2> ^max-net <man>)
(remove <v1>)
)
(p p86
(context ^present << propagate-constraint extend-pins >>)
(ff ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <egarb1>)
(horizontal ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min { <garb1> <= <gx> } ^max { <garb2> >= <gx> } ^com <com> ^layer <lay> ^compo <gy> ^commo <egarb2>)
{ <v1> (vertical ^net-name nil ^min { <min3> <= <com> } ^max { <max3> >= <gy> > <min3> } ^com <gx> ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <mnn> ^max-net <man>) }
-->
(make vertical ^min <min3> ^max <com> ^com <gx> ^compo <cpo2> ^commo <cmo2> ^layer <lay> ^max-net <nn2> ^min-net <mnn>)
(make vertical ^min <gy> ^max <max3> ^com <gx> ^compo <cpo2> ^commo <cmo2> ^layer <lay> ^min-net <nn1> ^max-net <man>)
(remove <v1>)
)
(p p87
(context ^present propagate-constraint)
(horizontal ^status nil ^net-name { <nn1> <> nil } ^min <garb1> ^max <max1> ^com <com> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(horizontal ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min <min2> ^max <gar2> ^com <com> ^layer <lay> ^compo <egarb3> ^commo <egarb4>)
{ <h1> (horizontal ^net-name nil ^min <max1> ^max { <min2> > <max1> } ^com <com> ^layer <lay> ^compo <egarb5> ^commo <egarb6>) }
- (vertical ^com { > <max1> < <min2> })
-->
(remove <h1>)
)
(p p88
(context ^present << propagate-constraint extend-pins move-ff >>)
(vertical ^status nil ^net-name { <nn1> <> nil } ^min <min1> ^max <max1> ^com <com> ^layer <lay> ^compo <cpo> ^commo <egarb1>)
(vertical ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min { <min2> <= <max1> } ^max { <max2> >= <min1> } ^com <cpo> ^layer <lay> ^compo <garb1> ^compo <egarb2>)
{ <h1> (horizontal ^net-name nil ^min { <min3> <= <com> } ^max { <max3> >= <cpo> } ^com { <com2> <= <max1> >= <min1> <= <max2> >= <min2> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <mnn> ^max-net <man>) }
-->
(make horizontal ^min <min3> ^max <com> ^com <com2> ^compo <cpo2> ^commo <cmo2> ^layer <lay> ^min-net <mnn> ^max-net <nn1>)
(make horizontal ^min <cpo> ^max <max3> ^com <com2> ^compo <cpo2> ^commo <cmo2> ^layer <lay> ^max-net <man> ^min-net <nn2>)
(remove <h1>)
)
(p p89
(context ^present propagate-constraint)
(vertical ^status nil ^net-name { <nn1> <> nil } ^min <garb1> ^max <max1> ^com <com> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(vertical ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min <min2> ^max <garb2> ^com <com> ^layer <lay> ^compo <egarb3> ^commo <egarb4>)
- (horizontal ^com { > <max1> < <min2> })
{ <v1> (vertical ^net-name nil ^min <max1> ^max { <min2> > <max1> } ^com <com> ^layer <lay> ^compo <egarb5> ^commo <egarb6>) }
-->
(remove <v1>)
)
(p p90
(context ^present propagate-constraint)
(vertical ^status nil ^net-name { <nn1> <> nil } ^min <vmin> ^max <garb1> ^com <vcom> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(horizontal ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min { <garb2> <= <vcom> } ^max { <garb3> >= <vcom> } ^com <hcom> ^layer <lay> ^compo <vmin> ^commo <garb5>)
{ <v1> (vertical ^net-name nil ^min <garb4> ^max { <vmin> > <garb4> } ^com <vcom> ^layer <lay> ^compo <egarb3> ^commo <egarb4>) }
-->
(modify <v1> ^max <hcom> ^max-net <nn2>)
)
(p p91
(context ^present propagate-constraint)
(vertical ^status nil ^net-name { <nn1> <> nil } ^min <garb1> ^max <vmax> ^com <vcom> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(horizontal ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min { <garb2> <= <vcom> } ^max { <garb3> >= <vcom> } ^com <hcom> ^layer <lay> ^compo <garb4> ^commo <vmax>)
{ <v1> (vertical ^net-name nil ^min <vmax> ^max { <garb5> > <vmax> } ^com <vcom> ^layer <lay> ^compo <egarb3> ^commo <egarb4>) }
-->
(modify <v1> ^min <hcom> ^min-net <nn2>)
)
(p p92
(context ^present propagate-constraint)
(horizontal ^status nil ^net-name { <nn1> <> nil } ^min <min> ^max <garb1> ^com <hcom> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(vertical ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min { <garb2> <= <hcom> } ^max { <garb3> >= <hcom> } ^com <vcom> ^layer <lay> ^compo <min> ^commo <egarb3>)
{ <h1> (horizontal ^net-name nil ^min <garb4> ^max { <min> > <garb4> } ^com <hcom> ^layer <lay> ^compo <egarb4> ^commo <egarb5>) }
-->
(modify <h1> ^max <vcom> ^max-net <nn2>)
)
(p p93
(context ^present propagate-constraint)
(horizontal ^status nil ^net-name { <nn1> <> nil } ^min <garb1> ^max <max> ^com <hcom> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(vertical ^status nil ^net-name { <nn2> <> <nn1> <> nil } ^min { <garb2> <= <hcom> } ^max { <garb3> >= <hcom> } ^com <vcom> ^layer <lay> ^compo <garb4> ^commo <max>)
{ <h1> (horizontal ^net-name nil ^min <max> ^max { <garb4> > <max> } ^com <hcom> ^layer <lay> ^compo <egarb3> ^commo <egarb4>) }
-->
(modify <h1> ^min <vcom> ^min-net <nn2>)
)
(p p94
(context ^present propagate-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <egarb1>)
{ <h1> (horizontal ^net-name nil ^min <garb3> ^max { <gx> > <garb3> } ^com <gy> ^layer <lay> ^compo <egarb3> ^commo <egarb4>) }
(vertical ^status nil ^net-name { <nn2> <> <nn> <> nil } ^min { <garb1> <= <gy> } ^max { <garb2> >= <gy> } ^com <vcom> ^layer <lay> ^compo <gx> ^commo <egarb2>)
-->
(modify <h1> ^max <vcom> ^max-net <nn2>)
)
(p p95
(context ^present propagate-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <egarb1>)
{ <h1> (horizontal ^net-name nil ^min <gx> ^max { <garb4> > <gx> } ^com <gy> ^layer <lay> ^compo <egarb2> ^commo <egarb3>) }
(vertical ^status nil ^net-name { <nn2> <> <nn> <> nil } ^min { <garb1> <= <gy> } ^max { <garb2> >= <gy> } ^com <vcom> ^layer <lay> ^compo <garb3> ^commo <gx>)
-->
(modify <h1> ^min <vcom> ^min-net <nn2>)
)
(p p96
(context ^present propagate-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <egarb1>)
(horizontal ^status nil ^net-name { <nn2> <> <nn> <> nil } ^min { <garb1> <= <gx> } ^max { <garb2> >= <gx> } ^com <hcom> ^layer <lay> ^compo <gy> ^commo <garb3>)
{ <v1> (vertical ^net-name nil ^min <garb4> ^max { <gy> > <garb4> } ^com <gx> ^layer <lay> ^compo <egarb2> ^commo <egarb3>) }
-->
(modify <v1> ^max <hcom> ^max-net <nn2>)
)
(p p97
(context ^present propagate-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <egarb1>)
(horizontal ^status nil ^net-name { <nn2> <> <nn> <> nil } ^min { <garb1> <= <gx> } ^max { <garb2> >= <gx> } ^com <hcom> ^layer <lay> ^compo <garb3> ^commo <gy>)
{ <v1> (vertical ^net-name nil ^min <gy> ^max { <garb4> > <gy> } ^com <gx> ^layer <lay> ^compo <egarb2> ^commo <egarb3>) }
-->
(modify <v1> ^min <hcom> ^min-net <nn2>)
)
(p p98
(context ^present << propagate-constraint extend-pins random1 check-for-routed-net >>)
{ <h1> (horizontal ^min <min> ^max <= <min>) }
-->
(remove <h1>)
)
(p p99
(context ^present << propagate-constraint extend-pins random1 check-for-routed-net >>)
{ <v1> (vertical ^min <min> ^max <= <min>) }
-->
(remove <v1>)
)
(p p100
{ <h1> (horizontal ^min <min> ^max <= <min>) }
-->
(remove <h1>)
)
(p p101
{ <v1> (vertical ^min <min> ^max <= <min>) }
-->
(remove <v1>)
)
(p p102
(context ^present propagate-constraint)
{ <h1> (horizontal ^net-name nil ^min <min1> ^max { <max1> > <min1> } ^com <com1> ^layer <lay> ^compo <egarb2> ^commo <egarb3>) }
- (vertical ^status nil ^min <= <com1> ^max >= <com1> ^com <min1>)
- (horizontal ^status nil ^min < <min1> ^max >= <min1> ^com <com1>)
(vertical ^status nil ^net-name <garb1> ^min { <vmin> <= <com1> } ^max { >= <com1> > <vmin> } ^com { <com2> > <min1> <= <max1> } ^layer <garb2> ^compo <egarb4> ^commo <egarb5>)
- (vertical ^status nil ^min <= <com1> ^max >= <com1> ^com { < <com2> >= <min1> })
-->
(modify <h1> ^min <com2> ^min-net nil)
)
(p p103
(context ^present propagate-constraint)
{ <v1> (vertical ^net-name nil ^min <min1> ^max { <max1> > <min1> } ^com <com1> ^layer <lay> ^compo <egarb2> ^commo <egarb3>) }
- (horizontal ^status nil ^min <= <com1> ^max >= <com1> ^com <min1>)
- (vertical ^status nil ^min < <min1> ^max >= <min1> ^com <com1>)
(horizontal ^status nil ^net-name <garb1> ^min { <hmin> <= <com1> } ^max { <garb2> >= <com1> > <hmin> } ^com { <com2> > <min1> <= <max1> } ^layer <garb3> ^compo <egarb4> ^commo <egarb5>)
- (horizontal ^status nil ^min <= <com1> ^max >= <com1> ^com { < <com2> >= <min1> })
-->
(modify <v1> ^min <com2> ^min-net nil)
)
(p p104
(context ^present propagate-constraint)
{ <h1> (horizontal ^net-name nil ^min <min1> ^max { <max1> > <min1> } ^com <com1> ^layer <lay> ^compo <egarb4> ^commo <egarb5>) }
- (vertical ^status nil ^min <= <com1> ^max >= <com1> ^com <max1>)
- (horizontal ^status nil ^min <= <max1> ^max > <max1> ^com <com1>)
(vertical ^status nil ^net-name <garb1> ^min { <vmin> <= <com1> } ^max { <garb2> >= <com1> > <vmin> } ^com { <com2> >= <min1> < <max1> } ^layer <egarb1> ^compo <egarb2> ^commo <egarb3>)
- (vertical ^status nil ^min <= <com1> ^max >= <com1> ^com { > <com2> <= <max1> })
-->
(modify <h1> ^max <com2> ^max-net nil)
)
(p p105
(context ^present propagate-constraint)
{ <v1> (vertical ^net-name nil ^min <min1> ^max { <max1> > <min1> } ^com <com1> ^layer <lay> ^compo <egarb2> ^commo <egarb3>) }
- (horizontal ^status nil ^min <= <com1> ^max >= <com1> ^com <max1>)
- (vertical ^status nil ^min <= <max1> ^max > <max1> ^com <com1>)
(horizontal ^status nil ^net-name <garb1> ^min { <hmin> <= <com1> } ^max { <garb2> >= <com1> > <hmin> } ^com { <com2> >= <min1> < <max1> } ^layer <egarb1> ^compo <egarb4> ^commo <egarb5>)
- (horizontal ^status nil ^min <= <com1> ^max >= <com1> ^com { > <com2> <= <max1> })
-->
(modify <v1> ^max <com2> ^max-net nil)
)
(p p106
(context ^present propagate-constraint)
{ <h1> (horizontal ^net-name nil ^min <hmin> ^max { <hmax> > <hmin> } ^com <hcom> ^layer <lay> ^compo <egarb6> ^commo <egarb7>) }
- (vertical ^com { > <hmin> < <hmax> })
- (vertical ^status nil ^min <= <hcom> ^max >= <hcom> ^com <hmax> ^layer <lay>)
- (horizontal ^status nil ^min <hmax> ^max > <hmax> ^com <hcom> ^layer <lay>)
(vertical ^net-name { <nn1> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <hmax> ^layer <> <lay> ^compo <egarb4> ^commo <egarb5>)
(vertical ^net-name { <> <nn1> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <hmin> ^layer <> <lay> ^compo <egarb2> ^commo <egarb3>)
-->
(remove <h1>)
)
(p p107
(context ^present propagate-constraint)
{ <v1> (vertical ^net-name nil ^min <vmin> ^max { <vmax> > <vmin> } ^com <vcom> ^layer <lay> ^compo <egarb2> ^commo <egarb3>) }
- (horizontal ^com { > <vmin> < <vmax> })
- (horizontal ^status nil ^min <= <vcom> ^max >= <vcom> ^com <vmax> ^layer <lay>)
- (vertical ^status nil ^min <vmax> ^max > <vmax> ^com <vcom> ^layer <lay>)
(horizontal ^net-name { <nn1> <> nil } ^min { <garb1> <= <vcom> } ^max { <garb2> >= <vcom> } ^com <vmax> ^layer { <garb3> <> <lay> } ^compo <egarb6> ^commo <egarb7>)
(horizontal ^net-name { <> <nn1> <> nil } ^min { <garb4> <= <vcom> } ^max { <garb5> >= <vcom> } ^com <vmin> ^layer { <garb6> <> <lay> } ^compo <egarb4> ^commo <egarb5>)
-->
(remove <v1>)
)
(p p108
(context ^present propagate-constraint)
{ <h1> (horizontal ^net-name nil ^min <hmin> ^max { <hmax> > <hmin> } ^com <hcom> ^layer <lay> ^compo <egarb6> ^commo <egarb7>) }
- (vertical ^com { > <hmin> < <hmax> })
- (vertical ^status nil ^min <= <hcom> ^max >= <hcom> ^com <hmin> ^layer <lay>)
- (horizontal ^status nil ^min < <hmin> ^max <hmin> ^com <hcom> ^layer <lay>)
- (vertical ^status nil ^min <= <hcom> ^max >= <hcom> ^com <hmax> ^layer <lay>)
- (horizontal ^status nil ^min <hmax> ^max > <hmax> ^com <hcom> ^layer <lay>)
(vertical ^net-name { <nn1> <> nil } ^min { <garb1> <= <hcom> } ^max { <garb2> >= <hcom> } ^com <hmax> ^layer { <garb3> <> <lay> } ^compo <egarb2> ^commo <egarb3>)
(vertical ^net-name { <garb7> <> <nn1> <> nil } ^min { <gabr4> <= <hcom> } ^max { <garb5> >= <hcom> } ^com <hmin> ^layer { <garb6> <> <lay> } ^compo <egarb4> ^commo <egarb5>)
-->
(remove <h1>)
)
(p p109
(context ^present propagate-constraint)
{ <v1> (vertical ^net-name nil ^min <vmin> ^max { <vmax> > <vmin> } ^com <vcom> ^layer <lay> ^compo <egarb6> ^commo <egarb7>) }
- (horizontal ^com { > <vmin> < <vmax> })
- (horizontal ^status nil ^min <= <vcom> ^max >= <vcom> ^com <vmin> ^layer <lay>)
- (vertical ^status nil ^min < <vmin> ^max <vmin> ^com <vcom> ^layer <lay>)
(horizontal ^net-name { <nn1> <> nil } ^min { <garb1> <= <vcom> } ^max { <garb2> >= <vcom> } ^com <vmax> ^layer { <garb3> <> <lay> } ^compo <egarb2> ^commo <egarb3>)
(horizontal ^net-name { <garb7> <> <nn1> <> nil } ^min { <garb4> <= <vcom> } ^max { <garb5> >= <vcom> } ^com <vmin> ^layer { <garb6> <> <lay> } ^compo <egarb4> ^commo <egarb5>)
-->
(remove <v1>)
)
(p p110
(context ^present propagate-constraint)
{ <h1> (horizontal ^net-name nil ^min <max1> ^max { <max2> > <max1> } ^com <hcom> ^layer <lay> ^compo <egarb4> ^commo <egarb5>) }
- (vertical ^min <= <hcom> ^max >= <hcom> ^com <max2> ^layer <lay>)
- (horizontal ^min <max2> ^max > <max2> ^com <hcom> ^layer <lay>)
- (vertical ^net-name nil ^min < <hcom> ^max > <hcom> ^com { > <max1> < <max2> })
- (vertical ^net-name nil ^min < <hcom> ^max <hcom> ^com { > <max1> < <max2> } ^max-net nil)
- (vertical ^net-name nil ^min <hcom> ^max > <hcom> ^com { > <max1> < <max2> } ^min-net nil)
(horizontal ^net-name { <nn> <> nil } ^min <garb1> ^max <max1> ^com <hcom> ^layer <lay> ^compo <egarb2> ^commo <egarb3>)
(vertical ^net-name { <nn1> <> <nn> <> nil } ^min { <garb4> <= <hcom> } ^max { <garb2> >= <hcom> } ^com <max2> ^layer { <garb3> <> <lay> } ^compo <egarb6> ^commo <egarb7>)
- (vertical ^net-name { <nn1> <> nil } ^min <= <hcom> ^max >= <hcom> ^com { > <max1> < <max2> })
-->
(modify <h1> ^max (compute <max2> - 1) ^max-net nil)
)
(p p111
(context ^present propagate-constraint)
{ <h1> (horizontal ^net-name nil ^min <max1> ^max { <max2> > <max1> } ^com <hcom> ^layer <lay> ^compo <egarb4> ^commo <egarb5>) }
- (vertical ^min <= <hcom> ^max >= <hcom> ^com <max1> ^layer <lay>)
- (horizontal ^min < <max1> ^max <max1> ^com <hcom> ^layer <lay>)
- (vertical ^net-name nil ^min < <hcom> ^max > <hcom> ^com { > <max1> < <max2> })
- (vertical ^net-name nil ^min < <hcom> ^max <hcom> ^com { > <max1> < <max2> } ^max-net nil)
- (vertical ^net-name nil ^min <hcom> ^max > <hcom> ^com { > <max1> < <max2> } ^min-net nil)
(horizontal ^net-name { <nn> <> nil } ^min <max2> ^max <garb1> ^com <hcom> ^layer <lay> ^compo <egarb2> ^commo <egarb3>)
(vertical ^net-name { <nn1> <> <nn> <> nil } ^min { <garb4> <= <hcom> } ^max { <garb2> >= <hcom> } ^com <max1> ^layer { <garb3> <> <lay> } ^compo <egarb6> ^commo <egarb7>)
- (vertical ^net-name { <nn1> <> nil } ^min <= <hcom> ^max >= <hcom> ^com { > <max1> < <max2> })
-->
(modify <h1> ^min (compute <max1> + 1) ^min-net nil)
)
(p p112
(context ^present propagate-constraint)
{ <h1> (horizontal ^net-name nil ^min <max1> ^max { <max2> > <max1> } ^com <hcom> ^layer <lay> ^compo <egarb4> ^commo <egarb5>) }
- (vertical ^min <= <hcom> ^max >= <hcom> ^com <max2> ^layer <lay>)
- (horizontal ^min <max2> ^max > <max2> ^com <hcom> ^layer <lay>)
- (vertical ^net-name nil ^min < <hcom> ^max > <hcom> ^com { >= <max1> < <max2> })
- (vertical ^net-name nil ^min < <hcom> ^max <hcom> ^com { >= <max1> < <max2> } ^max-net nil)
- (vertical ^net-name nil ^min <hcom> ^max > <hcom> ^com { >= <max1> < <max2> } ^min-net nil)
- (horizontal ^min < <max1> ^max <max1> ^com <hcom> ^layer <lay>)
(vertical ^net-name { <nn1> <> nil } ^min { <garb1> <= <hcom> } ^max { <garb2> >= <hcom> } ^com <max2> ^layer { <garb3> <> <lay> } ^compo <egarb6> ^commo <egarb7>)
- (vertical ^net-name { <nn1> <> nil } ^min <= <hcom> ^max >= <hcom> ^com { >= <max1> < <max2> })
-->
(modify <h1> ^max (compute <max2> - 1) ^max-net nil)
)
(p p113
(context ^present propagate-constraint)
{ <h1> (horizontal ^net-name nil ^min <max1> ^max { <max2> > <max1> } ^com <hcom> ^layer <lay> ^compo <egarb4> ^commo <egarb5>) }
- (vertical ^min <= <hcom> ^max >= <hcom> ^com <max1> ^layer <lay>)
- (horizontal ^min < <max1> ^max <max1> ^com <hcom> ^layer <lay>)
- (vertical ^net-name nil ^min < <hcom> ^max > <hcom> ^com { > <max1> <= <max2> })
- (vertical ^net-name nil ^min < <hcom> ^max <hcom> ^com { > <max1> <= <max2> } ^max-net nil)
- (vertical ^net-name nil ^min <hcom> ^max > <hcom> ^com { > <max1> <= <max2> } ^min-net nil)
- (horizontal ^min <max2> ^max > <max2> ^com <hcom> ^layer <lay>)
(vertical ^net-name { <nn1> <> nil } ^min { <garb1> <= <hcom> } ^max { <garb2> >= <hcom> } ^com <max1> ^layer { <garb3> <> <lay> } ^compo <egarb6> ^commo <egarb7>)
- (vertical ^net-name { <nn1> <> nil } ^min <= <hcom> ^max >= <hcom> ^com { > <max1> <= <max2> })
-->
(modify <h1> ^min (compute <max1> + 1) ^min-net nil)
)
(p p114
(context ^present propagate-constraint)
{ <v1> (vertical ^net-name nil ^min <max1> ^max { <max2> > <max1> } ^com <hcom> ^layer <lay> ^compo <egarb4> ^commo <egarb5>) }
(vertical ^net-name { <nn> <> nil } ^min <garb1> ^max <max1> ^com <hcom> ^layer <lay> ^compo <egarb2> ^commo <egarb3>)
- (horizontal ^min <= <hcom> ^max >= <hcom> ^com <max2> ^layer <lay>)
- (vertical ^min <max2> ^max > <max2> ^com <hcom> ^layer <lay>)
- (horizontal ^net-name nil ^min < <hcom> ^max > <hcom> ^com { > <max1> < <max2> })
- (horizontal ^net-name nil ^min < <hcom> ^max <hcom> ^com { > <max1> < <max2> } ^max-net nil)
- (horizontal ^net-name nil ^min <hcom> ^max > <hcom> ^com { > <max1> < <max2> } ^min-net nil)
(horizontal ^net-name { <nn1> <> <nn> <> nil } ^min { <garb2> <= <hcom> } ^max { <garb3> >= <hcom> } ^com <max2> ^layer { <garb4> <> <lay> } ^compo <egarb6> ^commo <egarb7>)
- (horizontal ^net-name { <nn1> <> nil } ^min <= <hcom> ^max >= <hcom> ^com { > <max1> < <max2> })
-->
(modify <v1> ^max (compute <max2> - 1) ^max-net nil)
)
(p p115
(context ^present propagate-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <egarb1>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^compo <gy>)
{ <v1> (vertical ^net-name nil ^min <vmin> ^max { <gy> > <vmin> } ^com <gx> ^layer <lay> ^compo <egarb2> ^commo <egarb3>) }
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { >= <vmin> < <gy> })
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { >= <vmin> < <gy> } ^max-net nil)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { >= <vmin> < <gy> } ^min-net nil)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { >= <vmin> < <gy> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <vmin> ^max >= <vmin> ^com <gx>)
-->
(modify <v1> ^max (compute <gy> - 1) ^max-net nil)
)
(p p116
(context ^present propagate-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <egarb1>)
{ <h1> (horizontal ^net-name nil ^min <gx> ^max { <max2> > <gx> } ^com <gy> ^layer <lay> ^compo <egarb2> ^commo <egarb3>) }
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <gx> <= <max2> } ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <gx> <= <max2> })
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <gx> <= <max2> } ^max-net nil)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <gx> <= <max2> })
-->
(modify <h1> ^min (compute <gx> + 1) ^min-net nil)
)
(p p117
(context ^present propagate-constraint)
{ <v1> (vertical ^net-name nil ^min <vmin> ^max { <vmax> > <vmin> } ^com <vcom> ^layer <lay> ^min-net { <nn> <> nil }) }
(horizontal ^net-name nil ^min { <hmin> <= <vcom> } ^max { <hmax> >= <vcom> > <hmin> } ^com <vmax> ^layer <lay> ^commo <vmin> ^min-net { <> <nn> <> nil } ^max-net { <> <nn> <> nil })
- (vertical ^net-name nil ^min < <vmax> ^max > <vmax> ^com { > <hmin> < <hmax> })
- (vertical ^net-name nil ^min < <vmax> ^max <vmax> ^com { > <hmin> < <vcom> } ^max-net nil)
- (vertical ^net-name nil ^min < <vmax> ^max <vmax> ^com { > <vcom> < <hmax> } ^max-net nil)
- (vertical ^net-name nil ^min <vmax> ^max > <vmax> ^com { > <hmin> < <hmax> } ^min-net nil)
- (vertical ^net-name { <nn> <> nil } ^min <= <vmax> ^max >= <vmax> ^com { > <hmin> < <hmax> })
-->
(remove <v1>)
)
(p p118
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay1> ^compo <cpo1> ^commo <cmo1>)
- (vertical ^net-name nil ^com <com1>)
- (horizontal ^net-name nil ^min < <com1> ^max > <com1> ^com > <max1>)
- (horizontal ^net-name nil ^min < <com1> ^max > <com1> ^com < <min1>)
{ <h1> (horizontal ^net-name nil ^min { <min2> < <com1> } ^max { <max2> > <com1> > <min2> } ^com { <com2> >= <min1> <= <max1> } ^layer { <lay2> <> <lay1> } ^compo <cpo2> ^commo <cmo2>) }
- (horizontal ^net-name nil ^min < <com1> ^max > <com1> ^com { >= <min1> <= <max1> } ^layer <lay2>)
{ <t1> (to-be-routed ^net-name { <nn2> <> <nn1> } ^no-of-attached-pins <nap>) }
- (horizontal ^status nil ^net-name { <nn2> <> nil } ^min <= <com1> ^max >= <com1>)
(pin ^net-name <nn2> ^pin-x < <com1>)
(pin ^net-name <nn2> ^pin-x > <com1>)
{ <b1> (branch-no <pn>) }
-->
(make branch-no (compute <pn> + 1))
(modify <t1> ^no-of-attached-pins (compute <nap> - 1))
(remove <b1>)
(make horizontal ^min <cmo1> ^max <cpo1> ^com <com2> ^layer <lay2> ^net-name <nn2> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make horizontal ^min <min2> ^max <cmo1> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^max-net <nn2>)
(make horizontal ^min <cpo1> ^max <max2> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^min-net <nn2>)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <cmo1> ^grid-y <com2> ^grid-layer <lay2> ^came-from east)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <cpo1> ^grid-y <com2> ^grid-layer <lay2> ^came-from west)
(remove <h1>)
)
(p p119
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay1> ^compo <cpo1> ^commo <cmo1>)
- (vertical ^net-name nil ^com <com1>)
{ <h1> (horizontal ^net-name nil ^min { <min2> < <com1> } ^max { <max2> > <com1> > <min2> } ^com { <com2> >= <min1> <= <max1> } ^layer { <lay2> <> <lay1> } ^compo <cpo2> ^commo <cmo2>) }
- (horizontal ^net-name nil ^min < <com1> ^max > <com1> ^com > <com2>)
- (horizontal ^net-name nil ^min < <com1> ^max > <com1> ^com < <com2>)
{ <t1> (to-be-routed ^net-name { <nn2> <> <nn1> } ^no-of-attached-pins <nap>) }
- (horizontal ^status nil ^net-name { <nn2> <> nil } ^min <= <com1> ^max >= <com1>)
(pin ^net-name <nn2> ^pin-x < <com1>)
(pin ^net-name <nn2> ^pin-x > <com1>)
{ <b1> (branch-no <pn>) }
-->
(make branch-no (compute <pn> + 1))
(modify <t1> ^no-of-attached-pins (compute <nap> - 1))
(remove <b1>)
(make horizontal ^min <cmo1> ^max <cpo1> ^com <com2> ^layer <lay2> ^net-name <nn2> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make horizontal ^min <min2> ^max <cmo1> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^max-net <nn2>)
(make horizontal ^min <cpo1> ^max <max2> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^min-net <nn2>)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <cmo1> ^grid-y <com2> ^grid-layer <lay2> ^came-from east)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <cpo1> ^grid-y <com2> ^grid-layer <lay2> ^came-from west)
(remove <h1>)
)
(p p120
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay1> ^compo <cpo1> ^commo <cmo1>)
- (horizontal ^net-name nil ^com <com1>)
- (vertical ^net-name nil ^min < <com1> ^max > <com1> ^com > <max1>)
- (vertical ^net-name nil ^min < <com1> ^max > <com1> ^com < <min1>)
{ <v1> (vertical ^net-name nil ^min { <min2> < <com1> } ^max { <max2> > <com1> > <min2> } ^com { <com2> >= <min1> <= <max1> } ^layer { <lay2> <> <lay1> } ^compo <cpo2> ^commo <cmo2>) }
- (vertical ^net-name nil ^min < <com1> ^max > <com1> ^com { >= <min1> <= <max1> } ^layer <lay2>)
{ <t1> (to-be-routed ^net-name { <nn2> <> <nn1> } ^no-of-attached-pins <nap>) }
- (vertical ^status nil ^net-name { <nn2> <> nil } ^min <= <com1> ^max >= <com1>)
(pin ^net-name <nn2> ^pin-y < <com1>)
(pin ^net-name <nn2> ^pin-y > <com1>)
{ <b1> (branch-no <pn>) }
-->
(make branch-no (compute <pn> + 1))
(modify <t1> ^no-of-attached-pins (compute <nap> - 1))
(remove <b1>)
(make vertical ^min <cmo1> ^max <cpo1> ^com <com2> ^layer <lay2> ^net-name <nn2> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make vertical ^min <min2> ^max <cmo1> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^max-net <nn2>)
(make vertical ^min <cpo1> ^max <max2> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^min-net <nn2>)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <com2> ^grid-y <cmo1> ^grid-layer <lay2> ^came-from north)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <com2> ^grid-y <cpo1> ^grid-layer <lay2> ^came-from south)
(remove <v1>)
)
(p p121
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay1> ^compo <cpo1> ^commo <cmo1>)
- (horizontal ^net-name nil ^com <com1>)
{ <v1> (vertical ^net-name nil ^min { <min2> < <com1> } ^max { <max2> > <com1> > <min2> } ^com { <com2> >= <min1> <= <max1> } ^layer { <lay2> <> <lay1> } ^compo <cpo2> ^commo <cmo2>) }
- (vertical ^net-name nil ^min < <com1> ^max > <com1> ^com > <com2>)
- (vertical ^net-name nil ^min < <com1> ^max > <com1> ^com < <com2>)
{ <t1> (to-be-routed ^net-name { <nn2> <> <nn1> } ^no-of-attached-pins <nap>) }
- (vertical ^status nil ^net-name { <nn2> <> nil } ^min <= <com1> ^max >= <com1>)
(pin ^net-name <nn2> ^pin-y < <com1>)
(pin ^net-name <nn2> ^pin-y > <com1>)
{ <b1> (branch-no <pn>) }
-->
(make branch-no (compute <pn> + 1))
(modify <t1> ^no-of-attached-pins (compute <nap> - 1))
(remove <b1>)
(make vertical ^min <cmo1> ^max <cpo1> ^com <com2> ^layer <lay2> ^net-name <nn2> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make vertical ^min <min2> ^max <cmo1> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^max-net <nn2>)
(make vertical ^min <cpo1> ^max <max2> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^min-net <nn2>)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <com2> ^grid-y <cmo1> ^grid-layer <lay2> ^came-from north)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <com2> ^grid-y <cpo1> ^grid-layer <lay2> ^came-from south)
(remove <v1>)
)
(p p122
(context ^present propagate-constraint)
{ <h1> (horizontal ^net-name nil ^min <min2> ^max { <max2> > <min2> } ^com <com2> ^layer <lay2> ^compo <cpo2> ^commo <cmo2>) }
- (horizontal ^net-name nil ^min <= <min2> ^max >= <max2> ^com > <com2>)
- (horizontal ^net-name nil ^min <= <min2> ^max >= <max2> ^com < <com2>)
- (horizontal ^net-name nil ^min <= <min2> ^max >= <max2> ^com <com2> ^layer <> <lay2>)
(congestion ^direction col ^coordinate { <x1> <= <max2> } ^como { <x2> >= <min2> })
- (horizontal ^net-name nil ^min <= <x2> ^max >= <x1> ^com > <com2>)
- (horizontal ^net-name nil ^min <= <x2> ^max >= <x1> ^com < <com2>)
- (horizontal ^net-name nil ^min <= <x2> ^max >= <x1> ^com <com2> ^layer <> <lay2>)
{ <t1> (to-be-routed ^net-name <nn2> ^no-of-attached-pins <nap>) }
- (horizontal ^status nil ^net-name { <nn2> <> nil } ^min <= <x2> ^max >= <x1>)
(pin ^net-name <nn2> ^pin-x <= <x2>)
(pin ^net-name <nn2> ^pin-x >= <x1>)
{ <b1> (branch-no <pn>) }
- (horizontal ^net-name { <> <nn2> <> nil } ^min <= <x2> ^max >= <x2> ^com <com2> ^layer <lay2>)
- (vertical ^net-name { <> <nn2> <> nil } ^min <= <com2> ^max >= <com2> ^com <x2> ^layer <lay2>)
- (horizontal ^net-name { <> <nn2> <> nil } ^min <= <x1> ^max >= <x1> ^com <com2> ^layer <lay2>)
- (vertical ^net-name { <> <nn2> <> nil } ^min <= <com2> ^max >= <com2> ^com <x1> ^layer <lay2>)
-->
(make branch-no (compute <pn> + 1))
(modify <t1> ^no-of-attached-pins (compute <nap> - 1))
(remove <b1>)
(make horizontal ^min <x2> ^max <x1> ^com <com2> ^layer <lay2> ^net-name <nn2> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make horizontal ^min <min2> ^max <x2> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^max-net <nn2>)
(make horizontal ^min <x1> ^max <max2> ^com <com2> ^layer <lay2> ^commo <cmo2> ^compo <cpo2> ^min-net <nn2>)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <x2> ^grid-y <com2> ^grid-layer <lay2> ^came-from east)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <x1> ^grid-y <com2> ^grid-layer <lay2> ^came-from west)
(remove <h1>)
)
(p p123
(context ^present propagate-constraint)
{ <v1> (vertical ^net-name nil ^min <min1> ^max { <max1> > <min1> } ^com { <com1> <> 1 } ^layer <lay1> ^compo <cpo1> ^commo <cmo1> ^min-net <mnn> ^max-net <xnn>) }
- (horizontal ^net-name nil ^min < <com1> ^max > <com1>)
(horizontal ^net-name nil ^min <com1> ^max { <garb3> > <com1> } ^com { <bhcom> <= <max1> >= <min1> } ^layer <garb4>)
(horizontal ^net-name nil ^min { <garb1> < <com1> } ^max <com1> ^com { <thcom> <= <max1> > <bhcom> } ^layer <garb2>)
- (horizontal ^net-name nil ^min < <com1> ^max <com1> ^com { < <thcom> > <bhcom> })
- (horizontal ^net-name nil ^min <com1> ^max > <com1> ^com { < <thcom> > <bhcom> })
{ <t1> (to-be-routed ^net-name <nn2> ^no-of-attached-pins <nap>) }
- (vertical ^status nil ^net-name { <nn2> <> nil } ^com <com1>)
- (horizontal ^status nil ^net-name { <nn2> <> nil } ^min <= <com1> ^max >= <com1>)
(pin ^net-name <nn2> ^pin-x < <com1>)
(pin ^net-name <nn2> ^pin-x > <com1>)
{ <b1> (branch-no <pn>) }
-->
(make branch-no (compute <pn> + 1))
(modify <t1> ^no-of-attached-pins (compute <nap> - 1))
(remove <v1> <b1>)
(make vertical ^min <min1> ^max <bhcom> ^com <com1> ^layer <lay1> ^commo <cmo1> ^compo <cpo1> ^max-net <nn2> ^min-net <mnn>)
(make vertical ^min <thcom> ^max <max1> ^com <com1> ^layer <lay1> ^commo <cmo1> ^compo <cpo1> ^min-net <nn2> ^max-net <xnn>)
(make vertical ^min <bhcom> ^max <thcom> ^com <com1> ^layer <lay1> ^commo <cmo1> ^compo <cpo1> ^net-name <nn2> ^pin-name <pn>)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <com1> ^grid-y <bhcom> ^grid-layer <lay1> ^came-from north)
(make ff ^net-name <nn2> ^pin-name <pn> ^grid-x <com1> ^grid-y <thcom> ^grid-layer <lay1> ^came-from south)
)
(p p124
(context ^present propagate-constraint)
(ff ^net-name <nn1> ^grid-x <gx> ^grid-y <com2> ^grid-layer <lay1> ^pin-name <egarb1>)
- (vertical ^net-name nil ^min <= <com2> ^max >= <com2> ^com <gx>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com > <com2>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com < <com2>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min < <gx>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^com < <gx>)
{ <h1> (horizontal ^net-name nil ^min { <min2> < <gx> } ^max { <max2> >= <gx> > <min2> } ^com <com2> ^layer <lay1> ^compo <cpo2> ^commo <cmo2> ^min-net <nn2>) }
-->
(make horizontal ^min <min2> ^max (compute <gx> - 1) ^com <com2> ^layer <lay1> ^commo <cmo2> ^compo <cpo2> ^min-net <nn2>)
(modify <h1> ^min <gx> ^min-net <nn1>)
)
(p p125
(context ^present propagate-constraint)
(ff ^net-name <nn1> ^grid-x <gx> ^grid-y <com2> ^grid-layer <lay1> ^pin-name <egarb1>)
- (vertical ^net-name nil ^min <= <com2> ^max >= <com2> ^com <gx>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com > <com2>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com < <com2>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^max > <gx>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^com > <gx>)
{ <h1> (horizontal ^net-name nil ^min { <min2> <= <gx> } ^max { <max2> > <gx> > <min2> } ^com <com2> ^layer <lay1> ^compo <cpo2> ^commo <cmo2> ^max-net <nn2>) }
-->
(make horizontal ^min (compute <gx> + 1) ^max <max2> ^com <com2> ^layer <lay1> ^commo <cmo2> ^compo <cpo2> ^max-net <nn2>)
(modify <h1> ^max <gx> ^max-net <nn1>)
)
(p p126
(context ^present << propagate-constraint extend-total-verti >>)
{ <ff1> (ff ^can-chng-layer no ^came-from <> east ^net-name <nn> ^grid-x <max1> ^grid-y <com1> ^grid-layer <lay> ^pin-name <pn>) }
{ <h1> (horizontal ^net-name nil ^min <max1> ^max { <garb1> > <max1> } ^com <com1> ^layer <lay> ^compo <cpo1> ^commo <cmo1>) }
- (horizontal ^net-name nil ^min < <max1> ^max <max1> ^com <com1> ^layer <lay>)
- (vertical ^net-name nil ^min <= <com1> ^max >= <com1> ^com <max1>)
-->
(modify <h1> ^min (compute <max1> + 1) ^min-net <nn>)
(make horizontal ^min <max1> ^max (compute <max1> + 1) ^com <com1> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo1> ^compo <cpo1>)
(modify <ff1> ^grid-x (compute <max1> + 1) ^came-from west ^can-chng-layer nil)
)
(p p127
(context ^present << propagate-constraint extend-total-verti >>)
{ <ff1> (ff ^can-chng-layer no ^came-from <> west ^net-name <nn> ^grid-x <max1> ^grid-y <com1> ^grid-layer <lay> ^pin-name <pn>) }
{ <h1> (horizontal ^net-name nil ^min <garb1> ^max { <max1> > <garb1> } ^com <com1> ^layer <lay> ^compo <cpo1> ^commo <cmo1>) }
- (horizontal ^net-name nil ^min <max1> ^max > <max1> ^com <com1> ^layer <lay>)
- (vertical ^net-name nil ^min <= <com1> ^max >= <com1> ^com <max1>)
-->
(modify <h1> ^max (compute <max1> - 1) ^max-net <nn>)
(make horizontal ^max <max1> ^min (compute <max1> - 1) ^com <com1> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo1> ^compo <cpo1>)
(modify <ff1> ^grid-x (compute <max1> - 1) ^came-from east ^can-chng-layer nil)
)
(p p128
(context ^present << propagate-constraint extend-total-verti >>)
{ <ff1> (ff ^can-chng-layer no ^came-from <> north ^net-name <nn> ^grid-x <com1> ^grid-y <max1> ^grid-layer <lay> ^pin-name <pn>) }
{ <v1> (vertical ^net-name nil ^min <max1> ^max { <garb1> > <max1> } ^com <com1> ^layer <lay> ^compo <cpo1> ^commo <cmo1>) }
- (vertical ^net-name nil ^min < <max1> ^max <max1> ^com <com1> ^layer <lay>)
- (horizontal ^net-name nil ^min <= <com1> ^max >= <com1> ^com <max1>)
-->
(modify <v1> ^min (compute <max1> + 1) ^min-net <nn>)
(make vertical ^min <max1> ^max (compute <max1> + 1) ^com <com1> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo1> ^compo <cpo1>)
(modify <ff1> ^grid-y (compute <max1> + 1) ^came-from south ^can-chng-layer nil)
)
(p p129
(context ^present << propagate-constraint extend-total-verti >>)
{ <ff1> (ff ^can-chng-layer no ^came-from <> south ^net-name <nn> ^grid-x <com1> ^grid-y <max1> ^grid-layer <lay> ^pin-name <pn>) }
{ <v1> (vertical ^net-name nil ^min <garb1> ^max { <max1> > <garb1> } ^com <com1> ^layer <lay> ^compo <cpo1> ^commo <cmo1>) }
- (vertical ^net-name nil ^min <max1> ^max > <max1> ^com <com1> ^layer <lay>)
- (horizontal ^net-name nil ^min <= <com1> ^max >= <com1> ^com <max1>)
-->
(modify <v1> ^max (compute <max1> - 1) ^max-net <nn>)
(make vertical ^max <max1> ^min (compute <max1> - 1) ^com <com1> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo1> ^compo <cpo1>)
(modify <ff1> ^grid-y (compute <max1> - 1) ^came-from north ^can-chng-layer nil)
)
(p p130
(context ^present << propagate-constraint extend-total-verti move-ff >>)
{ <h1> (horizontal ^status nil ^net-name <nn> ^min <min> ^max { <max> > <min> } ^com <com> ^layer <lay> ^pin-name <pn> ^max-net <gar1>) }
{ <h2> (horizontal ^status nil ^net-name <nn> ^min <max> ^max { <max2> > <max> } ^com <com> ^layer <lay> ^pin-name <pn> ^max-net <nn1>) }
-->
(modify <h1> ^max <max2> ^max-net <nn1>)
(remove <h2>)
)
(p p131
(context ^present << propagate-constraint extend-total-verti move-ff >>)
{ <v1> (vertical ^status nil ^net-name <nn> ^min <min> ^max { <max> > <min> } ^com <com> ^layer <lay> ^pin-name <pn> ^max-net <gar1>) }
{ <v2> (vertical ^status nil ^net-name <nn> ^min <max> ^max { <max2> > <max> } ^com <com> ^layer <lay> ^pin-name <pn> ^max-net <nn1>) }
-->
(modify <v1> ^max <max2> ^max-net <nn1>)
(remove <v2>)
)
(p p132
(context ^present propagate-constraint)
{ <h1> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <gar1> ^max <max> ^com <com> ^layer <lay> ^pin-name <pn>) }
{ <h2> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <max> ^max <max2> ^com <com> ^layer <lay> ^pin-name { <pn1> <> <pn> }) }
(vertical ^status nil ^net-name { <nn> <> nil } ^pin-name <pn1>)
-->
(modify <h1> ^max <max2>)
(remove <h2>)
)
(p p133
(context ^present propagate-constraint)
{ <h1> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <min> ^max <gar1> ^com <com> ^layer <lay> ^pin-name <pn>) }
{ <h2> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <min2> ^max <min> ^com <com> ^layer <lay> ^pin-name { <pn1> <> <pn> }) }
(vertical ^status nil ^net-name { <nn> <> nil } ^pin-name <pn1>)
-->
(modify <h1> ^min <min2>)
(remove <h2>)
)
(p p134
(context ^present propagate-constraint)
{ <v1> (vertical ^status nil ^net-name { <nn> <> nil } ^min <gar1> ^max <max> ^com <com> ^layer <lay> ^pin-name <pn>) }
{ <v2> (vertical ^status nil ^net-name { <nn> <> nil } ^min <max> ^max <max2> ^com <com> ^layer <lay> ^pin-name { <pn1> <> <pn> }) }
(horizontal ^status nil ^net-name { <nn> <> nil } ^pin-name <pn1>)
-->
(modify <v1> ^max <max2>)
(remove <v2>)
)
(p p135
(context ^present propagate-constraint)
{ <v1> (vertical ^status nil ^net-name { <nn> <> nil } ^min <min> ^max <gar1> ^com <com> ^layer <lay> ^pin-name <pn>) }
{ <v2> (vertical ^status nil ^net-name { <nn> <> nil } ^min <min2> ^max <min> ^com <com> ^layer <lay> ^pin-name { <pn1> <> <pn> }) }
(horizontal ^status nil ^net-name { <nn> <> nil } ^pin-name <pn1>)
-->
(modify <v1> ^min <min2>)
(remove <v2>)
)
(p p136
(context ^present << propagate-constraint extend-total-verti move-ff >>)
{ <ff1> (ff ^can-chng-layer no ^came-from <> east ^net-name <nn> ^grid-x <max1> ^grid-y <com1> ^grid-layer <lay> ^pin-name <pn>) }
{ <h1> (horizontal ^net-name nil ^min <max1> ^max { <garb1> > <max1> } ^com <com1> ^layer <lay> ^compo <cpo> ^commo <cmo>) }
- (vertical ^net-name nil ^min <= <com1> ^max >= <com1> ^com <max1> ^layer <lay>)
- (horizontal ^net-name nil ^min < <max1> ^max <max1> ^com <com1> ^layer <lay>)
-->
(modify <h1> ^min (compute <max1> + 1) ^min-net <nn>)
(make horizontal ^min <max1> ^max (compute <max1> + 1) ^com <com1> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^compo <cpo> ^commo <cmo>)
(modify <ff1> ^grid-x (compute <max1> + 1) ^came-from west ^can-chng-layer nil)
)
(p p137
(context ^present << propagate-constraint extend-total-verti move-ff >>)
{ <ff1> (ff ^can-chng-layer no ^came-from <> west ^net-name <nn> ^grid-x <max1> ^grid-y <com1> ^grid-layer <lay> ^pin-name <pn>) }
{ <h1> (horizontal ^net-name nil ^min <garb1> ^max { <max1> > <garb1> } ^com <com1> ^layer <lay> ^compo <cpo> ^commo <cmo>) }
- (vertical ^net-name nil ^min <= <com1> ^max >= <com1> ^com <max1> ^layer <lay>)
- (horizontal ^net-name nil ^min <max1> ^max > <max1> ^com <com1> ^layer <lay>)
-->
(modify <h1> ^max (compute <max1> - 1) ^max-net <nn>)
(make horizontal ^max <max1> ^min (compute <max1> - 1) ^com <com1> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^compo <cpo> ^commo <cmo>)
(modify <ff1> ^grid-x (compute <max1> - 1) ^came-from east ^can-chng-layer nil)
)
(p p138
(context ^present << propagate-constraint extend-total-verti move-ff >>)
{ <ff1> (ff ^can-chng-layer no ^came-from <> north ^net-name <nn> ^grid-x <com1> ^grid-y <max1> ^grid-layer <lay> ^pin-name <pn>) }
{ <v1> (vertical ^net-name nil ^min <max1> ^max { <garb1> > <max1> } ^com <com1> ^layer <lay> ^compo <cpo> ^commo <cmo>) }
- (horizontal ^net-name nil ^min <= <com1> ^max >= <com1> ^com <max1> ^layer <lay>)
- (vertical ^net-name nil ^min < <max1> ^max <max1> ^com <com1> ^layer <lay>)
-->
(modify <v1> ^min (compute <max1> + 1) ^min-net <nn>)
(make vertical ^min <max1> ^max (compute <max1> + 1) ^com <com1> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^compo <cpo> ^commo <cmo>)
(modify <ff1> ^grid-y (compute <max1> + 1) ^came-from south ^can-chng-layer nil)
)
(p p139
(context ^present << propagate-constraint extend-total-verti move-ff >>)
{ <ff1> (ff ^can-chng-layer no ^came-from <> south ^net-name <nn> ^grid-x <com1> ^grid-y <max1> ^grid-layer <lay> ^pin-name <pn>) }
{ <v1> (vertical ^net-name nil ^min <garb1> ^max { <max1> > <garb1> } ^com <com1> ^layer <lay> ^compo <cpo> ^commo <cmo>) }
- (horizontal ^net-name nil ^min <= <com1> ^max >= <com1> ^com <max1> ^layer <lay>)
- (vertical ^net-name nil ^min <max1> ^max > <max1> ^com <com1> ^layer <lay>)
-->
(modify <v1> ^max (compute <max1> - 1) ^max-net <nn>)
(make vertical ^max <max1> ^min (compute <max1> - 1) ^com <com1> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^compo <cpo> ^commo <cmo>)
(modify <ff1> ^grid-y (compute <max1> - 1) ^came-from north ^can-chng-layer nil)
)
(p p140
(context ^present << propagate-constraint check-for-routed-net find-no-of-pins-on-a-row-col >>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min> ^max <max> ^com <com> ^layer <egarb1> ^compo <egarb2> ^commo <egarb3> ^pin-name <pn1>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <com> ^max >= <com> ^com { >= <min> <= <max> } ^pin-name { <pn2> <> <pn1> })
{ <t1> (to-be-routed ^net-name <nn> ^no-of-attached-pins <nap>) }
- (included <nn> <pn1>)
(included <nn> <pn2>)
-->
(make included <nn> <pn1>)
(modify <t1> ^no-of-attached-pins (compute <nap> + 1))
)
(p p141
(context ^present << propagate-constraint check-for-routed-net find-no-of-pins-on-a-row-col >>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min> ^max <max> ^com <com> ^layer <egarb1> ^compo <egarb2> ^commo <egarb3> ^pin-name <pn1>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <com> ^max >= <com> ^com { >= <min> <= <max> } ^pin-name { <pn2> <> <pn1> })
{ <t1> (to-be-routed ^net-name <nn> ^no-of-attached-pins <nap>) }
(included <nn> <pn1>)
- (included <nn> <pn2>)
-->
(make included <nn> <pn2>)
(modify <t1> ^no-of-attached-pins (compute <nap> + 1))
)
(p p142
(context ^present << propagate-constraint check-for-routed-net find-no-of-pins-on-a-row-col >>)
(vertical ^status nil ^net-name { <nn> <> nil } ^max <max> ^com <com> ^layer <egarb1> ^compo <egarb2> ^commo <egarb3> ^pin-name <pn1>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <max> ^com <com> ^pin-name { <pn2> <> <pn1> })
{ <t1> (to-be-routed ^net-name <nn> ^no-of-attached-pins <nap>) }
(included <nn> <pn1>)
- (included <nn> <pn2>)
-->
(make included <nn> <pn2>)
(modify <t1> ^no-of-attached-pins (compute <nap> + 1))
)
(p p143
(context ^present << propagate-constraint check-for-routed-net find-no-of-pins-on-a-row-col >>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <egarb4> ^max <max> ^com <com> ^layer <egarb1> ^compo <egarb2> ^commo <egarb3> ^pin-name <pn1>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <max> ^com <com> ^pin-name { <pn2> <> <pn1> })
{ <t1> (to-be-routed ^net-name <nn> ^no-of-attached-pins <nap>) }
- (included <nn> <pn1>)
(included <nn> <pn2>)
-->
(make included <nn> <pn1>)
(modify <t1> ^no-of-attached-pins (compute <nap> + 1))
)
(p p144
(context ^present << propagate-constraint check-for-routed-net find-no-of-pins-on-a-row-col >>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <egarb4> ^max <max> ^com <com> ^layer <egarb1> ^compo <egarb2> ^commo <egarb3> ^pin-name <pn1>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <max> ^com <com> ^pin-name { <pn2> <> <pn1> })
{ <t1> (to-be-routed ^net-name <nn> ^no-of-attached-pins <nap>) }
(included <nn> <pn1>)
- (included <nn> <pn2>)
-->
(make included <nn> <pn2>)
(modify <t1> ^no-of-attached-pins (compute <nap> + 1))
)
(p p145
(context ^present << propagate-constraint check-for-routed-net find-no-of-pins-on-a-row-col >>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^max <max> ^com <com> ^layer <egarb1> ^compo <egarb2> ^commo <egarb3> ^pin-name <pn1>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <max> ^com <com> ^pin-name { <pn2> <> <pn1> })
{ <t1> (to-be-routed ^net-name <nn> ^no-of-attached-pins <nap>) }
- (included <nn> <pn1>)
(included <nn> <pn2>)
-->
(make included <nn> <pn1>)
(modify <t1> ^no-of-attached-pins (compute <nap> + 1))
)
(p p146
{ <c1> (context ^present << propagate-constraint check-for-routed-net find-no-of-pins-on-a-row-col >>) }
{ <t1> (to-be-routed ^net-name <nn> ^no-of-attached-pins <nap>) }
{ <n1> (net ^net-name <nn> ^net-no-of-pins <nap>) }
-->
(remove <c1> <t1>)
(make join-routed-net <nn>)
(modify <n1> ^net-is-routed yes)
)
(p p147
{ <c1> (context ^present check-for-routed-net) }
-->
(remove <c1>)
(make context ^present move-ff)
)
(p p148
{ <con> (context ^present move-ff) }
-->
(modify <con> ^present set-min-max)
)
(p p149
{ <con> (context ^present set-min-max) }
-->
(remove <con>)
(make context ^present propagate-constraint)
)
(p p150
(context ^present propagate-constraint)
{ <c1> (constraint ^pin-name-2 <pn>) }
- (ff ^pin-name <pn>)
-->
(remove <c1>)
)
(p p151
(context ^present propagate-constraint)
{ <c1> (constraint ^pin-name-1 <pn>) }
- (ff ^pin-name <pn>)
-->
(remove <c1>)
)
(p p152
{ <ff1> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>) }
(context ^present << propagate-constraint extend-total-verti move-ff >>)
{ <ff2> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb2> ^pin-name <> <pn>) }
-->
(remove <ff1> <ff2>)
)
(p p153
(context ^present << propagate-constraint extend-pins find-no-of-pins-on-a-row-col check-for-routed-net >>)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn>) }
{ <ff2> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy2> ^grid-layer <lay> ^pin-name <> <pn>) }
(congestion ^direction row ^coordinate <gy2> ^como <gy1>)
{ <v1> (vertical ^net-name nil ^min { <min> <= <gy1> } ^max { <max> >= <gy2> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1>) }
-->
(remove <ff1> <ff2>)
(make vertical ^min <min> ^max <gy1> ^com <gx> ^commo <cmo> ^compo <cpo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(modify <v1> ^min <gy2> ^min-net <nn>)
(make vertical ^min <gy1> ^max <gy2> ^com <gx> ^commo <cmo> ^compo <cpo> ^layer <lay> ^net-name <nn> ^pin-name <pn>)
)
(p p154
(context ^present << propagate-constraint extend-pins find-no-of-pins-on-a-row-col check-for-routed-net >>)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn>) }
(horizontal ^status nil ^net-name { <nn> <> nil } ^min { <garb1> <= <gx> } ^max { <garb2> >= <gx> } ^com <gy2> ^layer <lay> ^compo <egarb1> ^commo <gy1> ^pin-name <> <pn>)
- (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy2>)
{ <v1> (vertical ^net-name nil ^min { <min> <= <gy1> } ^max { <max> >= <gy2> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1>) }
-->
(remove <ff1>)
(make vertical ^min <min> ^max <gy1> ^com <gx> ^commo <cmo> ^compo <cpo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(modify <v1> ^min <gy2> ^min-net <nn>)
(make vertical ^min <gy1> ^max <gy2> ^com <gx> ^commo <cmo> ^compo <cpo> ^layer <lay> ^net-name <nn> ^pin-name <pn>)
)
(p p155
(context ^present << propagate-constraint extend-pins find-no-of-pins-on-a-row-col check-for-routed-net >>)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy2> ^grid-layer <lay> ^pin-name <pn>) }
(horizontal ^status nil ^net-name { <nn> <> nil } ^min { <garb1> <= <gx> } ^max { <garb2> >= <gx> } ^com <gy1> ^layer <lay> ^compo <gy2> ^commo <egarb1> ^pin-name <> <pn>)
- (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy1>)
{ <v1> (vertical ^net-name nil ^min { <min> <= <gy1> } ^max { <max> >= <gy2> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1>) }
-->
(remove <ff1>)
(make vertical ^min <min> ^max <gy1> ^com <gx> ^commo <cmo> ^compo <cpo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(modify <v1> ^min <gy2> ^min-net <nn>)
(make vertical ^min <gy1> ^max <gy2> ^com <gx> ^commo <cmo> ^compo <cpo> ^layer <lay> ^net-name <nn> ^pin-name <pn>)
)
(p p156
(context ^present << propagate-constraint extend-pins find-no-of-pins-on-a-row-col check-for-routed-net >>)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn>) }
(horizontal ^net-name nil ^min { <min> <= <gx1> } ^max { <max> > <gx1> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^pin-name <garb1>)
{ <ff2> (ff ^net-name <nn> ^grid-x { <gx2> > <gx1> <= <max> } ^grid-y <gy> ^grid-layer <lay> ^pin-name <egarb1>) }
(congestion ^direction col ^coordinate <gx2> ^como <gx1>)
{ <h1> (horizontal ^net-name nil ^min { <min> <= <gx1> } ^max { <max> >= <gx2> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1>) }
-->
(remove <ff1> <ff2>)
(make horizontal ^min <min> ^max <gx1> ^com <gy> ^commo <cmo> ^compo <cpo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(modify <h1> ^min <gx2> ^min-net <nn>)
(make horizontal ^min <gx1> ^max <gx2> ^com <gy> ^commo <cmo> ^compo <cpo> ^layer <lay> ^net-name <nn> ^pin-name <pn>)
)
(p p157
(context ^present << propagate-constraint extend-pins find-no-of-pins-on-a-row-col check-for-routed-net >>)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn>) }
(vertical ^status nil ^net-name { <nn> <> nil } ^min { <garb1> <= <gy> } ^max { <garb2> >= <gy> } ^com <gx2> ^layer <lay> ^compo <egarb1> ^commo <gx1> ^pin-name <> <pn>)
- (ff ^net-name <nn> ^grid-x <gx2> ^grid-y <gy>)
{ <h1> (horizontal ^net-name nil ^min { <min> <= <gx1> } ^max { <max> >= <gx2> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1>) }
-->
(remove <ff1>)
(make horizontal ^min <min> ^max <gx1> ^com <gy> ^commo <cmo> ^compo <cpo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(modify <h1> ^min <gx2> ^min-net <nn>)
(make horizontal ^min <gx1> ^max <gx2> ^com <gy> ^commo <cmo> ^compo <cpo> ^layer <lay> ^net-name <nn> ^pin-name <pn>)
)
(p p158
(context ^present << propagate-constraint extend-pins find-no-of-pins-on-a-row-col check-for-routed-net >>)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx2> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn>) }
(vertical ^status nil ^net-name { <nn> <> nil } ^min { <garb1> <= <gy> } ^max { <garb2> >= <gy> } ^com <gx1> ^layer <lay> ^compo <gx2> ^commo <egarb1> ^pin-name <> <pn>)
- (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy>)
{ <h1> (horizontal ^net-name nil ^min { <min> <= <gx1> } ^max { <max> >= <gx2> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1>) }
-->
(remove <ff1>)
(make horizontal ^min <min> ^max <gx1> ^com <gy> ^commo <cmo> ^compo <cpo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(modify <h1> ^min <gx2> ^min-net <nn>)
(make horizontal ^min <gx1> ^max <gx2> ^com <gy> ^commo <cmo> ^compo <cpo> ^layer <lay> ^net-name <nn> ^pin-name <pn>)
)
(p p159
(context ^present propagate-constraint)
{ <ff1> (ff ^can-chng-layer <> no ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay>) }
- (vertical ^net-name nil ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (horizontal ^net-name nil ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (vertical ^net-name <> nil ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
- (horizontal ^net-name <> nil ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
(vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { >= <gy> > <vmin> } ^com <gx> ^layer { <lay2> <> <lay> })
-->
(modify <ff1> ^grid-layer <lay2> ^can-chng-layer no)
)
(p p160
(context ^present propagate-constraint)
{ <ff1> (ff ^can-chng-layer <> no ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay>) }
- (vertical ^net-name nil ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (horizontal ^net-name nil ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (vertical ^net-name <> nil ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
- (horizontal ^net-name <> nil ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { >= <gx> > <hmin> } ^com <gy> ^layer { <lay2> <> lay> })
-->
(modify <ff1> ^grid-layer <lay2> ^can-chng-layer no)
)
(p p161
(context ^present propagate-constraint)
{ <ff1> (ff ^can-chng-layer <> no ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay>) }
- (horizontal ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
- (vertical ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
-->
(modify <ff1> ^can-chng-layer no)
)
(p p162
(context ^present << propagate-constraint move-ff >>)
{ <ff1> (ff ^can-chng-layer <> no ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay>) }
(horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
-->
(modify <ff1> ^can-chng-layer no)
)
(p p163
(context ^present << propagate-constraint move-ff >>)
{ <ff1> (ff ^can-chng-layer <> no ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay>) }
(vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
-->
(modify <ff1> ^can-chng-layer no)
)
(p p164
(context ^present propagate-constraint)
{ <ff1> (ff ^can-chng-layer no ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay1> ^pin-name <pn>) }
{ <ff2> (ff ^can-chng-layer no ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay2> ^pin-name <garb1>) }
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <gx2>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy1>)
{ <h1> (horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> >= <gx1> > <hmin> } ^com <gy1> ^layer <lay1> ^compo <hcpo> ^commo <gy2> ^min-net <hnn1>) }
{ <v1> (vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> >= <gy1> > <vmin> } ^com <gx2> ^layer <lay2> ^compo <gx1> ^commo <vcmo> ^min-net <vnn1>) }
-->
(make horizontal ^min <hmin> ^max <gx2> ^com <gy1> ^commo <gy2> ^compo <hcpo> ^layer <lay1> ^min-net <hnn1> ^max-net <nn>)
(modify <h1> ^min <gx1> ^min-net <nn>)
(make vertical ^min <vmin> ^max <gy2> ^com <gx2> ^commo <vcmo> ^compo <gx1> ^layer <lay2> ^min-net <vnn1> ^max-net <nn>)
(modify <v1> ^min <gy1> ^min-net <nn>)
(remove <ff1> <ff2>)
(make horizontal ^min <gx2> ^max <gx1> ^com <gy1> ^commo <gy2> ^compo <hcpo> ^layer <lay1> ^net-name <nn> ^pin-name <pn>)
(make vertical ^min <gy2> ^max <gy1> ^com <gx2> ^commo <vcmo> ^compo <gx1> ^layer <lay2> ^net-name <nn> ^pin-name <pn>)
)
(p p165
(context ^present << propagate-constraint extend-pins set-min-max >>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <max> ^max <garb1> ^com <com> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
{ <v1> (vertical ^net-name nil ^min <garb2> ^max { <max> > <garb2> } ^com <com> ^layer <lay> ^max-net <> <nn>) }
-->
(modify <v1> ^max-net <nn>)
)
(p p166
(context ^present << propagate-constraint extend-pins set-min-max >>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max <min> ^com <com> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
{ <v1> (vertical ^net-name nil ^min <min> ^max { <garb2> > <min> } ^com <com> ^layer <lay> ^min-net <> <nn>) }
-->
(modify <v1> ^min-net <nn>)
)
(p p167
(context ^present << propagate-constraint extend-pins set-min-max >>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <hmin> ^max <hmax> ^com <max> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
{ <v1> (vertical ^net-name nil ^min { <garb1> < <max> } ^max <max> ^com { >= <hmin> <= <hmax> } ^layer <lay> ^max-net <> <nn>) }
-->
(modify <v1> ^max-net <nn>)
)
(p p168
(context ^present << propagate-constraint extend-pins set-min-max >>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <hmin> ^max <hmax> ^com <min> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
{ <v1> (vertical ^net-name nil ^min <min> ^max { <garb1> > <min> } ^com { >= <hmin> <= <hmax> } ^layer <lay> ^min-net <> <nn>) }
-->
(modify <v1> ^min-net <nn>)
)
(p p169
(context ^present << propagate-constraint extend-pins set-min-max >>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <max> ^max <garb1> ^com <com> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
{ <h1> (horizontal ^net-name nil ^min <garb2> ^max { <max> > <garb2> } ^com <com> ^layer <lay> ^max-net <> <nn>) }
-->
(modify <h1> ^max-net <nn>)
)
(p p170
(context ^present << propagate-constraint extend-pins set-min-max >>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max <min> ^com <com> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
{ <h1> (horizontal ^net-name nil ^min <min> ^max { <garb2> > <min> } ^com <com> ^layer <lay> ^min-net <> <nn>) }
-->
(modify <h1> ^min-net <nn>)
)
(p p171
(context ^present << propagate-constraint extend-pins set-min-max >>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmin> ^max <vmax> ^com <max> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
{ <h1> (horizontal ^net-name nil ^min <garb1> ^max { <max> > <garb1> } ^com { >= <vmin> <= <vmax> } ^layer <lay> ^max-net <> <nn>) }
-->
(modify <h1> ^max-net <nn>)
)
(p p172
(context ^present << propagate-constraint extend-pins set-min-max >>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmin> ^max <vmax> ^com <min> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
{ <h1> (horizontal ^net-name nil ^min <min> ^max { <garb1> > <min> } ^com { >= <vmin> <= <vmax> } ^layer <lay> ^min-net <> <nn>) }
-->
(modify <h1> ^min-net <nn>)
)
(p p173
(context ^present propagate-constraint)
{ <ff1> (ff ^can-chng-layer no ^net-name <nn> ^grid-x <gx> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn>) }
(horizontal ^status nil ^net-name { <nn> <> nil } ^min { <garb1> <= <gx> } ^max { <garb2> >= <gx> } ^com <gy2> ^layer <garb3> ^compo <garb4> ^commo <gy1> ^pin-name <> <pn>)
- (horizontal ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^com <gy2>)
- (vertical ^net-name { <> nil <> <nn> } ^min <= <gy2> ^max >= <gy2> ^com <gx>)
{ <v1> (vertical ^net-name nil ^min { <min> <= <gy1> } ^max { <max> >= <gy2> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1>) }
-->
(remove <ff1>)
(make vertical ^min <min> ^max <gy1> ^com <gx> ^commo <cmo> ^compo <cpo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(modify <v1> ^min <gy2> ^min-net <nn>)
(make vertical ^min <gy1> ^max <gy2> ^com <gx> ^commo <cmo> ^compo <cpo> ^layer <lay> ^net-name <nn> ^pin-name <pn>)
)
(p p174
(join-routed-net <nn>)
{ <h1> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <min> ^max <max> ^com <com> ^layer <lay> ^compo <garb1> ^commo <garb2>) }
{ <h2> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <max> ^max <max2> ^com <com> ^layer <lay> ^compo <garb3> ^commo <garb4>) }
-->
(modify <h1> ^max <max2>)
(remove <h2>)
)
(p p175
(join-routed-net <nn>)
{ <v1> (vertical ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max <max> ^com <com> ^layer <lay> ^compo <garb2> ^commo <garb3>) }
{ <v2> (vertical ^status nil ^net-name { <nn> <> nil } ^min <max> ^max <max2> ^com <com> ^layer <lay> ^compo <garb4> ^commo <garb5>) }
-->
(modify <v1> ^max <max2>)
(remove <v2>)
)
(p p176
{ <j1> (join-routed-net <nn>) }
-->
(remove <j1>)
(make move-via <nn>)
)
(p p177
(context ^present propagate-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <vlayer> ^pin-name <egarb1>)
(horizontal ^net-name nil ^min <hmin2> ^max { <gx> > <hmin2> } ^com <vmax> ^layer <vlayer> ^compo <egarb8> ^commo <egarb9>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { < <vmax> > <gy> })
{ <v1> (vertical ^net-name nil ^min { <garb1> <= <gy> } ^max { <vmax> > <garb1> > <gy> } ^com <gx> ^layer <vlayer> ^commo <cmo> ^compo <cpo> ^max-net <maxn>) }
(horizontal ^net-name { <> <nn> <> nil } ^min { <hmin1> <= <gx> } ^max >= <gx> ^com <vmax> ^layer <> <vlayer>)
(vertical ^net-name { <> <nn> <> nil } ^min <= <vmax> ^max >= <vmax> ^com { <vcom> < <gx> >= <hmin1> >= <hmin2> } ^layer <vlayer>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com <vmax>)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { < <vmax> > <gy> } ^max-net nil)
- (vertical ^net-name nil ^min <vmax> ^max > <vmax> ^com <gx>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <vmax> ^max > <vmax> ^com <gx>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <gx> ^max > <gx> ^com <vmax>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { < <vmax> > <gy> } ^min-net nil)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { < <vmax> > <gy> })
- (vertical ^net-name nil ^min < <vmax> ^max > <vmax> ^com { < <gx> > <vcom> })
- (vertical ^net-name nil ^min < <vmax> ^max <vmax> ^com { < <gx> > <vcom> } ^max-net nil)
- (vertical ^net-name nil ^min <vmax> ^max > <vmax> ^com { < <gx> > <vcom> } ^min-net nil)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <vmax> ^max >= <vmax> ^com { < <gx> > <vcom> })
-->
(make vertical ^min (compute <gy> + 1) ^max <vmax> ^com <gx> ^commo <cmo> ^compo <cpo> ^layer <vlayer> ^max-net <maxn>)
(modify <v1> ^max <gy> ^max-net <nn>)
)
(p p178
(context ^present propagate-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <layer> ^pin-name <pn>)
{ <h1> (horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { <hmax> > <gx> > <hmin> } ^com <gy> ^layer <layer> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
(vertical ^net-name { <> <nn> <> nil } ^min <cpo> ^max { <garb2> >= <cpo> } ^com <vcom> ^layer <layer1> ^compo <vcpo> ^commo <gx>)
(horizontal ^net-name { <> <nn> <> nil } ^min { <garb3> <= <vcom> } ^max { <garb4> >= <vcom> } ^com <cpo> ^layer <> <layer1> ^compo <garb5> ^commo <gy>)
(vertical ^net-name { <> <nn> <> nil } ^min { <garb6> <= <cmo> } ^max <cmo> ^com <vcom> ^layer <layer2> ^compo <vcpo> ^commo <gx>)
(horizontal ^net-name { <> <nn> <> nil } ^min { <garb7> <= <vcom> } ^max { <garb8> >= <vcom> } ^com <cmo> ^layer <> <layer2> ^compo <gy> ^commo <garb9>)
(vertical ^net-name { <> <nn> <> nil } ^min { <garb13> <= <gy> } ^max { <garb14> >= <gy> } ^com <vcpo> ^layer <layer3> ^compo <garb10> ^commo <vcom>)
(horizontal ^net-name { <> <nn> <> nil } ^min { <garb11> <= <vcpo> } ^max { <garb12> >= <vcpo> } ^com <gy> ^layer <> <layer3> ^compo <cpo> ^commo <cmo>)
-->
(make horizontal ^min (compute <gx> + 1) ^max <hmax> ^com <gy> ^compo <cpo> ^commo <cmo> ^layer <layer> ^max-net <mn>)
(modify <h1> ^max <gx> ^max-net <nn>)
)
(p p179
(context ^present propagate-constraint)
{ <ff1> (ff ^came-from west ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^pin-name <pn>) }
(vertical ^net-name { <> <nn> <> nil } ^min { <vmin> <= <gy> } ^max { <vmax> >= <gy> } ^com <vcom> ^layer <lay2> ^compo <garb1> ^commo <gx>)
(vertical ^net-name { <> <nn> <> nil } ^min { <vmax2> > <gy> <= <vmax> } ^max <garb4> ^com <gx> ^layer <lay4>)
(vertical ^net-name { <> <nn> <> nil } ^min <garb2> ^max { <vmin2> < <gy> >= <vmin> } ^com <gx> ^layer <lay3>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <vmin2> < <gy> })
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <vmin2> < <gy> } ^layer <> <lay2> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <vmin2> < <gy> } ^max-net nil)
- (horizontal ^net-name <nn> ^min <= <gx> ^max >= <gx> ^com { > <vmin2> < <gy> })
(horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <vmin2> ^layer <> <lay3>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <gy> < <vmax2> })
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <gy> < <vmax2> } ^layer <> <lay2> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <gy> < <vmax2> } ^max-net nil)
- (horizontal ^net-name <nn> ^min <= <gx> ^max >= <gx> ^com { > <gy> < <vmax2> })
(horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <vmax2> ^layer <> <lay4>)
{ <h1> (horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { <hmax> >= <vcom> > <hmin> } ^com <gy> ^layer { <lay5> <> <lay2> } ^compo <hcpo> ^commo <hcmo> ^max-net <mn>) }
-->
(make horizontal ^layer <lay5> ^com <gy> ^commo <hcmo> ^compo <hcpo> ^min-net <nn> ^max-net <mn> ^min <vcom> ^max <hmax>)
(modify <h1> ^max <gx> ^max-net <nn>)
(make horizontal ^layer <lay5> ^com <gy> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn> ^min <gx> ^max <vcom>)
(modify <ff1> ^grid-x <vcom> ^grid-layer <lay5> ^can-chng-layer no)
)
(p p180
(context ^present propagate-constraint)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max <vmax> ^com <vcom> ^layer <lay1> ^compo <cpo> ^commo <cmo>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min { <garb2> <= <vcom> } ^max { <garb3> >= <vcom> } ^com <vmax> ^layer { <garb4> <> <lay1> })
(vertical ^net-name { <nn1> <> <nn> <> nil } ^min { <vmin> > <vmax> } ^max <garb5> ^com <vcom> ^layer <lay2>)
(horizontal ^net-name { <nn1> <> nil } ^min { <garb6> <= <vcom> } ^max { <garb7> >= <vcom> } ^com <vmin> ^layer { <garb8> <> <lay2> })
(vertical ^net-name { <> <nn> <> nil } ^min { <vmin2> <= <vmax> } ^max { <vmax2> >= <vmin> } ^com <cpo> ^layer <lay3>)
{ <v1> (vertical ^net-name nil ^min <vmax> ^max { <vmax3> > <vmax> } ^com <vcom> ^layer <lay3>) }
- (vertical ^net-name nil ^min <vmax3> ^com <vcom>)
- (horizontal ^net-name nil ^min < <vcom> ^max > <vcom> ^com { > <vmax> <= <vmax3> })
- (horizontal ^net-name nil ^min <vcom> ^max > <vcom> ^com { > <vmax> <= <vmax3> } ^layer <> <lay3> ^min-net nil)
- (horizontal ^net-name nil ^min < <vcom> ^max <vcom> ^com { > <vmax> <= <vmax3> } ^max-net nil)
- (horizontal ^net-name { <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com { > <vmax> <= <vmax3> })
-->
(modify <v1> ^min (compute <vmax> + 1) ^min-net nil)
)
(p p181
(context ^present propagate-constraint)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn>) }
(ff ^net-name <nn> ^grid-x { <gx2> > <gx> } ^grid-y <garb1> ^grid-layer <lay> ^pin-name <> <pn>)
- (vertical ^com { > <gx> < <gx2> })
{ <h1> (horizontal ^net-name nil ^min <gx> ^max { <egarb1> > <gx> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
- (vertical ^net-name nil ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2>)
-->
(modify <h1> ^min (compute <gx> + 1) ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^min <gx> ^com <gy> ^max (compute <gx> + 1) ^commo <hcmo> ^compo <hcpo> ^layer <lay>)
(modify <ff1> ^grid-x (compute <gx> + 1) ^came-from west)
)
(p p182
(context ^present propagate-constraint)
{ <v3> (vertical ^net-name nil ^min <vmin2> ^max { <vmax2> > <vmin2> } ^com <vcom> ^layer <garb1> ^compo <vcpo> ^commo <egarb1>) }
(congestion ^direction row ^coordinate <vmax2> ^como <vmin2>)
- (horizontal ^status nil ^min < <vcom> ^max >= <vcom> ^com { <= <vmax2> >= <vmin2> })
- (vertical ^status nil ^min <vmax2> ^max > <vmax2> ^com <vcom>)
- (vertical ^status nil ^max <vmin2> ^min < <vmin2> ^com <vcom>)
(vertical ^net-name nil ^min { <vmin> <= <vmin2> } ^max { > <vmin> >= <vmax2> } ^com <vcpo> ^layer <lay>)
(horizontal ^net-name nil ^min <vcom> ^max { <egarb2> > <vcom> } ^com <vmax2> ^layer <lay> ^compo <egarb3> ^commo <egarb4>)
(horizontal ^net-name nil ^min <vcom> ^max { <egarb5> > <vcom> } ^com <vmin2> ^layer <lay> ^compo <egarb6> ^commo <egarb7>)
-->
(remove <v3>)
)
(p p183
(context ^present propagate-constraint)
{ <v3> (vertical ^net-name nil ^min <vmin2> ^max { <vmax2> > <vmin2> } ^com <vcom> ^layer <garb1> ^compo <garb2> ^commo <vcmo>) }
(congestion ^direction row ^coordinate <vmax2> ^como <vmin2>)
- (horizontal ^status nil ^min <= <vcom> ^max > <vcom> ^com { <= <vmax2> >= <vmin2> })
- (vertical ^status nil ^min <vmax2> ^max > <vmax2> ^com <vcom>)
- (vertical ^status nil ^max <vmin2> ^min < <vmin2> ^com <vcom>)
(vertical ^net-name nil ^min { <vmin> <= <vmin2> } ^max { > <vmin> >= <vmax2> } ^com <vcmo> ^layer <lay>)
(horizontal ^net-name nil ^min <egarb1> ^max { <vcom> > <egarb1> } ^com <vmax2> ^layer <lay> ^compo <egarb2> ^commo <egarb3>)
(horizontal ^net-name nil ^min <egarb6> ^max { <vcom> > <egarb6> } ^com <vmin2> ^layer <lay> ^compo <egarb4> ^commo <egarb5>)
-->
(remove <v3>)
)
(p p184
(context ^present propagate-constraint)
{ <h3> (horizontal ^net-name nil ^min <hmin2> ^max { <hmax2> > <hmin2> } ^com <hcom> ^layer <garb1> ^compo <hcpo> ^commo <egarb1>) }
(congestion ^direction col ^coordinate <hmax2> ^como <hmin2>)
- (vertical ^status nil ^min < <hcom> ^max >= <hcom> ^com { <= <hmax2> >= <hmin2> })
- (horizontal ^status nil ^min <hmax2> ^max > <hmax2> ^com <hcom>)
- (horizontal ^status nil ^max <hmin2> ^min < <hmin2> ^com <hcom>)
(horizontal ^net-name nil ^min { <hmin> <= <hmin2> } ^max { > <hmin> >= <hmax2> } ^com <hcpo> ^layer <lay>)
(vertical ^net-name nil ^min <hcom> ^max { <egarb2> > <hcom> } ^com <hmax2> ^layer <lay> ^compo <egarb3> ^commo <egarb4>)
(vertical ^net-name nil ^min <hcom> ^max { <egarb5> > <hcom> } ^com <hmin2> ^layer <lay> ^compo <egarb6> ^commo <egarb7>)
-->
(remove <h3>)
)
(p p185
(context ^present propagate-constraint)
{ <h3> (horizontal ^net-name nil ^min <hmin2> ^max { <hmax2> > <hmin2> } ^com <hcom> ^layer <garb1> ^compo <garb2> ^commo <hcmo>) }
(congestion ^direction col ^coordinate <hmax2> ^como <hmin2>)
- (vertical ^status nil ^min <= <hcom> ^max > <hcom> ^com { <= <hmax2> >= <hmin2> })
- (horizontal ^status nil ^min <hmax2> ^max > <hmax2> ^com <hcom>)
- (horizontal ^status nil ^max <hmin2> ^min < <hmin2> ^com <hcom>)
(horizontal ^net-name nil ^min { <hmin> <= <hmin2> } ^max { > <hmin> >= <hmax2> } ^com <hcmo> ^layer <lay>)
(vertical ^net-name nil ^min <egarb1> ^max { <hcom> > <egarb1> } ^com <hmax2> ^layer <lay> ^compo <egarb3> ^compo <egarb4>)
(vertical ^net-name nil ^min <egarb5> ^max { <hcom> > <egarb5> } ^com <hmin2> ^layer <lay> ^compo <egarb6> ^commo <egarb7>)
-->
(remove <h3>)
)
(p p538
(finally-routed <nn>)
{ <i1> (included <nn>) }
-->
(remove <i1>)
)
(p p539
(finally-routed <nn>)
{ <ff1> (ff ^net-name <nn>) }
-->
(remove <ff1>)
)
(p p540
(finally-routed <nn>)
{ <c1> (constraint ^constraint-type << vertical horizontal >> ^net-name-1 <nn>) }
-->
(remove <c1>)
)
(p p541
(finally-routed <nn>)
{ <c1> (constraint ^constraint-type << vertical horizontal >> ^net-name-2 <nn>) }
-->
(remove <c1>)
)
(p p542
(finally-routed <nn>)
{ <c> (<< horizontal-cycle vertical-cycle >> <nn>) }
-->
(remove <c>)
)
(p p543
(finally-routed <nn>)
{ <c1> (constraint ^constraint-type << vertical horizontal >> ^net-name-2 <nn>) }
-->
(remove <c1>)
)
(p p544
(finally-routed <nn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmin> ^max <vmax> ^com <vcom> ^layer <lay> ^compo <garb1> ^commo <garb2>)
{ <h1> (horizontal ^net-name nil ^min { <hmin> <= <vcom> } ^max { <hmax> > <hmin> >= <vcom> } ^com { <hcom> >= <vmin> <= <vmax> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <nn1>) }
-->
(make horizontal ^min <hmin> ^max (compute <vcom> - 1) ^com <hcom> ^compo <hcpo> ^commo <hcmo> ^layer <lay> ^min-net <nn1>)
(modify <h1> ^min (compute <vcom> + 1) ^min-net nil)
)
(p p545
(finally-routed <nn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <hmin> ^max <hmax> ^com <hcom> ^layer <lay> ^compo <garb1> ^commo <garb2>)
{ <v1> (vertical ^net-name nil ^min { <vmin> <= <hcom> } ^max { <vmax> > <vmin> >= <hcom> } ^com { <vcom> >= <hmin> <= <hmax> } ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <nn1>) }
-->
(make vertical ^min <vmin> ^max (compute <hcom> - 1) ^com <vcom> ^compo <vcpo> ^commo <vcmo> ^layer <lay> ^min-net <nn1>)
(modify <v1> ^min (compute <hcom> + 1) ^min-net nil)
)
(p p546
(finally-routed <nn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max <rmax> ^com <com> ^layer <lay> ^compo <garb4> ^commo <garb3>)
{ <v1> (vertical ^net-name nil ^min <rmax> ^max { <garb2> > <rmax> } ^com <com> ^layer <lay> ^compo <garb6> ^commo <garb5>) }
-->
(modify <v1> ^min (compute <rmax> + 1) ^min-net nil)
)
(p p547
(finally-routed <nn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <rmin> ^max <garb1> ^com <com> ^layer <lay> ^compo <garb3> ^commo <garb4>)
{ <v1> (vertical ^net-name nil ^min <garb2> ^max { <rmin> > <garb2> } ^com <com> ^layer <lay> ^compo <garb5> ^commo <garb6>) }
-->
(modify <v1> ^max (compute <rmin> - 1) ^max-net nil)
)
(p p548
(finally-routed <nn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max <rmax> ^com <com> ^layer <lay> ^compo <garb3> ^commo <garb4>)
{ <h1> (horizontal ^net-name nil ^min <rmax> ^max { <garb2> > <rmax> } ^com <com> ^layer <lay> ^compo <garb5> ^commo <garb6>) }
-->
(modify <h1> ^min (compute <rmax> + 1) ^min-net nil)
)
(p p549
(finally-routed <nn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <rmin> ^max <garb1> ^com <com> ^layer <lay> ^compo <garb3> ^commo <garb4>)
{ <h1> (horizontal ^net-name nil ^min <garb2> ^max { <rmin> > <garb2> } ^com <com> ^layer <lay> ^compo <garb5> ^commo <garb6>) }
-->
(modify <h1> ^max (compute <rmin> - 1) ^max-net nil)
)
(p p550
{ <f1> (finally-routed <nn>) }
-->
(remove <f1>)
(make context ^present remove-routed-net-segments <nn>)
)
(p p551
(context ^present remove-routed-net-segments <nn>)
{ <h1> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <min> ^max <max> ^com <c> ^layer <lay> ^compo <garb1> ^commo <garb2>) }
-->
(modify <h1> ^status routed)
(write (crlf) |hor | <nn> <min> <max> <c> <lay>)
)
(p p552
(context ^present remove-routed-net-segments <nn>)
{ <v1> (vertical ^status nil ^net-name { <nn> <> nil } ^min <min> ^max <max> ^com <c> ^layer <lay> ^compo <garb1> ^commo <garb2>) }
-->
(modify <v1> ^status routed)
(write (crlf) |ver | <nn> <min> <max> <c> <lay>)
)
(p p553
(context ^present remove-routed-net-segments <nn>)
{ <h> (horizontal-s ^net-name <nn>) }
-->
(remove <h>)
)
(p p554
(context ^present remove-routed-net-segments <nn>)
{ <v> (vertical-s ^net-name <nn>) }
-->
(remove <v>)
)
(p p555
(context ^present remove-routed-net-segments <nn>)
{ <p> (pin ^net-name <nn>) }
-->
(remove <p>)
)
(p p556
(context ^present remove-routed-net-segments <nn>)
{ <n> (net ^net-name <nn>) }
-->
(remove <n>)
)
(p p557
{ <c1> (context ^present remove-routed-net-segments) }
-->
(remove <c1>)
(make context ^present check-for-routed-net)
)
(p p32
(context ^present propagate-constraint)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes ^no-of-top-pins 1 ^no-of-bottom-pins 1)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>) }
{ <v> (vertical ^net-name nil ^min <gy2> ^max > <gy2> ^com <gx2> ^layer <lay> ^commo <cmo> ^compo <gx1> ^min-net <garb2>) }
- (horizontal ^net-name nil ^min <= <gx2> ^max >= <gx1> ^com <gy2> ^layer <lay>)
(congestion ^direction row ^coordinate <gy3> ^como <gy2>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy3> ^max >= <gy3> ^com <gx2> ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy3> ^layer <lay>)
-->
(modify <v> ^min <gy3> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn2> ^min <gy2> ^max <gy3> ^com <gx2> ^compo <gx1> ^commo <cmo> ^layer <lay>)
(modify <ff> ^grid-y <gy3> ^can-chng-layer nil ^came-from south)
)
(p p33
(context ^present propagate-constraint)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes ^no-of-top-pins 1 ^no-of-bottom-pins 1)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>) }
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>)
{ <v> (vertical ^net-name nil ^min < <gy1> ^max <gy1> ^com <gx1> ^layer <lay> ^commo <gx2> ^compo <cpo> ^min-net <garb2>) }
- (horizontal ^net-name nil ^min <= <gx2> ^max >= <gx1> ^com <gy1> ^layer <lay>)
(congestion ^direction row ^coordinate <gy1> ^como <gy3>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy3> ^max >= <gy3> ^com <gx1> ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <gy3> ^layer <lay>)
-->
(modify <v> ^max <gy3> ^max-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn1> ^min <gy3> ^max <gy1> ^com <gx1> ^compo <cpo> ^commo <gx2> ^layer <lay>)
(modify <ff> ^grid-y <gy3> ^can-chng-layer nil ^came-from north)
)
(p p34
(context ^present propagate-constraint)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes ^no-of-top-pins 1 ^no-of-bottom-pins 1)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>) }
{ <v> (vertical ^net-name nil ^min <gy2> ^max > <gy2> ^com <gx2> ^layer <lay> ^commo <gx1> ^compo <cpo> ^min-net <garb2>) }
- (horizontal ^net-name nil ^min <= <gx1> ^max >= <gx2> ^com <gy2> ^layer <lay>)
(congestion ^direction row ^coordinate <gy3> ^como <gy2>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy3> ^max >= <gy3> ^com <gx2> ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy3> ^layer <lay>)
-->
(modify <v> ^min <gy3> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn2> ^min <gy2> ^max <gy3> ^com <gx2> ^compo <cpo> ^commo <gx1> ^layer <lay>)
(modify <ff> ^grid-y <gy3> ^can-chng-layer nil ^came-from south)
)
(p p35
(context ^present propagate-constraint)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes ^no-of-top-pins 1 ^no-of-bottom-pins 1)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>) }
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>)
{ <v> (vertical ^net-name nil ^min < <gy1> ^max <gy1> ^com <gx1> ^layer <lay> ^commo <cmo> ^compo <gx2> ^min-net <garb2>) }
- (horizontal ^net-name nil ^min <= <gx1> ^max >= <gx2> ^com <gy1> ^layer <lay>)
(congestion ^direction row ^coordinate <gy1> ^como <gy3>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy3> ^max >= <gy3> ^com <gx1> ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <gy3> ^layer <lay>)
-->
(modify <v> ^max <gy3> ^max-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn1> ^min <gy3> ^max <gy1> ^com <gx1> ^compo <gx2> ^commo <cmo> ^layer <lay>)
(modify <ff> ^grid-y <gy3> ^can-chng-layer nil ^came-from north)
)
(p p36
(context ^present propagate-constraint)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes ^no-of-right-pins 1 ^no-of-left-pins 1)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>) }
{ <v> (horizontal ^net-name nil ^min <gx2> ^max > <gx2> ^com <gy2> ^layer <lay> ^commo <cmo> ^compo <gy1> ^min-net <garb2>) }
- (vertical ^net-name nil ^min <= <gy2> ^max >= <gy1> ^com <gx2> ^layer <lay>)
(congestion ^direction col ^coordinate <gx3> ^como <gx2>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx3> ^max >= <gx3> ^com <gy2> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx3> ^layer <lay>)
-->
(modify <v> ^min <gx3> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn2> ^min <gx2> ^max <gx3> ^com <gy2> ^compo <gy1> ^commo <cmo> ^layer <lay>)
(modify <ff> ^grid-x <gx3> ^can-chng-layer nil ^came-from west)
)
(p p37
(context ^present propagate-constraint)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes ^no-of-right-pins 1 ^no-of-left-pins 1)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>) }
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>)
{ <v> (horizontal ^net-name nil ^min < <gx1> ^max <gx1> ^com <gy1> ^layer <lay> ^commo <gy2> ^compo <cpo> ^min-net <garb2>) }
- (vertical ^net-name nil ^min <= <gy2> ^max >= <gy1> ^com <gx1> ^layer <lay>)
(congestion ^direction col ^coordinate <gx1> ^como <gx3>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx3> ^max >= <gx3> ^com <gy1> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <gx3> ^layer <lay>)
-->
(modify <v> ^max <gx3> ^max-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn1> ^min <gx3> ^max <gx1> ^com <gy1> ^compo <cpo> ^commo <gy2> ^layer <lay>)
(modify <ff> ^grid-x <gx3> ^can-chng-layer nil ^came-from east)
)
(p p38
(context ^present propagate-constraint)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes ^no-of-right-pins 1 ^no-of-left-pins 1)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>) }
{ <v> (horizontal ^net-name nil ^min < <gx2> ^max <gx2> ^com <gy2> ^layer <lay> ^commo <cmo> ^compo <gx1> ^min-net <garb2>) }
- (vertical ^net-name nil ^min <= <gy2> ^max >= <gy1> ^com <gx2> ^layer <lay>)
(congestion ^direction col ^coordinate <gx2> ^como <gx3>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx3> ^max >= <gx3> ^com <gy2> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx3> ^layer <lay>)
-->
(modify <v> ^max <gx3> ^max-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn2> ^min <gx3> ^max <gx2> ^com <gy2> ^compo <gy1> ^commo <cmo> ^layer <lay>)
(modify <ff> ^grid-x <gx3> ^can-chng-layer nil ^came-from east)
)
(p p39
(context ^present propagate-constraint)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes ^no-of-right-pins 1 ^no-of-left-pins 1)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>) }
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>)
{ <v> (horizontal ^net-name nil ^min <gx1> ^max > <gx1> ^com <gy1> ^layer <lay> ^commo <gy2> ^compo <cpo> ^min-net <garb2>) }
- (vertical ^net-name nil ^min <= <gy2> ^max >= <gy1> ^com <gx1> ^layer <lay>)
(congestion ^direction col ^coordinate <gx3> ^como <gx1>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx3> ^max >= <gx3> ^com <gy1> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <gx3> ^layer <lay>)
-->
(modify <v> ^min <gx3> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn1> ^min <gx1> ^max <gx3> ^com <gy1> ^compo <cpo> ^commo <gy2> ^layer <lay>)
(modify <ff> ^grid-x <gx3> ^can-chng-layer nil ^came-from west)
)
(p p40
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <hmax1> < <gx> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <gx> ^max >= <hmax1> ^com <cpo> ^layer <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <gx> ^max >= <hmax1> ^com <cmo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min { < <gx> >= <hmax1> } ^max <gx> ^com <gy> ^layer <lay>) }
(vertical ^com <hmin2> ^compo <garb10> ^commo <hmax1>)
(vertical ^com <hmax2> ^compo <gx> ^commo <garb11>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin2> ^max >= <hmax2> ^com <cmo> ^layer <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin2> ^max >= <hmax2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^max <hmax2> ^max-net nil)
)
(p p41
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(horizontal ^net-name { <> nil <> <nn1> } ^min { <hmin1> > <gx> } ^max <garb1> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min <= <gx> ^max > <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin1> ^max >= <gx> ^com <cpo> ^layer <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin1> ^max >= <gx> ^com <cmo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min <gx> ^max { > <gx> <= <hmin1> } ^com <gy> ^layer <lay>) }
(vertical ^com <hmin2> ^compo <hmin1> ^commo <garb10>)
(vertical ^com <hmax2> ^compo <garb11> ^commo <gx>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmax2> ^max >= <hmin2> ^com <cmo> ^layer <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmax2> ^max >= <hmin2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^min <hmax2> ^min-net nil)
)
(p p42
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <hmax1> < <gx> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <gx> ^max >= <hmax1> ^com <cmo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min { < <gx> >= <hmax1> } ^max <gx> ^com <gy> ^layer <lay>) }
(vertical ^com <hmin2> ^compo <garb10> ^commo <hmax1>)
(vertical ^com <hmax2> ^compo <gx> ^commo <garb11>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin2> ^max >= <hmax2> ^com <cmo> ^layer <lay>)
(last-row <gy>)
-->
(modify <h1> ^max <hmax2> ^max-net nil)
)
(p p43
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(horizontal ^net-name { <> nil <> <nn1> } ^min { <hmin1> > <gx> } ^max <garb1> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min <= <gx> ^max > <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin1> ^max >= <gx> ^com <cmo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min <gx> ^max { > <gx> <= <hmin1> } ^com <gy> ^layer <lay>) }
(vertical ^com <hmin2> ^compo <hmin1> ^commo <garb10>)
(vertical ^com <hmax2> ^compo <garb11> ^commo <gx>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmax2> ^max >= <hmin2> ^com <cmo> ^layer <lay>)
(last-row <gy>)
-->
(modify <h1> ^min <hmax2> ^min-net nil)
)
(p p44
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <hmax1> < <gx> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <gx> ^max >= <hmax1> ^com <cpo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min { < <gx> >= <hmax1> } ^max <gx> ^com <gy> ^layer <lay> ^commo 0) }
(vertical ^com <hmin2> ^compo <garb10> ^commo <hmax1>)
(vertical ^com <hmax2> ^compo <gx> ^commo <garb11>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin2> ^max >= <hmax2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^max <hmax2> ^max-net nil)
)
(p p45
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(horizontal ^net-name { <> nil <> <nn1> } ^min { <hmin1> > <gx> } ^max <garb1> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min <= <gx> ^max > <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin1> ^max >= <gx> ^com <cpo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min <gx> ^max { > <gx> <= <hmin1> } ^com <gy> ^layer <lay> ^commo 0) }
(vertical ^com <hmin2> ^compo <hmin1> ^commo <garb10>)
(vertical ^com <hmax2> ^compo <garb11> ^commo <gx>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmax2> ^max >= <hmin2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^min <hmax2> ^min-net nil)
)
(p p46
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(vertical ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <vmax1> < <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min < <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <gy> ^max >= <vmax1> ^com <cpo> ^layer <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <gy> ^max >= <vmax1> ^com <cmo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^max-net nil)
{ <h1> (vertical ^net-name nil ^min { < <gy> >= <vmax1> } ^max <gy> ^com <gx> ^layer <lay>) }
(horizontal ^com <vmin2> ^compo <garb10> ^commo <vmax1>)
(horizontal ^com <vmax2> ^compo <gy> ^commo <garb11>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin2> ^max >= <vmax2> ^com <cmo> ^layer <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin2> ^max >= <vmax2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^max <vmax2> ^max-net nil)
)
(p p47
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(vertical ^net-name { <> nil <> <nn1> } ^min { <vmin1> > <gy> } ^max <garb1> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min <= <gy> ^max > <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin1> ^max >= <gy> ^com <cpo> ^layer <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin1> ^max >= <gy> ^com <cmo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min <gy> ^max { > <gy> <= <vmin1> } ^com <gx> ^layer <lay>) }
(horizontal ^com <vmin2> ^compo <vmin1> ^commo <garb10>)
(horizontal ^com <vmax2> ^compo <garb11> ^commo <gy>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmax2> ^max >= <vmin2> ^com <cmo> ^layer <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmax2> ^max >= <vmin2> ^com <cpo> ^layer <lay>)
-->
(modify <v1> ^min <vmax2> ^min-net nil)
)
(p p48
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(vertical ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <vmax1> < <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min < <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <gy> ^max >= <vmax1> ^com <cmo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min { < <gy> >= <vmax1> } ^max <gy> ^com <gx> ^layer <lay>) }
(horizontal ^com <vmin2> ^compo <garb10> ^commo <vmax1>)
(horizontal ^com <vmax2> ^compo <gy> ^commo <garb11>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin2> ^max >= <vmax2> ^com <cmo> ^layer <lay>)
(last-col <gx>)
-->
(modify <v1> ^max <vmax2> ^max-net nil)
)
(p p49
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(vertical ^net-name { <> nil <> <nn1> } ^min { <vmin1> > <gy> } ^max <garb1> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min <= <gy> ^max > <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin1> ^max >= <gy> ^com <cmo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min <gy> ^max { > <gy> <= <vmin1> } ^com <gx> ^layer <lay>) }
(horizontal ^com <vmin2> ^compo <vmin1> ^commo <garb10>)
(horizontal ^com <vmax2> ^compo <garb11> ^commo <gy>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmax2> ^max >= <vmin2> ^com <cmo> ^layer <lay>)
(last-col <gx>)
-->
(modify <v1> ^min <vmax2> ^min-net nil)
)
(p p50
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(vertical ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <vmax1> < <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min < <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <gy> ^max >= <vmax1> ^com <cpo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min { < <gy> >= <vmax1> } ^max <gy> ^com <gx> ^layer <lay> ^commo 0) }
(horizontal ^com <vmin2> ^compo <garb10> ^commo <vmax1>)
(horizontal ^com <vmax2> ^compo <gy> ^commo <garb11>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin2> ^max >= <vmax2> ^com <cpo> ^layer <lay>)
-->
(modify <v1> ^max <vmax2> ^max-net nil)
)
(p p51
(context ^present propagate-constraint)
(ff ^can-chng-layer <> no ^net-name <nn1> ^grid-x <gx> ^grid-y <gy> ^grid-layer <ttgarb>)
(vertical ^net-name { <> nil <> <nn1> } ^min { <vmin1> > <gy> } ^max <garb1> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min <= <gy> ^max > <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin1> ^max >= <gy> ^com <cpo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min <gy> ^max { > <gy> <= <vmin1> } ^com <gx> ^layer <lay> ^commo 0) }
(horizontal ^com <vmin2> ^compo <vmin1> ^commo <garb10>)
(horizontal ^com <vmax2> ^compo <garb11> ^commo <gy>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmax2> ^max >= <vmin2> ^com <cpo> ^layer <lay>)
-->
(modify <v1> ^min <vmax2> ^min-net nil)
)
(p p52
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <gx> ^max <ppgarb> ^com <gy>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <hmax1> < <gx> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <gx> ^max >= <hmax1> ^com <cpo> ^layer <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <gx> ^max >= <hmax1> ^com <cmo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min { < <gx> >= <hmax1> } ^max <gx> ^com <gy> ^layer <lay>) }
(vertical ^com <hmin2> ^compo <garb10> ^commo <hmax1>)
(vertical ^com <hmax2> ^compo <gx> ^commo <garb11>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin2> ^max >= <hmax2> ^com <cmo> ^layer <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin2> ^max >= <hmax2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^max <hmax2> ^max-net nil)
)
(p p53
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <ppgarb> ^max <gx> ^com <gy>)
(horizontal ^net-name { <> nil <> <nn1> } ^min { <hmin1> > <gx> } ^max <garb1> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min <= <gx> ^max > <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin1> ^max >= <gx> ^com <cpo> ^layer <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin1> ^max >= <gx> ^com <cmo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min <gx> ^max { > <gx> <= <hmin1> } ^com <gy> ^layer <lay>) }
(vertical ^com <hmin2> ^compo <hmin1> ^commo <garb10>)
(vertical ^com <hmax2> ^compo <garb11> ^commo <gx>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmax2> ^max >= <hmin2> ^com <cmo> ^layer <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmax2> ^max >= <hmin2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^min <hmax2> ^min-net nil)
)
(p p54
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <gx> ^max <ppgarb> ^com <gy>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <hmax1> < <gx> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <gx> ^max >= <hmax1> ^com <cmo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min { < <gx> >= <hmax1> } ^max <gx> ^com <gy> ^layer <lay>) }
(vertical ^com <hmin2> ^compo <garb10> ^commo <hmax1>)
(vertical ^com <hmax2> ^compo <gx> ^commo <garb11>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin2> ^max >= <hmax2> ^com <cmo> ^layer <lay>)
(last-row <gy>)
-->
(modify <h1> ^max <hmax2> ^max-net nil)
)
(p p55
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <ppgarb> ^max <gx> ^com <gy>)
(horizontal ^net-name { <> nil <> <nn1> } ^min { <hmin1> > <gx> } ^max <garb1> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min <= <gx> ^max > <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin1> ^max >= <gx> ^com <cmo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min <gx> ^max { > <gx> <= <hmin1> } ^com <gy> ^layer <lay>) }
(vertical ^com <hmin2> ^compo <hmin1> ^commo <garb10>)
(vertical ^com <hmax2> ^compo <garb11> ^commo <gx>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmax2> ^max >= <hmin2> ^com <cmo> ^layer <lay>)
(last-row <gy>)
-->
(modify <h1> ^min <hmax2> ^min-net nil)
)
(p p56
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <gx> ^max <ppgarb> ^com <gy>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <hmax1> < <gx> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <gx> ^max >= <hmax1> ^com <cpo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <hmax1> < <gx> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min { < <gx> >= <hmax1> } ^max <gx> ^com <gy> ^layer <lay> ^commo 0) }
(vertical ^com <hmin2> ^compo <garb10> ^commo <hmax1>)
(vertical ^com <hmax2> ^compo <gx> ^commo <garb11>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin2> ^max >= <hmax2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^max <hmax2> ^max-net nil)
)
(p p57
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <ppgarb> ^max <gx> ^com <gy>)
(horizontal ^net-name { <> nil <> <nn1> } ^min { <hmin1> > <gx> } ^max <garb1> ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (horizontal ^net-name nil ^min <= <gx> ^max > <gx> ^com <gy> ^layer <> <lay>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmin1> ^max >= <gx> ^com <cpo> ^layer <lay>)
- (vertical ^status nil ^net-name { <nn1> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min < <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay>)
- (vertical ^net-name nil ^min <gy> ^max > <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^min-net nil)
- (vertical ^net-name nil ^min < <gy> ^max <gy> ^com { > <gx> < <hmin1> } ^layer <> <lay> ^max-net nil)
{ <h1> (horizontal ^net-name nil ^min <gx> ^max { > <gx> <= <hmin1> } ^com <gy> ^layer <lay> ^commo 0) }
(vertical ^com <hmin2> ^compo <hmin1> ^commo <garb10>)
(vertical ^com <hmax2> ^compo <garb11> ^commo <gx>)
(horizontal ^net-name { <> nil <> <nn1> } ^min <= <hmax2> ^max >= <hmin2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^min <hmax2> ^min-net nil)
)
(p p58
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <gy> ^max <ppgarb> ^com <gx>)
(vertical ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <vmax1> < <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min < <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <gy> ^max >= <vmax1> ^com <cpo> ^layer <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <gy> ^max >= <vmax1> ^com <cmo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^max-net nil)
{ <h1> (vertical ^net-name nil ^min { < <gy> >= <vmax1> } ^max <gy> ^com <gx> ^layer <lay>) }
(horizontal ^com <vmin2> ^compo <garb10> ^commo <vmax1>)
(horizontal ^com <vmax2> ^compo <gy> ^commo <garb11>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin2> ^max >= <vmax2> ^com <cmo> ^layer <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin2> ^max >= <vmax2> ^com <cpo> ^layer <lay>)
-->
(modify <h1> ^max <vmax2> ^max-net nil)
)
(p p59
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <ppgarb> ^max <gy> ^com <gx>)
(vertical ^net-name { <> nil <> <nn1> } ^min { <vmin1> > <gy> } ^max <garb1> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min <= <gy> ^max > <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin1> ^max >= <gy> ^com <cpo> ^layer <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin1> ^max >= <gy> ^com <cmo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min <gy> ^max { > <gy> <= <vmin1> } ^com <gx> ^layer <lay>) }
(horizontal ^com <vmin2> ^compo <vmin1> ^commo <garb10>)
(horizontal ^com <vmax2> ^compo <garb11> ^commo <gy>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmax2> ^max >= <vmin2> ^com <cmo> ^layer <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmax2> ^max >= <vmin2> ^com <cpo> ^layer <lay>)
-->
(modify <v1> ^min <vmax2> ^min-net nil)
)
(p p60
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <gy> ^max <ppgarb> ^com <gx>)
(vertical ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <vmax1> < <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min < <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <gy> ^max >= <vmax1> ^com <cmo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min { < <gy> >= <vmax1> } ^max <gy> ^com <gx> ^layer <lay>) }
(horizontal ^com <vmin2> ^compo <garb10> ^commo <vmax1>)
(horizontal ^com <vmax2> ^compo <gy> ^commo <garb11>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin2> ^max >= <vmax2> ^com <cmo> ^layer <lay>)
(last-col <gx>)
-->
(modify <v1> ^max <vmax2> ^max-net nil)
)
(p p61
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <ppgarb> ^max <gy> ^com <gx>)
(vertical ^net-name { <> nil <> <nn1> } ^min { <vmin1> > <gy> } ^max <garb1> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min <= <gy> ^max > <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin1> ^max >= <gy> ^com <cmo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min <gy> ^max { > <gy> <= <vmin1> } ^com <gx> ^layer <lay>) }
(horizontal ^com <vmin2> ^compo <vmin1> ^commo <garb10>)
(horizontal ^com <vmax2> ^compo <garb11> ^commo <gy>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmax2> ^max >= <vmin2> ^com <cmo> ^layer <lay>)
(last-col <gx>)
-->
(modify <v1> ^min <vmax2> ^min-net nil)
)
(p p62
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <gy> ^max <ppgarb> ^com <gx>)
(vertical ^net-name { <> nil <> <nn1> } ^min <garb1> ^max { <vmax1> < <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min < <gy> ^max >= <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <gy> ^max >= <vmax1> ^com <cpo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <vmax1> < <gy> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min { < <gy> >= <vmax1> } ^max <gy> ^com <gx> ^layer <lay> ^commo 0) }
(horizontal ^com <vmin2> ^compo <garb10> ^commo <vmax1>)
(horizontal ^com <vmax2> ^compo <gy> ^commo <garb11>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin2> ^max >= <vmax2> ^com <cpo> ^layer <lay>)
-->
(modify <v1> ^max <vmax2> ^max-net nil)
)
(p p63
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <ppgarb> ^max <gy> ^com <gx>)
(vertical ^net-name { <> nil <> <nn1> } ^min { <vmin1> > <gy> } ^max <garb1> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
- (vertical ^net-name nil ^min <= <gy> ^max > <gy> ^com <gx> ^layer <> <lay>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmin1> ^max >= <gy> ^com <cpo> ^layer <lay>)
- (horizontal ^status nil ^net-name { <nn1> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay>)
- (horizontal ^net-name nil ^min <gx> ^max > <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^min-net nil)
- (horizontal ^net-name nil ^min < <gx> ^max <gx> ^com { > <gy> < <vmin1> } ^layer <> <lay> ^max-net nil)
{ <v1> (vertical ^net-name nil ^min <gy> ^max { > <gy> <= <vmin1> } ^com <gx> ^layer <lay> ^commo 0) }
(horizontal ^com <vmin2> ^compo <vmin1> ^commo <garb10>)
(horizontal ^com <vmax2> ^compo <garb11> ^commo <gy>)
(vertical ^net-name { <> nil <> <nn1> } ^min <= <vmax2> ^max >= <vmin2> ^com <cpo> ^layer <lay>)
-->
(modify <v1> ^min <vmax2> ^min-net nil)
)
(p p64
(context ^present propagate-constraint)
{ <v> (vertical ^net-name nil ^min <vmin> ^max <vmax> ^com <vcom> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
{ <h> (horizontal ^net-name nil ^min { <hmin> < <vcom> } ^max { <hmax> > <vcom> } ^com <vmax> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
(vertical ^net-name { <nn1> <> nil } ^min < <vmax> ^max >= <vmax> ^com <vcmo> ^layer <lay> ^compo <vcom> ^commo <garb1>)
(vertical ^net-name { <nn2> <> <nn1> <> nil } ^min < <vmax> ^max >= <vmax> ^com <vcpo> ^layer <lay> ^compo <garb2> ^commo <vcom>)
(horizontal ^net-name nil ^min < <vcom> ^max > <vcom> ^com <hcmo> ^layer <lay>)
- (vertical ^status nil ^min <vmax> ^max > <vmax> ^com <vcom>)
- (horizontal ^status nil ^min { <temp> <= <vcom> } ^max { > <temp> >= <vcom> } ^com <vmax> ^layer <> <lay>)
-->
(modify <v> ^max <hcmo> ^max-net nil)
(make (substr <h> 1 inf) ^max <vcmo> ^max-net <nn1>)
(modify <h> ^min <vcpo> ^min-net <nn2>)
)
(p p65
(context ^present propagate-constraint)
{ <v> (vertical ^net-name nil ^min <vmin> ^max <vmax> ^com <vcom> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
{ <h> (horizontal ^net-name nil ^min { <hmin> < <vcom> } ^max { <hmax> > <vcom> } ^com <vmin> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
(vertical ^net-name { <nn1> <> nil } ^min <= <vmin> ^max > <vmin> ^com <vcmo> ^layer <lay> ^compo <vcom> ^commo <garb1>)
(vertical ^net-name { <nn2> <> <nn1> <> nil } ^min <= <vmin> ^max > <vmin> ^com <vcpo> ^layer <lay> ^compo <garb2> ^commo <vcom>)
(horizontal ^net-name nil ^min < <vcom> ^max > <vcom> ^com <hcpo> ^layer <lay>)
- (vertical ^status nil ^min < <vmin> ^max <vmin> ^com <vcom>)
- (horizontal ^status nil ^min { <temp> <= <vcom> } ^max { > <temp> >= <vcom> } ^com <vmin> ^layer <> <lay>)
-->
(modify <v> ^min <hcpo> ^min-net nil)
(make (substr <h> 1 inf) ^max <vcmo> ^max-net <nn1>)
(modify <h> ^min <vcpo> ^min-net <nn2>)
)
(p p66
(context ^present propagate-constraint)
{ <h> (horizontal ^net-name nil ^min <hmin> ^max <hmax> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
{ <v> (vertical ^net-name nil ^min { <vmin> < <hcom> } ^max { <vmax> > <hcom> } ^com <hmax> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
(horizontal ^net-name { <nn1> <> nil } ^min < <hmax> ^max >= <hmax> ^com <hcmo> ^layer <lay> ^compo <hcom> ^commo <garb1>)
(horizontal ^net-name { <nn2> <> <nn1> <> nil } ^min < <hmax> ^max >= <hmax> ^com <hcpo> ^layer <lay> ^compo <garb2> ^commo <hcom>)
(vertical ^net-name nil ^min < <hcom> ^max > <hcom> ^com <vcmo> ^layer <lay>)
- (horizontal ^status nil ^min <hmax> ^max > <hmax> ^com <hcom>)
- (vertical ^status nil ^min { <temp> <= <hcom> } ^max { > <temp> >= <hcom> } ^com <hmax> ^layer <> <lay>)
-->
(modify <h> ^max <vcmo> ^max-net nil)
(make (substr <v> 1 inf) ^max <hcmo> ^max-net <nn1>)
(modify <v> ^min <hcpo> ^min-net <nn2>)
)
(p p67
(context ^present propagate-constraint)
{ <h> (horizontal ^net-name nil ^min <hmin> ^max <hmax> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
{ <v> (vertical ^net-name nil ^min { <vmin> < <hcom> } ^max { <vmax> > <hcom> } ^com <hmin> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
(horizontal ^net-name { <nn1> <> nil } ^min <= <hmin> ^max > <hmin> ^com <hcmo> ^layer <lay> ^compo <hcom> ^commo <garb1>)
(horizontal ^net-name { <nn2> <> <nn1> <> nil } ^min <= <hmin> ^max > <hmin> ^com <hcpo> ^layer <lay> ^compo <garb2> ^commo <hcom>)
(vertical ^net-name nil ^min < <hcom> ^max > <hcom> ^com <vcpo> ^layer <lay>)
- (horizontal ^status nil ^min < <hmin> ^max <hmin> ^com <hcom>)
- (vertical ^status nil ^min { <temp> <= <hcom> } ^max { > <temp> >= <hcom> } ^com <hmin> ^layer <> <lay>)
-->
(modify <h> ^min <vcpo> ^min-net nil)
(make (substr <v> 1 inf) ^max <hcmo> ^max-net <nn1>)
(modify <v> ^min <hcpo> ^min-net <nn2>)
)
(p p68
(context ^present propagate-constraint)
{ <v> (vertical ^net-name nil ^min <vmin> ^max <vmax> ^com <vcom> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
{ <h> (horizontal ^net-name nil ^min { <hmin> < <vcom> } ^max <vcom> ^com <vmax> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
(vertical ^net-name { <nn1> <> nil } ^min < <vmax> ^max >= <vmax> ^com <vcmo> ^layer <lay> ^compo <vcom> ^commo <garb1>)
(horizontal ^net-name nil ^min < <vcom> ^max >= <vcom> ^com <hcmo> ^layer <lay>)
- (vertical ^net-name nil ^min <vmax> ^max > <vmax> ^com <vcom> ^layer <> <lay>)
- (horizontal ^net-name nil ^min <vcom> ^max > <vcom> ^com <vmax> ^layer <> <lay>)
-->
(modify <h> ^max <vcmo> ^max-net <nn1>)
)
(p p69
(context ^present propagate-constraint)
{ <v> (vertical ^net-name nil ^min <vmin> ^max <vmax> ^com <vcom> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
{ <h> (horizontal ^net-name nil ^min <vcom> ^max { <hmax> > <vcom> } ^com <vmax> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
(vertical ^net-name { <nn1> <> nil } ^min < <vmax> ^max >= <vmax> ^com <vcpo> ^layer <lay> ^compo <garb1> ^commo <vcom>)
(horizontal ^net-name nil ^min <= <vcom> ^max > <vcom> ^com <hcmo> ^layer <lay>)
- (vertical ^net-name nil ^min <vmax> ^max > <vmax> ^com <vcom> ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <vcom> ^max <vcom> ^com <vmax> ^layer <> <lay>)
-->
(modify <h> ^min <vcpo> ^min-net <nn1>)
)
(p p70
(context ^present propagate-constraint)
{ <v> (vertical ^net-name nil ^min <vmin> ^max <vmax> ^com <vcom> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
{ <h> (horizontal ^net-name nil ^min { <hmin> < <vcom> } ^max <vcom> ^com <vmin> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
(vertical ^net-name { <nn1> <> nil } ^min <= <vmin> ^max > <vmin> ^com <vcmo> ^layer <lay> ^compo <vcom> ^commo <garb1>)
(horizontal ^net-name nil ^min < <vcom> ^max >= <vcom> ^com <hcpo> ^layer <lay>)
- (vertical ^net-name nil ^min < <vmin> ^max <vmin> ^com <vcom> ^layer <> <lay>)
- (horizontal ^net-name nil ^min <vcom> ^max > <vcom> ^com <vmin> ^layer <> <lay>)
-->
(modify <h> ^max <vcmo> ^max-net <nn1>)
)
(p p71
(context ^present propagate-constraint)
{ <v> (vertical ^net-name nil ^min <vmin> ^max <vmax> ^com <vcom> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
{ <h> (horizontal ^net-name nil ^min <vcom> ^max { <hmax> > <vcom> } ^com <vmin> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
(vertical ^net-name { <nn1> <> nil } ^min <= <vmin> ^max > <vmin> ^com <vcpo> ^layer <lay> ^compo <garb1> ^commo <vcom>)
(horizontal ^net-name nil ^min <= <vcom> ^max > <vcom> ^com <hcpo> ^layer <lay>)
- (vertical ^net-name nil ^min < <vmin> ^max <vmin> ^com <vcom> ^layer <> <lay>)
- (horizontal ^net-name nil ^min < <vcom> ^max <vcom> ^com <vmin> ^layer <> <lay>)
-->
(modify <h> ^min <vcpo> ^min-net <nn1>)
)
(p p72
(context ^present propagate-constraint)
{ <h> (horizontal ^net-name nil ^min <hmin> ^max <hmax> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
{ <v> (vertical ^net-name nil ^min <hcom> ^max { <vmax> > <hcom> } ^com <hmax> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
(horizontal ^net-name { <nn1> <> nil } ^min < <hmax> ^max >= <hmax> ^com <hcpo> ^layer <lay> ^compo <garb1> ^commo <hcom>)
(vertical ^net-name nil ^min <= <hcom> ^max > <hcom> ^com <vcmo> ^layer <lay>)
- (horizontal ^net-name nil ^min <hmax> ^max > <hmax> ^com <hcom> ^layer <> <lay>)
- (vertical ^net-name nil ^min < <hcom> ^max <hcom> ^com <hmax> ^layer <> <lay>)
-->
(modify <v> ^min <hcpo> ^min-net <nn1>)
)
(p p73
(context ^present propagate-constraint)
{ <h> (horizontal ^net-name nil ^min <hmin> ^max <hmax> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
{ <v> (vertical ^net-name nil ^min { <vmin> < <hcom> } ^max <hcom> ^com <hmax> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
(horizontal ^net-name { <nn1> <> nil } ^min < <hmax> ^max >= <hmax> ^com <hcmo> ^layer <lay> ^compo <hcom> ^commo <garb1>)
(vertical ^net-name nil ^min < <hcom> ^max >= <hcom> ^com <vcmo> ^layer <lay>)
- (horizontal ^net-name nil ^min <hmax> ^max > <hmax> ^com <hcom> ^layer <> <lay>)
- (vertical ^net-name nil ^min <hcom> ^max > <hcom> ^com <hmax> ^layer <> <lay>)
-->
(modify <v> ^max <hcmo> ^max-net <nn1>)
)
(p p74
(context ^present propagate-constraint)
{ <h> (horizontal ^net-name nil ^min <hmin> ^max <hmax> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
{ <v> (vertical ^net-name nil ^min <hcom> ^max { <vmax> > <hcom> } ^com <hmin> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
(horizontal ^net-name { <nn1> <> nil } ^min <= <hmin> ^max > <hmin> ^com <hcpo> ^layer <lay> ^compo <garb1> ^commo <hcom>)
(vertical ^net-name nil ^min <= <hcom> ^max > <hcom> ^com <vcpo> ^layer <lay>)
- (horizontal ^net-name nil ^min < <hmin> ^max <hmin> ^com <hcom> ^layer <> <lay>)
- (vertical ^net-name nil ^min < <hcom> ^max <hcom> ^com <hmin> ^layer <> <lay>)
-->
(modify <v> ^min <hcpo> ^min-net <nn1>)
)
(p p75
(context ^present propagate-constraint)
{ <h> (horizontal ^net-name nil ^min <hmin> ^max <hmax> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo>) }
{ <v> (vertical ^net-name nil ^min { <vmin> < <hcom> } ^max <hcom> ^com <hmin> ^layer <lay> ^compo <vcpo> ^commo <vcmo>) }
(horizontal ^net-name { <nn1> <> nil } ^min <= <hmin> ^max > <hmin> ^com <hcmo> ^layer <lay> ^compo <hcom> ^commo <garb1>)
(vertical ^net-name nil ^min < <hcom> ^max >= <hcom> ^com <vcpo> ^layer <lay>)
- (horizontal ^net-name nil ^min < <hmin> ^max <hmin> ^com <hcom> ^layer <> <lay>)
- (vertical ^net-name nil ^min <hcom> ^max > <hcom> ^com <hmin> ^layer <> <lay>)
-->
(modify <v> ^max <hcmo> ^max-net <nn1>)
)
(p p76
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <vmin> ^max <vmax> ^com <vcom> ^layer <vlay>)
(vertical ^net-name nil ^min <vmax> ^max > <vmax> ^com <vcom> ^layer <vlay>)
(horizontal ^net-name { <nn2> <> <nn1> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer { <hlay> <> <vlay> } ^compo <hcpo> ^commo <vmax>)
- (horizontal ^status nil ^min <= <vcom> ^max >= <vcom> ^com <vmax>)
{ <v> (vertical ^net-name nil ^min <vmax> ^max > <vmax> ^com <vcom> ^layer <hlay>) }
-->
(modify <v> ^min <hcom> ^min-net <nn2>)
)
(p p77
(context ^present propagate-constraint)
(vertical ^net-name { <nn1> <> nil } ^min <vmin> ^max <vmax> ^com <vcom> ^layer <vlay>)
(vertical ^net-name nil ^min <garb1> ^max { <vmin> > <garb1> } ^com <vcom> ^layer <vlay>)
(horizontal ^net-name { <nn2> <> <nn1> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer { <hlay> <> <vlay> } ^compo <vmin> ^commo <hcmo>)
- (horizontal ^status nil ^min <= <vcom> ^max >= <vcom> ^com <vmin>)
{ <v> (vertical ^net-name nil ^min <garb2> ^max { <vmin> > <garb2> } ^com <vcom> ^layer <hlay>) }
-->
(modify <v> ^max <hcom> ^max-net <nn2>)
)
(p p78
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <hmin> ^max <hmax> ^com <hcom> ^layer <hlay>)
(horizontal ^net-name nil ^min <hmax> ^max > <hmax> ^com <hcom> ^layer <hlay>)
(vertical ^net-name { <nn2> <> <nn1> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer { <vlay> <> <hlay> } ^compo <vcpo> ^commo <hmax>)
- (vertical ^status nil ^min <= <hcom> ^max >= <hcom> ^com <hmax>)
{ <h> (horizontal ^net-name nil ^min <hmax> ^max > <hmax> ^com <hcom> ^layer <vlay>) }
-->
(modify <h> ^min <vcom> ^min-net <nn2>)
)
(p p79
(context ^present propagate-constraint)
(horizontal ^net-name { <nn1> <> nil } ^min <hmin> ^max <hmax> ^com <hcom> ^layer <hlay>)
(horizontal ^net-name nil ^min <garb1> ^max { <hmin> > <garb1> } ^com <hcom> ^layer <hlay>)
(vertical ^net-name { <nn2> <> <nn1> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer { <vlay> <> <hlay> } ^compo <hmin> ^commo <vcmo>)
- (vertical ^status nil ^min <= <hcom> ^max >= <hcom> ^com <hmin>)
{ <h> (horizontal ^net-name nil ^min <garb2> ^max { <hmin> > <garb2> } ^com <hcom> ^layer <vlay>) }
-->
(modify <h> ^max <vcom> ^max-net <nn2>)
)
(p p80
(context ^present propagate-constraint)
(last-col <lc>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min { <vmin> <= 1 } ^max <vmax> ^com <vcom> ^layer <vlay> ^pin-name <pn> ^commo <vcmo>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <vcom> ^max { <hmax> >= <lc> } ^com <vmax> ^layer <hlay>)
{ <h> (horizontal ^net-name nil ^min { <hmin> < <vcom> } ^max <vcom> ^com { <hcom> >= <vmin> <= <vmax> } ^layer <lay>) }
- (horizontal ^net-name <nn> ^min < <vcom> ^max >= <vcom> ^com { > <hcom> <= <vmax> })
- (horizontal ^net-name <nn> ^min < <vcom> ^max >= <vcom> ^com { < <hcom> >= <vmin> })
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <vcom> ^com { > <hcom> <= <vmax> })
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <vcom> ^com { < <hcom> >= <vmin> })
- (horizontal ^net-name <nn> ^min < <vcom> ^max >= <vcom> ^com <hcom> ^layer <> <lay>)
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <> <lay>)
- (vertical ^net-name <nn> ^min <= <vmax> ^max >= <vmax> ^com { > <vcom> <= <hmax> })
- (vertical ^net-name nil ^min <= <vmax> ^max >= <vmax> ^com { > <vcom> <= <hmax> })
- (vertical ^net-name nil ^min <= <vmax> ^max >= <vmax> ^com <vcom>)
- (vertical ^net-name <nn> ^min <vmax> ^max > <vmax> ^com <vcom>)
- (vertical ^net-name nil ^min <= <vmin> ^max >= <vmin> ^com <vcom>)
- (vertical ^net-name <nn> ^min < <vmin> ^max <vmin> ^com <vcom>)
-->
(make (substr <h> 1 inf) ^net-name <nn> ^pin-name <pn> ^min <vcmo>)
(modify <h> ^max <vcmo> ^max-net <nn>)
(make ff ^grid-x <vcmo> ^grid-y <hcom> ^grid-layer <lay> ^net-name <nn> ^pin-name <pn> ^came-from east)
)
(p p81
(context ^present propagate-constraint)
(last-row <lr>)
(last-col <lc>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmin> ^max { <vmax> >= <lr> } ^com <vcom> ^layer <vlay> ^pin-name <pn> ^commo <vcmo>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <vcom> ^max { <hmax> >= <lc> } ^com <vmin> ^layer <hlay>)
{ <h> (horizontal ^net-name nil ^min { <hmin> < <vcom> } ^max <vcom> ^com { <hcom> >= <vmin> <= <vmax> } ^layer <lay>) }
- (horizontal ^net-name <nn> ^min < <vcom> ^max >= <vcom> ^com { > <hcom> <= <vmax> })
- (horizontal ^net-name <nn> ^min < <vcom> ^max >= <vcom> ^com { < <hcom> >= <vmin> })
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <vcom> ^com { > <hcom> <= <vmax> })
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <vcom> ^com { < <hcom> >= <vmin> })
- (horizontal ^net-name <nn> ^min < <vcom> ^max >= <vcom> ^com <hcom> ^layer <> <lay>)
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <> <lay>)
- (vertical ^net-name <nn> ^min <= <vmin> ^max >= <vmin> ^com { > <vcom> <= <hmax> })
- (vertical ^net-name nil ^min <= <vmin> ^max >= <vmin> ^com { > <vcom> <= <hmax> })
- (vertical ^net-name nil ^min <= <vmin> ^max >= <vmin> ^com <vcom>)
- (vertical ^net-name <nn> ^min < <vmin> ^max <vmin> ^com <vcom>)
- (vertical ^net-name nil ^min <= <vmax> ^max >= <vmax> ^com <vcom>)
- (vertical ^net-name <nn> ^min <vmax> ^max > <vmax> ^com <vcom>)
-->
(make (substr <h> 1 inf) ^net-name <nn> ^pin-name <pn> ^min <vcmo>)
(modify <h> ^max <vcmo> ^max-net <nn>)
(make ff ^grid-x <vcmo> ^grid-y <hcom> ^grid-layer <lay> ^net-name <nn> ^pin-name <pn> ^came-from east)
)
(p p82
(context ^present propagate-constraint)
(horizontal ^net-name { <nn> <> nil } ^min <hmin> ^max <hmax> ^com <hcom> ^layer <hlay> ^pin-name <pn> ^commo <hcmo>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <hcom> ^max <vmax1> ^com <hmin> ^layer <vlay1>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <hcom> ^max <vmax2> ^com <hmax> ^layer <vlay2>)
{ <v> (vertical ^net-name nil ^min { <vmin> < <hcom> } ^max <hcom> ^com { <vcom> >= <hmin> <= <hmax> } ^layer <lay>) }
- (vertical ^net-name <nn> ^min < <hcom> ^max >= <hcom> ^com { > <vcom> <= <hmax> })
- (vertical ^net-name <nn> ^min < <hcom> ^max >= <hcom> ^com { < <vcom> >= <hmin> })
- (vertical ^net-name nil ^min <= <hcom> ^max >= <hcom> ^com { > <vcom> <= <hmax> })
- (vertical ^net-name nil ^min <= <hcom> ^max >= <hcom> ^com { < <vcom> >= <hmin> })
- (vertical ^net-name <nn> ^min < <hcom> ^max >= <hcom> ^com <vcom> ^layer <> <lay>)
- (vertical ^net-name nil ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <> <lay>)
- (horizontal ^net-name <nn> ^min <= <hmax> ^max >= <hmax> ^com { > <hcom> <= <vmax2> })
- (horizontal ^net-name <nn> ^min <= <hmin> ^max >= <hmin> ^com { > <hcom> <= <vmax1> })
- (horizontal ^net-name nil ^min <= <hmax> ^max >= <hmax> ^com { > <hcom> <= <vmax2> })
- (horizontal ^net-name nil ^min <= <hmin> ^max >= <hmin> ^com { > <hcom> <= <vmax1> })
- (horizontal ^net-name nil ^min <= <hmax> ^max >= <hmax> ^com <hcom>)
- (horizontal ^net-name <nn> ^min <hmax> ^max > <hmax> ^com <hcom>)
- (horizontal ^net-name nil ^min <= <hmin> ^max >= <hmin> ^com <hcom>)
- (horizontal ^net-name <nn> ^min < <hmin> ^max <hmin> ^com <hcom>)
-->
(make (substr <v> 1 inf) ^net-name <nn> ^pin-name <pn> ^min <hcmo>)
(modify <v> ^max <hcmo> ^max-net <nn>)
(make ff ^grid-x <vcom> ^grid-y <hcmo> ^grid-layer <lay> ^net-name <nn> ^pin-name <pn> ^came-from north)
)
(p p377
(context ^present find-no-of-pins-on-a-row-col)
(horizontal ^net-name nil ^min <min> ^max { <max> > <min> } ^com <gy> ^layer <lay> ^compo <egarb1> ^commo <egabr2>)
(ff ^net-name <nn> ^grid-x { <fx> >= <min> <= <max> } ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn1>)
(ff ^net-name <nn> ^grid-y <gy> ^pin-name { <pn2> <> <pn1> } ^grid-x { <gx> > <fx> <= <max> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <fx> ^max >= <gx> ^com <gy>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { >= <fx> <= <gx> } ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <fx> ^max >= <fx> ^com <gy> ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
(net ^net-name <nn> ^net-no-of-pins <np>)
- (total ^net-name <nn> ^row-col row ^coor <gy>)
-->
(make total ^net-name <nn> ^row-col row ^coor <gy> ^level-pins 1 ^total-pins <np> ^min-xy <fx> ^max-xy <gx> ^last-pin <pn1> ^last-xy <fx>)
)
(p p378
(context ^present find-no-of-pins-on-a-row-col)
(horizontal ^net-name nil ^min <min> ^max { <max> > <min> } ^com <gy> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(ff ^net-name <nn> ^grid-x { <fx> >= <min> <= <max> } ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn1>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <gx> > <fx> <= <max> } ^pin-name { <pn2> <> <pn1> })
- (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^pin-name <> <pn1>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <fx> ^max >= <gx> ^com <gy>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { >= <fx> <= <gx> } ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <fx> ^max >= <fx> ^com <gy> ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
(net ^net-name <nn> ^net-no-of-pins <np>)
- (total ^net-name <nn> ^row-col row ^coor <gy>)
-->
(make total ^net-name <nn> ^row-col row ^coor <gy> ^level-pins 1 ^total-pins <np> ^min-xy <fx> ^max-xy <gx> ^last-pin <pn1> ^last-xy <fx>)
)
(p p379
(context ^present find-no-of-pins-on-a-row-col)
(horizontal ^net-name nil ^min <min> ^max { <max> > <min> } ^com <gy> ^layer <lay>)
(ff ^net-name <nn> ^grid-x { <fx> >= <min> <= <max> } ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn1>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <gx> < <fx> >= <min> } ^pin-name { <pn2> <> <pn1> })
- (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^pin-name <> <pn1>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <fx> ^com <gy>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <= <fx> >= <gx> } ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <fx> ^max >= <fx> ^com <gy> ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
(net ^net-name <nn> ^net-no-of-pins <np>)
- (total ^net-name <nn> ^row-col row ^coor <gy>)
-->
(make total ^net-name <nn> ^row-col row ^coor <gy> ^level-pins 1 ^total-pins <np> ^min-xy <gx> ^max-xy <fx> ^last-pin <pn2> ^last-xy <gx>)
)
(p p380
(context ^present find-no-of-pins-on-a-row-col)
(vertical ^net-name nil ^min <min> ^max { <max> > <min> } ^com <gx> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <fy> >= <min> <= <max> } ^grid-layer <garb1> ^pin-name <pn1>)
(ff ^net-name <nn> ^grid-x <gx> ^pin-name { <pn2> <> <pn1> } ^grid-y { <gy> > <fy> <= <max> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <fy> ^max >= <gy> ^com <gx>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { >= <fy> <= <gy> } ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <fy> ^max >= <fy> ^com <gx> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
(net ^net-name <nn> ^net-no-of-pins <np>)
- (total ^net-name <nn> ^row-col col ^coor <gx>)
-->
(make total ^net-name <nn> ^row-col col ^coor <gx> ^level-pins 1 ^total-pins <np> ^min-xy <fy> ^max-xy <gy> ^last-pin <pn1> ^last-xy <fy>)
)
(p p381
(context ^present find-no-of-pins-on-a-row-col)
(vertical ^net-name nil ^min <min> ^max { <max> > <min> } ^com <gx> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <fy> >= <min> <= <max> } ^grid-layer <garb1> ^pin-name <pn1>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { <gy> > <fy> <= <max> } ^pin-name { <pn2> <> <pn1> })
- (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^pin-name <> <pn1>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <fy> ^max >= <gy> ^com <gx>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { >= <fy> <= <gy> } ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <fy> ^max >= <fy> ^com <gx> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
(net ^net-name <nn> ^net-no-of-pins <np>)
- (total ^net-name <nn> ^row-col col ^coor <gx>)
-->
(make total ^net-name <nn> ^row-col col ^coor <gx> ^level-pins 1 ^total-pins <np> ^min-xy <fy> ^max-xy <gy> ^last-pin <pn1> ^last-xy <fy>)
)
(p p382
(context ^present find-no-of-pins-on-a-row-col)
(vertical ^net-name nil ^min <min> ^max { <max> > <min> } ^com <gx> ^layer <lay> ^compo <egarb1> ^commo <egarb2>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <fy> >= <min> <= <max> } ^grid-layer <garb1> ^pin-name <pn1>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { <gy> < <fy> >= <min> } ^pin-name { <pn2> <> <pn1> })
- (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^pin-name <> <pn1>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <fy> ^com <gx>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { >= <gy> <= <fy> } ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <fy> ^max >= <fy> ^com <gx> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
(net ^net-name <nn> ^net-no-of-pins <np>)
- (total ^net-name <nn> ^row-col col ^coor <gx>)
-->
(make total ^net-name <nn> ^row-col col ^coor <gx> ^level-pins 1 ^total-pins <np> ^min-xy <gy> ^max-xy <fy> ^last-pin <pn2> ^last-xy <gy>)
)
(p p383
(context ^present find-no-of-pins-on-a-row-col)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <gy> ^grid-layer <garb2> ^pin-name <pn>)
(net ^net-name <nn> ^net-no-of-pins <np> ^no-of-top-pins <np> ^no-of-bottom-pins <garb3>)
- (ff ^net-name <nn> ^grid-y <= <gy> ^pin-name <> <pn>)
- (total ^net-name <nn>)
-->
(make total ^net-name <nn> ^row-col row ^coor <gy> ^level-pins <np> ^total-pins <np>)
)
(p p384
(context ^present find-no-of-pins-on-a-row-col)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <gy> ^grid-layer <garb2> ^pin-name <pn>)
(net ^net-name <nn> ^net-no-of-pins <np> ^no-of-top-pins <garb3> ^no-of-bottom-pins <np>)
- (ff ^net-name <nn> ^grid-y >= <gy> ^pin-name <> <pn>)
- (total ^net-name <nn>)
-->
(make total ^net-name <nn> ^row-col row ^coor <gy> ^level-pins <np> ^total-pins <np>)
)
(p p385
(context ^present find-no-of-pins-on-a-row-col)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>) }
(net ^net-name <nn> ^net-no-of-pins <np> ^no-of-top-pins <np> ^no-of-bottom-pins <garb2>)
- (total ^net-name <nn>)
(ff ^net-name <nn> ^grid-y <gy> ^pin-name <> <pn> ^grid-x { <fx> > <gx> })
- (ff ^net-name <nn> ^grid-y < <gy>)
- (horizontal ^net-name nil ^min <= <gx> ^max >= <fx> ^com <gy>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <fx> ^com <gy>)
{ <v1> (vertical ^net-name nil ^min { <min> < <gy> } ^max >= <gy> ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^min-net <mn>) }
- (horizontal ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^layer <lay> ^compo <gy>)
(congestion ^direction row ^coordinate <gy> ^como <hcmo>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcmo> ^max >= <hcmo> ^com <gx> ^layer <lay>)
-->
(make vertical ^net-name nil ^max <hcmo> ^min <min> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^min-net <mn> ^max-net <nn>)
(modify <v1> ^min <gy> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy> ^min <hcmo> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff1> ^grid-y <hcmo> ^can-chng-layer nil)
(make total ^net-name <nn> ^row-col row ^coor <hcmo> ^level-pins <np> ^total-pins <np>)
)
(p p386
(context ^present find-no-of-pins-on-a-row-col)
{ <ff1> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>) }
(net ^net-name <nn> ^net-no-of-pins <np> ^no-of-top-pins <garb2> ^no-of-bottom-pins <np>)
- (total ^net-name <nn>)
(ff ^net-name <nn> ^grid-y <gy> ^pin-name <> <pn> ^grid-x { <fx> > <gx> })
- (ff ^net-name <nn> ^grid-y > <gy>)
- (horizontal ^net-name nil ^min <= <gx> ^max >= <fx> ^com <gy>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <fx> ^com <gy>)
{ <v1> (vertical ^net-name nil ^min <= <gy> ^max { <max> > <gy> } ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^max-net <mn>) }
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^layer <lay> ^compo <gy>)
(congestion ^direction row ^coordinate <hcmo> ^como <gy>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcmo> ^max >= <hcmo> ^com <gx> ^layer <lay>)
-->
(make vertical ^net-name nil ^max <max> ^min <hcmo> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^min-net <nn> ^max-net <mn>)
(modify <v1> ^max <gy> ^max-net <nn>)
(make vertical ^net-name <nn> ^min <gy> ^max <hcmo> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify <ff1> ^grid-y <hcmo> ^can-chng-layer nil)
(make total ^net-name <nn> ^row-col row ^coor <hcmo> ^level-pins <np> ^total-pins <np>)
)
(p p387
{ <t1> (total ^net-name <nn> ^row-col row ^coor <y> ^level-pins <np> ^total-pins <np> ^min-xy nil ^max-xy nil) }
(pin ^net-name <nn> ^pin-x <px1>)
- (pin ^net-name <nn> ^pin-x < <px1>)
(pin ^net-name <nn> ^pin-x { <px2> > <px1> })
- (pin ^net-name <nn> ^pin-x > <px2>)
-->
(modify <t1> ^min-xy <px1> ^max-xy <px2>)
)
(p p388
(context ^present find-no-of-pins-on-a-row-col)
-->
(make context ^previous find-no-of-pins-on-a-row-col)
(remove 1)
)
(p p389
(context ^previous find-no-of-pins-on-a-row-col)
(total)
-->
(remove 1)
(make context ^present modify-total)
)
(p p390
(context ^present delete-totals)
-->
(modify 1 ^present choose-between-nets-on-the-same-row-col)
)
(p p391
{ <c1> (context ^present << choose-between-nets-on-the-same-row-col choose-between-nets-on-the-same-row-col-con >>) }
{ <t1> (total ^net-name <nn> ^row-col { << row col >> <rc> } ^coor <xy> ^level-pins <cou> ^total-pins <garb1>) }
- (total ^net-name <> <nn> ^level-pins >= <cou>)
- (total ^net-name <nn> ^row-col <> <rc> ^level-pins >= <cou>)
-->
(remove <c1> <t1>)
(make change-priority)
(make tran-total <rc> <xy> (substr <t1> nets inf))
)
(p p392
(context ^present choose-between-nets-on-the-same-row-col)
(total ^net-name <garb1> ^row-col { << row col >> <garb2> } ^coor <garb3> ^level-pins <cou> ^total-pins <cou>)
{ <t1> (total ^level-pins < <cou>) }
-->
(remove <t1>)
)
(p p393
(context ^present choose-between-nets-on-the-same-row-col)
(total ^net-name <garb1> ^row-col { << row col >> <garb2> } ^coor <garb3> ^level-pins <cou> ^total-pins <garb4>)
{ <t1> (total ^level-pins <cou1> ^total-pins { < <cou> <> <cou1> }) }
-->
(remove <t1>)
)
(p p394
(context ^present choose-between-nets-on-the-same-row-col)
(total ^net-name <nn> ^row-col { << row col >> <rc> } ^coor <garb1> ^level-pins <cou>)
{ <t1> (total ^net-name <nn> ^row-col <> <rc> ^level-pins <cou>) }
-->
(remove <t1>)
)
(p p395
(context ^present choose-between-nets-on-the-same-row-col)
(total ^net-name <nn> ^row-col { << row col >> <rc> } ^coor <xy> ^level-pins <cou> ^total-pins <garb1>)
{ <t1> (total ^net-name <nn> ^row-col <rc> ^coor <> <xy> ^level-pins <cou>) }
-->
(remove <t1>)
)
(p p396
{ <c1> (context ^present << choose-between-nets-on-the-same-row-col choose-between-nets-on-the-same-row-col-con >>) }
{ <t1> (total ^net-name <nn> ^row-col { << row col >> <rc> } ^coor <xy> ^level-pins <cou> ^total-pins <cou>) }
- (total ^net-name <> <nn> ^level-pins <cou> ^total-pins <cou>)
-->
(remove <c1> <t1>)
(make change-priority)
(make tran-total <rc> <xy> (substr <t1> nets inf))
)
(p p397
{ <t1> (tran-total <rc> <xy> { <nn> <> nil <> end } <min> <max>) }
-->
(write (crlf) |***** next net to be routed is| <nn> *****)
(make next-segment <nn> <rc> <xy> useless <min> <max>)
(remove <t1>)
(make tran-total <rc> <xy> (substr <t1> 7 inf))
)
(p p398
{ <t1> (tran-total <rc> <xy> nil) }
-->
(make dominant-layer)
(remove <t1>)
(make goal cleanup total-verti)
(make goal cleanup counted-verti)
(make goal cleanup total)
(make goal cleanup extend-ff-tried)
)
(p p399
(context ^present choose-between-nets-on-the-same-row-col)
(total ^net-name <nn> ^row-col { << row col >> <garb1> } ^coor <garb2> ^level-pins <cou> ^total-pins <cou>)
{ <t1> (total ^net-name <> <nn> ^level-pins <cou> ^total-pins > <cou>) }
-->
(remove <t1>)
)
(p p400
(context ^present choose-between-nets-on-the-same-row-col)
(total ^net-name <nn> ^row-col { << row col >> <garb1> } ^coor <garb2> ^level-pins <cou> ^total-pins <cou1>)
{ <t1> (total ^net-name <> <nn> ^level-pins <cou> ^total-pins > <cou1>) }
- (total ^net-name <garb3> ^row-col <garb4> ^coor <garb5> ^level-pins <cou2> ^total-pins <cou2>)
-->
(remove <t1>)
)
(p p401
(context ^present choose-between-nets-on-the-same-row-col)
(total ^net-name <garb1> ^row-col <garb2> ^coor <garb3> ^level-pins <cou1> ^total-pins <cou2>)
{ <t1> (total ^net-name <garb4> ^row-col <garb5> ^coor <garb6> ^level-pins < <cou1> ^total-pins < <cou2>) }
-->
(remove <t1>)
)
(p p402
(context ^present choose-between-nets-on-the-same-row-col)
-->
(modify 1 ^present choose-between-nets-on-the-same-row-col-con)
)
(p p403
(context ^present choose-between-nets-on-the-same-row-col-con)
{ <t1> (total ^net-name <nn> ^row-col row ^level-pins <cou> ^total-pins <cou2> ^cong nil) }
(total ^net-name <> <nn> ^level-pins <cou> ^total-pins <cou2>)
(pin ^net-name <nn> ^pin-x <px1>)
- (pin ^net-name <nn> ^pin-x < <px1>)
(pin ^net-name <nn> ^pin-x { <px2> > <px1> })
- (pin ^net-name <nn> ^pin-x > <px2>)
(congestion ^direction col ^coordinate { >= <px1> <= <px2> } ^no-of-nets <non>)
- (congestion ^direction col ^coordinate { >= <px1> <= <px2> } ^no-of-nets > <non>)
-->
(modify <t1> ^cong <non>)
)
(p p404
(context ^present choose-between-nets-on-the-same-row-col-con)
{ <t1> (total ^net-name <nn> ^row-col col ^level-pins <cou> ^total-pins <cou2> ^cong nil) }
(total <> <nn> { } { } <cou> <cou2>)
(pin ^net-name <nn> ^pin-y <py1>)
- (pin ^net-name <nn> ^pin-y < <py1>)
(pin ^net-name <nn> ^pin-y { <py2> > <py1> })
- (pin ^net-name <nn> ^pin-y > <py2>)
(congestion ^direction row ^coordinate { >= <py1> <= <py2> } ^no-of-nets <non>)
- (congestion ^direction row ^coordinate { >= <py1> <= <py2> } ^no-of-nets > <non>)
-->
(modify <t1> ^cong <non>)
)
(p p405
(context ^present choose-between-nets-on-the-same-row-col-con)
(total ^net-name <nn> ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil } ^min-xy <min1> ^max-xy <max1>)
(total ^net-name <> <nn> ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil } ^min-xy { <min2> > <max1> } ^max-xy <max2>)
{ <t> (total ^net-name <nn1> ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil } ^min-xy <= <max1> ^max-xy >= <min2>) }
-->
(remove <t>)
)
(p p406
(context ^present choose-between-nets-on-the-same-row-col-con)
(total ^net-name <nn> ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil } ^min-xy <min1> ^max-xy <max1>)
{ <t> (total ^net-name <> <nn> ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil } ^min-xy >= <min1> ^max-xy <= <max1>) }
-->
(remove <t>)
)
(p p407
(context ^present choose-between-nets-on-the-same-row-col-con)
(total ^net-name <nn> ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil })
{ <t> (total ^net-name { <nn1> <> <nn> } ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil }) }
(<< vertical-cycle horizontal-cycle >> <nn1>)
-->
(remove <t>)
)
(p p408
(context ^present choose-between-nets-on-the-same-row-col-con)
(total ^net-name <nn> ^row-col row ^coor <y> ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil })
{ <t> (total ^net-name { <nn1> <> <nn> } ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil }) }
(pin ^net-name <nn1> ^pin-y { <py> < <y> } ^pin-channel-side << left right >>)
- (pin ^net-name <nn> ^pin-y { > <py> < <y> } ^pin-channel-side << left right >>)
-->
(remove <t>)
)
(p p409
(context ^present choose-between-nets-on-the-same-row-col-con)
(total ^net-name <nn> ^row-col row ^coor <y> ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil })
{ <t> (total ^net-name { <nn1> <> <nn> } ^level-pins <cou> ^total-pins <cou2> ^cong { <non> <> nil }) }
(pin ^net-name <nn1> ^pin-y { <py> > <y> } ^pin-channel-side << left right >>)
- (pin ^net-name <nn> ^pin-y { > <y> < <py> } ^pin-channel-side << left right >>)
-->
(remove <t>)
)
(p p410
(context ^present choose-between-nets-on-the-same-row-col-con)
(total ^net-name <nn> ^level-pins <cou> ^total-pins <cou2> ^cong <non>)
- (total ^cong nil)
{ <t> (total ^net-name <> <nn> ^level-pins <cou> ^total-pins <cou2> ^cong <= <non>) }
-->
(remove <t>)
)
(p p411
(context ^present choose-between-nets-on-the-same-row-col)
(total ^net-name <nn1> ^row-col <rc1> ^coor <xy1> ^level-pins <cou> ^total-pins > <cou>)
{ <t1> (total ^net-name <nn2> ^row-col { <rc2> <> <rc1> } ^coor <xy2> ^level-pins <cou> ^total-pins > <cou>) }
{ <t2> (total ^net-name <> <nn2> ^row-col <rc2> ^coor <xy2> ^level-pins <cou> ^total-pins > <cou>) }
-->
(remove <t1> <t2>)
)
(p p412
(context ^present choose-between-nets-on-the-same-row-col)
(total ^net-name <nn1> ^row-col <rc1> ^coor <xy1> ^level-pins <cou> ^total-pins > <cou>)
{ <t1> (total ^net-name <nn2> ^row-col <rc2> ^coor { <xy2> <> <xy1> } ^level-pins <cou> ^total-pins > <cou>) }
{ <t2> (total ^net-name <> <nn2> ^row-col <rc2> ^coor <xy2> ^level-pins <cou> ^total-pins > <cou>) }
-->
(remove <t1> <t2>)
)
(p p413
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-bottom-pins { <np> > 1 } ^net-is-routed <> yes)
- (total-verti <nn> bottom)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side bottom)
-->
(make total-verti <nn> bottom 0 <np>)
)
(p p414
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-bottom-pins { <np> > 0 } ^net-is-routed <> yes)
- (total-verti <nn> bottom)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side bottom)
(constraint ^constraint-type << horizontal vertical >> ^net-name-1 <nn>)
-->
(make total-verti <nn> bottom 0 <np>)
)
(p p415
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-bottom-pins { <np> > 0 } ^net-is-routed <> yes)
- (total-verti <nn> bottom)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side bottom)
(constraint ^constraint-type << horizontal vertical >> ^net-name-2 <nn>)
-->
(make total-verti <nn> bottom 0 <np>)
)
(p p416
(context ^present find-no-of-vcg-hcg)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <garb1>)
(pin ^net-name <nn> ^pin-x <gx> ^pin-channel-side top ^pin-name <pn1>)
(net ^net-name { <nn1> <> <nn> } ^no-of-bottom-pins { <np> > 0 } ^net-is-routed <> yes)
(pin ^net-name <nn1> ^pin-x <gx> ^pin-channel-side bottom ^pin-name <pn2>)
- (total-verti <nn1> bottom)
- (constraint ^constraint-type vertical ^net-name-1 <nn> ^net-name-2 <nn1> ^pin-name-1 <pn1> ^pin-name-2 <pn2>)
-->
(make counted-verti <nn1> bottom <nn> <pn1> <pn2>)
(make total-verti <nn1> bottom 1 <np>)
)
(p p417
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-left-pins { <np> > 1 } ^net-is-routed <> yes)
- (total-verti <nn> left)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side left)
-->
(make total-verti <nn> left 0 <np>)
)
(p p418
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-left-pins { <np> > 0 } ^net-is-routed <> yes)
- (total-verti <nn> left)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side left)
(constraint ^constraint-type << horizontal vertical >> ^net-name-1 <nn>)
-->
(make total-verti <nn> left 0 <np>)
)
(p p419
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-left-pins { <np> > 0 } ^net-is-routed <> yes)
- (total-verti <nn> left)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side left)
(constraint ^constraint-type << horizontal vertical >> ^net-name-2 <nn>)
-->
(make total-verti <nn> left 0 <np>)
)
(p p420
(context ^present find-no-of-vcg-hcg)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <gy> ^grid-layer <garb3> ^pin-name <garb2>)
(pin ^net-name <nn> ^pin-y <gy> ^pin-channel-side right ^pin-name <pn1>)
(net ^net-name { <nn1> <> <nn> } ^no-of-left-pins { <np> > 0 } ^net-is-routed <> yes)
(pin ^net-name <nn1> ^pin-y <gy> ^pin-channel-side left ^pin-name <pn2>)
- (total-verti <nn1> left)
- (constraint ^constraint-type horizontal ^net-name-1 <nn> ^net-name-2 <nn1> ^pin-name-1 <pn1> ^pin-name-2 <pn2>)
-->
(make counted-verti <nn1> left <nn> <pn1> <pn2>)
(make total-verti <nn1> left 1 <np>)
)
(p p421
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-top-pins { <np> > 1 } ^net-is-routed <> yes)
- (total-verti <nn> top)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side top)
-->
(make total-verti <nn> top 0 <np>)
)
(p p422
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-top-pins { <np> > 0 } ^net-is-routed <> yes)
- (total-verti <nn> top)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side top)
(constraint ^constraint-type << horizontal vertical >> ^net-name-1 <nn>)
-->
(make total-verti <nn> top 0 <np>)
)
(p p423
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-top-pins { <np> > 0 } ^net-is-routed <> yes)
- (total-verti <nn> top)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side top)
(constraint ^constraint-type << horizontal vertical >> ^net-name-2 <nn>)
-->
(make total-verti <nn> top 0 <np>)
)
(p p424
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-right-pins { <np> > 1 } ^net-is-routed <> yes)
- (total-verti <nn> right)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side right)
-->
(make total-verti <nn> right 0 <np>)
)
(p p425
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-right-pins { <np> > 0 } ^net-is-routed <> yes)
- (total-verti <nn> right)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side right)
(constraint ^constraint-type << horizontal vertical >> ^net-name-1 <nn>)
-->
(make total-verti <nn> right 0 <np>)
)
(p p426
(context ^present find-no-of-vcg-hcg)
(net ^net-name <nn> ^no-of-right-pins { <np> > 0 } ^net-is-routed <> yes)
- (total-verti <nn> right)
(ff ^net-name <nn> ^grid-x <garb1> ^grid-y <garb2> ^grid-layer <garb3> ^pin-name <pn>)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side right)
(constraint ^constraint-type << horizontal vertical >> ^net-name-2 <nn>)
-->
(make total-verti <nn> right 0 <np>)
)
(p p427
(context ^present find-no-of-vcg-hcg)
(total-verti <nn> bottom <ntc>)
(constraint ^constraint-type vertical ^net-name-1 <tn> ^net-name-2 <nn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
- (counted-verti <nn> bottom <tn> <tpn> <bpn>)
-->
(make counted-verti <nn> bottom <tn> <tpn> <bpn>)
(modify 2 ^4 (compute <ntc> + 1))
)
(p p428
(context ^present find-no-of-vcg-hcg)
(total-verti <nn> left <ntc>)
(constraint ^constraint-type horizontal ^net-name-1 <tn> ^net-name-2 <nn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
- (counted-verti <nn> left <tn> <tpn> <bpn>)
-->
(make counted-verti <nn> left <tn> <tpn> <bpn>)
(modify 2 ^4 (compute <ntc> + 1))
)
(p p429
(context ^present find-no-of-vcg-hcg)
(total-verti <nn> top <ntc>)
(constraint ^constraint-type vertical ^net-name-1 <nn> ^net-name-2 <bn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
- (counted-verti <nn> top <bn> <tpn> <bpn>)
-->
(make counted-verti <nn> top <bn> <tpn> <bpn>)
(modify 2 ^4 (compute <ntc> + 1))
)
(p p430
(context ^present find-no-of-vcg-hcg)
(total-verti <nn> right <ntc>)
(constraint ^constraint-type horizontal ^net-name-1 <nn> ^net-name-2 <bn> ^pin-name-1 <tpn> ^pin-name-2 <bpn>)
- (counted-verti <nn> right <bn> <tpn> <bpn>)
-->
(make counted-verti <nn> right <bn> <tpn> <bpn>)
(modify 2 ^4 (compute <ntc> + 1))
)
(p p431
(context ^present find-no-of-vcg-hcg)
-->
(remove 1)
(make context ^previous find-no-of-vcg-hcg)
)
(p p432
(context ^previous find-no-of-vcg-hcg)
(total-verti)
-->
(remove 1)
(make context ^present choose-between-total-verti)
(make context ^present choose-between-total-verti-0)
)
(p p433
(context ^present choose-between-total-verti)
- (total-verti ^4 0)
{ <t> (total-verti <nn> bottom <garb> > 1) }
- (ff ^net-name <nn> ^came-from south)
-->
(remove <t>)
)
(p p434
(context ^present choose-between-total-verti)
- (total-verti ^4 0)
{ <t> (total-verti <nn> top <garb> > 1) }
- (ff ^net-name <nn> ^came-from north)
-->
(remove <t>)
)
(p p435
(context ^present choose-between-total-verti)
- (total-verti ^4 0)
{ <t> (total-verti <nn> left <garb> > 1) }
- (ff ^net-name <nn> ^came-from west)
-->
(remove <t>)
)
(p p436
(context ^present choose-between-total-verti)
- (total-verti ^4 0)
{ <t> (total-verti <nn> right <garb> > 1) }
- (ff ^net-name <nn> ^came-from east)
-->
(remove <t>)
)
(p p437
(context ^present choose-between-total-verti)
-->
(modify 1 ^present extend-total-verti)
)
(p p438
(context ^present choose-between-total-verti)
(total-verti ^4 > 0)
(total-verti ^4 0)
-->
(remove 3)
)
(p p439
(context ^present choose-between-total-verti)
(total-verti <nn> { << top bottom >> <tb> } > 0)
(total-verti <nn> { << top bottom >> <> <tb> } 0)
-->
(remove 3)
)
(p p440
(context ^present choose-between-total-verti)
(total-verti <nn> { << left right >> <tb> } > 0)
(total-verti <nn> { << left right >> <> <tb> } 0)
-->
(remove 3)
)
(p p441
(context ^present choose-between-total-verti-0)
(total-verti <nn> { << top bottom >> <tb> } > 0)
(total-verti <nn> { << top bottom >> <> <tb> } > 0)
-->
(remove 2 3)
)
(p p442
(context ^present choose-between-total-verti-0)
(total-verti <nn> { << left right >> <tb> } > 0)
(total-verti <nn> { << left right >> <> <tb> } > 0)
-->
(remove 2 3)
)
(p p443
(context ^present choose-between-total-verti-0)
-->
(remove 1)
)
(p p444
(context ^present extend-total-verti)
(total-verti <nn> bottom ^5 > 1)
- (total-verti ^5 1)
(ff ^came-from south ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn>)
- (ff ^net-name <nn> ^grid-y < <gy>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max > <gy> ^com <gx>)
(vertical ^net-name nil ^min { <min> <= <gy> } ^max { > <min> > <gy> } ^com <gx> ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
(congestion ^direction row ^coordinate <como> ^como <gy>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <como> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <como> ^max >= <como> ^com <gx> ^layer <lay>)
-->
(make vertical ^net-name nil ^min <min> ^max <gy> ^min-net <mn> ^max-net <nn> ^commo <vcmo> ^compo <vcpo> ^com <gx> ^layer <lay>)
(modify 4 ^min <como> ^min-net <nn>)
(make vertical ^net-name <nn> ^min <gy> ^max <como> ^layer <lay> ^commo <vcmo> ^compo <vcpo> ^pin-name <pn> ^com <gx>)
(modify 3 ^grid-y <como> ^can-chng-layer nil)
(remove 2)
)
(p p445
(context ^present extend-total-verti)
(total-verti <nn> left ^5 > 1)
- (total-verti ^5 1)
(ff ^came-from west ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn>)
- (ff ^net-name <nn> ^grid-x < <gx>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max > <gx> ^com <gy>)
(horizontal ^net-name nil ^min { <min> <= <gx> } ^max { > <min> > <gx> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
(congestion ^direction col ^coordinate <como> ^como <gx>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <como> ^max >= <como> ^com <gy> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <como> ^layer <lay>)
-->
(make horizontal ^net-name nil ^min <min> ^max <gx> ^min-net <mn> ^max-net <nn> ^commo <hcmo> ^compo <hcpo> ^com <gy> ^layer <lay>)
(modify 4 ^min <como> ^min-net <nn>)
(make horizontal ^net-name <nn> ^min <gx> ^max <como> ^layer <lay> ^commo <hcmo> ^compo <hcpo> ^pin-name <pn> ^com <gy>)
(modify 3 ^grid-x <como> ^can-chng-layer nil)
(remove 2)
)
(p p446
(context ^present extend-total-verti)
(total-verti <nn> top ^5 > 1)
- (total-verti ^5 1)
(ff ^came-from north ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn>)
- (ff ^net-name <nn> ^grid-y > <gy>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min < <gy> ^max >= <gy> ^com <gx>)
(vertical ^net-name nil ^max { <max> >= <gy> } ^min { < <max> < <gy> } ^com <gx> ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^max-net <mn>)
(congestion ^direction row ^coordinate <gy> ^como <como>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <como> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <como> ^max >= <como> ^com <gx> ^layer <lay>)
-->
(make vertical ^net-name nil ^min <gy> ^max <max> ^max-net <mn> ^min-net <nn> ^commo <vcmo> ^compo <vcpo> ^com <gx> ^layer <lay>)
(modify 4 ^max <como> ^max-net <nn>)
(make vertical ^net-name <nn> ^max <gy> ^min <como> ^layer <lay> ^commo <vcmo> ^compo <vcpo> ^pin-name <pn> ^com <gx>)
(modify 3 ^grid-y <como> ^can-chng-layer nil)
(remove 2)
)
(p p447
(context ^present extend-total-verti)
(total-verti <nn> right ^5 > 1)
- (total-verti ^5 1)
(ff ^came-from east ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn>)
- (ff ^net-name <nn> ^grid-x > <gx>)
- (horizontal ^net-name { <nn> <> nil } ^min < <gx> ^max >= <gx> ^status nil ^com <gy>)
(horizontal ^net-name nil ^max { <max> >= <gx> } ^min { < <max> < <gx> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^max-net <mn>)
(congestion ^direction col ^coordinate <gx> ^como <como>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <como> ^max >= <como> ^com <gy> ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <como> ^layer <lay>)
-->
(make horizontal ^net-name nil ^min <gx> ^max <max> ^max-net <mn> ^min-net <nn> ^commo <hcmo> ^compo <hcpo> ^com <gy> ^layer <lay>)
(modify 4 ^max <como> ^max-net <nn>)
(make horizontal ^net-name <nn> ^max <gx> ^min <como> ^layer <lay> ^commo <hcmo> ^compo <hcpo> ^pin-name <pn> ^com <gy>)
(modify 3 ^grid-x <como> ^can-chng-layer nil)
(remove 2)
)
(p p448
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> bottom ^5 1) }
(ff ^came-from south ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (vertical ^status nil ^net-name { <nn> <> nil } ^min { <vmin> > <gy> } ^com { <vcom> < <gx> } ^layer <lay> ^pin-name <pn>) }
- (vertical-s ^net-name <> <nn> ^com <vcom>)
- (ff ^net-name <nn> ^grid-x <vcom> ^grid-y <vmin>)
{ <c6> (vertical ^net-name nil ^min <vvmin> ^max { <vmin> > <vvmin> } ^com <vcom> ^layer <lay> ^compo <garb1> ^commo <garb2>) }
(horizontal ^net-name nil ^min { <hmin> <= <vcom> } ^max { > <hmin> >= <gx> } ^com { <hcom> >= <vvmin> < <vmin> })
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <gx> ^com { >= <vvmin> < <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <vcom> < <gx> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { < <vmin> > <hcom> })
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
-->
(modify <c6> ^max <hcom> ^max-net <nn>)
(modify <c4> ^min <hcom>)
(make pull-ff north <nn> <gx> <gy> <gx> <hcom>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-layer <lay> ^grid-x <vcom> ^grid-y <hcom> ^came-from north)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p449
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> bottom ^5 1) }
(ff ^came-from south ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (vertical ^status nil ^net-name { <nn> <> nil } ^min { <vmin> > <gy> } ^com { <vcom> < <gx> } ^layer <lay> ^pin-name <pn>) }
- (vertical-s ^net-name <> <nn> ^com <vcom>)
{ <c5> (ff ^net-name <nn> ^grid-x <vcom> ^grid-y <vmin> ^grid-layer <garb1> ^pin-name <garb2>) }
{ <c7> (vertical ^net-name nil ^min <vvmin> ^max { <vmin> > <vvmin> } ^com <vcom> ^layer <lay> ^compo <garb3> ^commo <garb4>) }
(horizontal ^net-name nil ^min { <hmin> <= <vcom> } ^max { > <hmin> >= <gx> } ^com { <hcom> >= <vvmin> < <vmin> })
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <gx> ^com { >= <vvmin> < <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <vcom> < <gx> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { < <vmin> > <hcom> })
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
-->
(modify <c7> ^max <hcom> ^max-net <nn>)
(modify <c4> ^min <hcom>)
(make pull-ff north <nn> <gx> <gy> <gx> <hcom>)
(modify <c5> ^grid-y <hcom> ^grid-layer <lay>)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p450
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> bottom ^5 1) }
(ff ^came-from south ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (vertical ^status nil ^net-name { <nn> <> nil } ^min { <vmin> > <gy> } ^com { <vcom> < <gx> } ^layer <lay> ^pin-name <pn>) }
- (vertical-s ^net-name <> <nn> ^com <vcom>)
{ <c6> (vertical ^net-name nil ^min <vvmin> ^max { <vmin> > <vvmin> } ^com <vcom> ^layer <lay> ^compo <garb1> ^commo <garb2>) }
(horizontal ^net-name nil ^min { <hmin> <= <vcom> } ^max { > <hmin> >= <gx> } ^com { <hcom> >= <vvmin> < <vmin> })
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <gx> ^com { >= <vvmin> < <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <vcom> < <gx> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { < <vmin> > <hcom> })
{ <c41> (vertical ^status nil ^net-name { <nn> <> nil } ^min { <vmin1> > <gy> } ^com { <vcom1> > <gx> } ^layer <lay> ^pin-name <pn1>) }
- (vertical-s ^net-name <> <nn> ^com <vcom1>)
{ <c61> (vertical ^net-name nil ^min <vvmin1> ^max { <vmin1> > <vvmin1> } ^com <vcom1> ^layer <lay>) }
(horizontal ^net-name nil ^min { <hmin1> <= <gx> } ^max { > <hmin1> >= <vcom1> } ^com { <hcom1> >= <vvmin1> < <vmin1> <= <hcom> })
- (horizontal ^net-name nil ^min <= <gx> ^max >= <vcom1> ^com { >= <vvmin1> < <hcom1> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <gx> < <vcom1> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { < <vmin1> > <hcom1> })
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom1> ^max >= <vcom1> ^com <hcom1> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom1> ^max >= <hcom1> ^com <vcom> ^layer <lay>)
-->
(modify <c61> ^max <hcom1> ^max-net <nn>)
(modify <c41> ^min <hcom1>)
(make pull-ff north <nn> <gx> <gy> <gx> <hcom1>)
(make ff ^net-name <nn> ^pin-name <pn1> ^grid-layer <lay> ^grid-x <vcom1> ^grid-y <hcom1> ^came-from north)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p451
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> bottom ^5 1) }
(ff ^came-from south ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (vertical ^status nil ^net-name { <nn> <> nil } ^min { <vmin> > <gy> } ^com { <vcom> > <gx> } ^layer <lay> ^pin-name <pn>) }
- (vertical-s ^net-name <> <nn> ^com <vcom>)
- (ff ^net-name <nn> ^grid-x <vcom> ^grid-y <vmin>)
{ <c6> (vertical ^net-name nil ^min <vvmin> ^max { <vmin> > <vvmin> } ^com <vcom> ^layer <lay>) }
(horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { > <hmin> >= <vcom> } ^com { <hcom> >= <vvmin> < <vmin> })
- (horizontal ^net-name nil ^min <= <gx> ^max >= <vcom> ^com { >= <vvmin> < <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <gx> < <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { < <vmin> > <hcom> })
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
-->
(modify <c6> ^max <hcom> ^max-net <nn>)
(modify <c4> ^min <hcom>)
(make pull-ff north <nn> <gx> <gy> <gx> <hcom>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-layer <lay> ^grid-x <vcom> ^grid-y <hcom> ^came-from north)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p452
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> bottom ^5 1) }
(ff ^came-from south ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (vertical ^status nil ^net-name { <nn> <> nil } ^min { <vmin> > <gy> } ^com { <vcom> > <gx> } ^layer <lay> ^pin-name <pn>) }
- (vertical-s ^net-name <> <nn> ^com <vcom>)
{ <c5> (ff ^net-name <nn> ^grid-x <vcom> ^grid-y <vmin> ^grid-layer <garb1> ^pin-name <garb2>) }
{ <c7> (vertical ^net-name nil ^min <vvmin> ^max { <vmin> > <vvmin> } ^com <vcom> ^layer <lay>) }
(horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { > <hmin> >= <vcom> } ^com { <hcom> >= <vvmin> < <vmin> })
- (horizontal ^net-name nil ^min <= <gx> ^max >= <vcom> ^com { >= <vvmin> < <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <gx> < <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { < <vmin> > <hcom> })
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
-->
(modify <c7> ^max <hcom> ^max-net <nn>)
(modify <c4> ^min <hcom>)
(make pull-ff north <nn> <gx> <gy> <gx> <hcom>)
(modify <c5> ^grid-y <hcom> ^grid-layer <lay>)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p453
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> top ^5 1) }
(ff ^came-from north ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (vertical ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <vmax> < <gy> } ^com { <vcom> > <gx> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (vertical-s ^net-name <> <nn> ^com <vcom>)
- (ff ^net-name <nn> ^grid-x <vcom> ^grid-y <vmax>)
{ <c6> (vertical ^net-name nil ^min <vmax> ^max { <vvmax> > <vmax> } ^com <vcom> ^layer <lay> ^compo <garb4> ^commo <garb5>) }
(horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { > <hmin> >= <vcom> } ^com { <hcom> <= <vvmax> > <vmax> })
- (horizontal ^net-name nil ^min <= <gx> ^max >= <vcom> ^com { <= <vvmax> > <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <gx> < <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <vmax> < <hcom> })
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
-->
(modify <c6> ^min <hcom> ^min-net <nn>)
(modify <c4> ^max <hcom>)
(make pull-ff south <nn> <gx> <gy> <gx> <hcom>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-layer <lay> ^grid-x <vcom> ^grid-y <hcom> ^came-from south)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p454
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> top ^5 1) }
(ff ^came-from north ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (vertical ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <vmax> < <gy> } ^com { <vcom> > <gx> } ^layer <lay> ^pin-name <pn>) }
- (vertical-s ^net-name <> <nn> ^com <vcom>)
{ <c5> (ff ^net-name <nn> ^grid-x <vcom> ^grid-y <vmax> ^grid-layer <garb2> ^pin-name <garb3>) }
{ <c7> (vertical ^net-name nil ^min <vmax> ^max { <vvmax> > <vmax> } ^com <vcom> ^layer <lay> ^compo <garb4> ^commo <garb5>) }
(horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { > <hmin> >= <vcom> } ^com { <hcom> <= <vvmax> > <vmax> })
- (horizontal ^net-name nil ^min <= <gx> ^max >= <vcom> ^com { <= <vvmax> > <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <gx> < <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <vmax> < <hcom> })
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
-->
(modify <c7> ^min <hcom> ^min-net <nn>)
(modify <c4> ^max <hcom>)
(make pull-ff south <nn> <gx> <gy> <gx> <hcom>)
(modify <c5> ^grid-y <hcom> ^grid-layer <lay>)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p455
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> top ^5 1) }
(ff ^came-from north ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (vertical ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <vmax> < <gy> } ^com { <vcom> < <gx> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (vertical-s ^net-name <> <nn> ^com <vcom>)
- (ff ^net-name <nn> ^grid-x <vcom> ^grid-y <vmax>)
{ <c6> (vertical ^net-name nil ^min <vmax> ^max { <vvmax> > <vmax> } ^com <vcom> ^layer <lay> ^compo <garb4> ^commo <garb5>) }
(horizontal ^net-name nil ^min { <hmin> <= <vcom> } ^max { > <hmin> >= <gx> } ^com { <hcom> <= <vvmax> > <vmax> })
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <gx> ^com { <= <vvmax> > <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <vcom> < <gx> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <vmax> < <hcom> })
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
-->
(modify <c6> ^min <hcom> ^min-net <nn>)
(modify <c4> ^max <hcom>)
(make pull-ff south <nn> <gx> <gy> <gx> <hcom>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-layer <lay> ^grid-x <vcom> ^grid-y <hcom> ^came-from south)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p456
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> top ^5 1) }
(ff ^came-from north ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (vertical ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <vmax> < <gy> } ^com { <vcom> < <gx> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (vertical-s ^net-name <> <nn> ^com <vcom>)
{ <c5> (ff ^net-name <nn> ^grid-x <vcom> ^grid-y <vmax> ^grid-layer <garb4> ^pin-name <garb5>) }
{ <c7> (vertical ^net-name nil ^min <vmax> ^max { <vvmax> > <vmax> } ^com <vcom> ^layer <lay> ^compo <garb6> ^commo <garb7>) }
(horizontal ^net-name nil ^min { <hmin> <= <vcom> } ^max { > <hmin> >= <gx> } ^com { <hcom> <= <vvmax> > <vmax> })
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <gx> ^com { <= <vvmax> > <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <vcom> < <gx> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <vmax> < <hcom> })
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
-->
(modify <c7> ^min <hcom> ^min-net <nn>)
(modify <c4> ^max <hcom>)
(make pull-ff south <nn> <gx> <gy> <gx> <hcom>)
(modify <c5> ^grid-y <hcom> ^grid-layer <lay>)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p457
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> left ^5 1) }
(ff ^came-from west ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (horizontal ^status nil ^net-name { <nn> <> nil } ^min { <hmin> > <gx> } ^max <garb1> ^com { <hcom> < <gy> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (horizontal-s ^net-name <> <nn> ^com <hcom>)
- (ff ^net-name <nn> ^grid-x <hmin> ^grid-y <hcom>)
{ <c6> (horizontal ^net-name nil ^min <hhmin> ^max { <hmin> > <hhmin> } ^com <hcom> ^layer <lay> ^compo <garb4> ^commo <garb5>) }
(vertical ^net-name nil ^min { <vmin> <= <hcom> } ^max { > <vmin> >= <gy> } ^com { <vcom> >= <hhmin> < <hmin> })
- (vertical ^net-name nil ^min <= <hcom> ^max >= <gy> ^com { >= <hhmin> < <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <hcom> < <gy> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { < <hmin> > <vcom> })
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
-->
(modify <c6> ^max <vcom> ^max-net <nn>)
(modify <c4> ^min <vcom>)
(make pull-ff east <nn> <gx> <gy> <gy> <vcom>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-layer <lay> ^grid-x <vcom> ^grid-y <hcom> ^came-from east)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p458
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> left ^5 1) }
(ff ^came-from west ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (horizontal ^net-name { <nn> <> nil } ^min { <hmin> > <gx> } ^max <garb1> ^com { <hcom> < <gy> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (horizontal-s ^net-name <> <nn> ^com <hcom>)
{ <c5> (ff ^net-name <nn> ^grid-x <hmin> ^grid-y <hcom> ^grid-layer <garb4> ^pin-name <garb5>) }
{ <c7> (horizontal ^net-name nil ^min <hhmin> ^max { <hmin> > <hhmin> } ^com <hcom> ^layer <lay> ^compo <garb6> ^commo <garb7>) }
(vertical ^net-name nil ^min { <vmin> <= <hcom> } ^max { > <vmin> >= <gy> } ^com { <vcom> >= <hhmin> < <hmin> })
- (vertical ^net-name nil ^min <= <hcom> ^max >= <gy> ^com { >= <hhmin> < <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <hcom> < <gy> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { < <hmin> > <vcom> })
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
-->
(modify <c7> ^max <vcom> ^max-net <nn>)
(modify <c4> ^min <vcom>)
(make pull-ff east <nn> <gx> <gy> <gy> <vcom>)
(modify <c5> ^grid-x <vcom> ^grid-layer <lay>)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p459
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> left ^5 1) }
(ff ^came-from west ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (horizontal ^net-name { <nn> <> nil } ^min { <hmin> > <gx> } ^max <garb1> ^com { <hcom> > <gy> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (horizontal-s ^net-name <> <nn> ^com <hcom>)
- (ff ^net-name <nn> ^grid-x <hmin> ^grid-y <hcom>)
{ <c6> (horizontal ^net-name nil ^max <hmin> ^min { <hhmin> < <hmin> } ^com <hcom> ^layer <lay> ^compo <garb4> ^commo <garb5>) }
(vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { > <vmin> >= <hcom> } ^com { <vcom> >= <hhmin> < <hmin> })
- (vertical ^net-name nil ^min <= <gy> ^max >= <hcom> ^com { >= <hhmin> < <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <gy> < <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { < <hmin> > <vcom> })
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
-->
(modify <c6> ^max <vcom> ^max-net <nn>)
(modify <c4> ^min <vcom>)
(make pull-ff east <nn> <gx> <gy> <gy> <vcom>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-layer <lay> ^grid-x <vcom> ^grid-y <hcom> ^came-from east)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p460
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> left ^5 1) }
(ff ^came-from west ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (horizontal ^status nil ^net-name { <nn> <> nil } ^min { <hmin> > <gx> } ^max <garb1> ^com { <hcom> > <gy> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (horizontal-s ^net-name <> <nn> ^com <hcom>)
{ <c5> (ff ^net-name <nn> ^grid-x <hmin> ^grid-y <hcom> ^grid-layer <garb4> ^pin-name <garb5>) }
{ <c7> (horizontal ^net-name nil ^min <hhmin> ^max { <hmin> > <hhmin> } ^com <hcom> ^layer <lay> ^compo <garb6> ^commo <garb7>) }
(vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { > <vmin> >= <hcom> } ^com { <vcom> >= <hhmin> < <hmin> })
- (vertical ^net-name nil ^min <= <gy> ^max >= <hcom> ^com { >= <hhmin> < <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <gy> < <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { < <hmin> > <vcom> })
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
-->
(modify <c7> ^max <vcom> ^max-net <nn>)
(modify <c4> ^min <vcom>)
(make pull-ff east <nn> <gx> <gy> <gy> <vcom>)
(modify <c5> ^grid-x <vcom> ^grid-layer <lay>)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p461
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> right ^5 1) }
(ff ^came-from east ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <hmax> < <gx> } ^com { <hcom> > <gy> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (horizontal-s ^net-name <> <nn> ^com <hcom>)
- (ff ^net-name <nn> ^grid-x <hmax> ^grid-y <hcom>)
{ <c6> (horizontal ^net-name nil ^min <hmax> ^max { <hhmax> > <hmax> } ^com <hcom> ^layer <lay> ^compo <garb4> ^commo <garb5>) }
(vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { > <vmin> >= <hcom> } ^com { <vcom> <= <hhmax> > <hmax> })
- (vertical ^net-name nil ^min <= <gy> ^max >= <hcom> ^com { <= <hhmax> > <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <gy> < <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <hmax> < <vcom> })
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
-->
(modify <c6> ^min <vcom> ^min-net <nn>)
(modify <c4> ^max <vcom>)
(make pull-ff west <nn> <gx> <gy> <gy> <vcom>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-layer <lay> ^grid-x <vcom> ^grid-y <hcom> ^came-from west)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p462
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> right ^5 1) }
(ff ^came-from east ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <hmax> < <gx> } ^com { <hcom> > <gy> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (horizontal-s ^net-name <> <nn> ^com <hcom>)
{ <c5> (ff ^net-name <nn> ^grid-x <hmax> ^grid-y <hcom> ^grid-layer <garb4> ^pin-name <garb5>) }
{ <c7> (horizontal ^net-name nil ^min <hmax> ^max { <hhmax> > <hmax> } ^com <hcom> ^layer <lay> ^compo <gabr6> ^commo <garb7>) }
(vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { > <vmin> >= <hcom> } ^com { <vcom> <= <hhmax> > <hmax> })
- (vertical ^net-name nil ^min <= <gy> ^max >= <hcom> ^com { <= <hhmax> > <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <gy> < <hcom> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <hmax> < <vcom> })
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
-->
(modify <c7> ^min <vcom> ^min-net <nn>)
(modify <c4> ^max <vcom>)
(make pull-ff west <nn> <gx> <gy> <gy> <vcom>)
(modify <c5> ^grid-x <vcom> ^grid-layer <lay>)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p463
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> right ^5 1) }
(ff ^came-from east ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <hmax> < <gx> } ^com { <hcom> < <gy> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (horizontal-s ^net-name <> <nn> ^com <hcom>)
- (ff ^net-name <nn> ^grid-x <hmax> ^grid-y <hcom>)
{ <c6> (horizontal ^net-name nil ^min <hmax> ^max { <hhmax> > <hmax> } ^com <hcom> ^layer <lay> ^compo <garb4> ^commo <gabr5>) }
(vertical ^net-name nil ^min { <vmin> <= <hcom> } ^max { > <vmin> >= <gy> } ^com { <vcom> <= <hhmax> > <hmax> })
- (vertical ^net-name nil ^min <= <hcom> ^max >= <gy> ^com { <= <hhmax> > <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <hcom> < <gy> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <hmax> < <vcom> })
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
-->
(modify <c6> ^min <vcom> ^min-net <nn>)
(modify <c4> ^max <vcom>)
(make pull-ff west <nn> <gx> <gy> <gy> <vcom>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-layer <lay> ^grid-x <vcom> ^grid-y <hcom> ^came-from west)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p464
(context ^present extend-total-verti)
{ <c2> (total-verti <nn> right ^5 1) }
(ff ^came-from east ^net-name <nn> ^grid-x <gx> ^grid-y <gy>)
{ <c4> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <hmax> < <gx> } ^com { <hcom> < <gy> } ^layer <lay> ^compo <garb2> ^commo <garb3> ^pin-name <pn>) }
- (horizontal-s ^net-name <> <nn> ^com <hcom>)
{ <c5> (ff ^net-name <nn> ^grid-x <hmax> ^grid-y <hcom> ^grid-layer <garb4> ^pin-name <garb5>) }
{ <c7> (horizontal ^net-name nil ^min <hmax> ^max { <hhmax> > <hmax> } ^com <hcom> ^layer <lay> ^compo <garb6> ^commo <garb7>) }
(vertical ^net-name nil ^min { <vmin> <= <hcom> } ^max { > <vmin> >= <gy> } ^com { <vcom> <= <hhmax> > <hmax> })
- (vertical ^net-name nil ^min <= <hcom> ^max >= <gy> ^com { <= <hhmax> > <vcom> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <hcom> < <gy> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { > <hmax> < <vcom> })
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <vcom> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom> ^max >= <vcom> ^com <hcom> ^layer <lay>)
-->
(modify <c7> ^min <vcom> ^min-net <nn>)
(modify <c4> ^max <vcom>)
(make pull-ff west <nn> <gx> <gy> <gy> <vcom>)
(modify <c5> ^grid-x <vcom> ^grid-layer <lay>)
(modify 1 ^present find-no-of-pins-on-a-row-col)
)
(p p465
{ <c1> (context ^present remove-total-verti-gt1) }
-->
(modify <c1> ^present find-no-of-pins-on-a-row-col)
)
(p p466
{ <c1> (context ^present extend-total-verti) }
-->
(modify <c1> ^present remove-total-verti-gt1)
)
(p p467
(context ^present remove-total-verti-gt1)
(total-verti ^5 > 1)
{ <t> (total-verti ^5 1) }
-->
(remove <t>)
)
(p p468
{ <c1> (context ^present remove-total-verti-gt1) }
(total-verti ^5 > 1)
- (total-verti ^5 1)
-->
(make remove-all-total-vertis)
(modify <c1> ^present extend-total-verti)
)
(p p469
{ <c1> (context ^present remove-total-verti-gt1) }
{ <c> (remove-all-total-vertis) }
- (total-verti)
-->
(remove <c>)
(modify <c1> ^present propagate-constraint)
)
(p p470
{ <c1> (context ^present remove-total-verti-gt1) }
{ <c> (remove-all-total-vertis) }
-->
(remove <c>)
(modify <c1> ^present find-no-of-pins-on-a-row-col)
)
(p p471
{ <c1> (context ^present << extend-total-verti remove-total-verti-gt1 >>) }
- (total-verti)
-->
(modify <c1> ^present propagate-constraint)
)
(p p515
{ <c> (context ^previous find-no-of-pins-on-a-row-col) }
- (total)
{ <p> (pull-ff north <nn> <gx> <gy1> <gx> <gy2>) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy1> ^grid-layer <lay> ^came-from south ^pin-name <pn>) }
{ <v> (vertical ^net-name nil ^min <gy1> ^max >= <gy2> ^com <gx> ^layer <lay>) }
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
-->
(remove <p> <c>)
(make (substr <v> 1 inf) ^net-name <nn> ^pin-name <pn> ^max <gy2>)
(modify <v> ^min <gy2> ^min-net <nn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
(make context ^present find-no-of-pins-on-a-row-col)
)
(p p516
{ <c> (context ^previous find-no-of-pins-on-a-row-col) }
- (total)
{ <p> (pull-ff south <nn> <gx> <gy1> <gx> <gy2>) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy1> ^grid-layer <lay> ^came-from north ^pin-name <pn>) }
{ <v> (vertical ^net-name nil ^min <= <gy2> ^max <gy1> ^com <gx> ^layer <lay>) }
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
-->
(remove <p> <c>)
(make (substr <v> 1 inf) ^net-name <nn> ^pin-name <pn> ^min <gy2>)
(modify <v> ^max <gy2> ^max-net <nn>)
(modify <ff> ^grid-y <gy2> ^can-chng-layer nil)
(make context ^present find-no-of-pins-on-a-row-col)
)
(p p517
{ <c> (context ^previous find-no-of-pins-on-a-row-col) }
- (total)
{ <p> (pull-ff east <nn> <gx1> <gy> <gx2> <gy>) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy1> ^grid-layer <lay> ^came-from west ^pin-name <pn>) }
{ <v> (horizontal ^net-name nil ^min <gx1> ^max >= <gx2> ^com <gy> ^layer <lay>) }
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
-->
(remove <p> <c>)
(make (substr <v> 1 inf) ^net-name <nn> ^pin-name <pn> ^max <gx2>)
(modify <v> ^min <gx2> ^min-net <nn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
(make context ^present find-no-of-pins-on-a-row-col)
)
(p p518
{ <c> (context ^previous find-no-of-pins-on-a-row-col) }
- (total)
{ <p> (pull-ff west <nn> <gx1> <gy> <gx2> <gy>) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy1> ^grid-layer <lay> ^came-from east ^pin-name <pn>) }
{ <v> (horizontal ^net-name nil ^min <= <gx2> ^max <gx1> ^com <gy> ^layer <lay>) }
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
-->
(remove <p> <c>)
(make (substr <v> 1 inf) ^net-name <nn> ^pin-name <pn> ^min <gx2>)
(modify <v> ^max <gx2> ^max-net <nn>)
(modify <ff> ^grid-x <gx2> ^can-chng-layer nil)
(make context ^present find-no-of-pins-on-a-row-col)
)
(p p293
(eliminate-total)
(total ^net-name <nn1> ^row-col <rc> ^coor <xy> ^min-xy <min1> ^max-xy <max1> ^level-pins <p1>)
{ <t1> (total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^min-xy <min2> ^max-xy { <max2> > <max1> } ^level-pins < <p1>) }
- (total ^row-col <rc> ^coor <xy> ^max-xy < <min2>)
- (total ^row-col <rc> ^coor <xy> ^min-xy { > <max1> < <max2> })
-->
(remove <t1>)
)
(p p294
(eliminate-total)
(total ^net-name <nn1> ^row-col <rc> ^coor <xy> ^min-xy <min1> ^max-xy <max1> ^level-pins <p1>)
{ <t1> (total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^min-xy <min2> ^max-xy { <max2> < <max1> } ^level-pins < <p1>) }
- (total ^row-col <rc> ^coor <xy> ^max-xy < <min2>)
- (total ^row-col <rc> ^coor <xy> ^min-xy { > <max2> < <max1> })
-->
(remove <t1>)
)
(p p295
(eliminate-total)
(total ^net-name <nn1> ^row-col <rc> ^coor <xy> ^min-xy <min1> ^max-xy <max1> ^level-pins <p1>)
{ <t1> (total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^min-xy { <min2> < <min1> } ^max-xy <max2> ^level-pins < <p1>) }
- (total ^row-col <rc> ^coor <xy> ^min-xy > <max2>)
- (total ^row-col <rc> ^coor <xy> ^max-xy { > <min2> < <min1> })
-->
(remove <t1>)
)
(p p296
(eliminate-total)
(total ^net-name <nn1> ^row-col <rc> ^coor <xy> ^min-xy <min1> ^max-xy <max1> ^level-pins <p1>)
{ <t1> (total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^min-xy { <min2> > <min1> } ^max-xy <max2> ^level-pins < <p1>) }
- (total ^row-col <rc> ^coor <xy> ^min-xy > <max2>)
- (total ^row-col <rc> ^coor <xy> ^max-xy { > <min1> < <min2> })
-->
(remove <t1>)
)
(p p297
(context ^present merge)
{ <m> (merge-direction left) }
{ <t1> (total ^net-name <nn1> ^row-col <rc> ^coor <xy> ^level-pins <lcou> ^total-pins <tcou> ^min-xy <min> ^max-xy <max>) }
- (rmerge)
- (total ^net-name <> <nn1> ^row-col <rc> ^coor <xy> ^max-xy < <max>)
(total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^min-xy > <max>)
-->
(remove <m>)
(make merge-direction right)
(make lmerge <nn1> <rc> <xy> <min> <max> <lcou> <tcou> (substr <t1> nets inf))
)
(p p298
(context ^present merge)
{ <m> (merge-direction right) }
{ <t1> (total ^net-name <nn1> ^row-col <rc> ^coor <xy> ^level-pins <lcou> ^total-pins <tcou> ^min-xy <min> ^max-xy <max>) }
- (lmerge)
- (total ^net-name <> <nn1> ^row-col <rc> ^coor <xy> ^min-xy > <min>)
(total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^max-xy < <min>)
-->
(remove <m>)
(make merge-direction left)
(make rmerge <nn1> <rc> <xy> <min> <max> <lcou> <tcou> (substr <t1> nets inf))
)
(p p299
{ <c> (lmerge <nn1> <rc> <xy> <min> <max> <lcou> <tcou>) }
{ <t2> (total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^level-pins <cou3> ^total-pins <cou4> ^min-xy { <min1> > <max> } ^max-xy <max1>) }
- (total ^row-col <rc> ^coor <xy> ^min-xy > <max> ^max-xy < <min1>)
- (place-holder <rc> <xy> > <max> < <min1>)
-->
(make total ^net-name <nn1> ^row-col <rc> ^coor <xy> ^level-pins (compute <lcou> + <cou3>) ^total-pins (compute <tcou> + <cou4>) ^min-xy <min> ^max-xy <max1> ^nets (substr <c> 9 inf) (substr <t2> nets inf))
(make delete-merged <nn2> <rc> <xy> <min1> <max1> (genatom))
)
(p p300
{ <c> (rmerge <nn1> <rc> <xy> <min> <max> <lcou> <tcou>) }
{ <t2> (total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^level-pins <cou3> ^total-pins <cou4> ^min-xy <min1> ^max-xy { <max1> < <min> }) }
- (total ^row-col <rc> ^coor <xy> ^min-xy > <max1> ^max-xy < <min>)
- (place-holder <rc> <xy> > <max1> < <min>)
-->
(make total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^level-pins (compute <lcou> + <cou3>) ^total-pins (compute <tcou> + <cou4>) ^min-xy <min1> ^max-xy <max> ^nets (substr <c> 9 inf) (substr <t2> nets inf))
(make rdelete-merged <nn2> <rc> <xy> <min1> <max1> (genatom))
)
(p p301
{ <d> (delete-merged <nn> <rc> <xy> <min> <max> <id>) }
(delete-merged <nn> <rc> <xy> <min> <max> <> <id>)
-->
(remove <d>)
)
(p p302
{ <d> (rdelete-merged <nn> <rc> <xy> <min> <max> <id>) }
(rdelete-merged <nn> <rc> <xy> <min> <max> <> <id>)
-->
(remove <d>)
)
(p p303
(delete-merged <nn> <rc> <xy> <min> <max>)
{ <t> (total ^net-name <nn> ^row-col <rc> ^coor <xy> ^min-xy <min> ^max-xy <max>) }
- (lmerge)
-->
(remove <t>)
)
(p p304
(rdelete-merged <nn> <rc> <xy> <min> <max>)
{ <t> (total ^net-name <nn> ^row-col <rc> ^coor <xy> ^min-xy <min> ^max-xy <max>) }
- (rmerge)
-->
(remove <t>)
)
(p p305
{ <d> (<< delete-merged rdelete-merged >>) }
- (<< lmerge rmerge >>)
-->
(remove <d>)
)
(p p306
(delete-merged <nn> <rc> <xy> <min> <max>)
{ <t1> (total ^net-name <nn> ^row-col <rc> ^coor <xy> ^min-xy <min> ^max-xy <max> ^level-pins <cou1> ^total-pins <cou2>) }
{ <t2> (total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^level-pins <cou3> ^total-pins <cou4> ^min-xy <min1> ^max-xy { <max1> < <min> }) }
- (lmerge)
-->
(make place-holder <rc> <xy> <min> <max> (genatom))
(make total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^level-pins (compute <cou1> + <cou3>) ^total-pins (compute <cou2> + <cou4>) ^min-xy <min1> ^max-xy <max> ^nets (substr <t1> nets inf) (substr <t2> nets inf))
)
(p p307
(rdelete-merged <nn> <rc> <xy> <min> <max>)
{ <t1> (total ^net-name <nn> ^row-col <rc> ^coor <xy> ^min-xy <min> ^max-xy <max> ^level-pins <cou1> ^total-pins <cou2>) }
{ <t2> (total ^net-name <nn2> ^row-col <rc> ^coor <xy> ^level-pins <cou3> ^total-pins <cou4> ^min-xy { <min1> > <max> } ^max-xy <max1>) }
- (rmerge)
-->
(make place-holder <rc> <xy> <min> <max> (genatom))
(make total ^net-name <nn> ^row-col <rc> ^coor <xy> ^level-pins (compute <cou1> + <cou3>) ^total-pins (compute <cou2> + <cou4>) ^min-xy <min> ^max-xy <max1> ^nets (substr <t1> nets inf) (substr <t2> nets inf))
)
(p p308
{ <p> (place-holder <rc> <xy> <min> <max> <id>) }
(place-holder <rc> <xy> <min> <max> <> <id>)
-->
(remove <p>)
)
(p p309
(<< lmerge rmerge >>)
{ <p> (place-holder <rc> <xy> <min> <max> <id>) }
- (total ^row-col <rc> ^coor <xy> ^max-xy < <min>)
-->
(remove <p>)
)
(p p310
(<< lmerge rmerge >>)
{ <p> (place-holder <rc> <xy> <min> <max> <id>) }
- (total ^row-col <rc> ^coor <xy> ^min-xy > <max>)
-->
(remove <p>)
)
(p p311
(context ^present merge)
{ <l> (lmerge <nn> <rc> <xy> <min> <max>) }
{ <t> (total ^net-name <nn> ^row-col <rc> ^coor <xy> ^min-xy <min> ^max-xy <max>) }
-->
(remove <l> <t>)
)
(p p312
(context ^present merge)
{ <l> (rmerge <nn> <rc> <xy> <min> <max>) }
{ <t> (total ^net-name <nn> ^row-col <rc> ^coor <xy> ^min-xy <min> ^max-xy <max>) }
-->
(remove <l> <t>)
)
(p p313
(context ^present merge)
(total ^level-pins <cou> ^total-pins <cou>)
- (total ^level-pins { <cou1> > <cou> } ^total-pins <cou1>)
{ <m> (maximum-total < <cou>) }
-->
(modify <m> ^2 <cou>)
)
(p p314
(context ^present merge)
(total ^row-col row ^coor 1 ^level-pins <cou> ^total-pins <cou>)
- (total ^row-col row ^coor 1 ^level-pins { <cou1> > <cou> } ^total-pins <cou1>)
{ <m> (maximum-total ^5 1 < <cou>) }
-->
(modify <m> ^6 <cou>)
)
(p p315
(context ^present merge)
(last-row <lr>)
(total ^row-col row ^coor <lr> ^level-pins <cou> ^total-pins <cou>)
- (total ^row-col row ^coor <lr> ^level-pins { <cou1> > <cou> } ^total-pins <cou1>)
{ <m> (maximum-total ^7 <lr> < <cou>) }
-->
(modify <m> ^8 <cou>)
)
(p p316
(context ^present merge)
(total ^level-pins <cou1> ^total-pins <cou2>)
- (total ^level-pins > <cou1> ^total-pins > <cou2>)
{ <m> (maximum-total <garb4> { <min1> < <cou1> }) }
-->
(modify <m> ^3 <cou1> ^4 <cou2>)
)
(p p317
{ <con> (context ^present merge) }
-->
(modify <con> ^present delete-totals)
(make goal cleanup eliminate-total)
(make goal cleanup merge-direction)
)
(p p318
(context ^present delete-totals)
(maximum-total <max> <garb1> <garb2>)
{ <t> (total ^level-pins { <cou> < <max> } ^total-pins <> <cou>) }
-->
(remove <t>)
)
(p p319
(context ^present delete-totals)
(maximum-total ^5 1 ^6 <cou>)
{ <t> (total ^row-col row ^coor 1 ^level-pins { <cou1> < <cou> } ^total-pins <cou1>) }
-->
(remove <t>)
)
(p p320
(context ^present delete-totals)
(maximum-total ^7 <lr> ^8 <cou>)
{ <t> (total ^row-col row ^coor <lr> ^level-pins { <cou1> < <cou> } ^total-pins <cou1>) }
-->
(remove <t>)
)
(p p321
(context ^present delete-totals)
(maximum-total <garb1> <min> <max>)
{ <t> (total ^level-pins { <cou> < <min> }) }
(last-row <lr>)
(total ^row-col row ^coor { <> 1 <> <lr> })
-->
(remove <t>)
)
(p p322
(context ^present delete-totals)
(total ^row-col <rc> ^coor <xy> ^level-pins <min> ^total-pins <max>)
{ <t1> (total ^row-col <rc> ^coor <xy> ^level-pins { <cou> <= <min> } ^total-pins > <max>) }
-->
(remove <t1>)
)
(p p323
(context ^present delete-totals)
{ <m> (maximum-total <garb1> <garb2> <garb3>) }
-->
(remove <m>)
)
(p p324
{ <c1> (context ^present delete-totals) }
- (maximum-total)
{ <t1> (total ^net-name <nn1> ^row-col row ^coor 1) }
{ <t2> (total ^net-name <nn2> ^row-col row ^coor <lr>) }
- (total ^row-col row ^coor { <> 1 <> <lr> })
(last-row <lr>)
-->
(remove <c1> <t1> <t2>)
(make change-priority)
(make tran-total row 1 (substr <t1> nets inf) end)
(make tran-total row <lr> (substr <t2> nets inf) end)
(make goal cleanup total)
)
(p p325
(context ^present delete-totals)
- (maximum-total)
(total ^net-name <nn1> ^row-col row ^coor 1)
(total ^net-name <nn2> ^row-col row ^coor <lr>)
{ <t1> (total ^net-name <> <nn1> ^row-col row ^coor 1) }
(last-row <lr>)
-->
(remove <t1>)
)
(p p326
{ <t1> (tran-total <rc> <xy1> end) }
{ <t2> (tran-total <rc> <> <xy1> end) }
-->
(remove <t2>)
(modify <t1> ^4 nil)
)
(p p519
(context ^present random1)
(net ^net-name <nn> ^net-no-of-pins 2)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn>)
(vertical-layer <lay>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> <= <gy1> } ^grid-layer <lay>)
(vertical ^net-name nil ^min { <vmin1> <= <gy1> } ^max { <vmax1> > <vmin1> >= <gy1> } ^com <gx1> ^layer <lay> ^compo <gx2> ^commo <cmo> ^min-net <vnn1>)
(vertical ^net-name nil ^min { <vmin2> <= <gy2> } ^max { <vmax2> > <vmin2> >= <gy2> >= <vmin1> } ^com <gx2> ^layer <lay> ^compo <cpo> ^commo <garb1> ^max-net <vnn2>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> >= <gx2> > <hmin> } ^com { <hcom> <= <vmax1> >= <vmin1> <= <vmax2> >= <vmin2> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
- (horizontal ^net-name <> nil ^com <hcom>)
-->
(remove 1 3 5)
(make vertical ^com <gx1> ^layer <lay> ^min <vmin1> ^max <hcom> ^compo <gx2> ^commo <cmo> ^min-net <vnn1> ^max-net <nn>)
(modify 6 ^min <gy1> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <lay> ^min <hcom> ^max <vmax2> ^compo <cpo> ^commo <gx1> ^min-net <nn> ^max-net <vnn2>)
(modify 7 ^max <gy2> ^max-net <nn>)
(make horizontal ^min <hmin> ^max <gx1> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 8 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <lay> ^min <hcom> ^max <gy1> ^commo <cmo> ^compo <gx2> ^net-name <nn> ^pin-name <pn>)
(make vertical ^com <gx2> ^layer <lay> ^max <hcom> ^min <gy2> ^commo <gx1> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <hcom> ^layer <lay> ^min <gx1> ^max <gx2> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p520
(context ^present random1)
(net ^net-name <nn> ^net-no-of-pins 2)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn>)
(horizontal-layer <lay>)
(ff ^net-name <nn> ^grid-x { <gx2> >= <gx1> } ^grid-y { <gy2> > <gy1> } ^grid-layer <lay>)
(horizontal ^net-name nil ^min { <hmin1> <= <gx1> } ^max { <hmax1> > <hmin1> >= <gx1> } ^com <gy1> ^layer <lay> ^compo <gy2> ^commo <cmo> ^max-net <hnn1>)
(horizontal ^net-name nil ^min { <hmin2> <= <gx2> } ^max { <hmax2> > <hmin2> >= <gx2> >= <hmax1> } ^com <gy2> ^layer <lay> ^compo <cpo> ^commo <garb1> ^min-net <hnn2>)
(vertical ^net-name nil ^min { <vmin> <= <gy1> } ^max { <vmax> >= <gy2> > <vmin> } ^com { <vcom> <= <hmax1> >= <hmin1> <= <hmax2> >= <hmin2> } ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
- (vertical ^net-name <> nil ^com <vcom>)
-->
(remove 1 3 5)
(make horizontal ^com <gy1> ^layer <lay> ^min <vcom> ^max <hmax1> ^compo <gy2> ^commo <cmo> ^min-net <nn> ^max-net <hnn1>)
(modify 6 ^max <gx1> ^max-net <nn>)
(make horizontal ^com <gy2> ^layer <lay> ^min <hmin2> ^max <vcom> ^compo <cpo> ^commo <gy1> ^min-net <hnn2> ^max-net <nn>)
(modify 7 ^min <gx2> ^min-net <nn>)
(make vertical ^min <vmin> ^max <gy1> ^com <vcom> ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 8 ^min <gy2> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <lay> ^min <gx1> ^max <vcom> ^commo <cmo> ^compo <gy2> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <lay> ^min <vcom> ^max <gx2> ^commo <gy1> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(make vertical ^com <vcom> ^layer <lay> ^min <gy1> ^max <gy2> ^commo <vcmo> ^compo <vcpo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p521
(context ^present random1)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^com { <vcom1> > <gx> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { >= <gx> < <vcom1> })
(vertical ^com { <vcom2> <= <vcom1> > <gx> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <vcom2>)
(horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { > <hmin> >= <vcom2> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom2> ^max >= <vcom2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <= <vcom2> >= <gx> } ^layer <lay>)
- (ff ^net-name <nn> ^grid-x < <gx>)
- (ff ^grid-x <vcom2> ^grid-y <gy>)
-->
(make made-random-move)
(make horizontal ^min <hmin> ^layer <lay> ^max <gx> ^com <gy> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn>)
(modify 5 ^min <vcom2> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^min <gx> ^max <vcom2> ^commo <hcmo> ^compo <hcpo> ^layer <lay> ^com <gy>)
(modify 2 ^grid-x <vcom2> ^grid-layer <lay> ^can-chng-layer nil ^came-from west)
)
(p p522
(context ^present random1)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^com { <vcom1> < <gx> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { <= <gx> > <vcom1> })
(vertical ^com { <vcom2> >= <vcom1> < <gx> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <vcom2> ^max >= <gx>)
(horizontal ^net-name nil ^min { <hmin> <= <vcom2> } ^max { > <hmin> >= <gx> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom2> ^max >= <vcom2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <= <gx> >= <vcom2> } ^layer <lay>)
- (ff ^net-name <nn> ^grid-x > <gx>)
- (ff ^grid-x <vcom2> ^grid-y <gy>)
-->
(make made-random-move)
(make horizontal ^min <hmin> ^layer <lay> ^max <vcom2> ^com <gy> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn>)
(modify 5 ^min <gx> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^min <vcom2> ^max <gx> ^commo <hcmo> ^compo <hcpo> ^layer <lay> ^com <gy>)
(modify 2 ^grid-x <vcom2> ^grid-layer <lay> ^can-chng-layer nil ^came-from east)
)
(p p523
(context ^present random1)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <vcom1> < <gx> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { <= <gx> > <vcom1> })
(vertical ^com { <vcom2> >= <vcom1> < <gx> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <vcom2> ^max >= <gx>)
(horizontal ^net-name nil ^min { <hmin> <= <vcom2> } ^max { > <hmin> >= <gx> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom2> ^max >= <vcom2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <= <gx> >= <vcom2> } ^layer <lay>)
- (ff ^net-name <nn> ^grid-x > <gx>)
- (ff ^grid-x <vcom2> ^grid-y <gy>)
-->
(make made-random-move)
(make horizontal ^min <hmin> ^layer <lay> ^max <vcom2> ^com <gy> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn>)
(modify 5 ^min <gx> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^min <vcom2> ^max <gx> ^commo <hcmo> ^compo <hcpo> ^layer <lay> ^com <gy>)
(modify 2 ^grid-x <vcom2> ^grid-layer <lay> ^can-chng-layer nil ^came-from east)
)
(p p524
(context ^present random1)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^com { <hcom1> < <gy> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <hcom1> <= <gy> })
(horizontal ^com { <hcom2> >= <hcom1> < <gy> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <hcom2> ^max >= <gy>)
(vertical ^net-name nil ^min { <vmin> <= <hcom2> } ^max { > <vmin> >= <gy> } ^com <gx> ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { >= <hcom2> <= <gy> } ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom2> ^max >= <hcom2> ^com <gx> ^layer <lay>)
- (ff ^net-name <nn> ^grid-y > <gy>)
- (ff ^grid-x <gx> ^grid-y <hcom2>)
-->
(make made-random-move)
(make vertical ^min <vmin> ^layer <lay> ^max <hcom2> ^com <gx> ^commo <vcmo> ^compo <vcpo> ^min-net <mn> ^max-net <nn>)
(modify 5 ^min <gy> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^min <hcom2> ^max <gy> ^commo <vcmo> ^compo <vcpo> ^layer <lay> ^com <gx>)
(modify 2 ^grid-y <hcom2> ^grid-layer <lay> ^can-chng-layer nil ^came-from north)
)
(p p525
(context ^present random1)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^com { <hcom1> > <gy> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { < <hcom1> >= <gy> })
(horizontal ^com { <hcom2> <= <hcom1> > <gy> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <hcom2>)
(vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { > <vmin> >= <hcom2> } ^com <gx> ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { >= <gy> <= <hcom2> } ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom2> ^max >= <hcom2> ^com <gx> ^layer <lay>)
- (ff ^net-name <nn> ^grid-y < <gy>)
- (ff ^grid-x <gx> ^grid-y <hcom2>)
-->
(make made-random-move)
(make vertical ^min <vmin> ^layer <lay> ^max <gy> ^com <gx> ^commo <vcmo> ^compo <vcpo> ^min-net <mn> ^max-net <nn>)
(modify 5 ^min <hcom2> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^min <gy> ^max <hcom2> ^commo <vcmo> ^compo <vcpo> ^layer <lay> ^com <gx>)
(modify 2 ^grid-y <hcom2> ^grid-layer <lay> ^can-chng-layer nil ^came-from south)
)
(p p526
(context ^present random1)
-->
(remove 1)
(make context ^present check-random-move)
)
(p p527
{ <c> (context ^present check-random-move) }
{ <m> (made-random-move) }
-->
(remove <c> <m>)
(make context ^present check-for-routed-net)
(make goal cleanup made-random-move)
)
(p p528
{ <c> (context ^present check-random-move) }
- (made-random-move)
-->
(remove <c>)
(make context ^present random2)
)
(p p529
(context ^present random2)
-->
(write (crlf) |Sorry, I can not proceed anymore because of my ignorance.|)
(halt)
)
(p p530
(context ^present random0)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
- (ff ^net-name <nn> ^pin-name <> <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^com { <hcom1> < <gy> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { > <hcom1> <= <gy> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <hcom1> ^max >= <gy>)
(vertical ^net-name nil ^min { <vmin> <= <hcom1> } ^max { > <vmin> >= <gy> } ^com <gx> ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
(vertical-layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { >= <hcom1> <= <gy> } ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom1> ^max >= <hcom1> ^com <gx> ^layer <lay>)
- (ff ^net-name <nn> ^grid-y > <gy>)
-->
(remove 1)
(make vertical ^min <vmin> ^layer <lay> ^max <hcom1> ^com <gx> ^commo <vcmo> ^compo <vcpo> ^min-net <mn> ^max-net <nn>)
(modify 4 ^min <gy> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^min <hcom1> ^max <gy> ^commo <vcmo> ^compo <vcpo> ^layer <lay> ^com <gx>)
(modify 2 ^grid-y <hcom1> ^grid-layer <lay> ^can-chng-layer nil ^came-from north)
(make context ^present propagate-constraint)
)
(p p531
(context ^present random0)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
- (ff ^net-name <nn> ^pin-name <> <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^com { <hcom1> > <gy> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^com { < <hcom1> >= <gy> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <hcom1>)
(vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { > <vmin> >= <hcom1> } ^com <gx> ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
(vertical-layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { >= <gy> <= <hcom1> } ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <hcom1> ^max >= <hcom1> ^com <gx> ^layer <lay>)
- (ff ^net-name <nn> ^grid-y < <gy>)
-->
(remove 1)
(make vertical ^min <vmin> ^layer <lay> ^max <gy> ^com <gx> ^commo <vcmo> ^compo <vcpo> ^min-net <mn> ^max-net <nn>)
(modify 4 ^min <hcom1> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^min <gy> ^max <hcom1> ^commo <vcmo> ^compo <vcpo> ^layer <lay> ^com <gx>)
(modify 2 ^grid-y <hcom1> ^grid-layer <lay> ^can-chng-layer nil ^came-from south)
(make context ^present propagate-constraint)
)
(p p532
(context ^present random0)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
- (ff ^net-name <nn> ^pin-name <> <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^com { <vcom1> < <gx> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { <= <gx> > <vcom1> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <vcom1> ^max >= <gx>)
(horizontal ^net-name nil ^min { <hmin> <= <vcom1> } ^max { > <hmin> >= <gx> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
(horizontal-layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom1> ^max >= <vcom1> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { >= <vcom1> <= <gx> } ^layer <lay>)
- (ff ^net-name <nn> ^grid-x > <gx>)
-->
(remove 1)
(make horizontal ^min <hmin> ^layer <lay> ^max <vcom1> ^com <gy> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn>)
(modify 4 ^min <gx> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^min <vcom1> ^max <gx> ^commo <hcmo> ^compo <hcpo> ^layer <lay> ^com <gy>)
(modify 2 ^grid-x <vcom1> ^grid-layer <lay> ^can-chng-layer nil ^came-from east)
(make context ^present propagate-constraint)
)
(p p533
(context ^present random0)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
- (ff ^net-name <nn> ^pin-name <> <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^com { <vcom1> > <gx> })
- (vertical ^status nil ^net-name { <nn> <> nil } ^com { >= <gx> < <vcom1> })
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <vcom1>)
(horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { > <hmin> >= <vcom1> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
(horizontal-layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <vcom1> ^max >= <vcom1> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { >= <gx> <= <vcom1> } ^layer <lay>)
- (ff ^net-name <nn> ^grid-x < <gx>)
-->
(remove 1)
(make horizontal ^min <hmin> ^layer <lay> ^max <gx> ^com <gy> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn>)
(modify 4 ^min <vcom1> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^min <gx> ^max <vcom1> ^commo <hcmo> ^compo <hcpo> ^layer <lay> ^com <gy>)
(modify 2 ^grid-x <vcom1> ^grid-layer <lay> ^can-chng-layer nil ^came-from west)
(make context ^present propagate-constraint)
)
(p p534
{ <c> (context ^present random2) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>) }
(vertical ^status nil ^net-name { <nn> <> nil } ^com > <gx>)
{ <h> (horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { <hmax> > <gx> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>) }
(congestion ^direction col ^coordinate <gx2> ^como <gx>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
-->
(make horizontal ^min <hmin> ^layer <lay> ^max <gx> ^com <gy> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn>)
(modify <h> ^min <gx2> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^min <gx> ^max <gx2> ^commo <hcmo> ^compo <hcpo> ^layer <lay> ^com <gy>)
(modify <ff> ^grid-x <gx2> ^grid-layer <lay> ^can-chng-layer nil ^came-from west)
(remove <c>)
(make context ^present check-for-routed-net)
)
(p p535
{ <c> (context ^present random2) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>) }
(vertical ^status nil ^net-name { <nn> <> nil } ^com < <gx>)
{ <h> (horizontal ^net-name nil ^min { <hmin> < <gx> } ^max { <hmax> >= <gx> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>) }
(congestion ^direction col ^coordinate <gx> ^como <gx2>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
-->
(make horizontal ^min <hmin> ^layer <lay> ^max <gx2> ^com <gy> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn>)
(modify <h> ^min <gx> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^min <gx2> ^max <gx> ^commo <hcmo> ^compo <hcpo> ^layer <lay> ^com <gy>)
(modify <ff> ^grid-x <gx2> ^grid-layer <lay> ^can-chng-layer nil ^came-from east)
(remove <c>)
(make context ^present check-for-routed-net)
)
(p p536
{ <c> (context ^present random2) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>) }
(horizontal ^status nil ^net-name { <nn> <> nil } ^com > <gy>)
{ <h> (vertical ^net-name nil ^min { <hmin> <= <gy> } ^max { <hmax> > <gy> } ^com <gx> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>) }
(congestion ^direction row ^coordinate <gy2> ^como <gy>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
-->
(make vertical ^min <hmin> ^layer <lay> ^max <gy> ^com <gx> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn>)
(modify <h> ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^min <gy> ^max <gy2> ^commo <hcmo> ^compo <hcpo> ^layer <lay> ^com <gx>)
(modify <ff> ^grid-y <gy2> ^grid-layer <lay> ^can-chng-layer nil ^came-from south)
(remove <c>)
(make context ^present check-for-routed-net)
)
(p p537
{ <c> (context ^present random2) }
{ <ff> (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>) }
(horizontal ^status nil ^net-name { <nn> <> nil } ^com < <gy>)
{ <h> (vertical ^net-name nil ^min { <hmin> < <gy> } ^max { <hmax> >= <gy> } ^com <gx> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>) }
(congestion ^direction row ^coordinate <gy> ^como <gy2>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
-->
(make vertical ^min <hmin> ^layer <lay> ^max <gy2> ^com <gx> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn>)
(modify <h> ^min <gy> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^min <gy2> ^max <gy> ^commo <hcmo> ^compo <hcpo> ^layer <lay> ^com <gx>)
(modify <ff> ^grid-y <gy2> ^grid-layer <lay> ^can-chng-layer nil ^came-from north)
(remove <c>)
(make context ^present check-for-routed-net)
)
(p p558
(next-segment <nn> row <gy> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x { <gx1> >= <nmin> <= <nmax> } ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> <= <nmax> } ^grid-y <gy>)
- (ff ^net-name <nn> ^grid-x { > <gx1> < <gx2> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min> <= <gx1> } ^max { <max> >= <gx2> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
- (horizontal ^net-name nil ^min <= <gx1> ^max >= <gx2> ^com <gy> ^layer <> <lay>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx1> ^max >= <gx2> ^com <gy>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx1> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
-->
(remove 2 3)
(make horizontal ^com <gy> ^min <min> ^max <gx1> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make horizontal ^com <gy> ^min <gx2> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gx1> ^max <gx2> ^net-name <nn> ^pin-name <pn>)
)
(p p559
(next-segment <nn> row <gy> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x { <gx1> >= <nmin> <= <nmax> } ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <gx2> > <gx1> <= <nmax> })
- (ff ^net-name <nn> ^grid-x { > <gx1> < <gx2> } ^grid-y <gy>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <gx1> < <gx2> })
(horizontal ^net-name nil ^min { <min> <= <gx1> } ^max { <max> >= <gx2> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx1> ^max >= <gx2> ^com <gy>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx1> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
-->
(remove 2)
(make horizontal ^com <gy> ^min <min> ^max <gx1> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make horizontal ^com <gy> ^min <gx2> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gx1> ^max <gx2> ^net-name <nn> ^pin-name <pn>)
)
(p p560
(next-segment <nn> row <gy> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x { <gx1> >= <nmin> <= <nmax> } ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <gx2> < <gx1> >= <nmin> })
- (ff ^net-name <nn> ^grid-x { < <gx1> > <gx2> } ^grid-y <gy>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { < <gx1> > <gx2> })
(horizontal ^net-name nil ^min { <min> <= <gx2> } ^max { <max> >= <gx1> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx2> ^max >= <gx1> ^com <gy>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx1> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
-->
(remove 2)
(make horizontal ^com <gy> ^min <min> ^max <gx2> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make horizontal ^com <gy> ^min <gx1> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gx2> ^max <gx1> ^net-name <nn> ^pin-name <pn>)
)
(p p561
(next-segment <nn> row <gy> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x { <gx1> >= <nmin> <= <nmax> } ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <gx2> > <gx1> <= <nmax> })
- (ff ^net-name <nn> ^grid-x { > <gx1> < <gx2> } ^grid-y <gy>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { > <gx1> < <gx2> })
(horizontal ^net-name nil ^min { <min> <= <gx1> } ^max { <max> >= <gx2> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
(horizontal-layer <lay>)
(dominant-layer)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx1> ^max >= <gx2> ^com <gy>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx1> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
-->
(remove 2)
(make horizontal ^com <gy> ^min <min> ^max <gx1> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make horizontal ^com <gy> ^min <gx2> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gx1> ^max <gx2> ^net-name <nn> ^pin-name <pn>)
)
(p p562
(next-segment <nn> row <gy> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x { <gx1> >= <nmin> <= <nmax> } ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { <gx2> < <gx1> >= <nmin> })
- (ff ^net-name <nn> ^grid-x { < <gx1> > <gx2> } ^grid-y <gy>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com { < <gx1> > <gx2> })
(horizontal ^net-name nil ^min { <min> <= <gx2> } ^max { <max> >= <gx1> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
(horizontal-layer <lay>)
(dominant-layer)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx2> ^max >= <gx1> ^com <gy>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx1> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
-->
(remove 2)
(make horizontal ^com <gy> ^min <min> ^max <gx2> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make horizontal ^com <gy> ^min <gx1> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gx2> ^max <gx1> ^net-name <nn> ^pin-name <pn>)
)
(p p563
(next-segment <nn> row <gy> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x { <gx1> >= <nmin> <= <nmax> } ^grid-y <gy> ^grid-layer <garb1> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> <= <nmax> } ^grid-y <gy>)
- (ff ^net-name <nn> ^grid-x { > <gx1> < <gx2> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min> <= <gx1> } ^max { <max> >= <gx2> } ^max { <max> >= <gx2> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
(horizontal-layer <lay>)
(dominant-layer)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx1> ^max >= <gx2> ^com <gy>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <gy> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx1> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
-->
(remove 2 3)
(make horizontal ^com <gy> ^min <min> ^max <gx1> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make horizontal ^com <gy> ^min <gx2> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gx1> ^max <gx2> ^net-name <nn> ^pin-name <pn>)
)
(p p564
(next-segment <nn> col <gx> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy1> >= <nmin> <= <nmax> } ^grid-layer <garb1> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-y { <gy2> > <gy1> <= <nmax> } ^grid-x <gx>)
- (ff ^net-name <nn> ^grid-y { > <gy1> < <gy2> } ^grid-x <gx>)
(vertical ^net-name nil ^min { <min> <= <gy1> } ^max { <max> >= <gy2> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
- (vertical ^net-name nil ^min <= <gy1> ^max >= <gy2> ^com <gx> ^layer <> <lay>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy1> ^max >= <gy2> ^com <gx>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy1> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <gx> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
-->
(remove 2 3)
(make vertical ^com <gx> ^min <min> ^max <gy1> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make vertical ^com <gx> ^min <gy2> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gy1> ^max <gy2> ^net-name <nn> ^pin-name <pn>)
)
(p p565
(next-segment <nn> col <gx> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy1> >= <nmin> <= <nmax> } ^grid-layer <garb1> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { <gy2> > <gy1> <= <nmax> })
- (ff ^net-name <nn> ^grid-y { > <gy1> < <gy2> } ^grid-x <gx>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy1> < <gy2> })
(vertical ^net-name nil ^min { <min> <= <gy1> } ^max { <max> >= <gy2> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy1> ^max >= <gy2> ^com <gx>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy1> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <gx> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
-->
(remove 2)
(make vertical ^com <gx> ^min <min> ^max <gy1> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make vertical ^com <gx> ^min <gy2> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gy1> ^max <gy2> ^net-name <nn> ^pin-name <pn>)
)
(p p566
(next-segment <nn> col <gx> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy1> >= <nmin> <= <nmax> } ^grid-layer <garb1> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { <gy2> < <gy1> >= <nmin> })
- (ff ^net-name <nn> ^grid-y { > <gy2> < <gy1> } ^grid-x <gx>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy2> < <gy1> })
(vertical ^net-name nil ^min { <min> <= <gy2> } ^max { <max> >= <gy1> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy2> ^max >= <gy1> ^com <gx>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy1> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <gx> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
-->
(remove 2)
(make vertical ^com <gx> ^min <min> ^max <gy2> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make vertical ^com <gx> ^min <gy1> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gy2> ^max <gy1> ^net-name <nn> ^pin-name <pn>)
)
(p p567
(next-segment <nn> col <gx> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy1> >= <nmin> <= <nmax> } ^grid-layer <garb1> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { <gy2> > <gy1> <= <nmax> })
- (ff ^net-name <nn> ^grid-y { > <gy1> < <gy2> } ^grid-x <gx>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy1> < <gy2> })
(vertical ^net-name nil ^min { <min> <= <gy1> } ^max { <max> >= <gy2> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
(vertical-layer <lay>)
(dominant-layer)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy1> ^max >= <gy2> ^com <gx>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy1> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <gx> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
-->
(remove 2)
(make vertical ^com <gx> ^min <min> ^max <gy1> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make vertical ^com <gx> ^min <gy2> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gy1> ^max <gy2> ^net-name <nn> ^pin-name <pn>)
)
(p p568
(next-segment <nn> col <gx> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy1> >= <nmin> <= <nmax> } ^grid-layer <garb1> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { <gy2> < <gy1> >= <nmin> })
- (ff ^net-name <nn> ^grid-y { > <gy2> < <gy1> } ^grid-x <gx>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com { > <gy2> < <gy1> })
(vertical ^net-name nil ^min { <min> <= <gy2> } ^max { <max> >= <gy1> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
(vertical-layer <lay>)
(dominant-layer)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy2> ^max >= <gy1> ^com <gx>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy1> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <gx> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
-->
(remove 2)
(make vertical ^com <gx> ^min <min> ^max <gy2> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make vertical ^com <gx> ^min <gy1> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gy2> ^max <gy1> ^net-name <nn> ^pin-name <pn>)
)
(p p569
(next-segment <nn> col <gx> nil <nmin> <nmax>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy1> >= <nmin> <= <nmax> } ^grid-layer <garb1> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-y { <gy2> > <gy1> <= <nmax> } ^grid-x <gx>)
- (ff ^net-name <nn> ^grid-y { > <gy1> < <gy2> } ^grid-x <gx>)
(vertical ^net-name nil ^min { <min> <= <gy1> } ^max { <max> >= <gy2> > <min> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <nn1> ^max-net <nn2>)
(vertical-layer <lay>)
(dominant-layer)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy1> ^max >= <gy2> ^com <gx>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy1> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <gx> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
-->
(remove 2 3)
(make vertical ^com <gx> ^min <min> ^max <gy1> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn1> ^max-net <nn>)
(make vertical ^com <gx> ^min <gy2> ^max <max> ^compo <cpo> ^commo <cmo> ^layer <lay> ^min-net <nn> ^max-net <nn2>)
(modify 4 ^min <gy1> ^max <gy2> ^net-name <nn> ^pin-name <pn>)
)
(p p570
(next-segment <nn> row <gy> nil <nmin> <nmax>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <max> >= <nmin> <= <nmax> } ^com <gy> ^layer <garb2> ^compo <garb3> ^commo <garb4> ^pin-name <pn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <max> ^max > <max> ^com <gy>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min { <min> > <max> <= <nmax> } ^com <gy>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min < <min> ^max >= <min> ^com <gy>)
(horizontal ^net-name nil ^min <max> ^max { <min> > <max> } ^com <gy> ^layer <garb5> ^compo <garb6> ^commo <garb7>)
-->
(modify 4 ^net-name <nn> ^pin-name <pn> ^max-net nil ^min-net nil)
)
(p p571
(next-segment <nn> col <gx> nil <nmin> <nmax>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <garb1> ^max { <max> >= <nmin> <= <nmax> } ^com <gx> ^layer <garb2> ^compo <garb3> ^commo <garb4> ^pin-name <pn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <max> ^max > <max> ^com <gx>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min { <min> > <max> <= <nmax> } ^com <gx>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min < <min> ^max >= <min> ^com <gx>)
(vertical ^net-name nil ^min <max> ^max { <min> > <max> } ^com <gx> ^layer <garb5> ^compo <garb6> ^commo <garb7>)
-->
(modify 4 ^net-name <nn> ^pin-name <pn> ^max-net nil ^min-net nil)
)
(p p572
{ <next> (next-segment <nn> row <gy>) }
(ff ^net-name <nn> ^grid-y <gy> ^pin-name <pn> ^came-from north)
(net ^net-name <nn> ^net-no-of-pins <np> ^no-of-top-pins <np> ^no-of-bottom-pins <garb1>)
- (ff ^net-name <nn> ^grid-y < <gy>)
{ <ff> (ff ^net-name <nn> ^grid-y { <gy2> > <gy> } ^pin-name <pn2> ^grid-x <gx> ^grid-layer <lay> ^came-from north) }
{ <v1> (vertical ^net-name nil ^min { <min> <= <gy> } ^max { > <min> >= <gy2> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <mn>) }
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^com { < <gy2> >= <gy> } ^layer <lay>)
-->
(make vertical ^net-name nil ^max <gy> ^min <min> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^min-net <mn> ^max-net <nn>)
(modify <v1> ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy2> ^min <gy> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn2>)
(modify <ff> ^grid-y <gy> ^can-chng-layer nil)
(modify <next> ^5 useless)
)
(p p573
{ <next> (next-segment <nn> row <gy>) }
(ff ^came-from south ^net-name <nn> ^grid-y <gy> ^pin-name <pn>)
(net ^net-name <nn> ^net-no-of-pins <np> ^no-of-top-pins <garb1> ^no-of-bottom-pins <np>)
- (ff ^net-name <nn> ^grid-y > <gy>)
{ <ff> (ff ^net-name <nn> ^grid-y { <gy2> < <gy> } ^pin-name <pn2> ^grid-x <gx> ^grid-layer <lay> ^came-from south) }
{ <v1> (vertical ^net-name nil ^max { <max> >= <gy> } ^min { < <max> <= <gy2> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>) }
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^com { > <gy2> <= <gy> } ^layer <lay>)
-->
(make vertical ^net-name nil ^max <max> ^min <gy> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^min-net <nn> ^max-net <mn>)
(modify <v1> ^max <gy2> ^max-net <nn>)
(make vertical ^net-name <nn> ^max <gy> ^min <gy2> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn2>)
(modify <ff> ^grid-y <gy> ^can-chng-layer nil)
(modify <v1> ^5 useless)
)
(p p574
(next-segment <nn> row <gy> <gg1> <nmin> <nmax>)
(ff ^net-name <nn> ^grid-y { <gy2> > <gy> } ^grid-x { <gx> >= <nmin> <= <nmax> } ^grid-layer <lay> ^pin-name <pn>)
(vertical ^net-name nil ^min { <min> <= <gy> } ^max { > <min> >= <gy2> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <mn>)
(vertical-s ^net-name <nn> ^min <= <gy> ^max >= <gy2> ^com <gx>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^com <gx>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
-->
(make vertical ^net-name nil ^max <gy> ^min <min> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^min-net <mn> ^max-net <nn>)
(modify 3 ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy2> ^min <gy> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify 2 ^grid-y <gy> ^can-chng-layer nil)
(modify 1 ^2 <nn>)
)
(p p575
(next-segment <nn> row <gy> <gg1> <nmin> <nmax>)
(vertical ^net-name { <nn> <> nil } ^min { <gy2> > <gy> } ^com { <gx> >= <nmin> <= <nmax> } ^layer <lay> ^pin-name <pn>)
(vertical ^net-name nil ^min { < <gy2> <= <gy> } ^max <gy2> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
(vertical-s ^net-name <nn> ^min <= <gy> ^max >= <gy2> ^com <gx>)
- (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy2>)
- (vertical ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy2> ^com <gx>)
- (ff ^net-name <> <nn> ^grid-x <gx>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^com <gx>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
-->
(modify 3 ^max <gy> ^max-net <nn>)
(modify 2 ^min <gy>)
(make ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from north)
(modify 1 ^2 <nn>)
)
(p p576
(next-segment <nn> row <gy> <gg1> <nmin> <nmax>)
(ff ^net-name <nn> ^grid-y { <gy2> < <gy> } ^grid-x { <gx> >= <nmin> <= <nmax> } ^grid-layer <lay> ^pin-name <pn>)
(vertical ^net-name nil ^min { <min> <= <gy2> } ^max { > <min> >= <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <mn>)
(vertical-s ^net-name <nn> ^min <= <gy2> ^max >= <gy> ^com <gx>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^com <gx>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
-->
(make vertical ^net-name nil ^max <gy2> ^min <min> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^min-net <mn> ^max-net <nn>)
(modify 3 ^min <gy> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy> ^min <gy2> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify 2 ^grid-y <gy> ^can-chng-layer nil)
(modify 1 ^2 <nn>)
)
(p p577
(next-segment <nn> row <gy> <gg1> <nmin> <nmax>)
(vertical ^net-name { <nn> <> nil } ^min { <gy2> < <gy> } ^com { <gx> >= <nmin> <= <nmax> } ^layer <lay> ^pin-name <pn>)
(vertical ^net-name nil ^min <gy2> ^max { > <gy2> >= <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo>)
(vertical-s ^net-name <nn> ^min <= <gy2> ^max >= <gy> ^com <gx>)
- (ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy2>)
- (vertical ^net-name { <nn> <> nil } ^min <= <gy2> ^max >= <gy> ^com <gx>)
- (ff ^net-name <> <nn> ^grid-x <gx>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^com <gx>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
-->
(modify 3 ^min <gy> ^min-net <nn>)
(modify 2 ^max <gy>)
(make ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from south)
(modify 1 ^2 <nn>)
)
(p p578
(next-segment <nn>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <garb2>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy> ^layer <garb3> ^compo <garb4> ^commo <garb5>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx> ^layer <garb6> ^compo <garb7> ^commo <garb8>)
-->
(remove 2)
)
(p p579
(next-segment <nn>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <garb1> ^pin-name <garb2>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min < <gx> ^max <gx> ^com <gy>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <gx> ^max > <gx> ^com <gy>)
-->
(remove 2)
)
(p p580
(change-priority)
{ <n> (next-segment ^5 useless) }
-->
(modify <n> ^5 nil)
)
(p p581
(change-priority)
{ <n> (next-segment <nn> col <x> useless <min> <max>) }
(vertical-s ^net-name <nn> ^com <x> ^sum 2 ^difference 0)
(last-row <lr>)
-->
(modify <n> ^5 nil 1 <lr>)
)
(p p582
(change-priority)
{ <n> (next-segment <nn> row <y> useless <min> <max>) }
(horizontal-s ^net-name <nn> ^com <x> ^sum 2 ^difference 0)
(last-col <lc>)
-->
(modify <n> ^5 nil 1 <lc>)
)
(p p583
{ <n> (next-segment <nn> <rc> <xy> nil) }
- (next-segment ^5 <> nil)
-->
(remove <n>)
(make move-ff <nn> <rc> <xy>)
)
(p p584
{ <c> (change-priority) }
-->
(remove <c>)
(make end-of-specialized-move-ff)
)
(p p585
(move-ff <nn> row <xy>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min> ^max <max> ^com <xy> ^layer <lay> ^compo <cpo> ^commo <garb1>)
{ <ff> (ff ^came-from south ^net-name { <nn1> <> <nn> } ^grid-x { <gx> >= <min> <= <max> } ^grid-y <xy> ^grid-layer { <flay> <> <lay> }) }
{ <v1> (vertical ^status nil ^net-name <nn1> ^min < <xy> ^max <xy> ^com <gx> ^layer <flay>) }
- (horizontal ^net-name nil ^min <= <gx> ^max >= <gx> ^com <xy> ^layer <flay>)
{ <v2> (vertical ^net-name nil ^min <xy> ^max { <garb4> > <xy> } ^com <gx> ^layer <flay> ^compo <garb2> ^commo <garb3>) }
-->
(modify <v2> ^min <cpo> ^min-net <nn1>)
(modify <v1> ^max <cpo>)
(modify <ff> ^grid-y <cpo> ^can-chng-layer nil)
)
(p p586
(move-ff <nn> row <xy>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min> ^max <max> ^com <xy> ^layer <lay> ^compo <garb1> ^commo <cmo>)
{ <ff> (ff ^came-from north ^net-name { <nn1> <> <nn> } ^grid-x { <gx> >= <min> <= <max> } ^grid-y <xy> ^grid-layer { <flay> <> <lay> }) }
{ <v1> (vertical ^status nil ^net-name <nn1> ^min <xy> ^max > <xy> ^com <gx> ^layer <flay>) }
- (horizontal ^net-name nil ^min <= <gx> ^max >= <gx> ^com <xy> ^layer <flay>)
{ <v2> (vertical ^net-name nil ^min <vmin> ^max { <xy> > <vmin> } ^com <gx> ^layer <flay> ^compo <garb2> ^commo <garb3>) }
-->
(modify <v2> ^max <cmo> ^max-net <nn1>)
(modify <v1> ^min <cmo>)
(modify <ff> ^grid-y <cmo> ^can-chng-layer nil)
)
(p p587
(move-ff <nn>)
(horizontal ^net-name <nn> ^min <min> ^max <max>)
{ <h> (horizontal-s ^net-name <nn> ^min <min> ^max <max>) }
-->
(remove <h>)
)
(p p588
(move-ff <nn>)
(vertical ^net-name <nn> ^min <min> ^max <max>)
{ <v> (vertical-s ^net-name <nn> ^min <min> ^max <max>) }
-->
(remove <v>)
)
(p p589
(move-ff <nn>)
(horizontal ^net-name <nn> ^min <min> ^max <max> ^com <com>)
(ff ^net-name <nn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y { <gy> < <com> })
{ <v> (vertical-s ^net-name <nn> ^min { <vmin> <= <gy> } ^max { <vmax> >= <com> } ^com <gx> ^id <id>) }
(vertical ^net-name nil ^min <= <gy> ^max >= <com> ^com <gx>)
- (vertical-s ^net-name <> <nn> ^com <gx>)
-->
(remove <v>)
(make next-segment <nn> col <gx> nil <vmin> <vmax>)
)
(p p590
(move-ff <nn>)
(horizontal ^net-name <nn> ^min <min> ^max <max> ^com <com>)
(ff ^net-name <nn> ^grid-x { <gx> >= <min> <= <max> } ^grid-y { <gy> > <com> })
{ <v> (vertical-s ^net-name <nn> ^min { <vmin> <= <com> } ^max { <vmax> >= <gy> } ^com <gx> ^id <id>) }
(vertical ^net-name nil ^min <= <com> ^max >= <gy> ^com <gx>)
- (vertical-s ^net-name <> <nn> ^com <gx>)
-->
(remove <v>)
(make next-segment <nn> col <gx> nil <vmin> <vmax>)
)
(p p591
(move-ff <nn>)
(horizontal ^net-name <nn> ^min <hmin1> ^max <hmax1> ^com <hcom1>)
(horizontal ^net-name <nn> ^min { <hmin2> >= <hmin1> } ^max { <hmax2> <= <hmax1> } ^com { <hcom2> < <hcom1> })
{ <v> (vertical-s ^net-name <nn> ^min { <vmin> <= <hcom2> } ^max { <vmax> >= <hcom1> } ^com { <vcom> >= <hmin2> <= <hmax2> } ^id <id>) }
(vertical ^net-name nil ^min <= <hcom2> ^max >= <hcom1> ^com { <vcom2> >= <hmin2> <= <hmax2> })
- (vertical-s ^net-name <> <nn> ^com <vcom2>)
-->
(remove <v>)
(make next-segment <nn> col <vcom2> nil <vmin> <vmax>)
)
(p p592
(move-ff <nn>)
(horizontal ^net-name <nn> ^min <hmin1> ^max <hmax1> ^com <hcom1>)
(horizontal ^net-name <nn> ^min { <hmin2> >= <hmin1> } ^max { <hmax2> <= <hmax1> } ^com { <hcom2> > <hcom1> })
{ <v> (vertical-s ^net-name <nn> ^min { <vmin> <= <hcom1> } ^max { <vmax> >= <hcom2> } ^com { <vcom> >= <hmin2> <= <hmax2> } ^id <id>) }
(vertical ^net-name nil ^min <= <hcom1> ^max >= <hcom2> ^com { <vcom2> >= <hmin2> <= <hmax2> })
- (vertical-s ^net-name <> <nn> ^com <vcom2>)
-->
(remove <v>)
(make next-segment <nn> col <vcom2> nil <vmin> <vmax>)
)
(p p593
(move-ff <nn>)
(horizontal ^net-name <nn> ^min <hmin1> ^max <hmax1> ^com <hcom1>)
(horizontal ^net-name <nn> ^min { <hmin2> >= <hmin1> <= <hmax1> } ^max { <hmax2> >= <hmax1> } ^com { <hcom2> < <hcom1> })
{ <v> (vertical-s ^net-name <nn> ^min { <vmin> <= <hcom2> } ^max { <vmax> >= <hcom1> } ^com { <vcom> >= <hmin2> <= <hmax1> } ^id <id>) }
(vertical ^net-name nil ^min <= <hcom2> ^max >= <hcom1> ^com { <vcom2> >= <hmin2> <= <hmax1> })
- (vertical-s ^net-name <> <nn> ^com <vcom2>)
-->
(remove <v>)
(make next-segment <nn> col <vcom2> nil <vmin> <vmax>)
)
(p p594
(move-ff <nn>)
(horizontal ^net-name <nn> ^min <hmin1> ^max <hmax1> ^com <hcom1>)
(horizontal ^net-name <nn> ^min { <hmin2> >= <hmin1> <= <hmax1> } ^max { <hmax2> >= <hmax1> } ^com { <hcom2> > <hcom1> })
{ <v> (vertical-s ^net-name <nn> ^min { <vmin> <= <hcom1> } ^max { <vmax> >= <hcom2> } ^com { <vcom> >= <hmin2> <= <hmax1> } ^id <id>) }
(vertical ^net-name nil ^min <= <hcom1> ^max >= <hcom2> ^com { <vcom2> >= <hmin2> <= <hmax1> })
- (vertical-s ^net-name <> <nn> ^com <vcom2>)
-->
(remove <v>)
(make next-segment <nn> col <vcom2> nil <vmin> <vmax>)
)
(p p595
(move-ff <nn>)
(vertical ^net-name <nn> ^min <min> ^max <max> ^com <com>)
(ff ^net-name <nn> ^grid-x { <gx> < <com> } ^grid-y { <gy> >= <min> <= <max> })
{ <v> (horizontal-s ^net-name <nn> ^min { <vmin> <= <gx> } ^max { <vmax> >= <com> } ^com <gy> ^id <id>) }
(horizontal ^net-name nil ^min <= <gx> ^max >= <com> ^com <gy>)
- (horizontal-s ^net-name <> <nn> ^com <gy>)
-->
(remove <v>)
(make next-segment <nn> row <gy> nil <vmin> <vmax>)
)
(p p596
(move-ff <nn>)
(vertical ^net-name <nn> ^min <min> ^max <max> ^com <com>)
(ff ^net-name <nn> ^grid-x { <gx> > <com> } ^grid-y { <gy> >= <min> <= <max> })
{ <v> (horizontal-s ^net-name <nn> ^min { <vmin> <= <com> } ^max { <vmax> >= <gx> } ^com <gy> ^id <id>) }
(horizontal ^net-name nil ^min <= <com> ^max >= <gx> ^com <gy>)
- (horizontal-s ^net-name <> <nn> ^com <gy>)
-->
(remove <v>)
(make next-segment <nn> row <gy> nil <vmin> <vmax>)
)
(p p597
(move-ff <nn>)
(vertical ^net-name <nn> ^min <hmin1> ^max <hmax1> ^com <hcom1>)
(vertical ^net-name <nn> ^min { <hmin2> >= <hmin1> } ^max { <hmax2> <= <hmax1> } ^com { <hcom2> < <hcom1> })
{ <v> (horizontal-s ^net-name <nn> ^min { <vmin> <= <hcom2> } ^max { <vmax> >= <hcom1> } ^com { <vcom> >= <hmin2> <= <hmax2> } ^id <id>) }
(horizontal ^net-name nil ^min <= <hcom2> ^max >= <hcom1> ^com { <vcom2> >= <hmin2> <= <hmax2> })
- (horizontal-s ^net-name <> <nn> ^com <vcom2>)
-->
(remove <v>)
(make next-segment <nn> row <vcom2> nil <vmin> <vmax>)
)
(p p598
(move-ff <nn>)
(vertical ^net-name <nn> ^min <hmin1> ^max <hmax1> ^com <hcom1>)
(vertical ^net-name <nn> ^min { <hmin2> >= <hmin1> } ^max { <hmax2> <= <hmax1> } ^com { <hcom2> > <hcom1> })
{ <v> (horizontal-s ^net-name <nn> ^min { <vmin> <= <hcom1> } ^max { <vmax> >= <hcom2> } ^com { <vcom> >= <hmin2> <= <hmax2> } ^id <id>) }
(horizontal ^net-name nil ^min <= <hcom1> ^max >= <hcom2> ^com { <vcom2> >= <hmin2> <= <hmax2> })
- (horizontal-s ^net-name <> <nn> ^com <vcom2>)
-->
(remove <v>)
(make next-segment <nn> row <vcom2> nil <vmin> <vmax>)
)
(p p599
(move-ff <nn>)
(vertical ^net-name <nn> ^min <hmin1> ^max <hmax1> ^com <hcom1>)
(vertical ^net-name <nn> ^min { <hmin2> >= <hmin1> <= <hmax1> } ^max { <hmax2> >= <hmax1> } ^com { <hcom2> < <hcom1> })
{ <v> (horizontal-s ^net-name <nn> ^min { <vmin> <= <hcom2> } ^max { <vmax> >= <hcom1> } ^com { <vcom> >= <hmin2> <= <hmax1> } ^id <id>) }
(horizontal ^net-name nil ^min <= <hcom2> ^max >= <hcom1> ^com { <vcom2> >= <hmin2> <= <hmax1> })
- (horizontal-s ^net-name <> <nn> ^com <vcom2>)
-->
(remove <v>)
(make next-segment <nn> row <vcom2> nil <vmin> <vmax>)
)
(p p600
(move-ff <nn>)
(vertical ^net-name <nn> ^min <hmin1> ^max <hmax1> ^com <hcom1>)
(vertical ^net-name <nn> ^min { <hmin2> >= <hmin1> <= <hmax1> } ^max { <hmax2> >= <hmax1> } ^com { <hcom2> > <hcom1> })
{ <v> (horizontal-s ^net-name <nn> ^min { <vmin> <= <hcom1> } ^max { <vmax> >= <hcom2> } ^com { <vcom> >= <hmin2> <= <hmax1> } ^id <id>) }
(horizontal ^net-name nil ^min <= <hcom1> ^max >= <hcom2> ^com { <vcom2> >= <hmin2> <= <hmax1> })
- (horizontal-s ^net-name <> <nn> ^com <vcom2>)
-->
(remove <v>)
(make next-segment <nn> row <vcom2> nil <vmin> <vmax>)
)
(p p601
{ <m> (move-ff) }
-->
(remove <m>)
)
(p p602
{ <e> (end-of-specialized-move-ff) }
- (next-segment)
-->
(remove <e>)
(make context ^present check-for-routed-net)
)
(p p603
(context ^present << check-for-routed-net propagate-constraint >>)
(<< dominant-layer change-priority next-segment >>)
-->
(remove 2)
)
(p p244
(context ^present lshape1)
(<< total-verti counted-verti total counted >>)
-->
(remove 2)
)
(p p245
(context ^present lshape1)
(last-row <gy>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from north)
- (ff ^net-name <nn> ^grid-y <gy> ^pin-name <> <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx> } ^grid-y <gy2>)
- (vertical ^com { > <gx> < <gx2> })
(horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy> ^layer <lay> ^commo <hcmo> ^compo <hcpo> ^min-net <mn>)
- (pin ^pin-x <gx2> ^pin-y <hcpo>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> nil <> <nn> } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
-->
(make horizontal ^layer <lay> ^min <hmin> ^max <gx> ^min-net <mn> ^max-net <nn> ^com <gy> ^commo <hcmo> ^compo <hcpo>)
(modify 5 ^min <gx2> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^layer <lay> ^min <gx> ^max <gx2> ^com <gy> ^commo <hcmo> ^compo <hcpo>)
(modify 3 ^grid-x <gx2> ^came-from west)
)
(p p246
(context ^present lshape1)
(last-row <gy>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from north)
- (ff ^net-name <nn> ^grid-y <gy> ^pin-name <> <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx> } ^grid-y <gy2>)
- (vertical ^com { > <gx2> < <gx> })
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx> } ^com <gy> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (pin ^pin-x <gx2> ^pin-y <hcpo>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy> ^max >= <gy> ^com <gx2> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <gy> ^layer <lay>)
-->
(make horizontal ^layer <lay> ^min <hmin> ^max <gx2> ^min-net <mn> ^max-net <nn> ^com <gy> ^commo <hcmo> ^compo <hcpo>)
(modify 5 ^min <gx> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^layer <lay> ^min <gx2> ^max <gx> ^com <gy> ^commo <hcmo> ^compo <hcpo>)
(modify 3 ^grid-x <gx2> ^came-from east)
)
(p p247
(context ^present lshape1)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y 1 ^grid-layer <lay> ^pin-name <pn> ^came-from south)
- (ff ^net-name <nn> ^grid-y 1 ^pin-name <> <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx> } ^grid-y <gy2>)
- (vertical ^com { > <gx> < <gx2> })
(horizontal ^net-name nil ^min { <hmin> <= <gx> } ^max { <hmax> > <hmin> >= <gx2> } ^com 1 ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (pin ^pin-x <gx2> ^pin-y 0)
- (vertical ^net-name { <> <nn> <> nil } ^min <= 1 ^max >= 1 ^com <gx2> ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com 1 ^layer <lay>)
-->
(make horizontal ^layer <lay> ^min <hmin> ^max <gx> ^min-net <mn> ^max-net <nn> ^com 1 ^commo <hcmo> ^compo <hcpo>)
(modify 4 ^min <gx2> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^layer <lay> ^min <gx> ^max <gx2> ^com 1 ^commo <hcmo> ^compo <hcpo>)
(modify 2 ^grid-x <gx2> ^came-from west)
)
(p p248
(context ^present lshape1)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y 1 ^grid-layer <lay> ^pin-name <pn> ^came-from south)
- (ff ^net-name <nn> ^grid-y 1 ^pin-name <> <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx> } ^grid-y <gy2>)
- (vertical ^com { > <gx2> < <gx> })
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx> } ^com 1 ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (pin ^pin-x <gx2> ^pin-y 0)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= 1 ^max >= 1 ^com <gx2> ^layer <lay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com 1 ^layer <lay>)
-->
(make horizontal ^layer <lay> ^min <hmin> ^max <gx2> ^min-net <mn> ^max-net <nn> ^com 1 ^commo <hcmo> ^compo <hcpo>)
(modify 4 ^min <gx> ^min-net <nn>)
(make horizontal ^net-name <nn> ^pin-name <pn> ^layer <lay> ^min <gx2> ^max <gx> ^com 1 ^commo <hcmo> ^compo <hcpo>)
(modify 2 ^grid-x <gx2> ^came-from east)
)
(p p249
(context ^present lshape1)
(last-col <gx>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from east)
- (ff ^net-name <nn> ^grid-x <gx> ^pin-name <> <pn>)
(ff ^net-name <nn> ^grid-x <gx2> ^grid-y { <gy2> > <gy> })
- (horizontal ^com { > <gy> < <gy2> })
(vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { <vmax> >= <gy2> > <vmin> } ^com <gx> ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
- (pin ^pin-x <vcpo> ^pin-y <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
-->
(make vertical ^layer <lay> ^min <vmin> ^max <gy> ^min-net <mn> ^max-net <nn> ^com <gx> ^commo <vcmo> ^compo <vcpo>)
(modify 5 ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^layer <lay> ^min <gy> ^max <gy2> ^com <gx> ^commo <vcmo> ^compo <vcpo>)
(modify 3 ^grid-y <gy2> ^came-from south)
)
(p p250
(context ^present lshape1)
(last-col <gx>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from east)
- (ff ^net-name <nn> ^grid-x <gx> ^pin-name <> <pn>)
(ff ^net-name <nn> ^grid-x <gx2> ^grid-y { <gy2> < <gy> })
- (horizontal ^com { > <gy2> < <gy> })
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> >= <gy> > <vmin> } ^com <gx> ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
- (pin ^pin-x <vcpo> ^pin-y <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= <gx> ^max >= <gx> ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <gx> ^layer <lay>)
-->
(make vertical ^layer <lay> ^min <vmin> ^max <gy2> ^min-net <mn> ^max-net <nn> ^com <gx> ^commo <vcmo> ^compo <vcpo>)
(modify 5 ^min <gy> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^layer <lay> ^min <gy2> ^max <gy> ^com <gx> ^commo <vcmo> ^compo <vcpo>)
(modify 3 ^grid-y <gy2> ^came-from north)
)
(p p251
(context ^present lshape1)
(ff ^net-name <nn> ^grid-x 1 ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from west)
- (ff ^net-name <nn> ^grid-x 1 ^pin-name <> <pn>)
(ff ^net-name <nn> ^grid-x <gx2> ^grid-y { <gy2> > <gy> })
- (horizontal ^com { > <gy> < <gy2> })
(vertical ^net-name nil ^min { <vmin> <= <gy> } ^max { <vmax> > <vmin> >= <gy2> } ^com 1 ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
- (pin ^pin-x 0 ^pin-y <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= 1 ^max >= 1 ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com 1 ^layer <lay>)
-->
(make vertical ^layer <lay> ^min <vmin> ^max <gy> ^min-net <mn> ^max-net <nn> ^com 1 ^commo <vcmo> ^compo <vcpo>)
(modify 4 ^min <gy2> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^layer <lay> ^min <gy> ^max <gy2> ^com 1 ^commo <vcmo> ^compo <vcpo>)
(modify 2 ^grid-y <gy2> ^came-from south)
)
(p p252
(context ^present lshape1)
(ff ^net-name <nn> ^grid-x 1 ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from west)
- (ff ^net-name <nn> ^grid-x 1 ^pin-name <> <pn>)
(ff ^net-name <nn> ^grid-x <gx2> ^grid-y { <gy2> < <gy> })
- (horizontal ^com { > <gy2> < <gy> })
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy> } ^com 1 ^layer <lay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
- (pin ^pin-x 0 ^pin-y <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min <= 1 ^max >= 1 ^com <gy2> ^layer <lay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com 1 ^layer <lay>)
-->
(make vertical ^layer <lay> ^min <vmin> ^max <gy2> ^min-net <mn> ^max-net <nn> ^com 1 ^commo <vcmo> ^compo <vcpo>)
(modify 4 ^min <gy> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^layer <lay> ^min <gy2> ^max <gy> ^com 1 ^commo <vcmo> ^compo <vcpo>)
(modify 2 ^grid-y <gy2> ^came-from north)
)
(p p253
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> >= <gy1> > <vmin> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> >= <gx2> > <hmin> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p254
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx2> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p255
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> > <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy1> } ^max { <vmax> > <vmin> >= <gy2> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy2> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy1> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p256
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <hlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <vlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx2> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy1> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx2>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy1>)
-->
(remove 1 3 4)
(make vertical ^com <gx2> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p257
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
(ff ^net-name { <nn1> <> <nn> } ^grid-y <gy2> ^grid-x < <gx1>)
- (pin ^net-name <nn1> ^pin-x >= <gx1>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p258
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
(ff ^net-name { <nn1> <> <nn> } ^grid-y <gy2> ^grid-x > <gx1>)
- (pin ^net-name <nn1> ^pin-x <= <gx1>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx2> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p259
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> > <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy1> } ^max { <vmax> > <vmin> >= <gy2> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
(ff ^net-name { <nn1> <> <nn> } ^grid-y <gy2> ^grid-x < <gx1>)
- (pin ^net-name <nn1> ^pin-x >= <gx1>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy2> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy1> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p260
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <hlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <vlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx2> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy1> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx2>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx2>)
(ff ^net-name { <nn1> <> <nn> } ^grid-y <gy1> ^grid-x > <gx2>)
- (pin ^net-name <nn1> ^pin-x <= <gx2>)
-->
(remove 1 3 4)
(make vertical ^com <gx2> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p261
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
(ff ^net-name { <nn1> <> <nn> } ^grid-x <gx1> ^grid-y < <gy2>)
- (pin ^net-name <nn1> ^pin-y >= <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p262
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
(ff ^net-name { <nn1> <> <nn> } ^grid-x <gx1> ^grid-y < <gy2>)
- (pin ^net-name <nn1> ^pin-y >= <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx2> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p263
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> > <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy1> } ^max { <vmax> > <vmin> >= <gy2> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
(ff ^net-name { <nn1> <> <nn> } ^grid-x <gx1> ^grid-y > <gy2>)
- (pin ^net-name <nn1> ^pin-y <= <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy2> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy1> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p264
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <hlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <vlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx2> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy1> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy1>)
(ff ^net-name { <nn1> <> <nn> } ^grid-x <gx2> ^grid-y > <gy1>)
- (pin ^net-name <nn1> ^pin-y <= <gy1>)
-->
(remove 1 3 4)
(make vertical ^com <gx2> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p265
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
(ff ^net-name { <nn1> <> <nn> } ^grid-x <gx1> ^grid-y < <gy2>)
- (pin ^net-name <nn1> ^pin-y >= <gy2>)
(ff ^net-name { <nn2> <> <nn> } ^grid-y <gy2> ^grid-x < <gx1>)
- (pin ^net-name <nn2> ^pin-x >= <gx1>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p266
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
(ff ^net-name { <nn1> <> <nn> } ^grid-x <gx1> ^grid-y < <gy2>)
- (pin ^net-name <nn1> ^pin-y >= <gy2>)
(ff ^net-name { <nn2> <> <nn> } ^grid-y <gy2> ^grid-x > <gx1>)
- (pin ^net-name <nn2> ^pin-x <= <gx1>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx2> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p267
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> > <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy1> } ^max { <vmax> > <vmin> >= <gy2> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
(ff ^net-name { <nn1> <> <nn> } ^grid-x <gx1> ^grid-y > <gy2>)
- (pin ^net-name <nn1> ^pin-y <= <gy2>)
(ff ^net-name { <nn2> <> <nn> } ^grid-y <gy2> ^grid-x < <gx1>)
- (pin ^net-name <nn2> ^pin-x >= <gx1>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy2> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy1> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p268
(context ^present lshape1)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <hlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <vlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx2> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy1> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
(ff ^net-name { <nn1> <> <nn> } ^grid-x <gx2> ^grid-y > <gy1>)
- (pin ^net-name <nn1> ^pin-y <= <gy1>)
(ff ^net-name { <nn2> <> <nn> } ^grid-y <gy1> ^grid-x > <gx2>)
- (pin ^net-name <nn2> ^pin-x <= <gx2>)
-->
(remove 1 3 4)
(make vertical ^com <gx2> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p269
(context ^present lshape2)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p270
(context ^present lshape2)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx2> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p271
(context ^present lshape2)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> > <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy1> } ^max { <vmax> > <vmin> >= <gy2> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy2> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy1> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p272
(context ^present lshape2)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <hlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <vlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx2> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy1> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx2>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx2>)
-->
(remove 1 3 4)
(make vertical ^com <gx2> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p273
(context ^present lshape2)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p274
(context ^present lshape2)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx2> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p275
(context ^present lshape2)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> > <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy1> } ^max { <vmax> > <vmin> >= <gy2> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy2> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy1> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p276
(context ^present lshape2)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <hlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <vlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx2> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy1> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy1>)
-->
(remove 1 3 4)
(make vertical ^com <gx2> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p277
(context ^present lshape3)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p278
(context ^present lshape3)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx2> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p279
(context ^present lshape3)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <vlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> > <gy1> } ^grid-layer <hlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy1> } ^max { <vmax> > <vmin> >= <gy2> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy2> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy1> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p280
(context ^present lshape3)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <hlay> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <vlay>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx2> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy1> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
-->
(remove 1 3 4)
(make vertical ^com <gx2> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p281
(context ^present lshape4)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <garb1> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <garb2>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p282
(context ^present lshape4)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <garb1> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <garb2>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx2> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p283
(context ^present lshape4)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <garb1> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> > <gy1> } ^grid-layer <garb2>)
(vertical ^net-name nil ^min { <vmin> <= <gy1> } ^max { <vmax> > <vmin> >= <gy2> } ^com <gx1> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy2> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx1>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy2>)
-->
(remove 1 3 4)
(make vertical ^com <gx1> ^layer <vlay> ^min <vmin> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy2> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <vlay> ^min <gy1> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy2> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p284
(context ^present lshape4)
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <garb1> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <garb2>)
(vertical ^net-name nil ^min { <vmin> <= <gy2> } ^max { <vmax> > <vmin> >= <gy1> } ^com <gx2> ^layer <vlay> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn>)
(horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com <gy1> ^layer <hlay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>)
(vertical-layer <vlay>)
(horizontal-layer <hlay>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^max <= <vmin> ^com <gx2>)
- (vertical ^status nil ^net-name { <> <nn> <> nil } ^min >= <vmax> ^com <gx2>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^max <= <hmin> ^com <gy1>)
- (horizontal ^status nil ^net-name { <> <nn> <> nil } ^min >= <hmax> ^com <gy1>)
-->
(remove 1 3 4)
(make vertical ^com <gx2> ^layer <vlay> ^min <vmin> ^max <gy2> ^compo <vcpo> ^commo <vcmo> ^min-net <vnn> ^max-net <nn>)
(modify 5 ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <hmin> ^max <gx1> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify 6 ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <vlay> ^min <gy2> ^max <gy1> ^compo <vcpo> ^commo <vcmo> ^net-name <nn> ^pin-name <pn>)
(make horizontal ^com <gy1> ^layer <hlay> ^min <gx1> ^max <gx2> ^compo <hcpo> ^commo <hcmo> ^net-name <nn> ^pin-name <pn>)
(make context ^present check-for-routed-net)
)
(p p285
{ <c> (context ^present lshape1) }
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>) }
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>)
- (ff ^grid-x <gx1> ^net-name <> <nn>)
{ <v> (vertical ^net-name nil ^min { <vmin1> <= <gy1> } ^max { <vmax1> > <vmin1> >= <gy1> } ^com <gx1> ^layer <lay> ^commo <gx2> ^compo <cpo> ^min-net <vnn1>) }
{ <h> (horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com { <hcom> >= <vmin1> < <gy1> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>) }
(vertical-layer <lay>)
(ff ^grid-x <gx2> ^net-name <> <nn>)
- (horizontal ^net-name nil ^min <= <gx2> ^max >= <gx1> ^com { >= <vmin1> < <hcom> } ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <hcom>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gx1>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <hcom>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gx2>)
-->
(remove <c>)
(make vertical ^com <gx1> ^layer <lay> ^min <vmin1> ^max <hcom> ^compo <cpo> ^commo <gx2> ^min-net <vnn1> ^max-net <nn>)
(modify <v> ^min <gy1> ^min-net <nn>)
(make horizontal ^min <hmin> ^max <gx2> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify <h> ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <lay> ^min <hcom> ^max <gy1> ^commo <gx2> ^compo <cpo> ^net-name <nn> ^pin-name <pn1>)
(make horizontal ^com <hcom> ^layer <lay> ^min <gx2> ^max <gx1> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn1>)
(modify <ff> ^grid-x <gx2> ^grid-y <hcom> ^can-chng-layer nil ^came-from east)
(make context ^present check-for-routed-net)
)
(p p286
{ <c> (context ^present lshape1) }
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>) }
- (ff ^grid-x <gx2> ^net-name <> <nn>)
{ <v> (vertical ^net-name nil ^min { <vmin1> <= <gy2> } ^max { <vmax1> > <vmin1> >= <gy2> } ^com <gx2> ^layer <lay> ^commo <cmo> ^compo <gx1> ^max-net <vnn1>) }
{ <h> (horizontal ^net-name nil ^min { <hmin> <= <gx2> } ^max { <hmax> > <hmin> >= <gx1> } ^com { <hcom> <= <vmax1> > <gy2> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>) }
(vertical-layer <lay>)
(ff ^grid-x <gx1> ^net-name <> <nn>)
- (horizontal ^net-name nil ^min <= <gx2> ^max >= <gx1> ^com { <= <vmax1> > <hcom> } ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <hcom>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gx2>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <hcom>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gx1>)
-->
(remove <c>)
(make vertical ^com <gx2> ^layer <lay> ^min <hcom> ^max <vmax1> ^compo <gx1> ^commo <cmo> ^max-net <vnn1> ^min-net <nn>)
(modify <v> ^max <gy2> ^max-net <nn>)
(make horizontal ^min <hmin> ^max <gx2> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify <h> ^min <gx1> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <lay> ^max <hcom> ^min <gy2> ^commo <cmo> ^compo <gx1> ^net-name <nn> ^pin-name <pn2>)
(make horizontal ^com <hcom> ^layer <lay> ^min <gx2> ^max <gx1> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn2>)
(modify <ff> ^grid-x <gx1> ^grid-y <hcom> ^can-chng-layer nil ^came-from west)
(make context ^present check-for-routed-net)
)
(p p287
{ <c> (context ^present lshape1) }
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>) }
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>)
- (ff ^grid-x <gx1> ^net-name <> <nn>)
{ <v> (vertical ^net-name nil ^min { <vmin1> <= <gy1> } ^max { <vmax1> > <vmin1> >= <gy1> } ^com <gx1> ^layer <lay> ^commo <cmo> ^compo <gx2> ^min-net <vnn1>) }
{ <h> (horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com { <hcom> >= <vmin1> < <gy1> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>) }
(vertical-layer <lay>)
(ff ^grid-x <gx2> ^net-name <> <nn>)
- (horizontal ^net-name nil ^min <= <gx1> ^max >= <gx2> ^com { >= <vmin1> < <hcom> } ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <hcom>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gx1>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <hcom>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gx2>)
-->
(remove <c>)
(make vertical ^com <gx1> ^layer <lay> ^min <vmin1> ^max <hcom> ^compo <gx2> ^commo <cmo> ^min-net <vnn1> ^max-net <nn>)
(modify <v> ^min <gy1> ^min-net <nn>)
(make horizontal ^min <hmin> ^max <gx1> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify <h> ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx1> ^layer <lay> ^min <hcom> ^max <gy1> ^commo <cmo> ^compo <gx2> ^net-name <nn> ^pin-name <pn1>)
(make horizontal ^com <hcom> ^layer <lay> ^min <gx1> ^max <gx2> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn1>)
(modify <ff> ^grid-x <gx2> ^grid-y <hcom> ^can-chng-layer nil ^came-from west)
(make context ^present check-for-routed-net)
)
(p p288
{ <c> (context ^present lshape1) }
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>) }
- (ff ^grid-x <gx2> ^net-name <> <nn>)
{ <v> (vertical ^net-name nil ^min { <vmin1> <= <gy2> } ^max { <vmax1> > <vmin1> >= <gy2> } ^com <gx2> ^layer <lay> ^commo <gx1> ^compo <cpo> ^max-net <vnn1>) }
{ <h> (horizontal ^net-name nil ^min { <hmin> <= <gx1> } ^max { <hmax> > <hmin> >= <gx2> } ^com { <hcom> <= <vmax1> > <gy2> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>) }
(vertical-layer <lay>)
(ff ^grid-x <gx1> ^net-name <> <nn>)
- (horizontal ^net-name nil ^min <= <gx1> ^max >= <gx2> ^com { <= <vmax1> > <hcom> } ^layer <lay>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx2> ^max >= <gx2> ^com <hcom>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gx2>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <gx1> ^max >= <gx1> ^com <hcom>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gx1>)
-->
(remove <c>)
(make vertical ^com <gx2> ^layer <lay> ^min <hcom> ^max <vmax1> ^compo <cpo> ^commo <gx1> ^max-net <vnn1> ^min-net <nn>)
(modify <v> ^max <gy2> ^max-net <nn>)
(make horizontal ^min <hmin> ^max <gx1> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify <h> ^min <gx2> ^min-net <nn>)
(make vertical ^com <gx2> ^layer <lay> ^max <hcom> ^min <gy2> ^commo <gx1> ^compo <cpo> ^net-name <nn> ^pin-name <pn2>)
(make horizontal ^com <hcom> ^layer <lay> ^min <gx1> ^max <gx2> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn2>)
(modify <ff> ^grid-x <gx1> ^grid-y <hcom> ^can-chng-layer nil ^came-from east)
(make context ^present check-for-routed-net)
)
(p p289
{ <c> (context ^present lshape1) }
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>) }
(ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>)
- (ff ^grid-y <gy1> ^net-name <> <nn>)
{ <v> (horizontal ^net-name nil ^min { <vmin1> <= <gx1> } ^max { <vmax1> > <vmin1> >= <gx1> } ^com <gy1> ^layer <lay> ^commo <gy2> ^compo <cpo> ^min-net <vnn1>) }
{ <h> (vertical ^net-name nil ^min { <hmin> <= <gy2> } ^max { <hmax> > <hmin> >= <gy1> } ^com { <hcom> >= <vmin1> < <gx1> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>) }
(horizontal-layer <lay>)
(ff ^grid-y <gy2> ^net-name <> <nn>)
- (vertical ^net-name nil ^min <= <gy2> ^max >= <gy1> ^com { >= <vmin1> < <hcom> } ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <hcom>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gy1>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <hcom>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gy2>)
-->
(remove <c>)
(make horizontal ^com <gy1> ^layer <lay> ^min <vmin1> ^max <hcom> ^compo <cpo> ^commo <gy2> ^min-net <vnn1> ^max-net <nn>)
(modify <v> ^min <gx1> ^min-net <nn>)
(make vertical ^min <hmin> ^max <gy2> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify <h> ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <lay> ^min <hcom> ^max <gx1> ^commo <gy2> ^compo <cpo> ^net-name <nn> ^pin-name <pn1>)
(make vertical ^com <hcom> ^layer <lay> ^min <gy2> ^max <gy1> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn1>)
(modify <ff> ^grid-y <gy2> ^grid-x <hcom> ^can-chng-layer nil ^came-from north)
(make context ^present check-for-routed-net)
)
(p p290
{ <c> (context ^present lshape1) }
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx2> < <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>) }
- (ff ^grid-y <gy2> ^net-name <> <nn>)
{ <v> (horizontal ^net-name nil ^min { <vmin1> <= <gx2> } ^max { <vmax1> > <vmin1> >= <gx2> } ^com <gy2> ^layer <lay> ^commo <cmo> ^compo <gy1> ^max-net <vnn1>) }
{ <h> (vertical ^net-name nil ^min { <hmin> <= <gy2> } ^max { <hmax> > <hmin> >= <gy1> } ^com { <hcom> <= <vmax1> > <gx2> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>) }
(horizontal-layer <lay>)
(ff ^grid-y <gy1> ^net-name <> <nn>)
- (vertical ^net-name nil ^min <= <gy2> ^max >= <gy1> ^com { <= <vmax1> > <hcom> } ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <hcom>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gy2>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <hcom>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gy1>)
-->
(remove <c>)
(make horizontal ^com <gy2> ^layer <lay> ^min <hcom> ^max <vmax1> ^compo <gy1> ^commo <cmo> ^max-net <vnn1> ^min-net <nn>)
(modify <v> ^max <gx2> ^max-net <nn>)
(make vertical ^min <hmin> ^max <gy2> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify <h> ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <lay> ^max <hcom> ^min <gx2> ^commo <cmo> ^compo <gy1> ^net-name <nn> ^pin-name <pn2>)
(make vertical ^com <hcom> ^layer <lay> ^min <gy2> ^max <gy1> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn2>)
(modify <ff> ^grid-y <gy1> ^grid-x <hcom> ^can-chng-layer nil ^came-from south)
(make context ^present check-for-routed-net)
)
(p p291
{ <c> (context ^present lshape1) }
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
{ <ff> (ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>) }
(ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>)
- (ff ^grid-y <gy1> ^net-name <> <nn>)
{ <v> (horizontal ^net-name nil ^min { <vmin1> <= <gx1> } ^max { <vmax1> > <vmin1> >= <gx1> } ^com <gy1> ^layer <lay> ^commo <gy2> ^compo <cpo> ^max-net <vnn1>) }
{ <h> (vertical ^net-name nil ^min { <hmin> <= <gy2> } ^max { <hmax> > <hmin> >= <gy1> } ^com { <hcom> <= <vmax1> > <gx1> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>) }
(horizontal-layer <lay>)
(ff ^grid-y <gy2> ^net-name <> <nn>)
- (vertical ^net-name nil ^min <= <gy2> ^max >= <gy1> ^com { <= <vmax1> > <hcom> } ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <hcom>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gy1>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <hcom>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gy2>)
-->
(remove <c>)
(make horizontal ^com <gy1> ^layer <lay> ^min <hcom> ^max <vmax1> ^compo <cpo> ^commo <gy2> ^max-net <vnn1> ^min-net <nn>)
(modify <v> ^max <gx1> ^max-net <nn>)
(make vertical ^min <hmin> ^max <gy2> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify <h> ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy1> ^layer <lay> ^min <gx1> ^max <hcom> ^commo <gy2> ^compo <cpo> ^net-name <nn> ^pin-name <pn1>)
(make vertical ^com <hcom> ^layer <lay> ^min <gy2> ^max <gy1> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn1>)
(modify <ff> ^grid-y <gy2> ^grid-x <hcom> ^can-chng-layer nil ^came-from north)
(make context ^present check-for-routed-net)
)
(p p292
{ <c> (context ^present lshape1) }
(net ^net-name <nn> ^net-no-of-pins 2 ^net-is-routed <> yes)
(ff ^net-name <nn> ^grid-x <gx1> ^grid-y <gy1> ^grid-layer <lay> ^pin-name <pn1>)
{ <ff> (ff ^net-name <nn> ^grid-x { <gx2> > <gx1> } ^grid-y { <gy2> < <gy1> } ^grid-layer <lay> ^pin-name <pn2>) }
- (ff ^grid-y <gy2> ^net-name <> <nn>)
{ <v> (horizontal ^net-name nil ^min { <vmin1> <= <gx2> } ^max { <vmax1> > <vmin1> >= <gx2> } ^com <gy2> ^layer <lay> ^commo <cmo> ^compo <gy1> ^min-net <vnn1>) }
{ <h> (vertical ^net-name nil ^min { <hmin> <= <gy2> } ^max { <hmax> > <hmin> >= <gy1> } ^com { <hcom> >= <vmin1> < <gx2> } ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn>) }
(horizontal-layer <lay>)
(ff ^grid-y <gy1> ^net-name <> <nn>)
- (vertical ^net-name nil ^min <= <gy2> ^max >= <gy1> ^com { >= <vmin1> < <hcom> } ^layer <lay>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy2> ^max >= <gy2> ^com <hcom>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gy2>)
- (vertical ^net-name { <> <nn> <> nil } ^min <= <gy1> ^max >= <gy1> ^com <hcom>)
- (horizontal ^net-name { <> <nn> <> nil } ^min <= <hcom> ^max >= <hcom> ^com <gy1>)
-->
(remove <c>)
(make horizontal ^com <gy2> ^layer <lay> ^min <vmin1> ^max <hcom> ^compo <gy1> ^commo <cmo> ^min-net <vnn1> ^max-net <nn>)
(modify <v> ^min <gx2> ^min-net <nn>)
(make vertical ^min <hmin> ^max <gy2> ^com <hcom> ^layer <lay> ^compo <hcpo> ^commo <hcmo> ^min-net <hnn> ^max-net <nn>)
(modify <h> ^min <gy1> ^min-net <nn>)
(make horizontal ^com <gy2> ^layer <lay> ^max <gx2> ^min <hcom> ^commo <cmo> ^compo <gy1> ^net-name <nn> ^pin-name <pn2>)
(make vertical ^com <hcom> ^layer <lay> ^min <gy2> ^max <gy1> ^commo <hcmo> ^compo <hcpo> ^net-name <nn> ^pin-name <pn2>)
(modify <ff> ^grid-y <gy1> ^grid-x <hcom> ^can-chng-layer nil ^came-from south)
(make context ^present check-for-routed-net)
)
(p p211
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> west ^can-chng-layer no)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx> })
(horizontal ^net-name nil ^min { <min> <= <gx2> } ^max { <max> >= <gx> > <min> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min < <gx> ^max >= <gx>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x >= <gx> ^grid-y < <gy>)
- (ff ^net-name <nn> ^grid-x >= <gx> ^grid-y > <gy>)
-->
(make horizontal ^min <min> ^max (compute <gx> - 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min <gx> ^min-net <nn>)
(make horizontal ^max <gx> ^min (compute <gx> - 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-x (compute <gx> - 1) ^came-from east ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p212
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> south ^can-chng-layer no)
(ff ^net-name <nn> ^grid-y { <gy2> < <gy> })
(vertical ^net-name nil ^min { <min> <= <gy2> } ^max { <max> > <min> >= <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min < <gy> ^max >= <gy>)
- (vertical ^net-name nil ^min < <gy> ^max >= <gy> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x < <gx> ^grid-y >= <gy>)
- (ff ^net-name <nn> ^grid-x > <gx> ^grid-y >= <gy>)
-->
(make vertical ^min <min> ^max (compute <gy> - 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min <gy> ^min-net <nn>)
(make vertical ^max <gy> ^min (compute <gy> - 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-y (compute <gy> - 1) ^came-from north ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p213
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> east ^can-chng-layer no)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx> })
(horizontal ^net-name nil ^min { <min> <= <gx> } ^max { <max> > <min> >= <gx2> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max > <gx>)
- (horizontal ^net-name nil ^min <= <gx> ^max > <gx> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x <= <gx> ^grid-y < <gy>)
- (ff ^net-name <nn> ^grid-x <= <gx> ^grid-y > <gy>)
-->
(make horizontal ^max <max> ^min (compute <gx> + 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^max-net <hnn> ^min-net <nn>)
(modify 4 ^max <gx> ^max-net <nn>)
(make horizontal ^min <gx> ^max (compute <gx> + 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-x (compute <gx> + 1) ^came-from west ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p214
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> north ^can-chng-layer no)
(ff ^net-name <nn> ^grid-y { <gy2> > <gy> })
(vertical ^net-name nil ^min { <min> <= <gy> } ^max { <max> > <min> >= <gy2> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max > <gy>)
- (vertical ^net-name nil ^min <= <gy> ^max > <gy> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x < <gx> ^grid-y <= <gy>)
- (ff ^net-name <nn> ^grid-x > <gx> ^grid-y <= <gy>)
-->
(make vertical ^max <max> ^min (compute <gy> + 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^max-net <hnn> ^min-net <nn>)
(modify 4 ^max <gy> ^max-net <nn>)
(make vertical ^min <gy> ^max (compute <gy> + 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-y (compute <gy> + 1) ^came-from south ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p215
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> west ^can-chng-layer no)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx> } ^grid-y <= <gy>)
(horizontal ^net-name nil ^min { <min> <= <gx2> } ^max { <max> > <min> >= <gx> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min < <gx> ^max >= <gx>)
- (vertical ^net-name nil ^min < <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (ff ^net-name <nn> ^grid-y > <gy>)
-->
(make horizontal ^min <min> ^max (compute <gx> - 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min <gx> ^min-net <nn>)
(make horizontal ^max <gx> ^min (compute <gx> - 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-x (compute <gx> - 1) ^came-from east ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p216
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> west ^can-chng-layer no)
(ff ^net-name <nn> ^grid-x { <gx2> < <gx> } ^grid-y >= <gy>)
(horizontal ^net-name nil ^min { <min> <= <gx2> } ^max { <max> > <min> >= <gx> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min < <gx> ^max >= <gx>)
- (vertical ^net-name nil ^min <= <gy> ^max > <gy> ^com <gx> ^layer <lay>)
- (ff ^net-name <nn> ^grid-y < <gy>)
-->
(make horizontal ^min <min> ^max (compute <gx> - 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min <gx> ^min-net <nn>)
(make horizontal ^max <gx> ^min (compute <gx> - 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-x (compute <gx> - 1) ^came-from east ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p217
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> east ^can-chng-layer no)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx> } ^grid-y <= <gy>)
(horizontal ^net-name nil ^min { <min> <= <gx> } ^max { <max> > <min> >= <gx2> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max > <gx>)
- (vertical ^net-name nil ^min < <gy> ^max >= <gy> ^com <gx> ^layer <lay>)
- (ff ^net-name <nn> ^grid-y > <gy>)
-->
(make horizontal ^max <max> ^min (compute <gx> + 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^max-net <hnn> ^min-net <nn>)
(modify 4 ^max <gx> ^max-net <nn>)
(make horizontal ^min <gx> ^max (compute <gx> + 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-x (compute <gx> + 1) ^came-from west ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p218
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> east ^can-chng-layer no)
(ff ^net-name <nn> ^grid-x { <gx2> > <gx> } ^grid-y >= <gy>)
(horizontal ^net-name nil ^min { <min> <= <gx> } ^max { <max> > <min> >= <gx2> } ^com <gy> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max > <gx>)
- (vertical ^net-name nil ^min <= <gy> ^max > <gy> ^com <gx> ^layer <lay>)
- (ff ^net-name <nn> ^grid-y < <gy>)
-->
(make horizontal ^max <max> ^min (compute <gx> + 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^max-net <hnn> ^min-net <nn>)
(modify 4 ^max <gx> ^max-net <nn>)
(make horizontal ^min <gx> ^max (compute <gx> + 1) ^com <gy> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-x (compute <gx> + 1) ^came-from west ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p219
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> north ^can-chng-layer no)
(ff ^net-name <nn> ^grid-y { <gy2> > <gy> } ^grid-x >= <gx>)
(vertical ^net-name nil ^min { <min> <= <gy> } ^max { <max> > <min> >= <gy2> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <vnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max > <gy>)
- (horizontal ^net-name nil ^min <= <gx> ^max > <gx> ^com <gy> ^layer <lay>)
- (ff ^net-name <nn> ^grid-x < <gx>)
-->
(make vertical ^max <max> ^min (compute <gy> + 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^max-net <vnn> ^min-net <nn>)
(modify 4 ^max <gy> ^max-net <nn>)
(make vertical ^min <gy> ^max (compute <gy> + 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-y (compute <gy> + 1) ^came-from south ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p220
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> north ^can-chng-layer no)
(ff ^net-name <nn> ^grid-y { <gy2> > <gy> } ^grid-x <= <gx>)
(vertical ^net-name nil ^min { <min> <= <gy> } ^max { <max> > <min> >= <gy2> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <vnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <gy> ^max > <gy>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (ff ^net-name <nn> ^grid-x > <gx>)
-->
(make vertical ^max <max> ^min (compute <gy> + 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^max-net <vnn> ^min-net <nn>)
(modify 4 ^max <gy> ^max-net <nn>)
(make vertical ^min <gy> ^max (compute <gy> + 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-y (compute <gy> + 1) ^came-from south ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p221
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> south ^can-chng-layer no)
(ff ^net-name <nn> ^grid-y { <gy2> < <gy> } ^grid-x <= <gx>)
(vertical ^net-name nil ^min { <min> <= <gy2> } ^max { <max> > <min> >= <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <vnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min < <gy> ^max >= <gy>)
- (horizontal ^net-name nil ^min < <gx> ^max >= <gx> ^com <gy> ^layer <lay>)
- (ff ^net-name <nn> ^grid-x > <gx>)
-->
(make vertical ^min <min> ^max (compute <gy> - 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^max-net <vnn> ^min-net <nn>)
(modify 4 ^min <gy> ^min-net <nn>)
(make vertical ^max <gy> ^min (compute <gy> - 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-y (compute <gy> - 1) ^came-from north ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p222
(context ^present loose-constraint)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from <> north ^can-chng-layer no)
(ff ^net-name <nn> ^grid-y { <gy2> < <gy> } ^grid-x >= <gx>)
(vertical ^net-name nil ^min { <min> <= <gy2> } ^max { <max> > <min> >= <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <vnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min < <gy> ^max >= <gy>)
- (horizontal ^net-name nil ^min <= <gx> ^max > <gx> ^com <gy> ^layer <lay>)
- (ff ^net-name <nn> ^grid-x < <gx>)
-->
(make vertical ^min <min> ^max (compute <gy> - 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^max-net <vnn> ^min-net <nn>)
(modify 4 ^min <gy> ^min-net <nn>)
(make vertical ^max <gy> ^min (compute <gy> - 1) ^com <gx> ^layer <lay> ^commo <cmo> ^compo <cpo> ^net-name <nn> ^pin-name <pn>)
(modify 2 ^grid-y (compute <gy> - 1) ^came-from north ^can-chng-layer nil)
(remove 1)
(make context ^present propagate-constraint)
)
(p p223
(context ^present loose-constraint)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <com1> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min2> <= <com1> } ^max { <max2> > <min2> >= <gx2> } ^com { <com2> >= <min1> <= <max1> >= <gy> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <com1> ^max > <com1>)
- (horizontal ^net-name nil ^min <= <com1> ^max > <com1> ^com { < <com2> >= <min1> } ^layer <lay>)
- (horizontal ^net-name nil ^min <= <com1> ^max > <com1> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x <com1>)
-->
(make horizontal ^min <min2> ^max <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min (compute <com1> + 1) ^min-net <nn>)
(make horizontal ^min <com1> ^max (compute <com1> + 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-x (compute <com1> + 1) ^grid-y <com2> ^grid-layer <lay> ^came-from west)
(remove 1)
(make context ^present propagate-constraint)
)
(p p224
(context ^present loose-constraint)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-y { <gy2> > <com1> } ^grid-x <gx>)
(vertical ^net-name nil ^min { <min2> <= <com1> } ^max { <max2> > <min2> >= <gy2> } ^com { <com2> >= <min1> <= <max1> >= <gx> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <com1> ^max > <com1>)
- (vertical ^net-name nil ^min <= <com1> ^max > <com1> ^com { < <com2> >= <min1> } ^layer <lay>)
- (vertical ^net-name nil ^min <= <com1> ^max > <com1> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-y <com1>)
-->
(make vertical ^min <min2> ^max <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min (compute <com1> + 1) ^min-net <nn>)
(make vertical ^min <com1> ^max (compute <com1> + 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-y (compute <com1> + 1) ^grid-x <com2> ^grid-layer <lay> ^came-from south)
(remove 1)
(make context ^present propagate-constraint)
)
(p p225
(context ^present loose-constraint)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <com1> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min2> <= <gx2> } ^max { <max2> > <min2> >= <com1> } ^com { <com2> >= <min1> <= <max1> >= <gy> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^max-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min < <com1> ^max >= <com1>)
- (horizontal ^net-name nil ^min < <com1> ^max >= <com1> ^com { < <com2> >= <min1> } ^layer <lay>)
- (horizontal ^net-name nil ^min < <com1> ^max >= <com1> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x <com1>)
-->
(make horizontal ^max <max2> ^min <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^max-net <hnn> ^min-net <nn>)
(modify 4 ^max (compute <com1> - 1) ^max-net <nn>)
(make horizontal ^max <com1> ^min (compute <com1> - 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-x (compute <com1> - 1) ^grid-y <com2> ^grid-layer <lay> ^came-from east)
(remove 1)
(make context ^present propagate-constraint)
)
(p p226
(context ^present loose-constraint)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-y { <gy2> < <com1> } ^grid-x <gx>)
(vertical ^net-name nil ^min { <min2> <= <gy2> } ^max { <max2> > <min2> >= <com1> } ^com { <com2> >= <min1> <= <max1> >= <gx> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^max-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min < <com1> ^max >= <com1>)
- (vertical ^net-name nil ^min < <com1> ^max >= <com1> ^com { < <com2> >= <min1> } ^layer <lay>)
- (vertical ^net-name nil ^min < <com1> ^max >= <com1> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-y <com1>)
-->
(make vertical ^max <max2> ^min <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^max-net <hnn> ^min-net <nn>)
(modify 4 ^max (compute <com1> - 1) ^max-net <nn>)
(make vertical ^max <com1> ^min (compute <com1> - 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-y (compute <com1> - 1) ^grid-x <com2> ^grid-layer <lay> ^came-from north)
(remove 1)
(make context ^present propagate-constraint)
)
(p p227
(context ^present loose-constraint)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <com1> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min2> <= <com1> } ^max { <max2> > <min2> >= <gx2> } ^com { <com2> >= <min1> <= <max1> <= <gy> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <com1> ^max > <com1>)
- (horizontal ^net-name nil ^min <= <com1> ^max > <com1> ^com { > <com2> <= <max1> } ^layer <lay>)
- (horizontal ^net-name nil ^min <= <com1> ^max > <com1> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x <com1>)
-->
(make horizontal ^min <min2> ^max <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min (compute <com1> + 1) ^min-net <nn>)
(make horizontal ^min <com1> ^max (compute <com1> + 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-x (compute <com1> + 1) ^grid-y <com2> ^grid-layer <lay> ^came-from west)
(remove 1)
(make context ^present propagate-constraint)
)
(p p228
(context ^present loose-constraint)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-y { <gy2> > <com1> } ^grid-x <gx>)
(vertical ^net-name nil ^min { <min2> <= <com1> } ^max { <max2> > <min2> >= <gy2> } ^com { <com2> >= <min1> <= <max1> <= <gx> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <com1> ^max > <com1>)
- (vertical ^net-name nil ^min <= <com1> ^max > <com1> ^com { > <com2> <= <max1> } ^layer <lay>)
- (vertical ^net-name nil ^min <= <com1> ^max > <com1> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-y <com1>)
-->
(make vertical ^min <min2> ^max <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min (compute <com1> + 1) ^min-net <nn>)
(make vertical ^min <com1> ^max (compute <com1> + 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-y (compute <com1> + 1) ^grid-x <com2> ^grid-layer <lay> ^came-from south)
(remove 1)
(make context ^present propagate-constraint)
)
(p p229
(context ^present loose-constraint)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <com1> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min2> <= <gx2> } ^max { <max2> > <min2> >= <com1> } ^com { <com2> >= <min1> <= <max1> <= <gy> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^max-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min < <com1> ^max >= <com1>)
- (horizontal ^net-name nil ^min < <com1> ^max >= <com1> ^com { > <com2> <= <max1> } ^layer <lay>)
- (horizontal ^net-name nil ^min < <com1> ^max >= <com1> ^layer <lay>)
- (ff ^net-name <nn> ^grid-x <com1>)
-->
(make horizontal ^max <max2> ^min <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^max-net <hnn> ^min-net <nn>)
(modify 4 ^max (compute <com1> - 1) ^max-net <nn>)
(make horizontal ^max <com1> ^min (compute <com1> - 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-x (compute <com1> - 1) ^grid-y <com2> ^grid-layer <lay> ^came-from east)
(remove 1)
(make context ^present propagate-constraint)
)
(p p230
(context ^present loose-constraint)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy2> < <com1> })
(vertical ^net-name nil ^min { <min2> <= <gy2> } ^max { <max2> > <min2> >= <com1> } ^com { <com2> >= <min1> <= <max1> <= <gx> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^max-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min < <com1> ^max >= <com1>)
- (vertical ^net-name nil ^min < <com1> ^max >= <com1> ^com { > <com2> <= <max1> } ^layer <lay>)
- (vertical ^net-name nil ^min < <com1> ^max >= <com1> ^layer <lay>)
- (ff ^net-name <nn> ^grid-y <com1>)
-->
(make vertical ^max <max2> ^min <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^max-net <hnn> ^min-net <nn>)
(modify 4 ^max (compute <com1> - 1) ^max-net <nn>)
(make vertical ^max <com1> ^min (compute <com1> - 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-y (compute <com1> - 1) ^grid-x <com2> ^grid-layer <lay> ^came-from north)
(remove 1)
(make context ^present propagate-constraint)
)
(p p231
(context ^present loose-constraint)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <com1> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min2> <= <com1> } ^max { <max2> > <min2> >= <gx2> } ^com { <com2> >= <min1> <= <max1> >= <gy> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <com1> ^max > <com1>)
- (horizontal ^net-name nil ^min <= <com1> ^max > <com1> ^com { < <com2> >= <min1> } ^layer <lay>)
- (vertical ^net-name nil ^max <min1> ^com <com1>)
- (horizontal ^net-name nil ^min <= <com1> ^max > <com1> ^com <com2> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x <com1>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^max <min1> ^com <com1> ^layer <lay>)
-->
(make horizontal ^min <min2> ^max <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min (compute <com1> + 1) ^min-net <nn>)
(make horizontal ^min <com1> ^max (compute <com1> + 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-x (compute <com1> + 1) ^grid-y <com2> ^grid-layer <lay> ^came-from west)
(remove 1)
(make context ^present propagate-constraint)
)
(p p232
(context ^present loose-constraint)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> > <com1> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min2> <= <com1> } ^max { <max2> > <min2> >= <gx2> } ^com { <com2> >= <min1> <= <max1> <= <gy> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <com1> ^max > <com1>)
- (horizontal ^net-name nil ^min <= <com1> ^max > <com1> ^com { > <com2> <= <max1> } ^layer <lay>)
- (vertical ^net-name nil ^max <min1> ^com <com1>)
- (horizontal ^net-name nil ^min <= <com1> ^max > <com1> ^com <com2> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x <com1>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^max <min1> ^com <com1> ^layer <lay>)
-->
(make horizontal ^min <min2> ^max <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min (compute <com1> + 1) ^min-net <nn>)
(make horizontal ^min <com1> ^max (compute <com1> + 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-x (compute <com1> + 1) ^grid-y <com2> ^grid-layer <lay> ^came-from west)
(remove 1)
(make context ^present propagate-constraint)
)
(p p233
(context ^present loose-constraint)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <com1> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min2> <= <gx2> } ^max { <max2> > <min2> >= <com1> } ^com { <com2> >= <min1> <= <max1> >= <gy> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min < <com1> ^max >= <com1>)
- (horizontal ^net-name nil ^min < <com1> ^max >= <com1> ^com { < <com2> >= <min1> } ^layer <lay>)
- (vertical ^net-name nil ^max <min1> ^com <com1>)
- (horizontal ^net-name nil ^min < <com1> ^max >= <com1> ^com <com2> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x <com1>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^max <min1> ^com <com1> ^layer <lay>)
-->
(make horizontal ^min <com1> ^max <max2> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^min-net <nn>)
(modify 4 ^max (compute <com1> - 1) ^max-net <nn>)
(make horizontal ^max <com1> ^min (compute <com1> - 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-x (compute <com1> - 1) ^grid-y <com2> ^grid-layer <lay> ^came-from east)
(remove 1)
(make context ^present propagate-constraint)
)
(p p234
(context ^present loose-constraint)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x { <gx2> < <com1> } ^grid-y <gy>)
(horizontal ^net-name nil ^min { <min2> <= <gx2> } ^max { <max2> > <min2> >= <com1> } ^com { <com2> >= <min1> <= <max1> <= <gy> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min < <com1> ^max >= <com1>)
- (horizontal ^net-name nil ^min < <com1> ^max >= <com1> ^com { > <com2> <= <max1> } ^layer <lay>)
- (vertical ^net-name nil ^max <min1> ^com <com1>)
- (horizontal ^net-name nil ^min < <com1> ^max >= <com1> ^com <com2> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-x <com1>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^max <min1> ^com <com1> ^layer <lay>)
-->
(make horizontal ^min <com1> ^max <max2> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^min-net <nn>)
(modify 4 ^max (compute <com1> - 1) ^max-net <nn>)
(make horizontal ^max <com1> ^min (compute <com1> - 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-x (compute <com1> - 1) ^grid-y <com2> ^grid-layer <lay> ^came-from east)
(remove 1)
(make context ^present propagate-constraint)
)
(p p235
(context ^present loose-constraint)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy2> > <com1> })
(vertical ^net-name nil ^min { <min2> <= <com1> } ^max { <max2> > <min2> >= <gy2> } ^com { <com2> >= <min1> <= <max1> >= <gx> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <com1> ^max > <com1>)
- (vertical ^net-name nil ^min <= <com1> ^max > <com1> ^com { < <com2> >= <min1> } ^layer <lay>)
- (horizontal ^net-name nil ^max <min1> ^com <com1>)
- (vertical ^net-name nil ^min <= <com1> ^max > <com1> ^com <com2> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-y <com1>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^max <min1> ^com <com1> ^layer <lay>)
-->
(make vertical ^min <min2> ^max <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min (compute <com1> + 1) ^min-net <nn>)
(make vertical ^min <com1> ^max (compute <com1> + 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-y (compute <com1> + 1) ^grid-x <com2> ^grid-layer <lay> ^came-from south)
(remove 1)
(make context ^present propagate-constraint)
)
(p p236
(context ^present loose-constraint)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy2> > <com1> })
(vertical ^net-name nil ^min { <min2> <= <com1> } ^max { <max2> > <min2> >= <gy2> } ^com { <com2> >= <min1> <= <max1> <= <gx> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min <= <com1> ^max > <com1>)
- (vertical ^net-name nil ^min <= <com1> ^max > <com1> ^com { > <com2> <= <max1> } ^layer <lay>)
- (horizontal ^net-name nil ^max <min1> ^com <com1>)
- (vertical ^net-name nil ^min <= <com1> ^max > <com1> ^com <com2> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-y <com1>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^max <min1> ^com <com1> ^layer <lay>)
-->
(make vertical ^min <min2> ^max <com1> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^max-net <nn>)
(modify 4 ^min (compute <com1> + 1) ^min-net <nn>)
(make vertical ^min <com1> ^max (compute <com1> + 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-y (compute <com1> + 1) ^grid-x <com2> ^grid-layer <lay> ^came-from south)
(remove 1)
(make context ^present propagate-constraint)
)
(p p237
(context ^present loose-constraint)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy2> < <com1> })
(vertical ^net-name nil ^min { <min2> <= <gy2> } ^max { <max2> > <min2> >= <com1> } ^com { <com2> >= <min1> <= <max1> >= <gx> } ^layer <lay> ^compo <cpo2> ^commo <cmo2> ^min-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min < <com1> ^max >= <com1>)
- (vertical ^net-name nil ^min < <com1> ^max >= <com1> ^com { < <com2> >= <min1> } ^layer <lay>)
- (horizontal ^net-name nil ^max <min1> ^com <com1>)
- (vertical ^net-name nil ^min < <com1> ^max >= <com1> ^com <com2> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-y <com1>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^max <min1> ^com <com1> ^layer <lay>)
-->
(make vertical ^min <com1> ^max <max2> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^min-net <nn>)
(modify 4 ^max (compute <com1> - 1) ^max-net <nn>)
(make vertical ^max <com1> ^min (compute <com1> - 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-y (compute <com1> - 1) ^grid-x <com2> ^grid-layer <lay> ^came-from north)
(remove 1)
(make context ^present propagate-constraint)
)
(p p238
(context ^present loose-constraint)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <min1> ^max <max1> ^com <com1> ^layer <lay> ^compo <garb1> ^commo <garb2> ^pin-name <pn>)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y { <gy2> < <com1> })
(vertical ^net-name nil ^min { <min2> <= <gy2> } ^max { <max2> > <min2> >= <com1> } ^com { <com2> >= <min1> <= <max1> <= <gx> } ^layer <lay> ^commo <cmo2> ^compo <cpo2> ^min-net <hnn>)
- (vertical ^status nil ^net-name { <nn> <> nil } ^min < <com1> ^max >= <com1>)
- (vertical ^net-name nil ^min < <com1> ^max >= <com1> ^com { > <com2> <= <max1> } ^layer <lay>)
- (horizontal ^net-name nil ^max <min1> ^com <com1>)
- (vertical ^net-name nil ^min < <com1> ^max >= <com1> ^com <com2> ^layer <> <lay>)
- (ff ^net-name <nn> ^grid-y <com1>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^max <min1> ^com <com1> ^layer <lay>)
-->
(make vertical ^min <com1> ^max <max2> ^commo <cmo2> ^compo <cpo2> ^layer <lay> ^com <com2> ^min-net <hnn> ^min-net <nn>)
(modify 4 ^max (compute <com1> - 1) ^max-net <nn>)
(make vertical ^max <com1> ^min (compute <com1> - 1) ^com <com2> ^layer <lay> ^net-name <nn> ^pin-name <pn> ^commo <cmo2> ^compo <cpo2>)
(make ff ^net-name <nn> ^pin-name <pn> ^grid-y (compute <com1> - 1) ^grid-x <com2> ^grid-layer <lay> ^came-from north)
(remove 1)
(make context ^present propagate-constraint)
)
(p p239
(context ^present loose-constraint0)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from north)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side top)
(vertical ^net-name { <nn> <> nil } ^min < <gy> ^max >= <gy> ^com { <vcom> > <gx> } ^layer <garb1> ^compo <garb2> ^commo <garb3> ^pin-name <> <pn>)
- (ff ^net-name <nn> ^grid-y > <gy>)
- (horizontal ^net-name nil ^min <= <gx> ^max >= <vcom> ^com <gy>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <vcom> ^com <gy>)
(vertical ^net-name nil ^min { <min> < <gy> } ^max >= <gy> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <mn>)
- (horizontal ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^layer <lay> ^compo <gy>)
(congestion ^direction row ^coordinate <gy> ^como <hcmo>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <hcmo> ^max >= <hcmo> ^com <gx> ^layer <lay>)
-->
(make vertical ^net-name nil ^max <hcmo> ^min <min> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^min-net <mn> ^max-net <nn>)
(modify 5 ^min <gy> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy> ^min <hcmo> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify 2 ^grid-y <hcmo> ^can-chng-layer nil)
(modify 1 ^present propagate-constraint)
)
(p p240
(context ^present loose-constraint0)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from north)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side top)
(vertical ^net-name { <nn> <> nil } ^min < <gy> ^max >= <gy> ^com { <vcom> < <gx> } ^layer <garb1> ^compo <garb2> ^commo <garb3> ^pin-name <> <pn>)
- (ff ^net-name <nn> ^grid-y > <gy>)
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <gx> ^com <gy>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <vcom> ^max >= <gx> ^com <gy>)
(vertical ^net-name nil ^min { <min> < <gy> } ^max >= <gy> ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^min-net <mn>)
- (horizontal ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^layer <lay> ^compo <gy>)
(congestion ^direction row ^coordinate <gy> ^como <hcmo>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <hcmo> ^max >= <hcmo> ^com <gx> ^layer <lay>)
-->
(make vertical ^net-name nil ^max <hcmo> ^min <min> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^min-net <mn> ^max-net <nn>)
(modify 5 ^min <gy> ^min-net <nn>)
(make vertical ^net-name <nn> ^max <gy> ^min <hcmo> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify 2 ^grid-y <hcmo> ^can-chng-layer nil)
(modify 1 ^present propagate-constraint)
)
(p p241
(context ^present loose-constraint0)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from south)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side bottom)
(vertical ^net-name { <nn> <> nil } ^min <= <gy> ^max > <gy> ^com { <vcom> > <gx> } ^layer <garb1> ^compo <garb2> ^commo <garb3> ^pin-name <> <pn>)
- (ff ^net-name <nn> ^grid-y < <gy>)
- (horizontal ^net-name nil ^min <= <gx> ^max >= <vcom> ^com <gy>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <gx> ^max >= <vcom> ^com <gy>)
(vertical ^net-name nil ^min <= <gy> ^max { <max> > <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>)
- (horizontal ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^layer <lay> ^compo <gy>)
(congestion ^direction row ^coordinate <hcmo> ^como <gy>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <hcmo> ^max >= <hcmo> ^com <gx> ^layer <lay>)
-->
(make vertical ^net-name nil ^max <max> ^min <hcmo> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^max-net <mn> ^min-net <nn>)
(modify 5 ^max <gy> ^max-net <nn>)
(make vertical ^net-name <nn> ^min <gy> ^max <hcmo> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify 2 ^grid-y <hcmo> ^can-chng-layer nil)
(modify 1 ^present propagate-constraint)
)
(p p242
(context ^present loose-constraint0)
(ff ^net-name <nn> ^grid-x <gx> ^grid-y <gy> ^grid-layer <lay> ^pin-name <pn> ^came-from south)
(pin ^net-name <nn> ^pin-name <pn> ^pin-channel-side bottom)
(vertical ^net-name { <nn> <> nil } ^min <= <gy> ^max > <gy> ^com { <vcom> < <gx> } ^layer <garb1> ^compo <garb2> ^commo <garb3> ^pin-name <> <pn>)
- (ff ^net-name <nn> ^grid-y < <gy>)
- (horizontal ^net-name nil ^min <= <vcom> ^max >= <gx> ^com <gy>)
- (horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <vcom> ^max >= <gx> ^com <gy>)
(vertical ^net-name nil ^min <= <gy> ^max { <max> > <gy> } ^com <gx> ^layer <lay> ^compo <cpo> ^commo <cmo> ^max-net <mn>)
- (horizontal ^net-name { <> nil <> <nn> } ^min <= <gx> ^max >= <gx> ^layer <lay> ^compo <gy>)
(congestion ^direction row ^coordinate <hcmo> ^como <gy>)
- (vertical ^status nil ^net-name { <> nil <> <nn> } ^min <= <hcmo> ^max >= <hcmo> ^com <gx> ^layer <lay>)
-->
(make vertical ^net-name nil ^max <max> ^min <hcmo> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^max-net <mn> ^min-net <nn>)
(modify 5 ^max <gy> ^max-net <nn>)
(make vertical ^net-name <nn> ^min <gy> ^max <hcmo> ^layer <lay> ^com <gx> ^commo <cmo> ^compo <cpo> ^pin-name <pn>)
(modify 2 ^grid-y <hcmo> ^can-chng-layer nil)
(modify 1 ^present propagate-constraint)
)
(p p243
(context ^present loose-constraint0)
-->
(modify 1 ^present loose-constraint)
)
(p p363
(move-via <nn>)
-->
(remove 1)
(make finally-routed <nn>)
)
(p p364
(move-via <nn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <hmin> ^max <hmax> ^com <hcom> ^layer <hlay> ^compo <garb1> ^commo <hcmo> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <= <hcmo> ^max <hcom> ^com { <vcom> >= <hmin> <= <hmax> } ^layer { <vlay> <> <hlay> })
(vertical ^net-name nil ^min { <vmin2> <= <hcmo> } ^max { <vmax2> > <vmin2> >= <hcom> } ^com <vcom> ^layer <hlay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
- (horizontal ^net-name <> <nn> ^min < <vcom> ^max >= <vcom> ^com <hcmo>)
- (vertical ^net-name <> <nn> ^min < <hcmo> ^max <hcmo> ^com <vcom>)
-->
(modify 3 ^max <hcmo>)
(make vertical ^layer <vlay> ^max <hcom> ^min <hcmo> ^com <vcom> ^min-net <nn> ^commo <vcmo> ^compo <vcpo>)
(make vertical ^layer <hlay> ^min <vmin2> ^max <hcmo> ^commo <vcmo> ^compo <vcpo> ^min-net <mn> ^max-net <nn> ^com <vcom>)
(modify 4 ^min <hcom> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^layer <hlay> ^min <hcmo> ^max <hcom> ^commo <vcmo> ^compo <vcpo> ^com <vcom>)
(remove 1)
(make move-via <nn> <vlay> <vcom> <hcom>)
)
(p p365
(move-via <nn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <hmin> ^max <hmax> ^com <hcom> ^layer <hlay> ^compo <garb1> ^commo <hcmo> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <= <hcmo> ^max <hcom> ^com { <vcom> >= <hmin> <= <hmax> } ^layer { <vlay> <> <hlay> })
(vertical ^net-name nil ^min { <vmin2> <= <hcmo> } ^max { <vmax2> > <vmin2> >= <hcom> } ^com <vcom> ^layer <hlay> ^compo <vcpo> ^commo <vcmo> ^min-net <mn>)
- (horizontal ^net-name <> <nn> ^min <= <vcom> ^max > <vcom> ^com <hcmo>)
- (vertical ^net-name <> <nn> ^min < <hcmo> ^max <hcmo> ^com <vcom>)
-->
(modify 3 ^max <hcmo>)
(make vertical ^layer <vlay> ^max <hcom> ^min <hcmo> ^com <vcom> ^min-net <nn> ^commo <vcmo> ^compo <vcpo>)
(make vertical ^layer <hlay> ^min <vmin2> ^max <hcmo> ^commo <vcmo> ^compo <vcpo> ^min-net <mn> ^max-net <nn> ^com <vcom>)
(modify 4 ^min <hcom> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^layer <hlay> ^min <hcmo> ^max <hcom> ^commo <vcmo> ^compo <vcpo> ^com <vcom>)
(remove 1)
(make move-via <nn> <vlay> <vcom> <hcom>)
)
(p p366
(move-via <nn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmin> ^max <vmax> ^com <vcom> ^layer <vlay> ^compo <garb1> ^commo <vcmo> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <vcmo> ^max <vcom> ^com { <hcom> >= <vmin> <= <vmax> } ^layer { <hlay> <> <vlay> })
(horizontal ^net-name nil ^min { <hmin2> <= <vcmo> } ^max { <hmax2> > <hmin2> >= <vcom> } ^com <hcom> ^layer <vlay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (vertical ^net-name <> <nn> ^min < <hcom> ^max >= <hcom> ^com <vcmo>)
- (horizontal ^net-name <> <nn> ^min < <vcmo> ^max <vcmo> ^com <hcom>)
-->
(modify 3 ^max <vcmo>)
(make horizontal ^layer <hlay> ^max <vcom> ^min <vcmo> ^com <hcom> ^min-net <nn> ^commo <hcmo> ^compo <hcpo>)
(make horizontal ^layer <vlay> ^min <hmin2> ^max <vcmo> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn> ^com <hcom>)
(modify 4 ^min <vcom> ^min-net <nn>)
(make horizotnal ^net-name <nn> ^pin-name <pn> ^layer <vlay> ^min <vcmo> ^max <vcom> ^commo <hcmo> ^compo <hcpo> ^com <hcom>)
(remove 1)
(make move-via <nn> <hlay> <hcom> <vcom>)
)
(p p367
(move-via <nn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmin> ^max <vmax> ^com <vcom> ^layer <vlay> ^compo <garb1> ^commo <vcmo> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <= <vcmo> ^com { <hcom> >= <vmin> <= <vmax> } ^max <vcom> ^layer { <hlay> <> <vlay> })
(horizontal ^net-name nil ^min { <hmin2> <= <vcmo> } ^max { <hmax2> > <hmin2> >= <vcom> } ^com <hcom> ^layer <vlay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (vertical ^net-name <> <nn> ^min <= <hcom> ^max > <hcom> ^com <vcmo>)
- (horizontal ^net-name <> <nn> ^min < <vcmo> ^max <vcmo> ^com <hcom>)
-->
(modify 3 ^max <vcmo>)
(make horizontal ^layer <hlay> ^max <vcom> ^min <vcmo> ^com <hcom> ^min-net <nn> ^commo <hcmo> ^compo <hcpo>)
(make horizontal ^layer <vlay> ^min <hmin2> ^max <vcmo> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn> ^com <hcom>)
(modify 4 ^min <vcom> ^min-net <nn>)
(make horizotnal ^net-name <nn> ^pin-name <pn> ^layer <vlay> ^min <vcmo> ^max <vcom> ^commo <hcmo> ^compo <hcpo> ^com <hcom>)
(remove 1)
(make move-via <nn> <hlay> <hcom> <vcom>)
)
(p p368
(move-via <nn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <hmin> ^max <hmax> ^com <hcom> ^layer <hlay> ^compo <hcpo> ^commo <garb1> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <hcom> ^max >= <hcpo> ^com { <vcom> >= <hmin> <= <hmax> } ^layer { <vlay> <> <hlay> })
(vertical ^net-name nil ^min { <vmin2> <= <hcom> } ^max { <vmax2> > <vmin2> >= <hcpo> } ^com <vcom> ^layer <hlay> ^commo <vcmo> ^compo <vcpo> ^min-net <mn>)
- (horizontal ^net-name <> <nn> ^min < <vcom> ^max >= <vcom> ^com <hcpo>)
- (vertical ^net-name <> <nn> ^min <hcpo> ^max > <hcpo> ^com <vcom>)
-->
(modify 3 ^min <hcpo>)
(make vertical ^layer <vlay> ^min <hcom> ^max <hcpo> ^com <vcom> ^max-net <nn> ^commo <vcmo> ^compo <vcpo>)
(make vertical ^layer <hlay> ^min <vmin2> ^max <hcom> ^commo <vcmo> ^compo <vcpo> ^min-net <mn> ^max-net <nn> ^com <vcom>)
(modify 4 ^min <hcpo> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^layer <hlay> ^min <hcom> ^max <hcpo> ^commo <vcmo> ^compo <vcpo> ^com <vcom>)
(remove 1)
(make move-via <nn> <vlay> <vcom> <hcom>)
)
(p p369
(move-via <nn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <hmin> ^max <hmax> ^com <hcom> ^layer <hlay> ^compo <hcpo> ^commo <garb1> ^pin-name <pn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <hcom> ^max >= <hcpo> ^com { <vcom> >= <hmin> <= <hmax> } ^layer { <vlay> <> <hlay> })
(vertical ^net-name nil ^min { <vmin2> <= <hcom> } ^max { <vmax2> > <vmin2> >= <hcpo> } ^com <vcom> ^layer <hlay> ^commo <vcmo> ^compo <vcpo> ^min-net <mn>)
- (horizontal ^net-name <> <nn> ^min <= <vcom> ^max > <vcom> ^com <hcpo>)
- (vertical ^net-name <> <nn> ^min <hcpo> ^max > <hcpo> ^com <vcom>)
-->
(modify 3 ^min <hcpo>)
(make vertical ^layer <vlay> ^min <hcom> ^max <hcpo> ^com <vcom> ^max-net <nn> ^commo <vcmo> ^compo <vcpo>)
(make vertical ^layer <hlay> ^min <vmin2> ^max <hcom> ^commo <vcmo> ^compo <vcpo> ^min-net <mn> ^max-net <nn> ^com <vcom>)
(modify 4 ^min <hcpo> ^min-net <nn>)
(make vertical ^net-name <nn> ^pin-name <pn> ^layer <hlay> ^min <hcom> ^max <hcpo> ^commo <vcmo> ^compo <vcpo> ^com <vcom>)
(remove 1)
(make move-via <nn> <vlay> <vcom> <hcom>)
)
(p p370
(move-via <nn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmin> ^max <vmax> ^com <vcom> ^layer <vlay> ^compo <vcpo> ^commo <garb1> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <vcom> ^max >= <vcpo> ^com { <hcom> >= <vmin> <= <vmax> } ^layer { <hlay> <> <vlay> })
(horizontal ^net-name nil ^min { <hmin2> <= <vcom> } ^max { <hmax2> > <hmin2> >= <vcpo> } ^com <hcom> ^layer <vlay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (vertical ^net-name <> <nn> ^min < <hcom> ^max >= <hcom> ^com <vcpo>)
- (horizontal ^net-name <> <nn> ^min <vcpo> ^max > <vcpo> ^com <hcom>)
-->
(modify 3 ^min <vcpo>)
(make horizontal ^layer <hlay> ^max <vcpo> ^min <vcom> ^com <hcom> ^max-net <nn> ^commo <hcmo> ^compo <hcpo>)
(make horizontal ^layer <vlay> ^min <hmin2> ^max <vcom> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn> ^com <hcom>)
(modify 4 ^min <vcpo> ^min-net <nn>)
(make horizotnal ^net-name <nn> ^pin-name <pn> ^layer <vlay> ^min <vcom> ^max <vcpo> ^commo <hcmo> ^compo <hcpo> ^com <hcom>)
(remove 1)
(make move-via <nn> <hlay> <hcom> <vcom>)
)
(p p371
(move-via <nn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmin> ^max <vmax> ^com <vcom> ^layer <vlay> ^compo <vcpo> ^commo <garb1> ^pin-name <pn>)
(horizontal ^status nil ^net-name { <nn> <> nil } ^min <vcom> ^max >= <vcpo> ^com { <hcom> >= <vmin> <= <vmax> } ^layer { <hlay> <> <vlay> })
(horizontal ^net-name nil ^min { <hmin2> <= <vcom> } ^max { <hmax2> > <hmin2> >= <vcpo> } ^com <hcom> ^layer <vlay> ^compo <hcpo> ^commo <hcmo> ^min-net <mn>)
- (vertical ^net-name <> <nn> ^min <= <hcom> ^max > <hcom> ^com <vcmo>)
- (horizontal ^net-name <> <nn> ^min <vcpo> ^max > <vcpo> ^com <hcom>)
-->
(modify 3 ^min <vcpo>)
(make horizontal ^layer <hlay> ^max <vcpo> ^min <vcom> ^com <hcom> ^max-net <nn> ^commo <hcmo> ^compo <hcpo>)
(make horizontal ^layer <vlay> ^min <hmin2> ^max <vcom> ^commo <hcmo> ^compo <hcpo> ^min-net <mn> ^max-net <nn> ^com <hcom>)
(modify 4 ^min <vcpo> ^min-net <nn>)
(make horizotnal ^net-name <nn> ^pin-name <pn> ^layer <vlay> ^min <vcom> ^max <vcpo> ^commo <hcmo> ^compo <hcpo> ^com <hcom>)
(remove 1)
(make move-via <nn> <hlay> <hcom> <vcom>)
)
(p p372
(move-via <nn>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmin1> ^max <vmax1> ^com <vcom1> ^layer <vlay> ^compo <vcpo1> ^commo <vcmo1> ^pin-name <pn1>)
(vertical ^status nil ^net-name { <nn> <> nil } ^min <vmax1> ^max <vmax2> ^com { <vcom2> > <vcom1> } ^layer <vlay> ^compo <vcpo2> ^commo <vcmo2> ^pin-name <pn2>)
{ <h1> (horizontal ^status nil ^net-name { <nn> <> nil } ^min <vcom1> ^max <vcom2> ^com <vmax1> ^layer { <hlay> <> <vlay> }) }
{ <h2> (horizontal ^status nil ^net-name nil ^min { <fmin> <= <vcom1> } ^max { <fmax> >= <vcom2> } ^com <vmax1> ^layer <vlay>) }
- (vertical ^min < <vmax1> ^max >= <vmax1> ^com { > <vcom1> < <vcom2> })
-->
(remove <h2>)
(modify <h1> ^net-name nil ^pin-name nil ^min-net nil ^max-net nil)
(make (substr <h2> 1 inf) ^max <vcmo1> ^max-net nil)
(make (substr <h2> 1 inf) ^min <vcpo2> ^min-net nil)
(make (substr <h1> 1 inf) ^layer <vlay>)
)
(p p373
(move-via <nn> <lay> <x> <y>)
(horizontal ^min <x> ^max <garb1> ^com <y> ^layer <lay> ^min-net <nn> ^max-net <garb2>)
-->
(modify 2 ^min-net nil)
)
(p p374
(move-via <nn> <lay> <x> <y>)
(vertical ^min <y> ^max <garb1> ^com <x> ^layer <lay> ^min-net <nn> ^max-net <garb2>)
-->
(modify 2 ^min-net nil)
)
(p p375
(move-via <nn> <lay> <x> <y>)
(horizontal ^min <garb1> ^max <x> ^com <y> ^layer <lay> ^min-net <garb2> ^max-net <nn>)
-->
(modify 2 ^max-net nil)
)
(p p376
(move-via <nn> <lay> <x> <y>)
(vertical ^min <garb1> ^max <y> ^com <x> ^layer <lay> ^min-net <garb2> ^max-net <nn>)
-->
(modify 2 ^max-net nil)
)
(p start-dummy
(start)
-->
(write (crlf) | Dummy START, do "loadwm" from "kuh.tmp".| (crlf))
)