coriolis/katabatic/doc/images/reduce-1.fig

109 lines
3.7 KiB
Plaintext
Raw Normal View History

Added support for "same layer" dogleg. Big fix for pad routing. * Change: In Knik, in Vertex, add a "blocked" flag to signal disabled vertexes in the grid (must not be used by the global router). Modificate the Graph::getVertex() method so that when a vertex is geometrically queried, if is a blocked one, return a non-blocked neighbor. This mechanism is introduced to, at last, prevent the global router to go *under* the pad in case of a commplete chip. * New: In Katabatic, in AutoSegment, a new state has been added: "reduced". A reduced segment is in the same layer as it's perpandiculars. To be reduced, a segments has to be connected on source & target to AutoContactTurn, both of the perpandiculars must be of the same layer (below or above) and it's length must not exceed one pitch in the perpandicular direction. To reduce an AutoSegment, call ::reduce() and to revert the state, call ::raise(). Two associated predicates are associated: ::canReduce() and ::mustRaise(). Note: No two adjacent segments can be reduced at the same time. * Bug: In Katabatic, in GCellTopology, add a new method ::doRp_AccessPad() to connect to the pads. Create wiring, fixed and non managed by Katabatic, to connect the pad connector layer to the lowest routing layers (depth 1 & 2). The former implementation was sometimes leading to gaps (sheared contact) that *must not* occurs during the building stage. Remark: This bug did put under the light the fact that the initial wiring must be created without gaps. Gaps are closed by making doglegs on contacts. But this mechanism could only work when the database if fully initialised (the cache is up to date). Otherwise various problems arise, in the canonization process for example. * New: In Katabatic, in AutoContactTerminal::getNativeConstraintBox(), when anchored on a RoutingPad, now take account the potential rotation of the Path's transformation. Here again, for the chip's pads. * New: In Kite, support for reduced AutoSegment. TrackSegment associateds to reduced AutoSegment are *not* inserted into track to become effectively invisibles. When a segment becomes reduced, a TrackEvent is generated to remove it. Conversely when it is raised a RoutingEvent is created/rescheduled to insert it. All this is mostly managed inside the Session::revalidate() method. * New: In Kite, in KiteEngine::createGlobalGraph(), in case of a chip, mark all global routing vertexes (Knik) that are under a pad, as blockeds. * Bug: In Cumulus, in PadsCorona.Side.getAxis(), inversion between X and Y coordinate of the chip size. Did not show until a non-square chip was routed (i.e. our MIPS R3000). * Change: In Stratus1, in st_placement.py add the ClockBuffer class for backward compatibility with the MIPS32 bench. Have to review this functionnality coming from the deprecated placeAndroute.py. In st_instance.py, no longer creates the Plug ring of a Net. In my opinion it just clutter the display until the P&R is called. Can re-enable later as an option (in Unicorn). * Change: In Unicorn, in cgt.py, more reliable way of loading then running user supplied scripts. Borrowed from alliance-checker-toolkit doChip.py .
2015-08-16 16:29:28 -05:00
#FIG 3.2 Produced by xfig version 3.2.5c
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
0 32 #ffffde
6 450 900 750 2250
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1125 675 975
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1200 675 1050
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1275 675 1125
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1350 675 1200
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1425 675 1275
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1500 675 1350
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1575 675 1425
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1650 675 1500
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1725 675 1575
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1800 675 1650
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1875 675 1725
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1950 675 1800
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 2025 675 1875
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 2100 675 1950
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 2175 675 2025
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
525 1050 600 975
2 1 0 1 1 32 50 -1 -1 4.000 0 0 -1 0 0 2
600 2175 675 2100
2 2 0 2 1 32 50 -1 -1 6.000 0 0 -1 0 0 5
525 975 675 975 675 2175 525 2175 525 975
-6
1 2 3 1 4 7 40 -1 -1 4.000 1 0.0000 1800 1800 375 900 1425 1800 2175 1800
2 2 0 4 0 32 40 -1 -1 10.000 0 0 -1 0 0 5
525 1125 675 1125 675 1275 525 1275 525 1125
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4
1050 1200 1050 900 1350 900 1350 1200
2 1 0 2 1 7 50 -1 -1 0.000 0 0 -1 0 0 2
675 1200 1800 1200
2 1 0 4 0 32 40 -1 -1 0.000 0 0 -1 0 0 3
1650 1200 1800 1200 1800 1350
2 1 0 2 4 7 50 -1 -1 0.000 0 0 -1 0 0 2
1800 1200 1800 2400
2 1 0 4 0 32 40 -1 -1 0.000 0 0 -1 0 0 3
1950 2400 1800 2400 1800 2250
2 1 0 2 1 7 50 -1 -1 0.000 0 0 -1 0 0 2
1875 2400 3000 2400
2 1 0 4 0 32 40 -1 -1 0.000 0 0 -1 0 0 3
2850 2400 3000 2400 3000 2550
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4
1800 1650 2100 1650 2100 1950 1800 1950
2 1 0 2 4 7 50 -1 -1 0.000 0 0 -1 0 0 2
3000 2400 3000 3600
2 1 0 2 1 7 50 -1 -1 0.000 0 0 -1 0 0 2
3000 3600 4125 3600
2 1 0 4 0 32 40 -1 -1 0.000 0 0 -1 0 0 3
3150 3600 3000 3600 3000 3450
2 1 0 4 0 32 40 -1 -1 0.000 0 0 -1 0 0 3
4050 3600 4200 3600 4200 3750
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4
3000 2850 3300 2850 3300 3150 3000 3150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4
2250 2400 2250 2100 2550 2100 2550 2400
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4
3450 3600 3450 3300 3750 3300 3750 3600
2 1 0 1 4 7 40 -1 -1 4.000 0 0 -1 0 0 2
2025 1050 2400 900
2 1 1 1 0 7 40 -1 -1 4.000 0 0 -1 0 0 2
1875 1200 4200 1200
2 1 1 1 0 7 40 -1 -1 4.000 0 0 -1 0 0 2
3075 2400 4200 2400
2 1 0 1 0 7 40 -1 -1 4.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
4125 1200 4125 2400
2 2 0 0 0 32 70 -1 21 2.000 0 0 -1 0 0 5
0 600 5700 600 5700 5100 0 5100 0 600
4 1 0 50 -1 14 12 0.0000 4 120 240 1950 1875 12\001
4 1 0 50 -1 14 12 0.0000 4 120 240 2400 2325 14\001
4 1 0 50 -1 14 12 0.0000 4 120 240 3150 3075 16\001
4 1 0 50 -1 14 12 0.0000 4 120 240 3600 3525 18\001
4 1 0 50 -1 14 12 0.0000 4 120 240 1200 1125 10\001
4 1 0 50 -1 14 12 0.0000 4 120 360 1200 1425 r:1\001
4 1 0 50 -1 14 12 1.5708 4 120 360 1725 1800 r:0\001
4 1 0 50 -1 14 12 1.5708 4 120 360 2925 3000 r:0\001
4 1 0 50 -1 14 12 0.0000 4 120 360 3600 3825 r:0\001
4 1 0 50 -1 14 12 0.0000 4 120 360 2400 2625 r:1\001
4 1 0 50 -1 14 12 0.0000 4 120 120 2250 1875 R\001
4 0 4 40 -1 16 12 0.0000 4 195 2280 2475 900 Segment id:12 is reduced.\001
4 0 0 40 -1 16 12 0.0000 4 195 4950 300 4500 As segment id:12 is reduced, reduced count is increased\001
4 0 0 40 -1 16 12 0.0000 4 195 5175 300 4800 on segments id:10 and id:14 which then cannot be reduced.\001
4 1 0 40 -1 16 12 1.5708 4 195 915 4050 1800 1 M2 pitch\001