*** tpb has joined #vtr-dev | 00:00 | |
benreynwar | Hey mithro | 00:44 |
---|---|---|
kem_ | benreynwar: Likely your best bet is to read through some of the papers published on VPR, they give context on the algorithms and 'why' behind VPR. If you need pointers as to where to start let me know. | 00:46 |
benreynwar | kem_: Cheers. I'll read the papers, and have a look through the code and then see where I'm at. | 00:52 |
*** digshadow has quit IRC | 03:04 | |
*** digshadow has joined #vtr-dev | 03:53 | |
benreynwar | Could someone email me a couple of VPR papers at [email protected]? Seems that they're not open access. | 05:45 |
benreynwar | "Vaughn Betz and Jonathan Rose. Vpr: a new packing, placement and routing tool for fpga research. " | 05:45 |
benreynwar | and | 05:45 |
benreynwar | "Jason Luu, Ian Kuon, Peter Jamieson, Ted Campbell, Andy Ye, Wei Mark Fang, and Jonathan Rose. Vpr 5.0: fpga cad and architecture exploration tools with single-driver routing, heterogeneity and process scaling." | 05:45 |
kem_ | benreynwar: Most authors keep publicly available copies on their webpages. Usually a web search on the paper title will turn these up (another option is google scholar which usually aggregates these) | 14:57 |
kem_ | benreynwar: VPR: http://www.eecg.toronto.edu/~vaughn/papers/fpl97.pdf | 14:57 |
kem_ | benreynwar: VPR 5: www.eecg.toronto.edu/~jayar/pubs/luu/luutrets11.pdf | 14:58 |
jhol | mitho, digshadow: ok, I have a HLC output that is successfully parsed: https://paste2.org/GZd60fvX | 14:59 |
jhol | no DFF configuration, and only in-tile routing is present at the moment | 15:00 |
jhol | so if I can get an rr_graph, then I can add code to emit the between-tile buffers, and we have a working LUT demo! | 15:02 |
jhol | - I don't know if it's the same when you import an external rr_graph file, but at the moment if I run VPR with the HX1K layout, it gobbles up a bunch of memory and gets stuck | 15:04 |
jhol | - so I've mostly been testing the HLC (as far as I can) with the test4 layout | 15:04 |
benreynwar | kem_: Thanks. | 15:12 |
jhol | --- ok it doesn't get stuck, just takes 10-15 minutes on my laptop | 15:49 |
jhol | and I can encode an asc file! | 15:49 |
jhol | various little things are missing, but still it managed to encode | 15:50 |
mithro | jhol: \o/ | 15:57 |
jhol | mithro: hi | 16:00 |
mithro | jhol: Do you want to send a pull request for the hlc-out changes? | 16:01 |
jhol | do we have any rr_graphs that have any buffers in? | 16:01 |
jhol | sure | 16:01 |
jhol | if I could get an rr_graph, even one that is quite incorrect, that would allow me to write the HLC translation code | 16:01 |
jhol | -- well, let me walk that back a little bit... | 16:02 |
jhol | I want to add code to emit the span <-> span switches that are attached to the edges of the various tiles | 16:03 |
jhol | so if I had an rr_graph that contained those, I could emit them | 16:03 |
jhol | mithro: here's my commits: | 16:05 |
jhol | https://github.com/jhol/symbiflow-arch-defs/commits/hlc-out | 16:05 |
tpb | Title: Commits · jhol/symbiflow-arch-defs · GitHub (at github.com) | 16:05 |
jhol | https://github.com/jhol/vtr-verilog-to-routing/commits/hlc | 16:05 |
tpb | Title: Commits · jhol/vtr-verilog-to-routing · GitHub (at github.com) | 16:05 |
jhol | https://github.com/jhol/icestorm/commits/hlc-work | 16:05 |
tpb | Title: Commits · jhol/icestorm · GitHub (at github.com) | 16:05 |
jhol | get all that stuff installed, then run: | 16:06 |
jhol | vpr arch.merged.xml --device HX1K --timing_analysis off big_xor.eblif --gen_post_synthesis_netlist on | 16:06 |
jhol | then run icebox_hsc2asc.py top.hlc > big_xor.asc | 16:07 |
jhol | *icebox_hlc2asc | 16:07 |
jhol | ...then you an decode it again with icebox_asc2hlc.py | 16:08 |
jhol | also you can compare the output with what you get if you do the routing with arachne-pnr | 16:08 |
jhol | the VPR "--disp on" mode looks cool now with the more detailed PIOs around the outside | 16:09 |
mithro | Can you send a pull request for https://github.com/jhol/symbiflow-arch-defs/commits/hlc-out ? | 16:09 |
tpb | Title: Commits · jhol/symbiflow-arch-defs · GitHub (at github.com) | 16:09 |
jhol | sure | 16:10 |
jhol | do you have a handy git filter-branch command to add the Signed-Off line? | 16:10 |
mithro | jhol: I don't understand https://github.com/jhol/symbiflow-arch-defs/commit/26308ae8966d816b148a2b59f468172756e473a7 ? | 16:10 |
tpb | Title: HACK: removed sb and cb · jhol/symbiflow-arch-defs@26308ae · GitHub (at github.com) | 16:10 |
jhol | nor do I | 16:11 |
jhol | at the moment, VPR seems to reject the arch XML because of that | 16:11 |
jhol | -- I tested it yesterday, seems unrelated to my changes | 16:11 |
jhol | I'm not sure if VPR or symbiflow-arch-defs master branches got broken, but I was trying not to get sidetracked to I hacked it | 16:12 |
jhol | *so I hacked it | 16:12 |
kem_ | jhol/mithro: Likely caused by: https://github.com/verilog-to-routing/vtr-verilog-to-routing/commit/d6bbd79ff8e7758640ae0c341c0981c781f3a662 | 16:13 |
tpb | Title: archfpga: Validate expected child tags of · verilog-to-routing/vtr-verilog-to-routing@d6bbd79 · GitHub (at github.com) | 16:13 |
jhol | hmm | 16:14 |
kem_ | jhol/mithro: For 'longlines' we no longer accept <sb>/<cb> tags (since they don't actually make sens) | 16:14 |
kem_ | jhol/mithro: The other non-longline segments should still be OK with <sb>/<cb> tags | 16:15 |
jhol | kem_: thanks for the info | 16:15 |
mithro | jhol: You only need to remove the sb/cb tags on the longline section, right? | 16:15 |
mithro | jhol: Have you tried your code with the "top routing" version? | 16:15 |
jhol | mithro: I have no idea about the sb/cb tags | 16:15 |
jhol | mithro: I havn't tried the the top-routing verstion, but it wouldn't work, because the HLC consumes the pb_type names for metadata about how to represent the output | 16:16 |
mithro | jhol: Hrm? The meta data should be the same? | 16:17 |
jhol | right, but things like local tracks and span-wires are missing, so there wouldn't be much output | 16:17 |
jhol | if the rr_graph brings those things back, then it should all work | 16:18 |
jhol | but... | 16:18 |
mithro | jhol: Just the internal to the tile routing, right? | 16:19 |
jhol | yes | 16:19 |
mithro | jhol: Like the LUT and stuff? | 16:19 |
jhol | also the local tracks | 16:20 |
jhol | so for example, the HLC output code takes a node like BLK_XX-local_g[0].i[0] and uses some creative transformation to write the node in HLC format | 16:22 |
jhol | HLC format is basically identical to the strings you see in icebox; in the HTML bit docs | 16:22 |
jhol | https://github.com/jhol/vtr-verilog-to-routing/blob/hlc/vpr/src/util/ice40_hlc.cpp#L220 | 16:23 |
tpb | Title: vtr-verilog-to-routing/ice40_hlc.cpp at hlc · jhol/vtr-verilog-to-routing · GitHub (at github.com) | 16:23 |
jhol | mithro: so the top routed version should work ok, but the HLC output will probably be empty because there's not many nodes for it to walk along | 16:24 |
mithro | be back in 30 - my train just arrived | 16:30 |
mithro | jhol: https://github.com/SymbiFlow/symbiflow-arch-defs/pull/108 | 16:30 |
tpb | Title: WIP - ice40: Fabric fixes by mithro · Pull Request #108 · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com) | 16:30 |
jhol | mithro: yeah I'll be back later. going to have some dinner | 16:33 |
mithro | Back now | 16:58 |
mithro | jhol: Just fixing up the dummy routing to make it much quicker | 17:09 |
*** digshadow has quit IRC | 17:15 | |
jhol | mitheo: \o/ | 17:25 |
jhol | mithro: so you and digshadow should be able to use my HLC code | 17:26 |
jhol | the key point is that if you give VPR an rr_graph file, it shouldn't cause a regression in the HLC output | 17:27 |
jhol | ...and you won't get the span switches yet of course | 17:28 |
jhol | in the meantime, I'll be adding the missing config to the IOs and then adding supports for the DFFs | 17:29 |
*** digshadow has joined #vtr-dev | 17:44 | |
jhol | mithro: https://github.com/SymbiFlow/symbiflow-arch-defs/pull/109 | 17:46 |
tpb | Title: Implemented PIO detail, and updated PLB structure for integration with HLC output by jhol · Pull Request #109 · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com) | 17:46 |
mithro | jhol: Great, looking now | 17:46 |
mithro | jhol: Can you take a look at https://github.com/SymbiFlow/symbiflow-arch-defs/pull/108/files ? | 17:47 |
tpb | Title: WIP - ice40: Fabric fixes by mithro · Pull Request #108 · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com) | 17:47 |
jhol | mithro: so you're commenting out span wires, local tracks and neighborhood tracks? | 17:49 |
mithro | jhol: Not the local tracks? | 17:49 |
mithro | jhol: Oh - you mean at the top level? | 17:49 |
jhol | well yeah - but that's a good point, the local wires are still there | 17:49 |
jhol | so are you just removing the links from the local wires to the fc? | 17:50 |
mithro | jhol: Why did you reorder the mux here -> https://github.com/SymbiFlow/symbiflow-arch-defs/pull/109/files#diff-82eb59e885302e9c0321c228822e6adfR163 ? | 17:51 |
tpb | Title: Implemented PIO detail, and updated PLB structure for integration with HLC output by jhol · Pull Request #109 · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com) | 17:51 |
jhol | well I rebased my branch on master, where you'd done the format tidying | 17:52 |
jhol | didn't want to spend time redoing the formatting | 17:52 |
jhol | -- but also that mux has a duplicated LOUT -> I[2] link | 17:53 |
jhol | these muxes are now defined in plb_local | 17:53 |
mithro | jhol: You should just be able to use my version of the input string there right? The only change is the output and name properties? | 17:58 |
jhol | yeah ok - i'll fix it | 18:00 |
mithro | jhol: great! Otherwise it looks all good and I think we can merge it? | 18:00 |
mithro | jhol: Then I'll rebase my fabric changes on top of yours | 18:01 |
mithro | jhol: I've moved back towards having span4/span12 in the tile routing... | 18:28 |
jhol | mithro: https://github.com/SymbiFlow/symbiflow-arch-defs/pull/109 | 18:29 |
tpb | Title: Implemented PIO detail, and updated PLB structure for integration with HLC output by jhol · Pull Request #109 · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com) | 18:29 |
jhol | mithro: good to have the span4/span12 in the tile routing, because as far as hlc2asc is concerned, it's part of the in-tile routing | 18:30 |
mithro | jhol: What I'm getting now... https://usercontent.irccloud-cdn.com/file/C9ao21Dr/Screenshot%20from%202018-05-02%2011-25-04.png https://usercontent.irccloud-cdn.com/file/0G6iQYs8/Screenshot%20from%202018-05-02%2011-25-26.png https://usercontent.irccloud-cdn.com/file/3LgvCANj/Screenshot%20from%202018-05-02%2011-25-41.png | 18:30 |
jhol | ooh... that's gorgeous | 18:30 |
jhol | it will look even better with PIO internals added! | 18:31 |
mithro | jhol: If your pull request doesn't break travis, then I'll merge | 18:34 |
mithro | Hrm, looks like I need to rebuild our precompiled conda | 18:39 |
mithro | doing now.... | 18:39 |
jhol | mithro: here's my latest HLC output on the test4 architecture with big_xor | 20:17 |
jhol | https://paste2.org/3Y8y2hgG | 20:17 |
jhol | -- it now has IO configs | 20:17 |
mithro | jhol: \o/ | 20:18 |
jhol | in other words, when I get the routes implemented it should work on the real device | 20:18 |
jhol | and here's the branch, if you want to try it: https://github.com/jhol/vtr-verilog-to-routing/commits/hlc | 20:18 |
tpb | Title: Commits · jhol/vtr-verilog-to-routing · GitHub (at github.com) | 20:18 |
jhol | anyway... that's me done for the day | 20:19 |
jhol | let me know how things go at your end today | 20:20 |
mithro | jhol: I'll try and test it | 20:20 |
jhol | try it with big_xor - any DFFs simply get missed off | 20:21 |
jhol | like I say, it's interesting to use asc2hlc to decode the output of arachne-pnr for comparison | 20:21 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!