machxo2: Make sure all left and right I/O connections are included in the routing graph.
diff --git a/libtrellis/src/RoutingGraph.cpp b/libtrellis/src/RoutingGraph.cpp index 84eb625..85e2116 100644 --- a/libtrellis/src/RoutingGraph.cpp +++ b/libtrellis/src/RoutingGraph.cpp
@@ -179,10 +179,25 @@ // wonderful 1-based column numbering, and lack of dedicated // PIO tiles on the left and right. // Top and bottom unaffected due to dedicated PIO tiles. - bool pio_wire = (db_name.find("PADD") != string::npos || + // TODO: Convert to regex. + bool pio_wire = ( + db_name.find("DI") != string::npos || + db_name.find("JDI") != string::npos || + db_name.find("PADD") != string::npos || + db_name.find("INDD") != string::npos || db_name.find("IOLDO") != string::npos || db_name.find("IOLTO") != string::npos || - db_name.find("JINCK") != string::npos); + db_name.find("JCE") != string::npos || + db_name.find("JCLK") != string::npos || + db_name.find("JLSR") != string::npos || + db_name.find("JONEG") != string::npos || + db_name.find("JOPOS") != string::npos || + db_name.find("JTS") != string::npos || + db_name.find("JIN") != string::npos || + db_name.find("JIP") != string::npos || + // Connections to global mux + db_name.find("JINCK") != string::npos + ); if((id.loc.x == -1) && pio_wire) id.loc.x = 0; @@ -192,10 +207,24 @@ id.loc.x += std::stoi(g.substr(1)); if(id.loc.x > max_col) { - bool pio_wire = (db_name.find("PADD") != string::npos || - db_name.find("IOLDO") != string::npos || - db_name.find("IOLTO") != string::npos|| - db_name.find("JINCK") != string::npos); + bool pio_wire = ( + db_name.find("DI") != string::npos || + db_name.find("JDI") != string::npos || + db_name.find("PADD") != string::npos || + db_name.find("INDD") != string::npos || + db_name.find("IOLDO") != string::npos || + db_name.find("IOLTO") != string::npos || + db_name.find("JCE") != string::npos || + db_name.find("JCLK") != string::npos || + db_name.find("JLSR") != string::npos || + db_name.find("JONEG") != string::npos || + db_name.find("JOPOS") != string::npos || + db_name.find("JTS") != string::npos || + db_name.find("JIN") != string::npos || + db_name.find("JIP") != string::npos || + // Connections to global mux + db_name.find("JINCK") != string::npos + ); // Same deal as left side, except the position exceeds // the maximum row.