diff --git a/src/ifp/README.md b/src/ifp/README.md index ed5403e0a96..5af0ae9f051 100644 --- a/src/ifp/README.md +++ b/src/ifp/README.md @@ -59,6 +59,7 @@ initialize_floorplan [-core_area {llx lly urx ury}] [-additional_sites site_names] [-site site_name] + [-row_parity NONE|EVEN|ODD] ``` #### Options @@ -72,6 +73,7 @@ initialize_floorplan | `-site` | Site name. | | `-die_area` | Die area coordinates in microns (lower left x/y and upper right x/y coordinates). | | `-core_area` | Core area coordinates in microns (lower left x/y and upper right x/y coordinates). | +| `-row_parity` | Snap to either an odd (`ODD`) or even (`EVEN`) number of rows. Defaults to `NONE` (no constraint on parity). | ### Make Tracks diff --git a/src/ifp/include/ifp/InitFloorplan.hh b/src/ifp/include/ifp/InitFloorplan.hh index 3d2bd5adec1..f280592c199 100644 --- a/src/ifp/include/ifp/InitFloorplan.hh +++ b/src/ifp/include/ifp/InitFloorplan.hh @@ -55,6 +55,13 @@ namespace ifp { using sta::dbNetwork; using utl::Logger; +enum class RowParity +{ + NONE, + EVEN, + ODD +}; + class InitFloorplan { public: @@ -70,14 +77,16 @@ class InitFloorplan int core_space_left, int core_space_right, odb::dbSite* base_site, - const std::vector& additional_sites = {}); + const std::vector& additional_sites = {}, + RowParity row_parity = RowParity::NONE); // The base_site determines the single-height rows. For hybrid rows it is // a site containing a row pattern. void initFloorplan(const odb::Rect& die, const odb::Rect& core, odb::dbSite* base_site, - const std::vector& additional_sites = {}); + const std::vector& additional_sites = {}, + RowParity row_parity = RowParity::NONE); void insertTiecells(odb::dbMTerm* tie_term, const std::string& prefix = "TIEOFF_"); @@ -105,7 +114,8 @@ class InitFloorplan void makeRows(const odb::dbSite::RowPattern& pattern, const odb::Rect& core); void makeUniformRows(odb::dbSite* base_site, const SitesByName& sites_by_name, - const odb::Rect& core); + const odb::Rect& core, + RowParity row_parity); void makeHybridRows(odb::dbSite* base_hybrid_site, const SitesByName& sites_by_name, const odb::Rect& core); diff --git a/src/ifp/src/InitFloorplan.cc b/src/ifp/src/InitFloorplan.cc index be42485c287..1bc0da85b75 100644 --- a/src/ifp/src/InitFloorplan.cc +++ b/src/ifp/src/InitFloorplan.cc @@ -106,7 +106,8 @@ void InitFloorplan::initFloorplan( int core_space_left, int core_space_right, odb::dbSite* base_site, - const std::vector& additional_sites) + const std::vector& additional_sites, + RowParity row_parity) { utl::Validator v(logger_, IFP); v.check_non_negative("utilization", utilization, 12); @@ -133,7 +134,8 @@ void InitFloorplan::initFloorplan( initFloorplan({die_lx, die_ly, die_ux, die_uy}, {core_lx, core_ly, core_ux, core_uy}, base_site, - additional_sites); + additional_sites, + row_parity); } double InitFloorplan::designArea() @@ -157,7 +159,8 @@ void InitFloorplan::initFloorplan( const odb::Rect& die, const odb::Rect& core, odb::dbSite* base_site, - const std::vector& additional_sites) + const std::vector& additional_sites, + RowParity row_parity) { Rect die_area(snapToMfgGrid(die.xMin()), snapToMfgGrid(die.yMin()), @@ -216,9 +219,15 @@ void InitFloorplan::initFloorplan( } if (base_site->hasRowPattern()) { + if (row_parity != RowParity::NONE) { + logger_->error( + IFP, + 41, + "Constraining row parity is not supported for hybrid rows."); + } makeHybridRows(base_site, sites_by_name, snapped_core); } else { - makeUniformRows(base_site, sites_by_name, snapped_core); + makeUniformRows(base_site, sites_by_name, snapped_core, row_parity); } updateVoltageDomain(clx, cly, cux, cuy); @@ -407,7 +416,8 @@ void InitFloorplan::addUsedSites( // Create the rows for the core area void InitFloorplan::makeUniformRows(odb::dbSite* base_site, const SitesByName& sites_by_name, - const odb::Rect& core) + const odb::Rect& core, + RowParity row_parity) { const int core_dx = core.dx(); const int core_dy = core.dy(); @@ -416,7 +426,22 @@ void InitFloorplan::makeUniformRows(odb::dbSite* base_site, auto make_rows = [&](dbSite* site) { const uint site_dy = site->getHeight(); - const int rows_y = core_dy / site_dy; + int rows_y = core_dy / site_dy; + + switch (row_parity) { + case RowParity::NONE: + break; + case RowParity::EVEN: + rows_y = (rows_y / 2) * 2; + break; + case RowParity::ODD: + if (rows_y > 0) { + rows_y = (rows_y % 2 == 0) ? rows_y - 1 : rows_y; + } else { + rows_y = 0; + } + break; + } int y = core.yMin(); for (int row = 0; row < rows_y; row++) { diff --git a/src/ifp/src/InitFloorplan.i b/src/ifp/src/InitFloorplan.i index cf1670edd50..1673033990c 100644 --- a/src/ifp/src/InitFloorplan.i +++ b/src/ifp/src/InitFloorplan.i @@ -83,6 +83,19 @@ static ifp::InitFloorplan get_floorplan() %import "dbtypes.i" %include "../../Exception.i" +%typemap(in) ifp::RowParity { + char *str = Tcl_GetStringFromObj($input, 0); + if (strcasecmp(str, "NONE") == 0) { + $1 = ifp::RowParity::NONE; + } else if (strcasecmp(str, "EVEN") == 0) { + $1 = ifp::RowParity::EVEN; + } else if (strcasecmp(str, "ODD") == 0) { + $1 = ifp::RowParity::ODD; + } else { + $1 = ifp::RowParity::NONE; + } +} + %inline %{ namespace ifp { @@ -97,11 +110,12 @@ init_floorplan_core(int die_lx, int core_ux, int core_uy, odb::dbSite* site, - const std::vector& additional_sites) + const std::vector& additional_sites, + ifp::RowParity row_parity) { get_floorplan().initFloorplan({die_lx, die_ly, die_ux, die_uy}, {core_lx, core_ly, core_ux, core_uy}, - site, additional_sites); + site, additional_sites, row_parity); } void @@ -112,12 +126,13 @@ init_floorplan_util(double util, int core_space_left, int core_space_right, odb::dbSite* site, - const std::vector& additional_sites) + const std::vector& additional_sites, + ifp::RowParity row_parity) { get_floorplan().initFloorplan(util, aspect_ratio, core_space_bottom, core_space_top, core_space_left, core_space_right, - site, additional_sites); + site, additional_sites, row_parity); } void diff --git a/src/ifp/src/InitFloorplan.tcl b/src/ifp/src/InitFloorplan.tcl index 2791b312fcc..8db7f59e3ea 100644 --- a/src/ifp/src/InitFloorplan.tcl +++ b/src/ifp/src/InitFloorplan.tcl @@ -39,12 +39,13 @@ sta::define_cmd_args "initialize_floorplan" {[-utilization util]\ [-die_area {lx ly ux uy}]\ [-core_area {lx ly ux uy}]\ [-additional_sites site_names]\ - [-site site_name]} + [-site site_name]\ + [-row_parity NONE|ODD|EVEN]} proc initialize_floorplan { args } { sta::parse_key_args "initialize_floorplan" args \ keys {-utilization -aspect_ratio -core_space \ - -die_area -core_area -site -additional_sites} \ + -die_area -core_area -site -additional_sites -row_parity} \ flags {} sta::check_argc_eq0 "initialize_floorplan" $args @@ -63,6 +64,14 @@ proc initialize_floorplan { args } { } } + set row_parity "NONE" + if {[info exists keys(-row_parity)]} { + set row_parity $keys(-row_parity) + if { $row_parity != "NONE" && $row_parity != "ODD" && $row_parity != "EVEN" } { + utl::error IFP 12 "-row_parity must be NONE, ODD or EVEN" + } + } + sta::check_argc_eq0 "initialize_floorplan" $args if {[info exists keys(-utilization)]} { set util $keys(-utilization) @@ -101,7 +110,8 @@ proc initialize_floorplan { args } { [ord::microns_to_dbu $core_sp_left] \ [ord::microns_to_dbu $core_sp_right] \ $site \ - $additional_sites + $additional_sites \ + $row_parity } elseif {[info exists keys(-die_area)]} { set die_area $keys(-die_area) if { [llength $die_area] != 4 } { @@ -132,7 +142,8 @@ proc initialize_floorplan { args } { [ord::microns_to_dbu $core_lx] [ord::microns_to_dbu $core_ly] \ [ord::microns_to_dbu $core_ux] [ord::microns_to_dbu $core_uy] \ $site \ - $additional_sites + $additional_sites \ + $row_parity } else { utl::error IFP 17 "no -core_area specified." } diff --git a/src/ifp/test/init_floorplan_even_rows.defok b/src/ifp/test/init_floorplan_even_rows.defok new file mode 100644 index 00000000000..d0a426e37e8 --- /dev/null +++ b/src/ifp/test/init_floorplan_even_rows.defok @@ -0,0 +1,602 @@ +VERSION 5.8 ; +DIVIDERCHAR "/" ; +BUSBITCHARS "[]" ; +DESIGN top ; +UNITS DISTANCE MICRONS 2000 ; +DIEAREA ( 0 0 ) ( 2000000 2000000 ) ; +ROW ROW_0 FreePDK45_38x28_10R_NP_162NW_34O 200260 201600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_1 FreePDK45_38x28_10R_NP_162NW_34O 200260 204400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_2 FreePDK45_38x28_10R_NP_162NW_34O 200260 207200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_3 FreePDK45_38x28_10R_NP_162NW_34O 200260 210000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_4 FreePDK45_38x28_10R_NP_162NW_34O 200260 212800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_5 FreePDK45_38x28_10R_NP_162NW_34O 200260 215600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_6 FreePDK45_38x28_10R_NP_162NW_34O 200260 218400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_7 FreePDK45_38x28_10R_NP_162NW_34O 200260 221200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_8 FreePDK45_38x28_10R_NP_162NW_34O 200260 224000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_9 FreePDK45_38x28_10R_NP_162NW_34O 200260 226800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_10 FreePDK45_38x28_10R_NP_162NW_34O 200260 229600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_11 FreePDK45_38x28_10R_NP_162NW_34O 200260 232400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_12 FreePDK45_38x28_10R_NP_162NW_34O 200260 235200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_13 FreePDK45_38x28_10R_NP_162NW_34O 200260 238000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_14 FreePDK45_38x28_10R_NP_162NW_34O 200260 240800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_15 FreePDK45_38x28_10R_NP_162NW_34O 200260 243600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_16 FreePDK45_38x28_10R_NP_162NW_34O 200260 246400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_17 FreePDK45_38x28_10R_NP_162NW_34O 200260 249200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_18 FreePDK45_38x28_10R_NP_162NW_34O 200260 252000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_19 FreePDK45_38x28_10R_NP_162NW_34O 200260 254800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_20 FreePDK45_38x28_10R_NP_162NW_34O 200260 257600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_21 FreePDK45_38x28_10R_NP_162NW_34O 200260 260400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_22 FreePDK45_38x28_10R_NP_162NW_34O 200260 263200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_23 FreePDK45_38x28_10R_NP_162NW_34O 200260 266000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_24 FreePDK45_38x28_10R_NP_162NW_34O 200260 268800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_25 FreePDK45_38x28_10R_NP_162NW_34O 200260 271600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_26 FreePDK45_38x28_10R_NP_162NW_34O 200260 274400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_27 FreePDK45_38x28_10R_NP_162NW_34O 200260 277200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_28 FreePDK45_38x28_10R_NP_162NW_34O 200260 280000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_29 FreePDK45_38x28_10R_NP_162NW_34O 200260 282800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_30 FreePDK45_38x28_10R_NP_162NW_34O 200260 285600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_31 FreePDK45_38x28_10R_NP_162NW_34O 200260 288400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_32 FreePDK45_38x28_10R_NP_162NW_34O 200260 291200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_33 FreePDK45_38x28_10R_NP_162NW_34O 200260 294000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_34 FreePDK45_38x28_10R_NP_162NW_34O 200260 296800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_35 FreePDK45_38x28_10R_NP_162NW_34O 200260 299600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_36 FreePDK45_38x28_10R_NP_162NW_34O 200260 302400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_37 FreePDK45_38x28_10R_NP_162NW_34O 200260 305200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_38 FreePDK45_38x28_10R_NP_162NW_34O 200260 308000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_39 FreePDK45_38x28_10R_NP_162NW_34O 200260 310800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_40 FreePDK45_38x28_10R_NP_162NW_34O 200260 313600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_41 FreePDK45_38x28_10R_NP_162NW_34O 200260 316400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_42 FreePDK45_38x28_10R_NP_162NW_34O 200260 319200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_43 FreePDK45_38x28_10R_NP_162NW_34O 200260 322000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_44 FreePDK45_38x28_10R_NP_162NW_34O 200260 324800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_45 FreePDK45_38x28_10R_NP_162NW_34O 200260 327600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_46 FreePDK45_38x28_10R_NP_162NW_34O 200260 330400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_47 FreePDK45_38x28_10R_NP_162NW_34O 200260 333200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_48 FreePDK45_38x28_10R_NP_162NW_34O 200260 336000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_49 FreePDK45_38x28_10R_NP_162NW_34O 200260 338800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_50 FreePDK45_38x28_10R_NP_162NW_34O 200260 341600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_51 FreePDK45_38x28_10R_NP_162NW_34O 200260 344400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_52 FreePDK45_38x28_10R_NP_162NW_34O 200260 347200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_53 FreePDK45_38x28_10R_NP_162NW_34O 200260 350000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_54 FreePDK45_38x28_10R_NP_162NW_34O 200260 352800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_55 FreePDK45_38x28_10R_NP_162NW_34O 200260 355600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_56 FreePDK45_38x28_10R_NP_162NW_34O 200260 358400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_57 FreePDK45_38x28_10R_NP_162NW_34O 200260 361200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_58 FreePDK45_38x28_10R_NP_162NW_34O 200260 364000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_59 FreePDK45_38x28_10R_NP_162NW_34O 200260 366800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_60 FreePDK45_38x28_10R_NP_162NW_34O 200260 369600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_61 FreePDK45_38x28_10R_NP_162NW_34O 200260 372400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_62 FreePDK45_38x28_10R_NP_162NW_34O 200260 375200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_63 FreePDK45_38x28_10R_NP_162NW_34O 200260 378000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_64 FreePDK45_38x28_10R_NP_162NW_34O 200260 380800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_65 FreePDK45_38x28_10R_NP_162NW_34O 200260 383600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_66 FreePDK45_38x28_10R_NP_162NW_34O 200260 386400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_67 FreePDK45_38x28_10R_NP_162NW_34O 200260 389200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_68 FreePDK45_38x28_10R_NP_162NW_34O 200260 392000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_69 FreePDK45_38x28_10R_NP_162NW_34O 200260 394800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_70 FreePDK45_38x28_10R_NP_162NW_34O 200260 397600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_71 FreePDK45_38x28_10R_NP_162NW_34O 200260 400400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_72 FreePDK45_38x28_10R_NP_162NW_34O 200260 403200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_73 FreePDK45_38x28_10R_NP_162NW_34O 200260 406000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_74 FreePDK45_38x28_10R_NP_162NW_34O 200260 408800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_75 FreePDK45_38x28_10R_NP_162NW_34O 200260 411600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_76 FreePDK45_38x28_10R_NP_162NW_34O 200260 414400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_77 FreePDK45_38x28_10R_NP_162NW_34O 200260 417200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_78 FreePDK45_38x28_10R_NP_162NW_34O 200260 420000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_79 FreePDK45_38x28_10R_NP_162NW_34O 200260 422800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_80 FreePDK45_38x28_10R_NP_162NW_34O 200260 425600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_81 FreePDK45_38x28_10R_NP_162NW_34O 200260 428400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_82 FreePDK45_38x28_10R_NP_162NW_34O 200260 431200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_83 FreePDK45_38x28_10R_NP_162NW_34O 200260 434000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_84 FreePDK45_38x28_10R_NP_162NW_34O 200260 436800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_85 FreePDK45_38x28_10R_NP_162NW_34O 200260 439600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_86 FreePDK45_38x28_10R_NP_162NW_34O 200260 442400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_87 FreePDK45_38x28_10R_NP_162NW_34O 200260 445200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_88 FreePDK45_38x28_10R_NP_162NW_34O 200260 448000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_89 FreePDK45_38x28_10R_NP_162NW_34O 200260 450800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_90 FreePDK45_38x28_10R_NP_162NW_34O 200260 453600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_91 FreePDK45_38x28_10R_NP_162NW_34O 200260 456400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_92 FreePDK45_38x28_10R_NP_162NW_34O 200260 459200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_93 FreePDK45_38x28_10R_NP_162NW_34O 200260 462000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_94 FreePDK45_38x28_10R_NP_162NW_34O 200260 464800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_95 FreePDK45_38x28_10R_NP_162NW_34O 200260 467600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_96 FreePDK45_38x28_10R_NP_162NW_34O 200260 470400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_97 FreePDK45_38x28_10R_NP_162NW_34O 200260 473200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_98 FreePDK45_38x28_10R_NP_162NW_34O 200260 476000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_99 FreePDK45_38x28_10R_NP_162NW_34O 200260 478800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_100 FreePDK45_38x28_10R_NP_162NW_34O 200260 481600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_101 FreePDK45_38x28_10R_NP_162NW_34O 200260 484400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_102 FreePDK45_38x28_10R_NP_162NW_34O 200260 487200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_103 FreePDK45_38x28_10R_NP_162NW_34O 200260 490000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_104 FreePDK45_38x28_10R_NP_162NW_34O 200260 492800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_105 FreePDK45_38x28_10R_NP_162NW_34O 200260 495600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_106 FreePDK45_38x28_10R_NP_162NW_34O 200260 498400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_107 FreePDK45_38x28_10R_NP_162NW_34O 200260 501200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_108 FreePDK45_38x28_10R_NP_162NW_34O 200260 504000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_109 FreePDK45_38x28_10R_NP_162NW_34O 200260 506800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_110 FreePDK45_38x28_10R_NP_162NW_34O 200260 509600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_111 FreePDK45_38x28_10R_NP_162NW_34O 200260 512400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_112 FreePDK45_38x28_10R_NP_162NW_34O 200260 515200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_113 FreePDK45_38x28_10R_NP_162NW_34O 200260 518000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_114 FreePDK45_38x28_10R_NP_162NW_34O 200260 520800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_115 FreePDK45_38x28_10R_NP_162NW_34O 200260 523600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_116 FreePDK45_38x28_10R_NP_162NW_34O 200260 526400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_117 FreePDK45_38x28_10R_NP_162NW_34O 200260 529200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_118 FreePDK45_38x28_10R_NP_162NW_34O 200260 532000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_119 FreePDK45_38x28_10R_NP_162NW_34O 200260 534800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_120 FreePDK45_38x28_10R_NP_162NW_34O 200260 537600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_121 FreePDK45_38x28_10R_NP_162NW_34O 200260 540400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_122 FreePDK45_38x28_10R_NP_162NW_34O 200260 543200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_123 FreePDK45_38x28_10R_NP_162NW_34O 200260 546000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_124 FreePDK45_38x28_10R_NP_162NW_34O 200260 548800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_125 FreePDK45_38x28_10R_NP_162NW_34O 200260 551600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_126 FreePDK45_38x28_10R_NP_162NW_34O 200260 554400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_127 FreePDK45_38x28_10R_NP_162NW_34O 200260 557200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_128 FreePDK45_38x28_10R_NP_162NW_34O 200260 560000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_129 FreePDK45_38x28_10R_NP_162NW_34O 200260 562800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_130 FreePDK45_38x28_10R_NP_162NW_34O 200260 565600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_131 FreePDK45_38x28_10R_NP_162NW_34O 200260 568400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_132 FreePDK45_38x28_10R_NP_162NW_34O 200260 571200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_133 FreePDK45_38x28_10R_NP_162NW_34O 200260 574000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_134 FreePDK45_38x28_10R_NP_162NW_34O 200260 576800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_135 FreePDK45_38x28_10R_NP_162NW_34O 200260 579600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_136 FreePDK45_38x28_10R_NP_162NW_34O 200260 582400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_137 FreePDK45_38x28_10R_NP_162NW_34O 200260 585200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_138 FreePDK45_38x28_10R_NP_162NW_34O 200260 588000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_139 FreePDK45_38x28_10R_NP_162NW_34O 200260 590800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_140 FreePDK45_38x28_10R_NP_162NW_34O 200260 593600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_141 FreePDK45_38x28_10R_NP_162NW_34O 200260 596400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_142 FreePDK45_38x28_10R_NP_162NW_34O 200260 599200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_143 FreePDK45_38x28_10R_NP_162NW_34O 200260 602000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_144 FreePDK45_38x28_10R_NP_162NW_34O 200260 604800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_145 FreePDK45_38x28_10R_NP_162NW_34O 200260 607600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_146 FreePDK45_38x28_10R_NP_162NW_34O 200260 610400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_147 FreePDK45_38x28_10R_NP_162NW_34O 200260 613200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_148 FreePDK45_38x28_10R_NP_162NW_34O 200260 616000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_149 FreePDK45_38x28_10R_NP_162NW_34O 200260 618800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_150 FreePDK45_38x28_10R_NP_162NW_34O 200260 621600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_151 FreePDK45_38x28_10R_NP_162NW_34O 200260 624400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_152 FreePDK45_38x28_10R_NP_162NW_34O 200260 627200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_153 FreePDK45_38x28_10R_NP_162NW_34O 200260 630000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_154 FreePDK45_38x28_10R_NP_162NW_34O 200260 632800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_155 FreePDK45_38x28_10R_NP_162NW_34O 200260 635600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_156 FreePDK45_38x28_10R_NP_162NW_34O 200260 638400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_157 FreePDK45_38x28_10R_NP_162NW_34O 200260 641200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_158 FreePDK45_38x28_10R_NP_162NW_34O 200260 644000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_159 FreePDK45_38x28_10R_NP_162NW_34O 200260 646800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_160 FreePDK45_38x28_10R_NP_162NW_34O 200260 649600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_161 FreePDK45_38x28_10R_NP_162NW_34O 200260 652400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_162 FreePDK45_38x28_10R_NP_162NW_34O 200260 655200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_163 FreePDK45_38x28_10R_NP_162NW_34O 200260 658000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_164 FreePDK45_38x28_10R_NP_162NW_34O 200260 660800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_165 FreePDK45_38x28_10R_NP_162NW_34O 200260 663600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_166 FreePDK45_38x28_10R_NP_162NW_34O 200260 666400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_167 FreePDK45_38x28_10R_NP_162NW_34O 200260 669200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_168 FreePDK45_38x28_10R_NP_162NW_34O 200260 672000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_169 FreePDK45_38x28_10R_NP_162NW_34O 200260 674800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_170 FreePDK45_38x28_10R_NP_162NW_34O 200260 677600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_171 FreePDK45_38x28_10R_NP_162NW_34O 200260 680400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_172 FreePDK45_38x28_10R_NP_162NW_34O 200260 683200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_173 FreePDK45_38x28_10R_NP_162NW_34O 200260 686000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_174 FreePDK45_38x28_10R_NP_162NW_34O 200260 688800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_175 FreePDK45_38x28_10R_NP_162NW_34O 200260 691600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_176 FreePDK45_38x28_10R_NP_162NW_34O 200260 694400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_177 FreePDK45_38x28_10R_NP_162NW_34O 200260 697200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_178 FreePDK45_38x28_10R_NP_162NW_34O 200260 700000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_179 FreePDK45_38x28_10R_NP_162NW_34O 200260 702800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_180 FreePDK45_38x28_10R_NP_162NW_34O 200260 705600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_181 FreePDK45_38x28_10R_NP_162NW_34O 200260 708400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_182 FreePDK45_38x28_10R_NP_162NW_34O 200260 711200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_183 FreePDK45_38x28_10R_NP_162NW_34O 200260 714000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_184 FreePDK45_38x28_10R_NP_162NW_34O 200260 716800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_185 FreePDK45_38x28_10R_NP_162NW_34O 200260 719600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_186 FreePDK45_38x28_10R_NP_162NW_34O 200260 722400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_187 FreePDK45_38x28_10R_NP_162NW_34O 200260 725200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_188 FreePDK45_38x28_10R_NP_162NW_34O 200260 728000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_189 FreePDK45_38x28_10R_NP_162NW_34O 200260 730800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_190 FreePDK45_38x28_10R_NP_162NW_34O 200260 733600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_191 FreePDK45_38x28_10R_NP_162NW_34O 200260 736400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_192 FreePDK45_38x28_10R_NP_162NW_34O 200260 739200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_193 FreePDK45_38x28_10R_NP_162NW_34O 200260 742000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_194 FreePDK45_38x28_10R_NP_162NW_34O 200260 744800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_195 FreePDK45_38x28_10R_NP_162NW_34O 200260 747600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_196 FreePDK45_38x28_10R_NP_162NW_34O 200260 750400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_197 FreePDK45_38x28_10R_NP_162NW_34O 200260 753200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_198 FreePDK45_38x28_10R_NP_162NW_34O 200260 756000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_199 FreePDK45_38x28_10R_NP_162NW_34O 200260 758800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_200 FreePDK45_38x28_10R_NP_162NW_34O 200260 761600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_201 FreePDK45_38x28_10R_NP_162NW_34O 200260 764400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_202 FreePDK45_38x28_10R_NP_162NW_34O 200260 767200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_203 FreePDK45_38x28_10R_NP_162NW_34O 200260 770000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_204 FreePDK45_38x28_10R_NP_162NW_34O 200260 772800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_205 FreePDK45_38x28_10R_NP_162NW_34O 200260 775600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_206 FreePDK45_38x28_10R_NP_162NW_34O 200260 778400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_207 FreePDK45_38x28_10R_NP_162NW_34O 200260 781200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_208 FreePDK45_38x28_10R_NP_162NW_34O 200260 784000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_209 FreePDK45_38x28_10R_NP_162NW_34O 200260 786800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_210 FreePDK45_38x28_10R_NP_162NW_34O 200260 789600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_211 FreePDK45_38x28_10R_NP_162NW_34O 200260 792400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_212 FreePDK45_38x28_10R_NP_162NW_34O 200260 795200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_213 FreePDK45_38x28_10R_NP_162NW_34O 200260 798000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_214 FreePDK45_38x28_10R_NP_162NW_34O 200260 800800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_215 FreePDK45_38x28_10R_NP_162NW_34O 200260 803600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_216 FreePDK45_38x28_10R_NP_162NW_34O 200260 806400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_217 FreePDK45_38x28_10R_NP_162NW_34O 200260 809200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_218 FreePDK45_38x28_10R_NP_162NW_34O 200260 812000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_219 FreePDK45_38x28_10R_NP_162NW_34O 200260 814800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_220 FreePDK45_38x28_10R_NP_162NW_34O 200260 817600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_221 FreePDK45_38x28_10R_NP_162NW_34O 200260 820400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_222 FreePDK45_38x28_10R_NP_162NW_34O 200260 823200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_223 FreePDK45_38x28_10R_NP_162NW_34O 200260 826000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_224 FreePDK45_38x28_10R_NP_162NW_34O 200260 828800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_225 FreePDK45_38x28_10R_NP_162NW_34O 200260 831600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_226 FreePDK45_38x28_10R_NP_162NW_34O 200260 834400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_227 FreePDK45_38x28_10R_NP_162NW_34O 200260 837200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_228 FreePDK45_38x28_10R_NP_162NW_34O 200260 840000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_229 FreePDK45_38x28_10R_NP_162NW_34O 200260 842800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_230 FreePDK45_38x28_10R_NP_162NW_34O 200260 845600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_231 FreePDK45_38x28_10R_NP_162NW_34O 200260 848400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_232 FreePDK45_38x28_10R_NP_162NW_34O 200260 851200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_233 FreePDK45_38x28_10R_NP_162NW_34O 200260 854000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_234 FreePDK45_38x28_10R_NP_162NW_34O 200260 856800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_235 FreePDK45_38x28_10R_NP_162NW_34O 200260 859600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_236 FreePDK45_38x28_10R_NP_162NW_34O 200260 862400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_237 FreePDK45_38x28_10R_NP_162NW_34O 200260 865200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_238 FreePDK45_38x28_10R_NP_162NW_34O 200260 868000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_239 FreePDK45_38x28_10R_NP_162NW_34O 200260 870800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_240 FreePDK45_38x28_10R_NP_162NW_34O 200260 873600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_241 FreePDK45_38x28_10R_NP_162NW_34O 200260 876400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_242 FreePDK45_38x28_10R_NP_162NW_34O 200260 879200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_243 FreePDK45_38x28_10R_NP_162NW_34O 200260 882000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_244 FreePDK45_38x28_10R_NP_162NW_34O 200260 884800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_245 FreePDK45_38x28_10R_NP_162NW_34O 200260 887600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_246 FreePDK45_38x28_10R_NP_162NW_34O 200260 890400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_247 FreePDK45_38x28_10R_NP_162NW_34O 200260 893200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_248 FreePDK45_38x28_10R_NP_162NW_34O 200260 896000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_249 FreePDK45_38x28_10R_NP_162NW_34O 200260 898800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_250 FreePDK45_38x28_10R_NP_162NW_34O 200260 901600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_251 FreePDK45_38x28_10R_NP_162NW_34O 200260 904400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_252 FreePDK45_38x28_10R_NP_162NW_34O 200260 907200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_253 FreePDK45_38x28_10R_NP_162NW_34O 200260 910000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_254 FreePDK45_38x28_10R_NP_162NW_34O 200260 912800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_255 FreePDK45_38x28_10R_NP_162NW_34O 200260 915600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_256 FreePDK45_38x28_10R_NP_162NW_34O 200260 918400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_257 FreePDK45_38x28_10R_NP_162NW_34O 200260 921200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_258 FreePDK45_38x28_10R_NP_162NW_34O 200260 924000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_259 FreePDK45_38x28_10R_NP_162NW_34O 200260 926800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_260 FreePDK45_38x28_10R_NP_162NW_34O 200260 929600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_261 FreePDK45_38x28_10R_NP_162NW_34O 200260 932400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_262 FreePDK45_38x28_10R_NP_162NW_34O 200260 935200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_263 FreePDK45_38x28_10R_NP_162NW_34O 200260 938000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_264 FreePDK45_38x28_10R_NP_162NW_34O 200260 940800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_265 FreePDK45_38x28_10R_NP_162NW_34O 200260 943600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_266 FreePDK45_38x28_10R_NP_162NW_34O 200260 946400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_267 FreePDK45_38x28_10R_NP_162NW_34O 200260 949200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_268 FreePDK45_38x28_10R_NP_162NW_34O 200260 952000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_269 FreePDK45_38x28_10R_NP_162NW_34O 200260 954800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_270 FreePDK45_38x28_10R_NP_162NW_34O 200260 957600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_271 FreePDK45_38x28_10R_NP_162NW_34O 200260 960400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_272 FreePDK45_38x28_10R_NP_162NW_34O 200260 963200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_273 FreePDK45_38x28_10R_NP_162NW_34O 200260 966000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_274 FreePDK45_38x28_10R_NP_162NW_34O 200260 968800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_275 FreePDK45_38x28_10R_NP_162NW_34O 200260 971600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_276 FreePDK45_38x28_10R_NP_162NW_34O 200260 974400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_277 FreePDK45_38x28_10R_NP_162NW_34O 200260 977200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_278 FreePDK45_38x28_10R_NP_162NW_34O 200260 980000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_279 FreePDK45_38x28_10R_NP_162NW_34O 200260 982800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_280 FreePDK45_38x28_10R_NP_162NW_34O 200260 985600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_281 FreePDK45_38x28_10R_NP_162NW_34O 200260 988400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_282 FreePDK45_38x28_10R_NP_162NW_34O 200260 991200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_283 FreePDK45_38x28_10R_NP_162NW_34O 200260 994000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_284 FreePDK45_38x28_10R_NP_162NW_34O 200260 996800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_285 FreePDK45_38x28_10R_NP_162NW_34O 200260 999600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_286 FreePDK45_38x28_10R_NP_162NW_34O 200260 1002400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_287 FreePDK45_38x28_10R_NP_162NW_34O 200260 1005200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_288 FreePDK45_38x28_10R_NP_162NW_34O 200260 1008000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_289 FreePDK45_38x28_10R_NP_162NW_34O 200260 1010800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_290 FreePDK45_38x28_10R_NP_162NW_34O 200260 1013600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_291 FreePDK45_38x28_10R_NP_162NW_34O 200260 1016400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_292 FreePDK45_38x28_10R_NP_162NW_34O 200260 1019200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_293 FreePDK45_38x28_10R_NP_162NW_34O 200260 1022000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_294 FreePDK45_38x28_10R_NP_162NW_34O 200260 1024800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_295 FreePDK45_38x28_10R_NP_162NW_34O 200260 1027600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_296 FreePDK45_38x28_10R_NP_162NW_34O 200260 1030400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_297 FreePDK45_38x28_10R_NP_162NW_34O 200260 1033200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_298 FreePDK45_38x28_10R_NP_162NW_34O 200260 1036000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_299 FreePDK45_38x28_10R_NP_162NW_34O 200260 1038800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_300 FreePDK45_38x28_10R_NP_162NW_34O 200260 1041600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_301 FreePDK45_38x28_10R_NP_162NW_34O 200260 1044400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_302 FreePDK45_38x28_10R_NP_162NW_34O 200260 1047200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_303 FreePDK45_38x28_10R_NP_162NW_34O 200260 1050000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_304 FreePDK45_38x28_10R_NP_162NW_34O 200260 1052800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_305 FreePDK45_38x28_10R_NP_162NW_34O 200260 1055600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_306 FreePDK45_38x28_10R_NP_162NW_34O 200260 1058400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_307 FreePDK45_38x28_10R_NP_162NW_34O 200260 1061200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_308 FreePDK45_38x28_10R_NP_162NW_34O 200260 1064000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_309 FreePDK45_38x28_10R_NP_162NW_34O 200260 1066800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_310 FreePDK45_38x28_10R_NP_162NW_34O 200260 1069600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_311 FreePDK45_38x28_10R_NP_162NW_34O 200260 1072400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_312 FreePDK45_38x28_10R_NP_162NW_34O 200260 1075200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_313 FreePDK45_38x28_10R_NP_162NW_34O 200260 1078000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_314 FreePDK45_38x28_10R_NP_162NW_34O 200260 1080800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_315 FreePDK45_38x28_10R_NP_162NW_34O 200260 1083600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_316 FreePDK45_38x28_10R_NP_162NW_34O 200260 1086400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_317 FreePDK45_38x28_10R_NP_162NW_34O 200260 1089200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_318 FreePDK45_38x28_10R_NP_162NW_34O 200260 1092000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_319 FreePDK45_38x28_10R_NP_162NW_34O 200260 1094800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_320 FreePDK45_38x28_10R_NP_162NW_34O 200260 1097600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_321 FreePDK45_38x28_10R_NP_162NW_34O 200260 1100400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_322 FreePDK45_38x28_10R_NP_162NW_34O 200260 1103200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_323 FreePDK45_38x28_10R_NP_162NW_34O 200260 1106000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_324 FreePDK45_38x28_10R_NP_162NW_34O 200260 1108800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_325 FreePDK45_38x28_10R_NP_162NW_34O 200260 1111600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_326 FreePDK45_38x28_10R_NP_162NW_34O 200260 1114400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_327 FreePDK45_38x28_10R_NP_162NW_34O 200260 1117200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_328 FreePDK45_38x28_10R_NP_162NW_34O 200260 1120000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_329 FreePDK45_38x28_10R_NP_162NW_34O 200260 1122800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_330 FreePDK45_38x28_10R_NP_162NW_34O 200260 1125600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_331 FreePDK45_38x28_10R_NP_162NW_34O 200260 1128400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_332 FreePDK45_38x28_10R_NP_162NW_34O 200260 1131200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_333 FreePDK45_38x28_10R_NP_162NW_34O 200260 1134000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_334 FreePDK45_38x28_10R_NP_162NW_34O 200260 1136800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_335 FreePDK45_38x28_10R_NP_162NW_34O 200260 1139600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_336 FreePDK45_38x28_10R_NP_162NW_34O 200260 1142400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_337 FreePDK45_38x28_10R_NP_162NW_34O 200260 1145200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_338 FreePDK45_38x28_10R_NP_162NW_34O 200260 1148000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_339 FreePDK45_38x28_10R_NP_162NW_34O 200260 1150800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_340 FreePDK45_38x28_10R_NP_162NW_34O 200260 1153600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_341 FreePDK45_38x28_10R_NP_162NW_34O 200260 1156400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_342 FreePDK45_38x28_10R_NP_162NW_34O 200260 1159200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_343 FreePDK45_38x28_10R_NP_162NW_34O 200260 1162000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_344 FreePDK45_38x28_10R_NP_162NW_34O 200260 1164800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_345 FreePDK45_38x28_10R_NP_162NW_34O 200260 1167600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_346 FreePDK45_38x28_10R_NP_162NW_34O 200260 1170400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_347 FreePDK45_38x28_10R_NP_162NW_34O 200260 1173200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_348 FreePDK45_38x28_10R_NP_162NW_34O 200260 1176000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_349 FreePDK45_38x28_10R_NP_162NW_34O 200260 1178800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_350 FreePDK45_38x28_10R_NP_162NW_34O 200260 1181600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_351 FreePDK45_38x28_10R_NP_162NW_34O 200260 1184400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_352 FreePDK45_38x28_10R_NP_162NW_34O 200260 1187200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_353 FreePDK45_38x28_10R_NP_162NW_34O 200260 1190000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_354 FreePDK45_38x28_10R_NP_162NW_34O 200260 1192800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_355 FreePDK45_38x28_10R_NP_162NW_34O 200260 1195600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_356 FreePDK45_38x28_10R_NP_162NW_34O 200260 1198400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_357 FreePDK45_38x28_10R_NP_162NW_34O 200260 1201200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_358 FreePDK45_38x28_10R_NP_162NW_34O 200260 1204000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_359 FreePDK45_38x28_10R_NP_162NW_34O 200260 1206800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_360 FreePDK45_38x28_10R_NP_162NW_34O 200260 1209600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_361 FreePDK45_38x28_10R_NP_162NW_34O 200260 1212400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_362 FreePDK45_38x28_10R_NP_162NW_34O 200260 1215200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_363 FreePDK45_38x28_10R_NP_162NW_34O 200260 1218000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_364 FreePDK45_38x28_10R_NP_162NW_34O 200260 1220800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_365 FreePDK45_38x28_10R_NP_162NW_34O 200260 1223600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_366 FreePDK45_38x28_10R_NP_162NW_34O 200260 1226400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_367 FreePDK45_38x28_10R_NP_162NW_34O 200260 1229200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_368 FreePDK45_38x28_10R_NP_162NW_34O 200260 1232000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_369 FreePDK45_38x28_10R_NP_162NW_34O 200260 1234800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_370 FreePDK45_38x28_10R_NP_162NW_34O 200260 1237600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_371 FreePDK45_38x28_10R_NP_162NW_34O 200260 1240400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_372 FreePDK45_38x28_10R_NP_162NW_34O 200260 1243200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_373 FreePDK45_38x28_10R_NP_162NW_34O 200260 1246000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_374 FreePDK45_38x28_10R_NP_162NW_34O 200260 1248800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_375 FreePDK45_38x28_10R_NP_162NW_34O 200260 1251600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_376 FreePDK45_38x28_10R_NP_162NW_34O 200260 1254400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_377 FreePDK45_38x28_10R_NP_162NW_34O 200260 1257200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_378 FreePDK45_38x28_10R_NP_162NW_34O 200260 1260000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_379 FreePDK45_38x28_10R_NP_162NW_34O 200260 1262800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_380 FreePDK45_38x28_10R_NP_162NW_34O 200260 1265600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_381 FreePDK45_38x28_10R_NP_162NW_34O 200260 1268400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_382 FreePDK45_38x28_10R_NP_162NW_34O 200260 1271200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_383 FreePDK45_38x28_10R_NP_162NW_34O 200260 1274000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_384 FreePDK45_38x28_10R_NP_162NW_34O 200260 1276800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_385 FreePDK45_38x28_10R_NP_162NW_34O 200260 1279600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_386 FreePDK45_38x28_10R_NP_162NW_34O 200260 1282400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_387 FreePDK45_38x28_10R_NP_162NW_34O 200260 1285200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_388 FreePDK45_38x28_10R_NP_162NW_34O 200260 1288000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_389 FreePDK45_38x28_10R_NP_162NW_34O 200260 1290800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_390 FreePDK45_38x28_10R_NP_162NW_34O 200260 1293600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_391 FreePDK45_38x28_10R_NP_162NW_34O 200260 1296400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_392 FreePDK45_38x28_10R_NP_162NW_34O 200260 1299200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_393 FreePDK45_38x28_10R_NP_162NW_34O 200260 1302000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_394 FreePDK45_38x28_10R_NP_162NW_34O 200260 1304800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_395 FreePDK45_38x28_10R_NP_162NW_34O 200260 1307600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_396 FreePDK45_38x28_10R_NP_162NW_34O 200260 1310400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_397 FreePDK45_38x28_10R_NP_162NW_34O 200260 1313200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_398 FreePDK45_38x28_10R_NP_162NW_34O 200260 1316000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_399 FreePDK45_38x28_10R_NP_162NW_34O 200260 1318800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_400 FreePDK45_38x28_10R_NP_162NW_34O 200260 1321600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_401 FreePDK45_38x28_10R_NP_162NW_34O 200260 1324400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_402 FreePDK45_38x28_10R_NP_162NW_34O 200260 1327200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_403 FreePDK45_38x28_10R_NP_162NW_34O 200260 1330000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_404 FreePDK45_38x28_10R_NP_162NW_34O 200260 1332800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_405 FreePDK45_38x28_10R_NP_162NW_34O 200260 1335600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_406 FreePDK45_38x28_10R_NP_162NW_34O 200260 1338400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_407 FreePDK45_38x28_10R_NP_162NW_34O 200260 1341200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_408 FreePDK45_38x28_10R_NP_162NW_34O 200260 1344000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_409 FreePDK45_38x28_10R_NP_162NW_34O 200260 1346800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_410 FreePDK45_38x28_10R_NP_162NW_34O 200260 1349600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_411 FreePDK45_38x28_10R_NP_162NW_34O 200260 1352400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_412 FreePDK45_38x28_10R_NP_162NW_34O 200260 1355200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_413 FreePDK45_38x28_10R_NP_162NW_34O 200260 1358000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_414 FreePDK45_38x28_10R_NP_162NW_34O 200260 1360800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_415 FreePDK45_38x28_10R_NP_162NW_34O 200260 1363600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_416 FreePDK45_38x28_10R_NP_162NW_34O 200260 1366400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_417 FreePDK45_38x28_10R_NP_162NW_34O 200260 1369200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_418 FreePDK45_38x28_10R_NP_162NW_34O 200260 1372000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_419 FreePDK45_38x28_10R_NP_162NW_34O 200260 1374800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_420 FreePDK45_38x28_10R_NP_162NW_34O 200260 1377600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_421 FreePDK45_38x28_10R_NP_162NW_34O 200260 1380400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_422 FreePDK45_38x28_10R_NP_162NW_34O 200260 1383200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_423 FreePDK45_38x28_10R_NP_162NW_34O 200260 1386000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_424 FreePDK45_38x28_10R_NP_162NW_34O 200260 1388800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_425 FreePDK45_38x28_10R_NP_162NW_34O 200260 1391600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_426 FreePDK45_38x28_10R_NP_162NW_34O 200260 1394400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_427 FreePDK45_38x28_10R_NP_162NW_34O 200260 1397200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_428 FreePDK45_38x28_10R_NP_162NW_34O 200260 1400000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_429 FreePDK45_38x28_10R_NP_162NW_34O 200260 1402800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_430 FreePDK45_38x28_10R_NP_162NW_34O 200260 1405600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_431 FreePDK45_38x28_10R_NP_162NW_34O 200260 1408400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_432 FreePDK45_38x28_10R_NP_162NW_34O 200260 1411200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_433 FreePDK45_38x28_10R_NP_162NW_34O 200260 1414000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_434 FreePDK45_38x28_10R_NP_162NW_34O 200260 1416800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_435 FreePDK45_38x28_10R_NP_162NW_34O 200260 1419600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_436 FreePDK45_38x28_10R_NP_162NW_34O 200260 1422400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_437 FreePDK45_38x28_10R_NP_162NW_34O 200260 1425200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_438 FreePDK45_38x28_10R_NP_162NW_34O 200260 1428000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_439 FreePDK45_38x28_10R_NP_162NW_34O 200260 1430800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_440 FreePDK45_38x28_10R_NP_162NW_34O 200260 1433600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_441 FreePDK45_38x28_10R_NP_162NW_34O 200260 1436400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_442 FreePDK45_38x28_10R_NP_162NW_34O 200260 1439200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_443 FreePDK45_38x28_10R_NP_162NW_34O 200260 1442000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_444 FreePDK45_38x28_10R_NP_162NW_34O 200260 1444800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_445 FreePDK45_38x28_10R_NP_162NW_34O 200260 1447600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_446 FreePDK45_38x28_10R_NP_162NW_34O 200260 1450400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_447 FreePDK45_38x28_10R_NP_162NW_34O 200260 1453200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_448 FreePDK45_38x28_10R_NP_162NW_34O 200260 1456000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_449 FreePDK45_38x28_10R_NP_162NW_34O 200260 1458800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_450 FreePDK45_38x28_10R_NP_162NW_34O 200260 1461600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_451 FreePDK45_38x28_10R_NP_162NW_34O 200260 1464400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_452 FreePDK45_38x28_10R_NP_162NW_34O 200260 1467200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_453 FreePDK45_38x28_10R_NP_162NW_34O 200260 1470000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_454 FreePDK45_38x28_10R_NP_162NW_34O 200260 1472800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_455 FreePDK45_38x28_10R_NP_162NW_34O 200260 1475600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_456 FreePDK45_38x28_10R_NP_162NW_34O 200260 1478400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_457 FreePDK45_38x28_10R_NP_162NW_34O 200260 1481200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_458 FreePDK45_38x28_10R_NP_162NW_34O 200260 1484000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_459 FreePDK45_38x28_10R_NP_162NW_34O 200260 1486800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_460 FreePDK45_38x28_10R_NP_162NW_34O 200260 1489600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_461 FreePDK45_38x28_10R_NP_162NW_34O 200260 1492400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_462 FreePDK45_38x28_10R_NP_162NW_34O 200260 1495200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_463 FreePDK45_38x28_10R_NP_162NW_34O 200260 1498000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_464 FreePDK45_38x28_10R_NP_162NW_34O 200260 1500800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_465 FreePDK45_38x28_10R_NP_162NW_34O 200260 1503600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_466 FreePDK45_38x28_10R_NP_162NW_34O 200260 1506400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_467 FreePDK45_38x28_10R_NP_162NW_34O 200260 1509200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_468 FreePDK45_38x28_10R_NP_162NW_34O 200260 1512000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_469 FreePDK45_38x28_10R_NP_162NW_34O 200260 1514800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_470 FreePDK45_38x28_10R_NP_162NW_34O 200260 1517600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_471 FreePDK45_38x28_10R_NP_162NW_34O 200260 1520400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_472 FreePDK45_38x28_10R_NP_162NW_34O 200260 1523200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_473 FreePDK45_38x28_10R_NP_162NW_34O 200260 1526000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_474 FreePDK45_38x28_10R_NP_162NW_34O 200260 1528800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_475 FreePDK45_38x28_10R_NP_162NW_34O 200260 1531600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_476 FreePDK45_38x28_10R_NP_162NW_34O 200260 1534400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_477 FreePDK45_38x28_10R_NP_162NW_34O 200260 1537200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_478 FreePDK45_38x28_10R_NP_162NW_34O 200260 1540000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_479 FreePDK45_38x28_10R_NP_162NW_34O 200260 1542800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_480 FreePDK45_38x28_10R_NP_162NW_34O 200260 1545600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_481 FreePDK45_38x28_10R_NP_162NW_34O 200260 1548400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_482 FreePDK45_38x28_10R_NP_162NW_34O 200260 1551200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_483 FreePDK45_38x28_10R_NP_162NW_34O 200260 1554000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_484 FreePDK45_38x28_10R_NP_162NW_34O 200260 1556800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_485 FreePDK45_38x28_10R_NP_162NW_34O 200260 1559600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_486 FreePDK45_38x28_10R_NP_162NW_34O 200260 1562400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_487 FreePDK45_38x28_10R_NP_162NW_34O 200260 1565200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_488 FreePDK45_38x28_10R_NP_162NW_34O 200260 1568000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_489 FreePDK45_38x28_10R_NP_162NW_34O 200260 1570800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_490 FreePDK45_38x28_10R_NP_162NW_34O 200260 1573600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_491 FreePDK45_38x28_10R_NP_162NW_34O 200260 1576400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_492 FreePDK45_38x28_10R_NP_162NW_34O 200260 1579200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_493 FreePDK45_38x28_10R_NP_162NW_34O 200260 1582000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_494 FreePDK45_38x28_10R_NP_162NW_34O 200260 1584800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_495 FreePDK45_38x28_10R_NP_162NW_34O 200260 1587600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_496 FreePDK45_38x28_10R_NP_162NW_34O 200260 1590400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_497 FreePDK45_38x28_10R_NP_162NW_34O 200260 1593200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_498 FreePDK45_38x28_10R_NP_162NW_34O 200260 1596000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_499 FreePDK45_38x28_10R_NP_162NW_34O 200260 1598800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_500 FreePDK45_38x28_10R_NP_162NW_34O 200260 1601600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_501 FreePDK45_38x28_10R_NP_162NW_34O 200260 1604400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_502 FreePDK45_38x28_10R_NP_162NW_34O 200260 1607200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_503 FreePDK45_38x28_10R_NP_162NW_34O 200260 1610000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_504 FreePDK45_38x28_10R_NP_162NW_34O 200260 1612800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_505 FreePDK45_38x28_10R_NP_162NW_34O 200260 1615600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_506 FreePDK45_38x28_10R_NP_162NW_34O 200260 1618400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_507 FreePDK45_38x28_10R_NP_162NW_34O 200260 1621200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_508 FreePDK45_38x28_10R_NP_162NW_34O 200260 1624000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_509 FreePDK45_38x28_10R_NP_162NW_34O 200260 1626800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_510 FreePDK45_38x28_10R_NP_162NW_34O 200260 1629600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_511 FreePDK45_38x28_10R_NP_162NW_34O 200260 1632400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_512 FreePDK45_38x28_10R_NP_162NW_34O 200260 1635200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_513 FreePDK45_38x28_10R_NP_162NW_34O 200260 1638000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_514 FreePDK45_38x28_10R_NP_162NW_34O 200260 1640800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_515 FreePDK45_38x28_10R_NP_162NW_34O 200260 1643600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_516 FreePDK45_38x28_10R_NP_162NW_34O 200260 1646400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_517 FreePDK45_38x28_10R_NP_162NW_34O 200260 1649200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_518 FreePDK45_38x28_10R_NP_162NW_34O 200260 1652000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_519 FreePDK45_38x28_10R_NP_162NW_34O 200260 1654800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_520 FreePDK45_38x28_10R_NP_162NW_34O 200260 1657600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_521 FreePDK45_38x28_10R_NP_162NW_34O 200260 1660400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_522 FreePDK45_38x28_10R_NP_162NW_34O 200260 1663200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_523 FreePDK45_38x28_10R_NP_162NW_34O 200260 1666000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_524 FreePDK45_38x28_10R_NP_162NW_34O 200260 1668800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_525 FreePDK45_38x28_10R_NP_162NW_34O 200260 1671600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_526 FreePDK45_38x28_10R_NP_162NW_34O 200260 1674400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_527 FreePDK45_38x28_10R_NP_162NW_34O 200260 1677200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_528 FreePDK45_38x28_10R_NP_162NW_34O 200260 1680000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_529 FreePDK45_38x28_10R_NP_162NW_34O 200260 1682800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_530 FreePDK45_38x28_10R_NP_162NW_34O 200260 1685600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_531 FreePDK45_38x28_10R_NP_162NW_34O 200260 1688400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_532 FreePDK45_38x28_10R_NP_162NW_34O 200260 1691200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_533 FreePDK45_38x28_10R_NP_162NW_34O 200260 1694000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_534 FreePDK45_38x28_10R_NP_162NW_34O 200260 1696800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_535 FreePDK45_38x28_10R_NP_162NW_34O 200260 1699600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_536 FreePDK45_38x28_10R_NP_162NW_34O 200260 1702400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_537 FreePDK45_38x28_10R_NP_162NW_34O 200260 1705200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_538 FreePDK45_38x28_10R_NP_162NW_34O 200260 1708000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_539 FreePDK45_38x28_10R_NP_162NW_34O 200260 1710800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_540 FreePDK45_38x28_10R_NP_162NW_34O 200260 1713600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_541 FreePDK45_38x28_10R_NP_162NW_34O 200260 1716400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_542 FreePDK45_38x28_10R_NP_162NW_34O 200260 1719200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_543 FreePDK45_38x28_10R_NP_162NW_34O 200260 1722000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_544 FreePDK45_38x28_10R_NP_162NW_34O 200260 1724800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_545 FreePDK45_38x28_10R_NP_162NW_34O 200260 1727600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_546 FreePDK45_38x28_10R_NP_162NW_34O 200260 1730400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_547 FreePDK45_38x28_10R_NP_162NW_34O 200260 1733200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_548 FreePDK45_38x28_10R_NP_162NW_34O 200260 1736000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_549 FreePDK45_38x28_10R_NP_162NW_34O 200260 1738800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_550 FreePDK45_38x28_10R_NP_162NW_34O 200260 1741600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_551 FreePDK45_38x28_10R_NP_162NW_34O 200260 1744400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_552 FreePDK45_38x28_10R_NP_162NW_34O 200260 1747200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_553 FreePDK45_38x28_10R_NP_162NW_34O 200260 1750000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_554 FreePDK45_38x28_10R_NP_162NW_34O 200260 1752800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_555 FreePDK45_38x28_10R_NP_162NW_34O 200260 1755600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_556 FreePDK45_38x28_10R_NP_162NW_34O 200260 1758400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_557 FreePDK45_38x28_10R_NP_162NW_34O 200260 1761200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_558 FreePDK45_38x28_10R_NP_162NW_34O 200260 1764000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_559 FreePDK45_38x28_10R_NP_162NW_34O 200260 1766800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_560 FreePDK45_38x28_10R_NP_162NW_34O 200260 1769600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_561 FreePDK45_38x28_10R_NP_162NW_34O 200260 1772400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_562 FreePDK45_38x28_10R_NP_162NW_34O 200260 1775200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_563 FreePDK45_38x28_10R_NP_162NW_34O 200260 1778000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_564 FreePDK45_38x28_10R_NP_162NW_34O 200260 1780800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_565 FreePDK45_38x28_10R_NP_162NW_34O 200260 1783600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_566 FreePDK45_38x28_10R_NP_162NW_34O 200260 1786400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_567 FreePDK45_38x28_10R_NP_162NW_34O 200260 1789200 FS DO 4209 BY 1 STEP 380 0 ; +COMPONENTS 5 ; + - r1 DFF_X1 ; + - r2 DFF_X1 ; + - r3 DFF_X1 ; + - u1 BUF_X1 ; + - u2 AND2_X1 ; +END COMPONENTS +PINS 6 ; + - clk1 + NET clk1 + DIRECTION INPUT + USE SIGNAL ; + - clk2 + NET clk2 + DIRECTION INPUT + USE SIGNAL ; + - clk3 + NET clk3 + DIRECTION INPUT + USE SIGNAL ; + - in1 + NET in1 + DIRECTION INPUT + USE SIGNAL ; + - in2 + NET in2 + DIRECTION INPUT + USE SIGNAL ; + - out + NET out + DIRECTION OUTPUT + USE SIGNAL ; +END PINS +NETS 10 ; + - clk1 ( PIN clk1 ) ( r1 CK ) + USE SIGNAL ; + - clk2 ( PIN clk2 ) ( r2 CK ) + USE SIGNAL ; + - clk3 ( PIN clk3 ) ( r3 CK ) + USE SIGNAL ; + - in1 ( PIN in1 ) ( r1 D ) + USE SIGNAL ; + - in2 ( PIN in2 ) ( r2 D ) + USE SIGNAL ; + - out ( PIN out ) ( r3 Q ) + USE SIGNAL ; + - r1q ( u2 A1 ) ( r1 Q ) + USE SIGNAL ; + - r2q ( u1 A ) ( r2 Q ) + USE SIGNAL ; + - u1z ( u2 A2 ) ( u1 Z ) + USE SIGNAL ; + - u2z ( u2 ZN ) ( r3 D ) + USE SIGNAL ; +END NETS +END DESIGN diff --git a/src/ifp/test/init_floorplan_even_rows.ok b/src/ifp/test/init_floorplan_even_rows.ok new file mode 100644 index 00000000000..cb8ed3f285d --- /dev/null +++ b/src/ifp/test/init_floorplan_even_rows.ok @@ -0,0 +1,4 @@ +[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells +[WARNING IFP-0028] Core area lower left (100.000, 100.000) snapped to (100.130, 100.800). +[INFO IFP-0001] Added 568 rows of 4209 site FreePDK45_38x28_10R_NP_162NW_34O. +No differences found. diff --git a/src/ifp/test/init_floorplan_even_rows.tcl b/src/ifp/test/init_floorplan_even_rows.tcl new file mode 100644 index 00000000000..07ae0fce5cc --- /dev/null +++ b/src/ifp/test/init_floorplan_even_rows.tcl @@ -0,0 +1,14 @@ +# init_floorplan +source "helpers.tcl" +read_lef Nangate45/Nangate45.lef +read_liberty Nangate45/Nangate45_typ.lib +read_verilog reg1.v +link_design top +initialize_floorplan -die_area "0 0 1000 1000" \ + -core_area "100 100 900 898" \ + -site FreePDK45_38x28_10R_NP_162NW_34O \ + -row_parity EVEN + +set def_file [make_result_file init_floorplan_even_rows.def] +write_def $def_file +diff_files init_floorplan_even_rows.defok $def_file diff --git a/src/ifp/test/init_floorplan_odd_rows.defok b/src/ifp/test/init_floorplan_odd_rows.defok new file mode 100644 index 00000000000..f2e3d39f012 --- /dev/null +++ b/src/ifp/test/init_floorplan_odd_rows.defok @@ -0,0 +1,603 @@ +VERSION 5.8 ; +DIVIDERCHAR "/" ; +BUSBITCHARS "[]" ; +DESIGN top ; +UNITS DISTANCE MICRONS 2000 ; +DIEAREA ( 0 0 ) ( 2000000 2000000 ) ; +ROW ROW_0 FreePDK45_38x28_10R_NP_162NW_34O 200260 201600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_1 FreePDK45_38x28_10R_NP_162NW_34O 200260 204400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_2 FreePDK45_38x28_10R_NP_162NW_34O 200260 207200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_3 FreePDK45_38x28_10R_NP_162NW_34O 200260 210000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_4 FreePDK45_38x28_10R_NP_162NW_34O 200260 212800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_5 FreePDK45_38x28_10R_NP_162NW_34O 200260 215600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_6 FreePDK45_38x28_10R_NP_162NW_34O 200260 218400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_7 FreePDK45_38x28_10R_NP_162NW_34O 200260 221200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_8 FreePDK45_38x28_10R_NP_162NW_34O 200260 224000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_9 FreePDK45_38x28_10R_NP_162NW_34O 200260 226800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_10 FreePDK45_38x28_10R_NP_162NW_34O 200260 229600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_11 FreePDK45_38x28_10R_NP_162NW_34O 200260 232400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_12 FreePDK45_38x28_10R_NP_162NW_34O 200260 235200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_13 FreePDK45_38x28_10R_NP_162NW_34O 200260 238000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_14 FreePDK45_38x28_10R_NP_162NW_34O 200260 240800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_15 FreePDK45_38x28_10R_NP_162NW_34O 200260 243600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_16 FreePDK45_38x28_10R_NP_162NW_34O 200260 246400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_17 FreePDK45_38x28_10R_NP_162NW_34O 200260 249200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_18 FreePDK45_38x28_10R_NP_162NW_34O 200260 252000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_19 FreePDK45_38x28_10R_NP_162NW_34O 200260 254800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_20 FreePDK45_38x28_10R_NP_162NW_34O 200260 257600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_21 FreePDK45_38x28_10R_NP_162NW_34O 200260 260400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_22 FreePDK45_38x28_10R_NP_162NW_34O 200260 263200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_23 FreePDK45_38x28_10R_NP_162NW_34O 200260 266000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_24 FreePDK45_38x28_10R_NP_162NW_34O 200260 268800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_25 FreePDK45_38x28_10R_NP_162NW_34O 200260 271600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_26 FreePDK45_38x28_10R_NP_162NW_34O 200260 274400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_27 FreePDK45_38x28_10R_NP_162NW_34O 200260 277200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_28 FreePDK45_38x28_10R_NP_162NW_34O 200260 280000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_29 FreePDK45_38x28_10R_NP_162NW_34O 200260 282800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_30 FreePDK45_38x28_10R_NP_162NW_34O 200260 285600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_31 FreePDK45_38x28_10R_NP_162NW_34O 200260 288400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_32 FreePDK45_38x28_10R_NP_162NW_34O 200260 291200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_33 FreePDK45_38x28_10R_NP_162NW_34O 200260 294000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_34 FreePDK45_38x28_10R_NP_162NW_34O 200260 296800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_35 FreePDK45_38x28_10R_NP_162NW_34O 200260 299600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_36 FreePDK45_38x28_10R_NP_162NW_34O 200260 302400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_37 FreePDK45_38x28_10R_NP_162NW_34O 200260 305200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_38 FreePDK45_38x28_10R_NP_162NW_34O 200260 308000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_39 FreePDK45_38x28_10R_NP_162NW_34O 200260 310800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_40 FreePDK45_38x28_10R_NP_162NW_34O 200260 313600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_41 FreePDK45_38x28_10R_NP_162NW_34O 200260 316400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_42 FreePDK45_38x28_10R_NP_162NW_34O 200260 319200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_43 FreePDK45_38x28_10R_NP_162NW_34O 200260 322000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_44 FreePDK45_38x28_10R_NP_162NW_34O 200260 324800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_45 FreePDK45_38x28_10R_NP_162NW_34O 200260 327600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_46 FreePDK45_38x28_10R_NP_162NW_34O 200260 330400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_47 FreePDK45_38x28_10R_NP_162NW_34O 200260 333200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_48 FreePDK45_38x28_10R_NP_162NW_34O 200260 336000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_49 FreePDK45_38x28_10R_NP_162NW_34O 200260 338800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_50 FreePDK45_38x28_10R_NP_162NW_34O 200260 341600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_51 FreePDK45_38x28_10R_NP_162NW_34O 200260 344400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_52 FreePDK45_38x28_10R_NP_162NW_34O 200260 347200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_53 FreePDK45_38x28_10R_NP_162NW_34O 200260 350000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_54 FreePDK45_38x28_10R_NP_162NW_34O 200260 352800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_55 FreePDK45_38x28_10R_NP_162NW_34O 200260 355600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_56 FreePDK45_38x28_10R_NP_162NW_34O 200260 358400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_57 FreePDK45_38x28_10R_NP_162NW_34O 200260 361200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_58 FreePDK45_38x28_10R_NP_162NW_34O 200260 364000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_59 FreePDK45_38x28_10R_NP_162NW_34O 200260 366800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_60 FreePDK45_38x28_10R_NP_162NW_34O 200260 369600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_61 FreePDK45_38x28_10R_NP_162NW_34O 200260 372400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_62 FreePDK45_38x28_10R_NP_162NW_34O 200260 375200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_63 FreePDK45_38x28_10R_NP_162NW_34O 200260 378000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_64 FreePDK45_38x28_10R_NP_162NW_34O 200260 380800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_65 FreePDK45_38x28_10R_NP_162NW_34O 200260 383600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_66 FreePDK45_38x28_10R_NP_162NW_34O 200260 386400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_67 FreePDK45_38x28_10R_NP_162NW_34O 200260 389200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_68 FreePDK45_38x28_10R_NP_162NW_34O 200260 392000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_69 FreePDK45_38x28_10R_NP_162NW_34O 200260 394800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_70 FreePDK45_38x28_10R_NP_162NW_34O 200260 397600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_71 FreePDK45_38x28_10R_NP_162NW_34O 200260 400400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_72 FreePDK45_38x28_10R_NP_162NW_34O 200260 403200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_73 FreePDK45_38x28_10R_NP_162NW_34O 200260 406000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_74 FreePDK45_38x28_10R_NP_162NW_34O 200260 408800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_75 FreePDK45_38x28_10R_NP_162NW_34O 200260 411600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_76 FreePDK45_38x28_10R_NP_162NW_34O 200260 414400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_77 FreePDK45_38x28_10R_NP_162NW_34O 200260 417200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_78 FreePDK45_38x28_10R_NP_162NW_34O 200260 420000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_79 FreePDK45_38x28_10R_NP_162NW_34O 200260 422800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_80 FreePDK45_38x28_10R_NP_162NW_34O 200260 425600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_81 FreePDK45_38x28_10R_NP_162NW_34O 200260 428400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_82 FreePDK45_38x28_10R_NP_162NW_34O 200260 431200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_83 FreePDK45_38x28_10R_NP_162NW_34O 200260 434000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_84 FreePDK45_38x28_10R_NP_162NW_34O 200260 436800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_85 FreePDK45_38x28_10R_NP_162NW_34O 200260 439600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_86 FreePDK45_38x28_10R_NP_162NW_34O 200260 442400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_87 FreePDK45_38x28_10R_NP_162NW_34O 200260 445200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_88 FreePDK45_38x28_10R_NP_162NW_34O 200260 448000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_89 FreePDK45_38x28_10R_NP_162NW_34O 200260 450800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_90 FreePDK45_38x28_10R_NP_162NW_34O 200260 453600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_91 FreePDK45_38x28_10R_NP_162NW_34O 200260 456400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_92 FreePDK45_38x28_10R_NP_162NW_34O 200260 459200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_93 FreePDK45_38x28_10R_NP_162NW_34O 200260 462000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_94 FreePDK45_38x28_10R_NP_162NW_34O 200260 464800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_95 FreePDK45_38x28_10R_NP_162NW_34O 200260 467600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_96 FreePDK45_38x28_10R_NP_162NW_34O 200260 470400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_97 FreePDK45_38x28_10R_NP_162NW_34O 200260 473200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_98 FreePDK45_38x28_10R_NP_162NW_34O 200260 476000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_99 FreePDK45_38x28_10R_NP_162NW_34O 200260 478800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_100 FreePDK45_38x28_10R_NP_162NW_34O 200260 481600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_101 FreePDK45_38x28_10R_NP_162NW_34O 200260 484400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_102 FreePDK45_38x28_10R_NP_162NW_34O 200260 487200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_103 FreePDK45_38x28_10R_NP_162NW_34O 200260 490000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_104 FreePDK45_38x28_10R_NP_162NW_34O 200260 492800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_105 FreePDK45_38x28_10R_NP_162NW_34O 200260 495600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_106 FreePDK45_38x28_10R_NP_162NW_34O 200260 498400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_107 FreePDK45_38x28_10R_NP_162NW_34O 200260 501200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_108 FreePDK45_38x28_10R_NP_162NW_34O 200260 504000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_109 FreePDK45_38x28_10R_NP_162NW_34O 200260 506800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_110 FreePDK45_38x28_10R_NP_162NW_34O 200260 509600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_111 FreePDK45_38x28_10R_NP_162NW_34O 200260 512400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_112 FreePDK45_38x28_10R_NP_162NW_34O 200260 515200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_113 FreePDK45_38x28_10R_NP_162NW_34O 200260 518000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_114 FreePDK45_38x28_10R_NP_162NW_34O 200260 520800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_115 FreePDK45_38x28_10R_NP_162NW_34O 200260 523600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_116 FreePDK45_38x28_10R_NP_162NW_34O 200260 526400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_117 FreePDK45_38x28_10R_NP_162NW_34O 200260 529200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_118 FreePDK45_38x28_10R_NP_162NW_34O 200260 532000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_119 FreePDK45_38x28_10R_NP_162NW_34O 200260 534800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_120 FreePDK45_38x28_10R_NP_162NW_34O 200260 537600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_121 FreePDK45_38x28_10R_NP_162NW_34O 200260 540400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_122 FreePDK45_38x28_10R_NP_162NW_34O 200260 543200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_123 FreePDK45_38x28_10R_NP_162NW_34O 200260 546000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_124 FreePDK45_38x28_10R_NP_162NW_34O 200260 548800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_125 FreePDK45_38x28_10R_NP_162NW_34O 200260 551600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_126 FreePDK45_38x28_10R_NP_162NW_34O 200260 554400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_127 FreePDK45_38x28_10R_NP_162NW_34O 200260 557200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_128 FreePDK45_38x28_10R_NP_162NW_34O 200260 560000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_129 FreePDK45_38x28_10R_NP_162NW_34O 200260 562800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_130 FreePDK45_38x28_10R_NP_162NW_34O 200260 565600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_131 FreePDK45_38x28_10R_NP_162NW_34O 200260 568400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_132 FreePDK45_38x28_10R_NP_162NW_34O 200260 571200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_133 FreePDK45_38x28_10R_NP_162NW_34O 200260 574000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_134 FreePDK45_38x28_10R_NP_162NW_34O 200260 576800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_135 FreePDK45_38x28_10R_NP_162NW_34O 200260 579600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_136 FreePDK45_38x28_10R_NP_162NW_34O 200260 582400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_137 FreePDK45_38x28_10R_NP_162NW_34O 200260 585200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_138 FreePDK45_38x28_10R_NP_162NW_34O 200260 588000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_139 FreePDK45_38x28_10R_NP_162NW_34O 200260 590800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_140 FreePDK45_38x28_10R_NP_162NW_34O 200260 593600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_141 FreePDK45_38x28_10R_NP_162NW_34O 200260 596400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_142 FreePDK45_38x28_10R_NP_162NW_34O 200260 599200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_143 FreePDK45_38x28_10R_NP_162NW_34O 200260 602000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_144 FreePDK45_38x28_10R_NP_162NW_34O 200260 604800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_145 FreePDK45_38x28_10R_NP_162NW_34O 200260 607600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_146 FreePDK45_38x28_10R_NP_162NW_34O 200260 610400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_147 FreePDK45_38x28_10R_NP_162NW_34O 200260 613200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_148 FreePDK45_38x28_10R_NP_162NW_34O 200260 616000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_149 FreePDK45_38x28_10R_NP_162NW_34O 200260 618800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_150 FreePDK45_38x28_10R_NP_162NW_34O 200260 621600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_151 FreePDK45_38x28_10R_NP_162NW_34O 200260 624400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_152 FreePDK45_38x28_10R_NP_162NW_34O 200260 627200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_153 FreePDK45_38x28_10R_NP_162NW_34O 200260 630000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_154 FreePDK45_38x28_10R_NP_162NW_34O 200260 632800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_155 FreePDK45_38x28_10R_NP_162NW_34O 200260 635600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_156 FreePDK45_38x28_10R_NP_162NW_34O 200260 638400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_157 FreePDK45_38x28_10R_NP_162NW_34O 200260 641200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_158 FreePDK45_38x28_10R_NP_162NW_34O 200260 644000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_159 FreePDK45_38x28_10R_NP_162NW_34O 200260 646800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_160 FreePDK45_38x28_10R_NP_162NW_34O 200260 649600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_161 FreePDK45_38x28_10R_NP_162NW_34O 200260 652400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_162 FreePDK45_38x28_10R_NP_162NW_34O 200260 655200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_163 FreePDK45_38x28_10R_NP_162NW_34O 200260 658000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_164 FreePDK45_38x28_10R_NP_162NW_34O 200260 660800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_165 FreePDK45_38x28_10R_NP_162NW_34O 200260 663600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_166 FreePDK45_38x28_10R_NP_162NW_34O 200260 666400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_167 FreePDK45_38x28_10R_NP_162NW_34O 200260 669200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_168 FreePDK45_38x28_10R_NP_162NW_34O 200260 672000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_169 FreePDK45_38x28_10R_NP_162NW_34O 200260 674800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_170 FreePDK45_38x28_10R_NP_162NW_34O 200260 677600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_171 FreePDK45_38x28_10R_NP_162NW_34O 200260 680400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_172 FreePDK45_38x28_10R_NP_162NW_34O 200260 683200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_173 FreePDK45_38x28_10R_NP_162NW_34O 200260 686000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_174 FreePDK45_38x28_10R_NP_162NW_34O 200260 688800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_175 FreePDK45_38x28_10R_NP_162NW_34O 200260 691600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_176 FreePDK45_38x28_10R_NP_162NW_34O 200260 694400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_177 FreePDK45_38x28_10R_NP_162NW_34O 200260 697200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_178 FreePDK45_38x28_10R_NP_162NW_34O 200260 700000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_179 FreePDK45_38x28_10R_NP_162NW_34O 200260 702800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_180 FreePDK45_38x28_10R_NP_162NW_34O 200260 705600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_181 FreePDK45_38x28_10R_NP_162NW_34O 200260 708400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_182 FreePDK45_38x28_10R_NP_162NW_34O 200260 711200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_183 FreePDK45_38x28_10R_NP_162NW_34O 200260 714000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_184 FreePDK45_38x28_10R_NP_162NW_34O 200260 716800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_185 FreePDK45_38x28_10R_NP_162NW_34O 200260 719600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_186 FreePDK45_38x28_10R_NP_162NW_34O 200260 722400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_187 FreePDK45_38x28_10R_NP_162NW_34O 200260 725200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_188 FreePDK45_38x28_10R_NP_162NW_34O 200260 728000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_189 FreePDK45_38x28_10R_NP_162NW_34O 200260 730800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_190 FreePDK45_38x28_10R_NP_162NW_34O 200260 733600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_191 FreePDK45_38x28_10R_NP_162NW_34O 200260 736400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_192 FreePDK45_38x28_10R_NP_162NW_34O 200260 739200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_193 FreePDK45_38x28_10R_NP_162NW_34O 200260 742000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_194 FreePDK45_38x28_10R_NP_162NW_34O 200260 744800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_195 FreePDK45_38x28_10R_NP_162NW_34O 200260 747600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_196 FreePDK45_38x28_10R_NP_162NW_34O 200260 750400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_197 FreePDK45_38x28_10R_NP_162NW_34O 200260 753200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_198 FreePDK45_38x28_10R_NP_162NW_34O 200260 756000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_199 FreePDK45_38x28_10R_NP_162NW_34O 200260 758800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_200 FreePDK45_38x28_10R_NP_162NW_34O 200260 761600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_201 FreePDK45_38x28_10R_NP_162NW_34O 200260 764400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_202 FreePDK45_38x28_10R_NP_162NW_34O 200260 767200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_203 FreePDK45_38x28_10R_NP_162NW_34O 200260 770000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_204 FreePDK45_38x28_10R_NP_162NW_34O 200260 772800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_205 FreePDK45_38x28_10R_NP_162NW_34O 200260 775600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_206 FreePDK45_38x28_10R_NP_162NW_34O 200260 778400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_207 FreePDK45_38x28_10R_NP_162NW_34O 200260 781200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_208 FreePDK45_38x28_10R_NP_162NW_34O 200260 784000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_209 FreePDK45_38x28_10R_NP_162NW_34O 200260 786800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_210 FreePDK45_38x28_10R_NP_162NW_34O 200260 789600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_211 FreePDK45_38x28_10R_NP_162NW_34O 200260 792400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_212 FreePDK45_38x28_10R_NP_162NW_34O 200260 795200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_213 FreePDK45_38x28_10R_NP_162NW_34O 200260 798000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_214 FreePDK45_38x28_10R_NP_162NW_34O 200260 800800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_215 FreePDK45_38x28_10R_NP_162NW_34O 200260 803600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_216 FreePDK45_38x28_10R_NP_162NW_34O 200260 806400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_217 FreePDK45_38x28_10R_NP_162NW_34O 200260 809200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_218 FreePDK45_38x28_10R_NP_162NW_34O 200260 812000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_219 FreePDK45_38x28_10R_NP_162NW_34O 200260 814800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_220 FreePDK45_38x28_10R_NP_162NW_34O 200260 817600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_221 FreePDK45_38x28_10R_NP_162NW_34O 200260 820400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_222 FreePDK45_38x28_10R_NP_162NW_34O 200260 823200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_223 FreePDK45_38x28_10R_NP_162NW_34O 200260 826000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_224 FreePDK45_38x28_10R_NP_162NW_34O 200260 828800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_225 FreePDK45_38x28_10R_NP_162NW_34O 200260 831600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_226 FreePDK45_38x28_10R_NP_162NW_34O 200260 834400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_227 FreePDK45_38x28_10R_NP_162NW_34O 200260 837200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_228 FreePDK45_38x28_10R_NP_162NW_34O 200260 840000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_229 FreePDK45_38x28_10R_NP_162NW_34O 200260 842800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_230 FreePDK45_38x28_10R_NP_162NW_34O 200260 845600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_231 FreePDK45_38x28_10R_NP_162NW_34O 200260 848400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_232 FreePDK45_38x28_10R_NP_162NW_34O 200260 851200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_233 FreePDK45_38x28_10R_NP_162NW_34O 200260 854000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_234 FreePDK45_38x28_10R_NP_162NW_34O 200260 856800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_235 FreePDK45_38x28_10R_NP_162NW_34O 200260 859600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_236 FreePDK45_38x28_10R_NP_162NW_34O 200260 862400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_237 FreePDK45_38x28_10R_NP_162NW_34O 200260 865200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_238 FreePDK45_38x28_10R_NP_162NW_34O 200260 868000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_239 FreePDK45_38x28_10R_NP_162NW_34O 200260 870800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_240 FreePDK45_38x28_10R_NP_162NW_34O 200260 873600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_241 FreePDK45_38x28_10R_NP_162NW_34O 200260 876400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_242 FreePDK45_38x28_10R_NP_162NW_34O 200260 879200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_243 FreePDK45_38x28_10R_NP_162NW_34O 200260 882000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_244 FreePDK45_38x28_10R_NP_162NW_34O 200260 884800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_245 FreePDK45_38x28_10R_NP_162NW_34O 200260 887600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_246 FreePDK45_38x28_10R_NP_162NW_34O 200260 890400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_247 FreePDK45_38x28_10R_NP_162NW_34O 200260 893200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_248 FreePDK45_38x28_10R_NP_162NW_34O 200260 896000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_249 FreePDK45_38x28_10R_NP_162NW_34O 200260 898800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_250 FreePDK45_38x28_10R_NP_162NW_34O 200260 901600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_251 FreePDK45_38x28_10R_NP_162NW_34O 200260 904400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_252 FreePDK45_38x28_10R_NP_162NW_34O 200260 907200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_253 FreePDK45_38x28_10R_NP_162NW_34O 200260 910000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_254 FreePDK45_38x28_10R_NP_162NW_34O 200260 912800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_255 FreePDK45_38x28_10R_NP_162NW_34O 200260 915600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_256 FreePDK45_38x28_10R_NP_162NW_34O 200260 918400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_257 FreePDK45_38x28_10R_NP_162NW_34O 200260 921200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_258 FreePDK45_38x28_10R_NP_162NW_34O 200260 924000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_259 FreePDK45_38x28_10R_NP_162NW_34O 200260 926800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_260 FreePDK45_38x28_10R_NP_162NW_34O 200260 929600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_261 FreePDK45_38x28_10R_NP_162NW_34O 200260 932400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_262 FreePDK45_38x28_10R_NP_162NW_34O 200260 935200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_263 FreePDK45_38x28_10R_NP_162NW_34O 200260 938000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_264 FreePDK45_38x28_10R_NP_162NW_34O 200260 940800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_265 FreePDK45_38x28_10R_NP_162NW_34O 200260 943600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_266 FreePDK45_38x28_10R_NP_162NW_34O 200260 946400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_267 FreePDK45_38x28_10R_NP_162NW_34O 200260 949200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_268 FreePDK45_38x28_10R_NP_162NW_34O 200260 952000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_269 FreePDK45_38x28_10R_NP_162NW_34O 200260 954800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_270 FreePDK45_38x28_10R_NP_162NW_34O 200260 957600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_271 FreePDK45_38x28_10R_NP_162NW_34O 200260 960400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_272 FreePDK45_38x28_10R_NP_162NW_34O 200260 963200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_273 FreePDK45_38x28_10R_NP_162NW_34O 200260 966000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_274 FreePDK45_38x28_10R_NP_162NW_34O 200260 968800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_275 FreePDK45_38x28_10R_NP_162NW_34O 200260 971600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_276 FreePDK45_38x28_10R_NP_162NW_34O 200260 974400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_277 FreePDK45_38x28_10R_NP_162NW_34O 200260 977200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_278 FreePDK45_38x28_10R_NP_162NW_34O 200260 980000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_279 FreePDK45_38x28_10R_NP_162NW_34O 200260 982800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_280 FreePDK45_38x28_10R_NP_162NW_34O 200260 985600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_281 FreePDK45_38x28_10R_NP_162NW_34O 200260 988400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_282 FreePDK45_38x28_10R_NP_162NW_34O 200260 991200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_283 FreePDK45_38x28_10R_NP_162NW_34O 200260 994000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_284 FreePDK45_38x28_10R_NP_162NW_34O 200260 996800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_285 FreePDK45_38x28_10R_NP_162NW_34O 200260 999600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_286 FreePDK45_38x28_10R_NP_162NW_34O 200260 1002400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_287 FreePDK45_38x28_10R_NP_162NW_34O 200260 1005200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_288 FreePDK45_38x28_10R_NP_162NW_34O 200260 1008000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_289 FreePDK45_38x28_10R_NP_162NW_34O 200260 1010800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_290 FreePDK45_38x28_10R_NP_162NW_34O 200260 1013600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_291 FreePDK45_38x28_10R_NP_162NW_34O 200260 1016400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_292 FreePDK45_38x28_10R_NP_162NW_34O 200260 1019200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_293 FreePDK45_38x28_10R_NP_162NW_34O 200260 1022000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_294 FreePDK45_38x28_10R_NP_162NW_34O 200260 1024800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_295 FreePDK45_38x28_10R_NP_162NW_34O 200260 1027600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_296 FreePDK45_38x28_10R_NP_162NW_34O 200260 1030400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_297 FreePDK45_38x28_10R_NP_162NW_34O 200260 1033200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_298 FreePDK45_38x28_10R_NP_162NW_34O 200260 1036000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_299 FreePDK45_38x28_10R_NP_162NW_34O 200260 1038800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_300 FreePDK45_38x28_10R_NP_162NW_34O 200260 1041600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_301 FreePDK45_38x28_10R_NP_162NW_34O 200260 1044400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_302 FreePDK45_38x28_10R_NP_162NW_34O 200260 1047200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_303 FreePDK45_38x28_10R_NP_162NW_34O 200260 1050000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_304 FreePDK45_38x28_10R_NP_162NW_34O 200260 1052800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_305 FreePDK45_38x28_10R_NP_162NW_34O 200260 1055600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_306 FreePDK45_38x28_10R_NP_162NW_34O 200260 1058400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_307 FreePDK45_38x28_10R_NP_162NW_34O 200260 1061200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_308 FreePDK45_38x28_10R_NP_162NW_34O 200260 1064000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_309 FreePDK45_38x28_10R_NP_162NW_34O 200260 1066800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_310 FreePDK45_38x28_10R_NP_162NW_34O 200260 1069600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_311 FreePDK45_38x28_10R_NP_162NW_34O 200260 1072400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_312 FreePDK45_38x28_10R_NP_162NW_34O 200260 1075200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_313 FreePDK45_38x28_10R_NP_162NW_34O 200260 1078000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_314 FreePDK45_38x28_10R_NP_162NW_34O 200260 1080800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_315 FreePDK45_38x28_10R_NP_162NW_34O 200260 1083600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_316 FreePDK45_38x28_10R_NP_162NW_34O 200260 1086400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_317 FreePDK45_38x28_10R_NP_162NW_34O 200260 1089200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_318 FreePDK45_38x28_10R_NP_162NW_34O 200260 1092000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_319 FreePDK45_38x28_10R_NP_162NW_34O 200260 1094800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_320 FreePDK45_38x28_10R_NP_162NW_34O 200260 1097600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_321 FreePDK45_38x28_10R_NP_162NW_34O 200260 1100400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_322 FreePDK45_38x28_10R_NP_162NW_34O 200260 1103200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_323 FreePDK45_38x28_10R_NP_162NW_34O 200260 1106000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_324 FreePDK45_38x28_10R_NP_162NW_34O 200260 1108800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_325 FreePDK45_38x28_10R_NP_162NW_34O 200260 1111600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_326 FreePDK45_38x28_10R_NP_162NW_34O 200260 1114400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_327 FreePDK45_38x28_10R_NP_162NW_34O 200260 1117200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_328 FreePDK45_38x28_10R_NP_162NW_34O 200260 1120000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_329 FreePDK45_38x28_10R_NP_162NW_34O 200260 1122800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_330 FreePDK45_38x28_10R_NP_162NW_34O 200260 1125600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_331 FreePDK45_38x28_10R_NP_162NW_34O 200260 1128400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_332 FreePDK45_38x28_10R_NP_162NW_34O 200260 1131200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_333 FreePDK45_38x28_10R_NP_162NW_34O 200260 1134000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_334 FreePDK45_38x28_10R_NP_162NW_34O 200260 1136800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_335 FreePDK45_38x28_10R_NP_162NW_34O 200260 1139600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_336 FreePDK45_38x28_10R_NP_162NW_34O 200260 1142400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_337 FreePDK45_38x28_10R_NP_162NW_34O 200260 1145200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_338 FreePDK45_38x28_10R_NP_162NW_34O 200260 1148000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_339 FreePDK45_38x28_10R_NP_162NW_34O 200260 1150800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_340 FreePDK45_38x28_10R_NP_162NW_34O 200260 1153600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_341 FreePDK45_38x28_10R_NP_162NW_34O 200260 1156400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_342 FreePDK45_38x28_10R_NP_162NW_34O 200260 1159200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_343 FreePDK45_38x28_10R_NP_162NW_34O 200260 1162000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_344 FreePDK45_38x28_10R_NP_162NW_34O 200260 1164800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_345 FreePDK45_38x28_10R_NP_162NW_34O 200260 1167600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_346 FreePDK45_38x28_10R_NP_162NW_34O 200260 1170400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_347 FreePDK45_38x28_10R_NP_162NW_34O 200260 1173200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_348 FreePDK45_38x28_10R_NP_162NW_34O 200260 1176000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_349 FreePDK45_38x28_10R_NP_162NW_34O 200260 1178800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_350 FreePDK45_38x28_10R_NP_162NW_34O 200260 1181600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_351 FreePDK45_38x28_10R_NP_162NW_34O 200260 1184400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_352 FreePDK45_38x28_10R_NP_162NW_34O 200260 1187200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_353 FreePDK45_38x28_10R_NP_162NW_34O 200260 1190000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_354 FreePDK45_38x28_10R_NP_162NW_34O 200260 1192800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_355 FreePDK45_38x28_10R_NP_162NW_34O 200260 1195600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_356 FreePDK45_38x28_10R_NP_162NW_34O 200260 1198400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_357 FreePDK45_38x28_10R_NP_162NW_34O 200260 1201200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_358 FreePDK45_38x28_10R_NP_162NW_34O 200260 1204000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_359 FreePDK45_38x28_10R_NP_162NW_34O 200260 1206800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_360 FreePDK45_38x28_10R_NP_162NW_34O 200260 1209600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_361 FreePDK45_38x28_10R_NP_162NW_34O 200260 1212400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_362 FreePDK45_38x28_10R_NP_162NW_34O 200260 1215200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_363 FreePDK45_38x28_10R_NP_162NW_34O 200260 1218000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_364 FreePDK45_38x28_10R_NP_162NW_34O 200260 1220800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_365 FreePDK45_38x28_10R_NP_162NW_34O 200260 1223600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_366 FreePDK45_38x28_10R_NP_162NW_34O 200260 1226400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_367 FreePDK45_38x28_10R_NP_162NW_34O 200260 1229200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_368 FreePDK45_38x28_10R_NP_162NW_34O 200260 1232000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_369 FreePDK45_38x28_10R_NP_162NW_34O 200260 1234800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_370 FreePDK45_38x28_10R_NP_162NW_34O 200260 1237600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_371 FreePDK45_38x28_10R_NP_162NW_34O 200260 1240400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_372 FreePDK45_38x28_10R_NP_162NW_34O 200260 1243200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_373 FreePDK45_38x28_10R_NP_162NW_34O 200260 1246000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_374 FreePDK45_38x28_10R_NP_162NW_34O 200260 1248800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_375 FreePDK45_38x28_10R_NP_162NW_34O 200260 1251600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_376 FreePDK45_38x28_10R_NP_162NW_34O 200260 1254400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_377 FreePDK45_38x28_10R_NP_162NW_34O 200260 1257200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_378 FreePDK45_38x28_10R_NP_162NW_34O 200260 1260000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_379 FreePDK45_38x28_10R_NP_162NW_34O 200260 1262800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_380 FreePDK45_38x28_10R_NP_162NW_34O 200260 1265600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_381 FreePDK45_38x28_10R_NP_162NW_34O 200260 1268400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_382 FreePDK45_38x28_10R_NP_162NW_34O 200260 1271200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_383 FreePDK45_38x28_10R_NP_162NW_34O 200260 1274000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_384 FreePDK45_38x28_10R_NP_162NW_34O 200260 1276800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_385 FreePDK45_38x28_10R_NP_162NW_34O 200260 1279600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_386 FreePDK45_38x28_10R_NP_162NW_34O 200260 1282400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_387 FreePDK45_38x28_10R_NP_162NW_34O 200260 1285200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_388 FreePDK45_38x28_10R_NP_162NW_34O 200260 1288000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_389 FreePDK45_38x28_10R_NP_162NW_34O 200260 1290800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_390 FreePDK45_38x28_10R_NP_162NW_34O 200260 1293600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_391 FreePDK45_38x28_10R_NP_162NW_34O 200260 1296400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_392 FreePDK45_38x28_10R_NP_162NW_34O 200260 1299200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_393 FreePDK45_38x28_10R_NP_162NW_34O 200260 1302000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_394 FreePDK45_38x28_10R_NP_162NW_34O 200260 1304800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_395 FreePDK45_38x28_10R_NP_162NW_34O 200260 1307600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_396 FreePDK45_38x28_10R_NP_162NW_34O 200260 1310400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_397 FreePDK45_38x28_10R_NP_162NW_34O 200260 1313200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_398 FreePDK45_38x28_10R_NP_162NW_34O 200260 1316000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_399 FreePDK45_38x28_10R_NP_162NW_34O 200260 1318800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_400 FreePDK45_38x28_10R_NP_162NW_34O 200260 1321600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_401 FreePDK45_38x28_10R_NP_162NW_34O 200260 1324400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_402 FreePDK45_38x28_10R_NP_162NW_34O 200260 1327200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_403 FreePDK45_38x28_10R_NP_162NW_34O 200260 1330000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_404 FreePDK45_38x28_10R_NP_162NW_34O 200260 1332800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_405 FreePDK45_38x28_10R_NP_162NW_34O 200260 1335600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_406 FreePDK45_38x28_10R_NP_162NW_34O 200260 1338400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_407 FreePDK45_38x28_10R_NP_162NW_34O 200260 1341200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_408 FreePDK45_38x28_10R_NP_162NW_34O 200260 1344000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_409 FreePDK45_38x28_10R_NP_162NW_34O 200260 1346800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_410 FreePDK45_38x28_10R_NP_162NW_34O 200260 1349600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_411 FreePDK45_38x28_10R_NP_162NW_34O 200260 1352400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_412 FreePDK45_38x28_10R_NP_162NW_34O 200260 1355200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_413 FreePDK45_38x28_10R_NP_162NW_34O 200260 1358000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_414 FreePDK45_38x28_10R_NP_162NW_34O 200260 1360800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_415 FreePDK45_38x28_10R_NP_162NW_34O 200260 1363600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_416 FreePDK45_38x28_10R_NP_162NW_34O 200260 1366400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_417 FreePDK45_38x28_10R_NP_162NW_34O 200260 1369200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_418 FreePDK45_38x28_10R_NP_162NW_34O 200260 1372000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_419 FreePDK45_38x28_10R_NP_162NW_34O 200260 1374800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_420 FreePDK45_38x28_10R_NP_162NW_34O 200260 1377600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_421 FreePDK45_38x28_10R_NP_162NW_34O 200260 1380400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_422 FreePDK45_38x28_10R_NP_162NW_34O 200260 1383200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_423 FreePDK45_38x28_10R_NP_162NW_34O 200260 1386000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_424 FreePDK45_38x28_10R_NP_162NW_34O 200260 1388800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_425 FreePDK45_38x28_10R_NP_162NW_34O 200260 1391600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_426 FreePDK45_38x28_10R_NP_162NW_34O 200260 1394400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_427 FreePDK45_38x28_10R_NP_162NW_34O 200260 1397200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_428 FreePDK45_38x28_10R_NP_162NW_34O 200260 1400000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_429 FreePDK45_38x28_10R_NP_162NW_34O 200260 1402800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_430 FreePDK45_38x28_10R_NP_162NW_34O 200260 1405600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_431 FreePDK45_38x28_10R_NP_162NW_34O 200260 1408400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_432 FreePDK45_38x28_10R_NP_162NW_34O 200260 1411200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_433 FreePDK45_38x28_10R_NP_162NW_34O 200260 1414000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_434 FreePDK45_38x28_10R_NP_162NW_34O 200260 1416800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_435 FreePDK45_38x28_10R_NP_162NW_34O 200260 1419600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_436 FreePDK45_38x28_10R_NP_162NW_34O 200260 1422400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_437 FreePDK45_38x28_10R_NP_162NW_34O 200260 1425200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_438 FreePDK45_38x28_10R_NP_162NW_34O 200260 1428000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_439 FreePDK45_38x28_10R_NP_162NW_34O 200260 1430800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_440 FreePDK45_38x28_10R_NP_162NW_34O 200260 1433600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_441 FreePDK45_38x28_10R_NP_162NW_34O 200260 1436400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_442 FreePDK45_38x28_10R_NP_162NW_34O 200260 1439200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_443 FreePDK45_38x28_10R_NP_162NW_34O 200260 1442000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_444 FreePDK45_38x28_10R_NP_162NW_34O 200260 1444800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_445 FreePDK45_38x28_10R_NP_162NW_34O 200260 1447600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_446 FreePDK45_38x28_10R_NP_162NW_34O 200260 1450400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_447 FreePDK45_38x28_10R_NP_162NW_34O 200260 1453200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_448 FreePDK45_38x28_10R_NP_162NW_34O 200260 1456000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_449 FreePDK45_38x28_10R_NP_162NW_34O 200260 1458800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_450 FreePDK45_38x28_10R_NP_162NW_34O 200260 1461600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_451 FreePDK45_38x28_10R_NP_162NW_34O 200260 1464400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_452 FreePDK45_38x28_10R_NP_162NW_34O 200260 1467200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_453 FreePDK45_38x28_10R_NP_162NW_34O 200260 1470000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_454 FreePDK45_38x28_10R_NP_162NW_34O 200260 1472800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_455 FreePDK45_38x28_10R_NP_162NW_34O 200260 1475600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_456 FreePDK45_38x28_10R_NP_162NW_34O 200260 1478400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_457 FreePDK45_38x28_10R_NP_162NW_34O 200260 1481200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_458 FreePDK45_38x28_10R_NP_162NW_34O 200260 1484000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_459 FreePDK45_38x28_10R_NP_162NW_34O 200260 1486800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_460 FreePDK45_38x28_10R_NP_162NW_34O 200260 1489600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_461 FreePDK45_38x28_10R_NP_162NW_34O 200260 1492400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_462 FreePDK45_38x28_10R_NP_162NW_34O 200260 1495200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_463 FreePDK45_38x28_10R_NP_162NW_34O 200260 1498000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_464 FreePDK45_38x28_10R_NP_162NW_34O 200260 1500800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_465 FreePDK45_38x28_10R_NP_162NW_34O 200260 1503600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_466 FreePDK45_38x28_10R_NP_162NW_34O 200260 1506400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_467 FreePDK45_38x28_10R_NP_162NW_34O 200260 1509200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_468 FreePDK45_38x28_10R_NP_162NW_34O 200260 1512000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_469 FreePDK45_38x28_10R_NP_162NW_34O 200260 1514800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_470 FreePDK45_38x28_10R_NP_162NW_34O 200260 1517600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_471 FreePDK45_38x28_10R_NP_162NW_34O 200260 1520400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_472 FreePDK45_38x28_10R_NP_162NW_34O 200260 1523200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_473 FreePDK45_38x28_10R_NP_162NW_34O 200260 1526000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_474 FreePDK45_38x28_10R_NP_162NW_34O 200260 1528800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_475 FreePDK45_38x28_10R_NP_162NW_34O 200260 1531600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_476 FreePDK45_38x28_10R_NP_162NW_34O 200260 1534400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_477 FreePDK45_38x28_10R_NP_162NW_34O 200260 1537200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_478 FreePDK45_38x28_10R_NP_162NW_34O 200260 1540000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_479 FreePDK45_38x28_10R_NP_162NW_34O 200260 1542800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_480 FreePDK45_38x28_10R_NP_162NW_34O 200260 1545600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_481 FreePDK45_38x28_10R_NP_162NW_34O 200260 1548400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_482 FreePDK45_38x28_10R_NP_162NW_34O 200260 1551200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_483 FreePDK45_38x28_10R_NP_162NW_34O 200260 1554000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_484 FreePDK45_38x28_10R_NP_162NW_34O 200260 1556800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_485 FreePDK45_38x28_10R_NP_162NW_34O 200260 1559600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_486 FreePDK45_38x28_10R_NP_162NW_34O 200260 1562400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_487 FreePDK45_38x28_10R_NP_162NW_34O 200260 1565200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_488 FreePDK45_38x28_10R_NP_162NW_34O 200260 1568000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_489 FreePDK45_38x28_10R_NP_162NW_34O 200260 1570800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_490 FreePDK45_38x28_10R_NP_162NW_34O 200260 1573600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_491 FreePDK45_38x28_10R_NP_162NW_34O 200260 1576400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_492 FreePDK45_38x28_10R_NP_162NW_34O 200260 1579200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_493 FreePDK45_38x28_10R_NP_162NW_34O 200260 1582000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_494 FreePDK45_38x28_10R_NP_162NW_34O 200260 1584800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_495 FreePDK45_38x28_10R_NP_162NW_34O 200260 1587600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_496 FreePDK45_38x28_10R_NP_162NW_34O 200260 1590400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_497 FreePDK45_38x28_10R_NP_162NW_34O 200260 1593200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_498 FreePDK45_38x28_10R_NP_162NW_34O 200260 1596000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_499 FreePDK45_38x28_10R_NP_162NW_34O 200260 1598800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_500 FreePDK45_38x28_10R_NP_162NW_34O 200260 1601600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_501 FreePDK45_38x28_10R_NP_162NW_34O 200260 1604400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_502 FreePDK45_38x28_10R_NP_162NW_34O 200260 1607200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_503 FreePDK45_38x28_10R_NP_162NW_34O 200260 1610000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_504 FreePDK45_38x28_10R_NP_162NW_34O 200260 1612800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_505 FreePDK45_38x28_10R_NP_162NW_34O 200260 1615600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_506 FreePDK45_38x28_10R_NP_162NW_34O 200260 1618400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_507 FreePDK45_38x28_10R_NP_162NW_34O 200260 1621200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_508 FreePDK45_38x28_10R_NP_162NW_34O 200260 1624000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_509 FreePDK45_38x28_10R_NP_162NW_34O 200260 1626800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_510 FreePDK45_38x28_10R_NP_162NW_34O 200260 1629600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_511 FreePDK45_38x28_10R_NP_162NW_34O 200260 1632400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_512 FreePDK45_38x28_10R_NP_162NW_34O 200260 1635200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_513 FreePDK45_38x28_10R_NP_162NW_34O 200260 1638000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_514 FreePDK45_38x28_10R_NP_162NW_34O 200260 1640800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_515 FreePDK45_38x28_10R_NP_162NW_34O 200260 1643600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_516 FreePDK45_38x28_10R_NP_162NW_34O 200260 1646400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_517 FreePDK45_38x28_10R_NP_162NW_34O 200260 1649200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_518 FreePDK45_38x28_10R_NP_162NW_34O 200260 1652000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_519 FreePDK45_38x28_10R_NP_162NW_34O 200260 1654800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_520 FreePDK45_38x28_10R_NP_162NW_34O 200260 1657600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_521 FreePDK45_38x28_10R_NP_162NW_34O 200260 1660400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_522 FreePDK45_38x28_10R_NP_162NW_34O 200260 1663200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_523 FreePDK45_38x28_10R_NP_162NW_34O 200260 1666000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_524 FreePDK45_38x28_10R_NP_162NW_34O 200260 1668800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_525 FreePDK45_38x28_10R_NP_162NW_34O 200260 1671600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_526 FreePDK45_38x28_10R_NP_162NW_34O 200260 1674400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_527 FreePDK45_38x28_10R_NP_162NW_34O 200260 1677200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_528 FreePDK45_38x28_10R_NP_162NW_34O 200260 1680000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_529 FreePDK45_38x28_10R_NP_162NW_34O 200260 1682800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_530 FreePDK45_38x28_10R_NP_162NW_34O 200260 1685600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_531 FreePDK45_38x28_10R_NP_162NW_34O 200260 1688400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_532 FreePDK45_38x28_10R_NP_162NW_34O 200260 1691200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_533 FreePDK45_38x28_10R_NP_162NW_34O 200260 1694000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_534 FreePDK45_38x28_10R_NP_162NW_34O 200260 1696800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_535 FreePDK45_38x28_10R_NP_162NW_34O 200260 1699600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_536 FreePDK45_38x28_10R_NP_162NW_34O 200260 1702400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_537 FreePDK45_38x28_10R_NP_162NW_34O 200260 1705200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_538 FreePDK45_38x28_10R_NP_162NW_34O 200260 1708000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_539 FreePDK45_38x28_10R_NP_162NW_34O 200260 1710800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_540 FreePDK45_38x28_10R_NP_162NW_34O 200260 1713600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_541 FreePDK45_38x28_10R_NP_162NW_34O 200260 1716400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_542 FreePDK45_38x28_10R_NP_162NW_34O 200260 1719200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_543 FreePDK45_38x28_10R_NP_162NW_34O 200260 1722000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_544 FreePDK45_38x28_10R_NP_162NW_34O 200260 1724800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_545 FreePDK45_38x28_10R_NP_162NW_34O 200260 1727600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_546 FreePDK45_38x28_10R_NP_162NW_34O 200260 1730400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_547 FreePDK45_38x28_10R_NP_162NW_34O 200260 1733200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_548 FreePDK45_38x28_10R_NP_162NW_34O 200260 1736000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_549 FreePDK45_38x28_10R_NP_162NW_34O 200260 1738800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_550 FreePDK45_38x28_10R_NP_162NW_34O 200260 1741600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_551 FreePDK45_38x28_10R_NP_162NW_34O 200260 1744400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_552 FreePDK45_38x28_10R_NP_162NW_34O 200260 1747200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_553 FreePDK45_38x28_10R_NP_162NW_34O 200260 1750000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_554 FreePDK45_38x28_10R_NP_162NW_34O 200260 1752800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_555 FreePDK45_38x28_10R_NP_162NW_34O 200260 1755600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_556 FreePDK45_38x28_10R_NP_162NW_34O 200260 1758400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_557 FreePDK45_38x28_10R_NP_162NW_34O 200260 1761200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_558 FreePDK45_38x28_10R_NP_162NW_34O 200260 1764000 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_559 FreePDK45_38x28_10R_NP_162NW_34O 200260 1766800 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_560 FreePDK45_38x28_10R_NP_162NW_34O 200260 1769600 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_561 FreePDK45_38x28_10R_NP_162NW_34O 200260 1772400 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_562 FreePDK45_38x28_10R_NP_162NW_34O 200260 1775200 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_563 FreePDK45_38x28_10R_NP_162NW_34O 200260 1778000 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_564 FreePDK45_38x28_10R_NP_162NW_34O 200260 1780800 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_565 FreePDK45_38x28_10R_NP_162NW_34O 200260 1783600 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_566 FreePDK45_38x28_10R_NP_162NW_34O 200260 1786400 N DO 4209 BY 1 STEP 380 0 ; +ROW ROW_567 FreePDK45_38x28_10R_NP_162NW_34O 200260 1789200 FS DO 4209 BY 1 STEP 380 0 ; +ROW ROW_568 FreePDK45_38x28_10R_NP_162NW_34O 200260 1792000 N DO 4209 BY 1 STEP 380 0 ; +COMPONENTS 5 ; + - r1 DFF_X1 ; + - r2 DFF_X1 ; + - r3 DFF_X1 ; + - u1 BUF_X1 ; + - u2 AND2_X1 ; +END COMPONENTS +PINS 6 ; + - clk1 + NET clk1 + DIRECTION INPUT + USE SIGNAL ; + - clk2 + NET clk2 + DIRECTION INPUT + USE SIGNAL ; + - clk3 + NET clk3 + DIRECTION INPUT + USE SIGNAL ; + - in1 + NET in1 + DIRECTION INPUT + USE SIGNAL ; + - in2 + NET in2 + DIRECTION INPUT + USE SIGNAL ; + - out + NET out + DIRECTION OUTPUT + USE SIGNAL ; +END PINS +NETS 10 ; + - clk1 ( PIN clk1 ) ( r1 CK ) + USE SIGNAL ; + - clk2 ( PIN clk2 ) ( r2 CK ) + USE SIGNAL ; + - clk3 ( PIN clk3 ) ( r3 CK ) + USE SIGNAL ; + - in1 ( PIN in1 ) ( r1 D ) + USE SIGNAL ; + - in2 ( PIN in2 ) ( r2 D ) + USE SIGNAL ; + - out ( PIN out ) ( r3 Q ) + USE SIGNAL ; + - r1q ( u2 A1 ) ( r1 Q ) + USE SIGNAL ; + - r2q ( u1 A ) ( r2 Q ) + USE SIGNAL ; + - u1z ( u2 A2 ) ( u1 Z ) + USE SIGNAL ; + - u2z ( u2 ZN ) ( r3 D ) + USE SIGNAL ; +END NETS +END DESIGN diff --git a/src/ifp/test/init_floorplan_odd_rows.ok b/src/ifp/test/init_floorplan_odd_rows.ok new file mode 100644 index 00000000000..c72aab597e1 --- /dev/null +++ b/src/ifp/test/init_floorplan_odd_rows.ok @@ -0,0 +1,4 @@ +[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells +[WARNING IFP-0028] Core area lower left (100.000, 100.000) snapped to (100.130, 100.800). +[INFO IFP-0001] Added 569 rows of 4209 site FreePDK45_38x28_10R_NP_162NW_34O. +No differences found. diff --git a/src/ifp/test/init_floorplan_odd_rows.tcl b/src/ifp/test/init_floorplan_odd_rows.tcl new file mode 100644 index 00000000000..c12a49ea3ff --- /dev/null +++ b/src/ifp/test/init_floorplan_odd_rows.tcl @@ -0,0 +1,14 @@ +# init_floorplan +source "helpers.tcl" +read_lef Nangate45/Nangate45.lef +read_liberty Nangate45/Nangate45_typ.lib +read_verilog reg1.v +link_design top +initialize_floorplan -die_area "0 0 1000 1000" \ + -core_area "100 100 900 900" \ + -site FreePDK45_38x28_10R_NP_162NW_34O \ + -row_parity ODD + +set def_file [make_result_file init_floorplan_odd_rows.def] +write_def $def_file +diff_files init_floorplan_odd_rows.defok $def_file diff --git a/src/ifp/test/regression_tests.tcl b/src/ifp/test/regression_tests.tcl index 15c81d36d40..b06f1f8fcc6 100644 --- a/src/ifp/test/regression_tests.tcl +++ b/src/ifp/test/regression_tests.tcl @@ -24,6 +24,8 @@ record_tests { tiecells upf_test upf_shifter_test + init_floorplan_even_rows + init_floorplan_odd_rows #ifp_man_tcl_check #ifp_readme_msgs_check }