How does nextpnr handle non routable place? #1394
-
I am working on an architecture with very limited routing resources, and placement will likely affect routing. Let's say, during placement, the placer created a placement that cannot be routed but, in theory, can be placed and routed by the architecture. How does nextpnr handle a situation like this? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
It will try hard to route the design and end up failing. There is no feedback loop to re-place a design after routing has failed if that is what you are asking. For an architecture like yours you may even want a specialized placer. Since nextpnr has an option to provide a seed you could also run many instances of nextpnr in a loop with different seeds to find a valid result. But that may or may not be tractable depending on how well the placer does on your specific architecture. At least that's a relatively low-hanging fruit that I would explore first. |
Beta Was this translation helpful? Give feedback.
-
to modify the placer. |
Beta Was this translation helpful? Give feedback.
It will try hard to route the design and end up failing. There is no feedback loop to re-place a design after routing has failed if that is what you are asking. For an architecture like yours you may even want a specialized placer.
Since nextpnr has an option to provide a seed you could also run many instances of nextpnr in a loop with different seeds to find a valid result. But that may or may not be tractable depending on how well the placer does on your specific architecture. At least that's a relatively low-hanging fruit that I would explore first.