machxo2: Hardcode a rule for emitting U_/D_ or G_ prefixes in ASCII output.
This commit is contained in:
parent
b1f25d4b33
commit
ec239c8c35
@ -71,9 +71,24 @@ static std::string get_trellis_wirename(Context *ctx, Location loc, WireId wire)
|
|||||||
name.find("JINCK") != std::string::npos);
|
name.find("JINCK") != std::string::npos);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (prefix2 == "G_" || prefix2 == "L_" || prefix2 == "R_" || prefix2 == "U_" || prefix2 == "D_" ||
|
if (prefix2 == "G_" || prefix2 == "L_" || prefix2 == "R_" || prefix7 == "BRANCH_")
|
||||||
prefix7 == "BRANCH_")
|
|
||||||
return basename;
|
return basename;
|
||||||
|
|
||||||
|
if (prefix2 == "U_" || prefix2 == "D_") {
|
||||||
|
// We needded to keep U_ and D_ prefixes to generate the routing
|
||||||
|
// graph connections properly, but in truth they are not relevant
|
||||||
|
// outside of the center row of tiles as far as the database is
|
||||||
|
// concerned. So convert U_/D_ prefixes back to G_ if not in the
|
||||||
|
// center row.
|
||||||
|
|
||||||
|
// FIXME: This is hardcoded to 1200HC coordinates for now. Perhaps
|
||||||
|
// add a center row/col field to chipdb?
|
||||||
|
if (loc.y == 6)
|
||||||
|
return basename;
|
||||||
|
else
|
||||||
|
return "G_" + basename.substr(2);
|
||||||
|
}
|
||||||
|
|
||||||
if (loc == wire.location) {
|
if (loc == wire.location) {
|
||||||
// TODO: JINCK is not currently handled by this.
|
// TODO: JINCK is not currently handled by this.
|
||||||
if (is_pio_wire(basename)) {
|
if (is_pio_wire(basename)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user