From: yu.dongliang <18588496441@163.com> Date: Tue, 7 Nov 2023 17:14:13 +0000 (+0800) Subject: ses_layout.c X-Git-Url: http://baseworks.info/?a=commitdiff_plain;h=793cb9e74f9a3d8a4a739f5adca03a8cf8bc6e89;p=ses.git ses_layout.c --- diff --git a/ses_layout.c b/ses_layout.c index d17fb4a..9e71e31 100644 --- a/ses_layout.c +++ b/ses_layout.c @@ -565,10 +565,13 @@ static int __ses_layout_lines4(ScfEfunction* f) ses_path_t* path; ScfEcomponent* B; + ScfEcomponent* c; ScfEline* el; ScfEpin* Bp; ScfEpin* Bn; ScfEpin* p; + ScfEpin* pc; + ScfEpin* pe; intptr_t i; intptr_t j; @@ -641,6 +644,22 @@ static int __ses_layout_lines4(ScfEfunction* f) if (k < 0) { 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]; + + intptr_t ic = __ses_find_eline_index(f, pc->lid); + intptr_t ie = __ses_find_eline_index(f, pe->lid); + + if (ic > ie) + __n = ic; + else + __n = ie; + + scf_loge("c%ldp%ld, ic: %ld, ie: %ld\n", p->cid, p->id, ic, ie); + } + eline_mov_before(f, __n, n); } } @@ -659,6 +678,20 @@ static int __ses_layout_lines4(ScfEfunction* f) if (k < 0) { 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]; + + intptr_t ic = __ses_find_eline_index(f, pc->lid); + intptr_t ie = __ses_find_eline_index(f, pe->lid); + if (ic > ie) + __n = ic; + else + __n = ie; + scf_loge("c%ldp%ld, ic: %ld, ie: %ld\n", p->cid, p->id, ic, ie); + } + eline_mov_before(f, __n, n); } printf("\n");