ses eda layout
authoryu.dongliang <18588496441@163.com>
Thu, 13 Jul 2023 09:03:02 +0000 (17:03 +0800)
committeryu.dongliang <18588496441@163.com>
Thu, 13 Jul 2023 09:03:02 +0000 (17:03 +0800)
ses_layout.c

index 5b560f03c3c5f92578cd39d96550625fb39c2f96..fa1ed30eab508193b47bff349838dbf9a8654e59 100644 (file)
@@ -439,6 +439,26 @@ int ses_layout_function(ScfEfunction* f, uint32_t d, uint32_t bx, uint32_t by, u
                }
        }
 
+       for (i = 0; i < f->n_elines; i++) {
+               el0       = f->elines[i];
+
+               for (m = 0; m + 1 < el0->n_pins; m += 2) {
+
+                       c  = f->components[el0->pins[m]];
+                       p0 = c->pins[el0->pins[m + 1]];
+
+                       if (0 == p0->x) {
+                               p0->x = el0->lines[0]->x1 + d;
+                               p0->y = el0->lines[0]->y1;
+
+                               el0->lines[0]->x1 += d;
+
+                               if (f->w < el0->lines[0]->x1 - f->x)
+                                       f->w = el0->lines[0]->x1 - f->x;
+                       }
+               }
+       }
+
        scf_loge("f->x: %d, y: %d, w: %d, h: %d\n", f->x, f->y, f->w, f->h);
 
        for (i = 0; i < f->n_components; i++) {