Thursday, 2018-05-31

*** tpb has joined #vtr-dev00:00
mithrodigshadow: I think I need to output the name + tile for each *edge* rather than just the name for each node...00:08
benreynwarmithro: Yeah, that's pretty painful. I checked a slow and simple implementation and it's much faster.  I'll push a slow and simple solution, and at some point in the future if it becomes necessary for large devices I'll work out why the fast solution is so much slower.00:24
mithrobenreynwar: Did it complete for you?00:25
benreynwarmithro: No, but I put some print statements in and could see it was going to take far longer than was sane.00:25
mithrobenreynwar: Is that using the lookup edge<->node table thingy?00:26
benreynwarmithro: Nope.  For the complicated version, I'm pretty sure that it's mostly that my algorithm sucks.00:27
benreynwarmithro: The simple version takes one or two minutes which should be fine if you don't have to run it often.00:27
mithrobenreynwar: I wouldn't be so sure, look at
tpbTitle: symbiflow-arch-defs/ at master · SymbiFlow/symbiflow-arch-defs · GitHub (at
mithroYou most certainly want to use
tpbTitle: symbiflow-arch-defs/ at master · SymbiFlow/symbiflow-arch-defs · GitHub (at
mithrobenreynwar: Ahh -- looks like you already fixed that00:29
benreynwarmithro: Yep.00:30
benreynwarmithro: I just closed the pull request and open a new one with the simple solution (  The scaling is ugly (N^2) but it's nice and simple and works fast enough.00:47
tpbTitle: utils: Add utility to check that all sources can route to all sinks. by benreynwar · Pull Request #133 · SymbiFlow/symbiflow-arch-defs · GitHub (at
mithrokem_: You wouldn't happen to be around -- Any idea how to get the edge id while looping over the output from route_ctx.trace_head?00:48
mithroprev_ptr->iswitch = device_ctx.rr_nodes[inode].edge_switch(iedge);00:54
mithroIE - Inverse of that...00:54
mithrodigshadow: So -- it seems that edges don't have ids...01:04
tpbTitle: File Formats Verilog-to-Routing 8.0.0-dev documentation (at
digshadowmithro: make a key based on source + dest01:27
mithrodigshadow: Yeah01:27
mithrobenreynwar: does your new pull request work with the real rr_graph I posted?01:49
benreynwarmithro: In runs in a couple of minutes.  It finds a bunch of unconnected (src, sink) pairs.  Is that expected?01:50
mithrobenreynwar: well - it atleast matches what vpr is complaining about01:50
benreynwarmithro: I forgot to add the test back in.  It should do that.01:56
*** digshadow has quit IRC02:06
*** ZipCPU has quit IRC02:30
*** ZipCPU has joined #vtr-dev02:30
*** digshadow has joined #vtr-dev02:33
*** ZipCPU has quit IRC04:22
*** ZipCPU has joined #vtr-dev04:31
tpbTitle: Snippet | IRCCloud (at
mithroSomething funky is going on....08:11
kem_mithro: As I think you figured out, RR graph edges don't have unique Ids themselves. They are identified by the combination of source node Id and index within the source node edge array.13:29
kem_mithro: I've thought about refactoring the RR graph so each edge has a unique Id (i.e. so it looks more like the AtomNetlist). However it would be a fair amount of code churn, so I've never got round to it.13:31
mithrokem_: Yeah17:07
mithrokem_: I've ended up just making it possible to have arbitrary metadata on both rr_nodes and rr_edges17:08
mithrokem_: Will rethink it a bit once I have something which works17:11
mithrodaveshah: morning?17:14
mithrodaveshah: I figured out why I was getting invalid bit patterns.... still working on a fix17:15
*** digshadow has quit IRC17:23
*** digshadow has joined #vtr-dev17:57
digshadowmithro: hows it going? were you able to resolve the edge problem fully?18:02
daveshahmithro: morning18:05
mithrodigshadow: Fighting with C++ currently18:16
mithrodigshadow: I would say C++ is currently winning :-P18:16
mithrodigshadow / daveshah: No longer have any invalid routing nodes...20:19
digshadowmithro: !!!!21:17
digshadoware we popping champagne yet?21:17
mithroI still don't have the internals of the tiles yet...21:17
digshadow? I thought daveshah did that already?21:17
mithrodigshadow: jhol did a bunch of that - but I've broken it in the process of getting the routing working21:18
digshadower gotcha21:19
mithrodigshadow: Dammit - I'm now getting an issue because there seems to be routing in a RAM tile being used...23:10
mithrodigshadow: Still trying to figure out how we have edges in a ram tile...23:24

Generated by 2.13.1 by Marius Gedminas - find it at!