vtr-verilog-to-routing icon indicating copy to clipboard operation
vtr-verilog-to-routing copied to clipboard

Change RRG storage to keep (drive pt, direction) instead of (start, end)

Open duck2 opened this issue 4 months ago • 1 comments

The current expansion pruning in the router uses the drive point of every RRNode ((xlow ,ylow) for non-directional nodes). This check is inside a hot loop (in connection_router.cpp), so there may be performance benefits to store (xdrive, ydrive, dir) in the RRG storage, since the router will only fetch two values instead of three + a branch.

For bidir wires (xdrive, ydrive) can be just (xlow, ylow).

duck2 avatar Feb 20 '24 15:02 duck2