From 23b9dd5df049a21af580cbb6bb2161cbacd77f5d Mon Sep 17 00:00:00 2001 From: "yu.dongliang" <18588496441@163.com> Date: Wed, 18 Oct 2023 13:40:14 +0800 Subject: [PATCH] topo --- ses_step_simplify.c | 2 ++ ses_step_topo.c | 33 ++++++++++++++++++++++----------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/ses_step_simplify.c b/ses_step_simplify.c index 07b80db..faa31b5 100644 --- a/ses_step_simplify.c +++ b/ses_step_simplify.c @@ -76,6 +76,8 @@ static int _simplify_draw(ScfEfunction* f, uint32_t bx, uint32_t by, uint32_t bw && SCF_EDA_Status_OFF == c->status) continue; + cairo_set_line_width(cr, 2); + uint8_t text[64]; snprintf(text, sizeof(text) - 1, "%ld", c->id); diff --git a/ses_step_topo.c b/ses_step_topo.c index 98a3b86..2cb0dd6 100644 --- a/ses_step_topo.c +++ b/ses_step_topo.c @@ -42,6 +42,9 @@ int __dfs_path(ScfEfunction* f, ScfEcomponent* rc, ScfEpin* rp, scf_vector_t* __ if (np->vflag) continue; + if (SCF_EDA_Transistor == rc->type && SCF_EDA_Transistor_E != np->id) + continue; + scf_logi("c%ld_p%ld, l%ld, vflag: %d, pflag: %d\n", np->cid, np->id, np->lid, np->vflag, np->pflag); el = f->elines[np->lid]; @@ -270,6 +273,22 @@ static int topo_epin_cmp(const void* v0, const void* v1, void* arg) return 0; } +static int _topo_print(scf_vector_t* paths) +{ + ses_path_t* path; + + int i; + for (i = 0; i < paths->size; i++) { + path = paths->data[i]; + + scf_logi("i: %d, path->type: %d\n", i, path->type); + + ses_path_print(path); + + printf("\n"); + } +} + static int _topo_handler(ScfEfunction* f, int64_t ns, int64_t count, ses_ctx_t* ctx) { ses_path_t* path; @@ -362,21 +381,13 @@ static int _topo_handler(ScfEfunction* f, int64_t ns, int64_t count, ses_ctx_t* } } +// _topo_print(ctx->paths); + int ret = _topo_layers(ctx->paths, B); if (ret < 0) return ret; -#if 1 - for (i = 0; i < ctx->paths->size; i++) { - path = ctx->paths->data[i]; - - scf_logi("i: %ld, path->type: %d\n", i, path->type); - - ses_path_print(path); - - printf("\n"); - } -#endif + _topo_print(ctx->paths); return 0; } -- 2.25.1