tmp
authoryu.dongliang <18588496441@163.com>
Wed, 8 Nov 2023 05:52:19 +0000 (13:52 +0800)
committeryu.dongliang <18588496441@163.com>
Wed, 8 Nov 2023 05:52:19 +0000 (13:52 +0800)
ses_layout.c

index 1254be62c6100c063ac4f43e9a726be610f77f5a..23083df3af9abea0951deedd2846a333c9798b28 100644 (file)
@@ -564,8 +564,8 @@ static void __ses_layout_path2(ScfEfunction* f, ses_path_t* path, ses_path_t* ba
        ScfEline*      el;
        ScfEpin*       bp;
        ScfEpin*       p;
+       ScfEpin*       pb;
        ScfEpin*       pc;
-       ScfEpin*       pe;
 
        intptr_t j;
        intptr_t k;
@@ -593,26 +593,21 @@ static void __ses_layout_path2(ScfEfunction* f, ses_path_t* path, ses_path_t* ba
                        }
                }
 
-               if (k < 0) {
-                       n  = __ses_find_eline_index(f, p->lid);
+               n = __ses_find_eline_index(f, p->lid);
 
-                       if (SCF_EDA_NPN == p->cid && SCF_EDA_NPN_B == p->id) {
-                               c  = f->components[p->cid];
-                               pc = c->pins[SCF_EDA_NPN_C];
-                               pe = c->pins[SCF_EDA_NPN_E];
+               eline_mov_before(f, __n, n);
 
-                               intptr_t ic = __ses_find_eline_index(f, pc->lid);
-                               intptr_t ie = __ses_find_eline_index(f, pe->lid);
+               if (SCF_EDA_NPN == p->cid && SCF_EDA_NPN_E == p->id) {
+                       c  = f->components[p->cid];
+                       pc = c->pins[SCF_EDA_NPN_C];
+                       pb = c->pins[SCF_EDA_NPN_B];
 
-                               if (ic > ie)
-                                       __n = ic;
-                               else
-                                       __n = ie;
+                       intptr_t ic = __ses_find_eline_index(f, pc->lid);
+                       intptr_t ib = __ses_find_eline_index(f, pb->lid);
 
-                               scf_loge("c%ldp%ld, ic: %ld, ie: %ld\n", p->cid, p->id, ic, ie);
-                       }
+                       eline_mov_before(f, __n, ib);
 
-                       eline_mov_before(f, __n, n);
+                       scf_loge("**************** c%ldp%ld, ic: %ld, ib: %ld, ie: %ld\n", p->cid, p->id, ic, ib, n);
                }
        }
        printf("\n");