From 64859692fb1ef2a1b57796012d4fc75919585223 Mon Sep 17 00:00:00 2001 From: "yu.dongliang" <18588496441@163.com> Date: Wed, 8 Nov 2023 21:35:33 +0800 Subject: [PATCH] __ses_layout_path2() --- ses_layout.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/ses_layout.c b/ses_layout.c index f126ef5..cb51371 100644 --- a/ses_layout.c +++ b/ses_layout.c @@ -526,26 +526,30 @@ static void __ses_layout_path2(ScfEfunction* f, ses_path_t* path, ses_path_t* ba f->elines[n]->vflag = 1; eline_mov_before(f, __n, n); - } -#if 0 - c = f->components[p->cid]; +#if 1 + c = f->components[p->cid]; - if (SCF_EDA_NPN == c->type && SCF_EDA_NPN_C == p->id) { - pe = c->pins[SCF_EDA_NPN_E]; - pb = c->pins[SCF_EDA_NPN_B]; + if (SCF_EDA_NPN == c->type && SCF_EDA_NPN_C == p->id) { + pe = c->pins[SCF_EDA_NPN_E]; + pb = c->pins[SCF_EDA_NPN_B]; - intptr_t ie = __ses_find_eline_index(f, pe->lid); - intptr_t ib = __ses_find_eline_index(f, pb->lid); + intptr_t ie = __ses_find_eline_index(f, pe->lid); + intptr_t ib = __ses_find_eline_index(f, pb->lid); - eline_mov_after(f, __n, ib); + if (!f->elines[ib]->vflag) { + f->elines[ib]->vflag = 1; - ie = __ses_find_eline_index(f, pe->lid); - ib = __ses_find_eline_index(f, pb->lid); - n = __ses_find_eline_index(f, p->lid); + eline_mov_after(f, __n, ib); - scf_loge("**************** c%ldp%ld, ic: %ld, ib: %ld, ie: %ld\n", p->cid, p->id, n, ib, ie); - } + ie = __ses_find_eline_index(f, pe->lid); + ib = __ses_find_eline_index(f, pb->lid); + n = __ses_find_eline_index(f, p->lid); + + scf_loge("**************** c%ldp%ld, ic: %ld, ib: %ld, ie: %ld\n", p->cid, p->id, n, ib, ie); + } + } #endif + } } // printf("\n"); } -- 2.25.1