__ses_layout_path2()
authoryu.dongliang <18588496441@163.com>
Wed, 8 Nov 2023 06:23:02 +0000 (14:23 +0800)
committeryu.dongliang <18588496441@163.com>
Wed, 8 Nov 2023 06:23:02 +0000 (14:23 +0800)
ses_layout.c

index d0049a3bb838a2b50637f662e3eafe9f8f0b2786..10907bbefefbf8436f309398a16b505c20d5ba40 100644 (file)
@@ -614,8 +614,12 @@ static void __ses_layout_path2(ScfEfunction* f, ses_path_t* path, ses_path_t* ba
 
                n = __ses_find_eline_index(f, p->lid);
 
-               eline_mov_before(f, __n, n);
+               if (!f->elines[n]->vflag) {
+                       f->elines[n]->vflag = 1;
 
+                       eline_mov_before(f, __n, n);
+               }
+#if 0
                c  = f->components[p->cid];
 
                if (SCF_EDA_NPN == c->type && SCF_EDA_NPN_C == p->id) {
@@ -633,6 +637,7 @@ static void __ses_layout_path2(ScfEfunction* f, ses_path_t* path, ses_path_t* ba
 
                        scf_loge("**************** c%ldp%ld, ic: %ld, ib: %ld, ie: %ld\n", p->cid, p->id, n, ib, ie);
                }
+#endif
        }
        printf("\n");
 }
@@ -718,6 +723,9 @@ static int __ses_layout_lines4(ScfEfunction* f)
        n = __ses_find_eline_index(f, p->lid);
        SCF_XCHG(f->elines[n], f->elines[j / 2 + 1]);
 
+       for (i = 0; i < f->n_elines; i++)
+               f->elines[i]->vflag = 0;
+
        __ses_layout_path(f, base, base);
 
        for (i = 0; i < paths->size; i++) {