You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
The text was updated successfully, but these errors were encountered:
If by drive point you mean the coordinate containing the driving mux (for unidir case), note that it's more complex than you write:
if DEC_DIR, (xhigh, yhigh) is the drive point else
if CHANX, (xlow-1, ylow) is the drive point else
(CHANY) (xlow, ylow-1) is the drive point.
This is a rather basic property of some fundamental data structures. Is there really a chance this will be changed?
The standard at 5 FPGA companies not including Altera was (essentially) to store (driving point, farthest sink) on every wire. The difference between these two was the physical length. (Logical length is the length of the segment TYPE.)
This issue has been inactive for a year and has been marked as stale. It will be closed in 15 days if it continues to be stale. If you believe this is still an issue, please add a comment.
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 (inconnection_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)
.The text was updated successfully, but these errors were encountered: