__ses_path_va_bridge()
authoryu.dongliang <18588496441@163.com>
Wed, 15 Nov 2023 11:27:39 +0000 (19:27 +0800)
committeryu.dongliang <18588496441@163.com>
Wed, 15 Nov 2023 11:27:39 +0000 (19:27 +0800)
ses_step_va.c
ses_step_va_bridge.c

index 6397362bf8bc4bd7eea2ce3ca278808382a12478..4f396c9972ff026db84850c450d47b166e249915 100644 (file)
@@ -186,6 +186,10 @@ int __ses_path_va(ScfEfunction* f, ses_path_t* path, int* changed)
 
                        ses_ur_i(&p->a, &p->ja, dv, jdv, r, jr);
 
+                       p2     = path->pins->data[i - 1];
+                       p2->a  = p->a;
+                       p2->ja = p->ja;
+
                        if (path->childs) {
                                for (j    = 0; j < path->childs->size; j++) {
                                        child =        path->childs->data[j];
index e603110c3ccdd43bb7586a11fa7977dc3b8381f3..e4feaf2090fa6864f0095240c99999ffd74ec5b0 100644 (file)
@@ -38,10 +38,14 @@ static int __ses_path_va_bridge(ScfEfunction* f, ses_path_t* path, int* changed)
        double v  = p0->v  - p1->v;
        double jv = p0->jv - p1->jv;
 
-       scf_logw("path: %d, c%ldp%ld--c%ldp%ld, v: %lg, p0->v: %lg, p1->v: %lg, n_diodes: %d\n",
-                       path->index, p0->cid, p0->id, p1->cid, p1->id, v, p0->v, p1->v, path->n_diodes);
+       int ret = __ses_path_va(f, path, changed);
+       if (ret < 0)
+               return ret;
 
-       return __ses_path_va(f, path, changed);
+       scf_logw("path: %d, c%ldp%ld--c%ldp%ld, v: %lg, p0->v: %lg, p1->v: %lg, n_diodes: %d, p0->a: %lg, p1->a: %lg\n",
+                       path->index, p0->cid, p0->id, p1->cid, p1->id, v, p0->v, p1->v, path->n_diodes, p0->a, p1->a);
+
+       return 0;
 }
 
 static int ses_path_va_bridge(ScfEfunction* f, ses_path_t* path, int* changed)