Rsyn ISPD18 - Detailed Routing Contest
In this page, you find instruction on how to use Rsyn for ISPD18 Detailed Routing Contest.
git clone https://github.com/rsyn/rsyn-x.git
cd rsyn-x/ispd18 ./script/install-dependencies.sh
Compiling Rsyn using Cmake
cd rsyn-x/ispd18 mkdir build cd build cmake .. make -j 4
Open the project at rsyn-x/ispd18/ide/netbeans.
Configure NetBeans to use multi-threading compilation:
Tools -> Options -> C/C++ -> Project Options
Type "-j 4" in "Make Options".
Opening a Benchmark using Rsyn
./rsyn Ctrl+R Select file "rsyn-x/ispd18/sample/ispd18_sample/ispd18_sample.rsyn"
You can visualize the routing guides of a net by clicking on the net or searching by its name in the search box in the Design tab.
See ExampleService::doSomething() to check how to access routing guides from the code.
Rsyn::PhysicalTransform allows one to handle cell orientation as shown in the image below.
The routing grid is represented by the class Rsyn::PhysicalRoutingGrid, which is accessed via Rsyn::PhysicalDesign.
The routing of a net is defined via Rsyn::PhysicalRouting.
Rsyn::Session session; Rsyn::PhysicalDesign physicalDesing = session.getPhysicalDesign(); Rsyn::Net net = ... Rsyn::PhysicalRouting routing; routing.addWire(layer, p0, p1); routing.addWire(layer, p2, p3); physicalDesign.setNetRouting(net, routing);
The DEF can be written via the command writeDEF.
Rsyn::Session session; session.evaluateString("writeDEF");