__ses_xchg_npn_ce()
authoryu.dongliang <18588496441@163.com>
Mon, 30 Oct 2023 13:05:31 +0000 (21:05 +0800)
committeryu.dongliang <18588496441@163.com>
Mon, 30 Oct 2023 13:05:31 +0000 (21:05 +0800)
ses_layout.c

index 05d2933476ce0687cce9687ad4e9871446c64d8f..000f5f3696668b3cb85203072e9fb401b6602d82 100644 (file)
@@ -478,14 +478,14 @@ int ses_lines_same_components(ScfEfunction* f)
 
                el0->n_lines = 0;
 
-               scf_logw("el0: %ld, n_conns: %ld, n_pins: %ld, flags: %#lx\n", el0->id, el0->n_conns, el0->n_pins, el0->flags);
+               scf_logd("el0: %ld, n_conns: %ld, n_pins: %ld, flags: %#lx\n", el0->id, el0->n_conns, el0->n_pins, el0->flags);
 
                for (j = 0; j < el0->n_conns; j++) {
                        ec        = el0->conns[j];
 
-                       scf_logi("j: %ld, lid: %ld, n_cids: %ld, cid[0]: %ld\n", j, ec->lid, ec->n_cids, ec->cids[0]);
+                       scf_logd("j: %ld, lid: %ld, n_cids: %ld, cid[0]: %ld\n", j, ec->lid, ec->n_cids, ec->cids[0]);
                }
-               printf("\n");
+//             printf("\n");
        }
 
        scf_loge("N_PINS: %ld\n", N_PINS);
@@ -1032,6 +1032,12 @@ static void __ses_xchg_npn_ce(ScfEfunction* f, int d)
 
                        if ((c->x < 0 && pc->x > pe->x) || (c->x > 0 && pc->x < pe->x))
                                SCF_XCHG(pc->x, pe->x);
+
+               } else if ((pc->y > pb->y && pb->y > pe->y) || (pc->y < pb->y && pb->y < pe->y)) {
+
+                       if ((c->x > 0 && pc->x < pb->x) || (c->x < 0 && pc->x > pb->x)) {
+                               SCF_XCHG(pc->x, pe->x);
+                       }
                }
        }
 }