Open mithro opened 6 years ago
I agree the use-cases for no routing fabric connections are reasonable. Can you provide the example architecture which causes the error?
Can vpr work on an architecture without channels
The RR graph builder (and probably graphics) make assumptions about the routing being organized in channels. So if you are trying to specify a non-channel architecture description you'll likely run into issues.
The router operates on the RR graph and shouldn't make any assumptions about the architecture being channel-based. This means that if you build an rr_graph.xml
appropriately, VPR should be able to route it -- even if it is not channel-based.
That being said, all the commercial FPGA architectures I'm aware of have channel-based routing architectures.
Does vpr care about the difference between internal to a block an external to a block routing?
Yes, VPR treats them separately
Currently the packer handles all block-internal routing. While the router performs global routing of all block-external routing (e.g. routes between block pins).
This distinction is somewhat artificial and currently limits some potential optimizations that VPR could perform otherwise (e.g. pin equivalence, LUT rotation). In the long term we would like to make the router able to route inside clustered blocks; however it would require more substantial code changes.
The rr_graph.xml
only describe the global routing network between block pins.
If you provide vpr with a tile description were a tile does not have any pins connected to the fabric, vpr segfaults with the following;
While it might feel silly at first to have a tile which has no fabric connection, a couple of use cases are;
<direct>
connections to other tiles.<direct>
connections between tiles rather then using channels / segments structure. (This is would be useful were tiles are only connected to other tiles next to each other.)My current work around is to add a dummy pin which is connected to the fabric but not to anything inside the block.
So I think a bigger question is;
rr_graph.xml