From 051fd28aa2d0fd4de2f35bdbaca0b682b90fd6ab Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Wed, 15 Nov 2023 20:16:44 -0800 Subject: [PATCH 1/3] Update RapidWright to latest Signed-off-by: Eddie Hung --- RapidWright | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RapidWright b/RapidWright index 366e742..a86ef8e 160000 --- a/RapidWright +++ b/RapidWright @@ -1 +1 @@ -Subproject commit 366e742285a1f279c0e07766b2f50dd6cd4761ab +Subproject commit a86ef8e68f89e90d0794f756dbd99f01f941ac37 From 2719a64098ad30421d9d19ee2afd11cf001f1d76 Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Wed, 15 Nov 2023 20:17:14 -0800 Subject: [PATCH 2/3] PartialRouterPhysNetlist to call PartialRouter differently Signed-off-by: Eddie Hung --- .../PartialRouterPhysNetlist.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/com/xilinx/fpga24_routing_contest/PartialRouterPhysNetlist.java b/src/com/xilinx/fpga24_routing_contest/PartialRouterPhysNetlist.java index f0176a3..510c706 100644 --- a/src/com/xilinx/fpga24_routing_contest/PartialRouterPhysNetlist.java +++ b/src/com/xilinx/fpga24_routing_contest/PartialRouterPhysNetlist.java @@ -44,11 +44,27 @@ public static void main(String[] args) throws IOException { continue; } if (!net.hasPIPs()) { + // Route only nets with no PIPs pinsToRoute.addAll(net.getSinkPins()); } } + boolean softPreserve = false; - PartialRouter.routeDesignPartialNonTimingDriven(design, pinsToRoute, softPreserve); + PartialRouter.routeDesignWithUserDefinedArguments(design, new String[] { + // Same options as PartialRouter.routeDesignPartialTimingDriven() + "--fixBoundingBox", + "--useUTurnNodes", + "--nonTimingDriven", + "--verbose", + // These options are set to their default value, a subset of which are duplicated here + // to ease modification; full documentation is available in RWRouteConfig.java + "--maxIterations", "100", + "--wirelengthWeight", "0.8", + "--initialPresentCongestionFactor", "0.5", + "--presentCongestionMultiplier", "2", + "--historicalCongestionFactor", "1", + }, + pinsToRoute, softPreserve); // Write routed result to new Physical Netlist PhysNetlistWriter.writePhysNetlist(design, args[1]); From 3092b05fb9ff69646418c7556e0bdaf6a3f51365 Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Wed, 15 Nov 2023 20:17:46 -0800 Subject: [PATCH 3/3] python3 instead of python Signed-off-by: Eddie Hung --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b237555..1dc0962 100644 --- a/Makefile +++ b/Makefile @@ -89,7 +89,7 @@ fpga-interchange-schema/interchange/capnp/java.capnp: .PHONY: score-$(ROUTER) score-$(ROUTER): $(addsuffix _$(ROUTER).wirelength, $(BENCHMARKS)) $(addsuffix _$(ROUTER).check, $(BENCHMARKS)) - python ./compute-score.py $(addsuffix _$(ROUTER), $(BENCHMARKS)) + python3 ./compute-score.py $(addsuffix _$(ROUTER), $(BENCHMARKS)) .PRECIOUS: %.device %.device: | compile-java