From: yu.dongliang <18588496441@163.com> Date: Wed, 26 Jul 2023 14:10:39 +0000 (+0800) Subject: branch path X-Git-Url: http://baseworks.info/?a=commitdiff_plain;h=c9bb6ecf3970f7e72a1040f47aad435706600212;p=ses.git branch path --- diff --git a/ses_step_topo.c b/ses_step_topo.c index 88890d0..257d82a 100644 --- a/ses_step_topo.c +++ b/ses_step_topo.c @@ -42,11 +42,8 @@ static int __dfs_path(ScfEfunction* f, ScfEcomponent* rc, ScfEpin* rp, ses_ctx_t for (i = 0; i < rc->n_pins; i++) { np = rc->pins[i]; - if (np->vflag) { - if (rp != np) - scf_logd("c%ld_p%ld, l%ld, vflag: %d, pflag: %d\n", np->cid, np->id, np->lid, np->vflag, np->pflag); + if (np->vflag) continue; - } scf_logi("c%ld_p%ld, l%ld, vflag: %d, pflag: %d\n", np->cid, np->id, np->lid, np->vflag, np->pflag); @@ -94,11 +91,8 @@ static int __dfs_path(ScfEfunction* f, ScfEcomponent* rc, ScfEpin* rp, ses_ctx_t goto end; } - if (p->vflag) { - if (p != np) - scf_logd("c%ld_p%ld, l%ld, vflag: %d, pflag: %d\n", p->cid, p->id, p->lid, p->vflag, p->pflag); + if (p->vflag) continue; - } if (SCF_EDA_Transistor != c->type || SCF_EDA_Transistor_E != p->id) p->vflag = 1; @@ -107,24 +101,18 @@ static int __dfs_path(ScfEfunction* f, ScfEcomponent* rc, ScfEpin* rp, ses_ctx_t if (ret < 0) return ret; - if (SCF_EDA_Path_OFF == ret) { + if (SCF_EDA_Path_OFF == ret) p->vflag = 0; - scf_logw("off: c%ld_p%ld, l%ld\n", p->cid, p->id, p->lid); - - } else if (SCF_EDA_Status_OFF == ret) - scf_loge("off: c%ld_p%ld, l%ld\n", p->cid, p->id, p->lid); + else if (SCF_EDA_Path_TO == ret) + goto end; } if (ret > 0) { if (*ppath) scf_vector_del(*ppath, np); - if (SCF_EDA_Path_OFF == ret) { + if (SCF_EDA_Path_OFF == ret) np->vflag = 0; - scf_logw("off: c%ld_p%ld, l%ld\n", np->cid, np->id, np->lid); - - } else if (SCF_EDA_Status_OFF == ret) - scf_loge("off: c%ld_p%ld, l%ld, *ppath: %p\n", np->cid, np->id, np->lid, *ppath); } } @@ -134,6 +122,7 @@ static int __dfs_path(ScfEfunction* f, ScfEcomponent* rc, ScfEpin* rp, ses_ctx_t if (SCF_EDA_Path_OFF == ret) { rp->vflag = 0; + scf_logw("off: c%ld_p%ld, l%ld\n", rp->cid, rp->id, rp->lid); } else if (SCF_EDA_Status_OFF == ret)