diff options
author | Tim Edwards <tim@opencircuitdesign.com> | 2016-04-24 21:34:55 -0400 |
---|---|---|
committer | Tim Edwards <tim@opencircuitdesign.com> | 2016-04-24 21:34:55 -0400 |
commit | 46b5c4b24fc397b9bbf92a034267781d985f39be (patch) | |
tree | c09653fd6b75485b0900fc5f1e8a3d87c2334a1a /qconfig.c | |
parent | de7e28a87912d16d323f3990b94ab5f7cc5b6825 (diff) |
Corrected two errors, one which incorrectly assigns pitch to the
largest pitch among all the route layers (this may be harmless,
and is possibly overwritten later, but the code is clearly wrong,
so I fixed it). The other error allows pre-routed nets from the
SPECIALNETS section to be ripped up during 2nd stage routing, and
since these nets can't be routed, they vanish from the layout
(except that they are dumped to the final DEF file, which almost
guarantees that there will be shorts).
Diffstat (limited to 'qconfig.c')
-rw-r--r-- | qconfig.c | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -101,15 +101,21 @@ post_config(void) else if (v == -1) v = h; for (i = 0; i < Num_layers; i++) { - if (PitchX[i] != 0.0 && PitchX[i] != PitchX[v]) + if (PitchX[i] != 0.0 && PitchX[i] != PitchX[v]) { Fprintf(stderr, "Multiple vertical route layers at different" - " pitches. I cannot handle this! Using pitch %g\n", - PitchX[v]); + " pitches. Using smaller pitch %g, will route on" + " 1-of-N tracks if necessary.\n", + PitchX[i]); + PitchX[v] = PitchX[i]; + } PitchX[i] = PitchX[v]; - if (PitchY[i] != 0.0 && PitchY[i] != PitchY[h]) + if (PitchY[i] != 0.0 && PitchY[i] != PitchY[h]) { Fprintf(stderr, "Multiple horizontal route layers at different" - " pitches. I cannot handle this! Using pitch %g\n", - PitchY[h]); + " pitches. Using smaller pitch %g, will route on" + " 1-of-N tracks if necessary.\n", + PitchY[i]); + PitchY[h] = PitchY[i]; + } PitchY[i] = PitchY[h]; } |