fix: __ses_path_pr()
authoryu.dongliang <18588496441@163.com>
Sat, 11 Nov 2023 13:26:57 +0000 (21:26 +0800)
committeryu.dongliang <18588496441@163.com>
Sat, 11 Nov 2023 13:26:57 +0000 (21:26 +0800)
ses_layout.c
ses_step_jr.c

index 4c17f1f863e144bdfa9a39684243d5c7ee6cf966..570b1ff82340d55dc5517ec54c3a2bd96f42a5f2 100644 (file)
@@ -1980,7 +1980,7 @@ int ses_layout_board(ScfEboard* b)
                        return ret;
                }
 
-//             ses_steps_analyse(f, 5, 1);
+               ses_steps_analyse(f, 5, 1);
 
                x = f->x;
                y = f->y;
index ab5b724162ee2a60875c5b92be5d6ade30a5744b..2ce19618abbebf00a8c4aca663df8a710d5fe5b5 100644 (file)
@@ -77,6 +77,10 @@ void __ses_path_pr(ScfEfunction* f, ses_path_t* path, int i, int j, ScfEpin* cp1
 
                } else if (i > 0) {
                        p0 = path->pins->data[i - 1];
+                       c0 = f->components[p0->cid];
+
+                       if (SCF_EDA_NPN == c0->type && SCF_EDA_NPN_E == p0->id)
+                               p0 = path->pins->data[i - 2];
 
                        *r  = p1->pr  - p0->pr;
                        *jr = p1->jpr - p0->jpr;