Friday, 2019-04-12

*** tpb has joined #vtr-dev00:00
litghostkem_: Any chance you can take a look at The behavior is confusing, and I want to check if I understand that there is a problem18:20
tpbTitle: Router generating "stub" or "antenna" nets · Issue #526 · verilog-to-routing/vtr-verilog-to-routing · GitHub (at
kem_litghost: I'm pretty busy at the moment, so I probably won't get a chance in the near term18:38
litghostkem_: Okay, thanks18:38
kem_litghost: You might be interested in:
tpbTitle: vpr: Add initial route tree stub check to check_route · verilog-to-routing/[email protected] · GitHub (at
kem_litghost: which is an initial cut of a stub check which runs during check_route18:38
kem_litghost: Any additional debugging you can do to narrow down/understand the issue would also help18:39
litghostkem_: Let me see if that throws an error on my design18:39
litghostkem_: I believe that was the idea, yes?18:39
kem_litghost: Yep, although I haven't tested it with non-configurable edges18:40
kem_litghost:  I'm also going to be taking a crack at re-factoring the non-configurable edge routing code (to clean it up and fix stuff like
tpbTitle: Improve Router Costing of Non-configurably Connected Nodes · Issue #525 · verilog-to-routing/vtr-verilog-to-routing · GitHub (at
litghostkem_: Cool18:41
litghostkem_: If the stub detection code works, I could probably add a fixup pass in the meantime18:41
litghostkem_: The reason I detected this issue is I'm working on round tripping VPR output back into Vivado, and it was showing some routing pips no longer used, which I traced back to this antenna problem18:42
litghostkem_: Interesting!!!! Your route check failed on genfasm (e.g. loading route from file) but not on the original routing19:03
litghostkem_: This indicates to me there might be a bug in the router file output, rather than some other issue19:03
litghostkem_: Also worth noting that your stub check just segfaulted, rather than return an error :/ lol19:03
litghostkem_: We've been investigating some bugs in our designs, I wonder if these are route stubs at all, but partial route outputs that simply didn't get properly written to disk!19:05
litghostkem_: Sorry, I wonder if these are not stubs at all, but instead partial route outputs that simply didn't get properly written to disk!19:06
litghostkem_: Nevermind, the segfault was just a bug with the fact that rr_node_to_rt_node isn't allocated in analysis19:30
litghostkem_: And the stub check didn't find anything :(19:31
litghostkem_: I went back and double checked, and I think your commit doesn't handle configurable edges correctly.  I think I have a commit that fixes that issue, and it does show a stub present22:08
litghostkem_: Handle non-configurable edges correctly22:08
litghostkem_: I think your previous code was conflating stub detection and error pruning22:13
litghostkem_: The new code always returns true for stubs, even if the stub was via a non-configurable edge22:13
litghostkem_: The error case IMO is child is a stub AND child was driven via a configurable edge22:14
litghostThe previous code would never return true on non-configurable nodes because of "(child_is_stub && driver_switch_configurable) "22:15

Generated by 2.13.1 by Marius Gedminas - find it at!