*** tpb has joined #vtr-dev | 00:00 | |
mithro | digshadow: So... | 00:00 |
---|---|---|
mithro | icebox edge entry 10 4 [['B14[12]', '!B15[11]', 'B15[13]'], 'routing', 'sp4_h_r_8', 'sp4_h_l_46'] | 00:00 |
mithro | Got name sp4_h_r_8 => sp4_h_l_46 | 00:00 |
mithro | Adding routing bidir edge 240262 P(x=10, y=4):sp4_h_r_8 (24428) => P(x=10, y=4):sp4_h_l_46 (23643) | 00:00 |
mithro | [['B14[12]', '!B15[11]', 'B15[13]'], 'routing', 'sp4_h_r_8', 'sp4_h_l_46'] | 00:00 |
mithro | Add edge A 24428 => 23643 | 00:00 |
mithro | Add edge B 23643 => 24428 | 00:00 |
mithro | If I specify that as "sp4_h_r_8 <-> sp4_h_l_46" in HLC it works -- but if I specify it as "sp4_h_l_46 <-> sp4_h_r_8" it complains :-( | 00:01 |
digshadow | thats rather odd | 00:05 |
digshadow | you are sure there isn't a type on the inverse | 00:06 |
mithro | checking now | 00:12 |
digshadow | typo | 00:20 |
mithro | https://www.irccloud.com/pastebin/8hf9olNx/ | 00:25 |
tpb | Title: Snippet | IRCCloud (at www.irccloud.com) | 00:25 |
mithro | digshadow: ^ | 00:25 |
mithro | ['routing', 'sp4_h_r_8', 'sp4_h_l_46'] ['B14[12]', '!B15[11]', 'B15[13]'] | 00:26 |
mithro | This is weird... | 00:35 |
mithro | 10routingspan4_horz_25span4_horz_1 | 00:35 |
mithro | 11routingspan4_horz_1span4_horz_25 | 00:36 |
mithro | but the bit pattern is different? | 00:36 |
digshadow | HMM | 00:41 |
digshadow | we ran into something similar a while back I think | 00:41 |
digshadow | I remember specifically asking a question about bit encoding on routing | 00:42 |
mithro | digshadow: I'm asking on ##openfpga | 00:51 |
mithro | digshadow: I guess I'm just going to stop generating the routing buffers in the rr_graph for now... | 01:03 |
mithro | digshadow: Hrmm, that makes things unroutable..... | 01:05 |
*** digshadow has quit IRC | 02:17 | |
*** digshadow has joined #vtr-dev | 02:42 | |
*** ZipCPU has quit IRC | 03:48 | |
*** jhol has quit IRC | 03:48 | |
daveshah | mithro: I'm reasonably sure you only need to enable one | 05:16 |
daveshah | To be sure you will have to find a bitstream from icecube that only has one enabled | 05:16 |
daveshah | As for routing only working one way round, that's because HLC is crap | 05:29 |
*** ZipCPU has joined #vtr-dev | 07:51 | |
*** jhol has joined #vtr-dev | 07:51 | |
*** vtrbot has quit IRC | 09:28 | |
*** vtrbot has joined #vtr-dev | 09:28 | |
mithro | daveshah / jhol: could I get your help with checking that? | 14:33 |
daveshah | mithro: looking at what arachne does it is definitely fine just to enable one of the switches | 14:34 |
mithro | I ran into that problem when adding the bidirectional support to HLC | 14:34 |
mithro | What happens if you enable both? | 14:35 |
daveshah | mithro: nothing | 14:35 |
daveshah | it will still work fine | 14:35 |
daveshah | can't see any reason not to | 14:35 |
mithro | Ya sure? :-P | 14:35 |
mithro | How can we confirm with icecube? | 14:36 |
daveshah | mithro: build loads of designs, run them through icebox/icebox_explain until you find one with only one of the switches enabled | 14:37 |
daveshah | then hypothesis proven | 14:37 |
daveshah | alternative: build a design with one/both of the switches enabled and see if they work on hardware | 14:37 |
daveshah | but thinking about the hardware (just a transistor after all) think it really shouldn't matter | 14:37 |
daveshah | otherwise ask lattice :P | 14:37 |
mithro | daveshah: I don't understand hardware :-P | 14:38 |
mithro | daveshah: but they sound like dangerous last words to me :-) | 14:38 |
mithro | daveshah: Okay - for now I'll just use the direction in icebox as preference... | 14:52 |
daveshah | mithro: that seems sensible, and I think that's what arachne-pnr does | 14:53 |
mithro | daveshah: http://hopper.mithis.com/~tim/errors | 14:56 |
mithro | daveshah: There are a *lot* of these? | 14:57 |
daveshah | mithro: interesting | 14:59 |
mithro | daveshah: and that is *just* in the tiles I'm using | 14:59 |
daveshah | https://www.irccloud.com/pastebin/LK5FMl15/ | 15:02 |
tpb | Title: Snippet | IRCCloud (at www.irccloud.com) | 15:02 |
daveshah | this is a known working design from arachne-pnr | 15:02 |
daveshah | notice that sp4_v_b_10 sp4_v_t_47 is set but not vice versa | 15:02 |
mithro | daveshah: fair enough | 15:03 |
mithro | daveshah: https://github.com/cliffordwolf/icestorm/pull/147 | 15:04 |
tpb | Title: Allow routing (bidir) entries to be looked up in either direction. by mithro · Pull Request #147 · cliffordwolf/icestorm · GitHub (at github.com) | 15:04 |
mithro | daveshah: Well - with that pull request it seems like I _could_ be generating valid routing.... | 15:08 |
daveshah | mithro: if you manually add in the config (trivial for a wire, just some input/output enables) to the HLC, you should be able to use icebox_vlog to verify the bitstream | 15:09 |
mithro | daveshah: So that would be "make check" ? | 15:09 |
daveshah | mithro: yep | 15:10 |
daveshah | that will do the equivalence check, although you may also want to inspect the verilog output yourself | 15:10 |
daveshah | if the equivalence check fails | 15:10 |
mithro | daveshah: https://paste.ubuntu.com/p/QjtwxP8F6r/ | 15:16 |
tpb | Title: Ubuntu Pastebin (at paste.ubuntu.com) | 15:16 |
daveshah | mithro: post mwire_bitstream.v | 15:17 |
mithro | daveshah: lol - it's the help for icebox_vlog :-P | 15:17 |
daveshah | mithro: as I mentioned earlier, make check needs package, device, pcf etc set up so only works for the ice40 examples | 15:17 |
mithro | Ahh | 15:18 |
daveshah | that is why I created iceinv (which is actually a wire at the moment) | 15:18 |
daveshah | but that wasn't routing with the pin constraints, although you may have fixed that? | 15:18 |
mithro | icebox_vlog -n top -p mwire.pcf -d vq100 vtr/tests/common/2-mwire/build-ice40-top-routing-virt-HX1K/mwire_bitstream.v | 15:20 |
mithro | ? | 15:20 |
daveshah | mithro: lgtm, but you will only get sensible results if you also gave vpr a pin constraints file | 15:20 |
daveshah | icebox_vlog isn't magic and can't get pin names from the air | 15:21 |
mithro | daveshah: icebox_vlog should complain that mwire.pcf is missing... | 15:21 |
daveshah | more importantly, it should be given an asc file not a .v file | 15:22 |
mithro | daveshah: https://github.com/cliffordwolf/icestorm/issues/148 | 15:24 |
daveshah | mithro: it complains for me | 15:26 |
daveshah | you sure you don't have an old (i.e more than three days) version that doesn't support -d | 15:26 |
daveshah | I had to add that because you are using vq100, and icebox_vlog defaulted to the tq144 with no way to change it otherwise | 15:26 |
mithro | daveshah: oh... | 15:27 |
mithro | Oh - the issue is that my icebox_vlog doesn't support -d <device> argument. Probably should still exit with a non-zero exit code however. | 15:28 |
mithro | daveshah: Any idea why clifford always uses getopt rather than argparse? | 15:31 |
daveshah | mithro: ask him? probably because we're C++ people | 15:31 |
daveshah | if you change stuff, can you add -o to icebox_vlog too? | 15:31 |
daveshah | so we don't have to do the redirection stuff | 15:31 |
mithro | Yeah - trivial with argparse :-P | 15:32 |
mithro | daveshah: Will get back to it after getting properties working | 15:34 |
daveshah | sounds sensible | 15:34 |
mithro | daveshah: have used the "iceblink40 lp1k evaluation kit" at all? | 16:49 |
daveshah | mithro: no, and don't have one | 16:49 |
daveshah | I would go for the icestick | 16:49 |
daveshah | it's the standard demo platform | 16:49 |
mithro | I have some on order | 16:51 |
daveshah | mithro: you have to use the iceburn programming tool because they have an odd onboard programmer | 16:52 |
daveshah | other than that they're fine | 16:52 |
daveshah | but I'd get an icestick too | 16:52 |
daveshah | for a picorv32 demo you'll need the hx8k breakout board or similar | 16:52 |
mithro | daveshah: I have a couple on order but haven't received them yet... | 16:56 |
mithro | daveshah: Oh - maybe they should turn up today... | 16:56 |
mithro | daveshah: Back to trying to get the flipflops enabled.... | 17:16 |
mithro | https://www.irccloud.com/pastebin/S5ObO4YZ/ | 17:54 |
tpb | Title: Snippet | IRCCloud (at www.irccloud.com) | 17:55 |
mithro | daveshah: ^ | 17:55 |
daveshah | mithro: ? | 17:55 |
mithro | daveshah: That seems to be what I'm generating at the moment... | 17:56 |
mithro | daveshah: That should be enough to do iceinv check right? | 17:56 |
daveshah | mithro: I would think so | 17:56 |
mithro | oh - but iceinv seems to hit an infinite loop somewhere... | 17:57 |
mithro | daveshah: I wonder if it's caused by the fact there is nothing to place.... | 18:01 |
daveshah | mithro: no idea | 18:01 |
mithro | daveshah: Because the io.place file places all the available logic blocks... | 18:01 |
daveshah | weird | 18:01 |
mithro | daveshah: because without the place file it seems to work... | 18:05 |
mithro | daveshah: Fixed I think... | 18:24 |
*** digshadow has quit IRC | 18:24 | |
*** digshadow has joined #vtr-dev | 18:52 | |
mithro | daveshah: Fix pushed into my 4mcmaster branch... | 18:52 |
mithro | daveshah: make check fails :-( | 18:53 |
mithro | https://www.irccloud.com/pastebin/w5dvV9Ep/ | 18:54 |
tpb | Title: Snippet | IRCCloud (at www.irccloud.com) | 18:54 |
mithro | daveshah: This also doesn't look right... | 18:55 |
mithro | https://www.irccloud.com/pastebin/g2KlpFSo/ | 18:56 |
tpb | Title: Snippet | IRCCloud (at www.irccloud.com) | 18:56 |
mithro | daveshah: Since we don't have neigh_op wires in our rr_graph? | 18:57 |
mithro | https://www.irccloud.com/pastebin/7Jcd6CI7/ | 18:57 |
tpb | Title: Snippet | IRCCloud (at www.irccloud.com) | 18:57 |
mithro | daveshah: I feel like this is a HLC issue there? | 19:03 |
daveshah | mithro: that is probably because you are missing config | 19:03 |
daveshah | So the IO clock is set to 0 | 19:04 |
daveshah | I actually improved the error in https://github.com/daveshah1/icestorm/commit/2b96328541204799db411f012fbe50d77d306cd4 | 19:04 |
tpb | Title: icebox_vlog: Valid output when IO clocks stuck at 0 · daveshah1/icestorm@2b96328 · GitHub (at github.com) | 19:04 |
daveshah | But not committed yet | 19:05 |
daveshah | They neigh_op wires are shown because they are permanently connected | 19:05 |
daveshah | icebox_vlog shows all wires, not just the routing path | 19:05 |
mithro | daveshah: ahh | 19:06 |
daveshah | The routing is correct, it should pass once you have config | 19:06 |
mithro | daveshah: We should add rules to run arachne-pnr too | 19:07 |
daveshah | mithro: yeah, could do | 19:08 |
mithro | However I can never spell it :-P | 19:09 |
mithro | arachnne-pnr takes a long time if you don't give it an input file :-P | 19:17 |
mithro | Well - it doesn't like eblif either... | 19:19 |
daveshah | mithro: I think arachne allows some of the eblif features | 19:22 |
daveshah | Fairly certain it allows both attributes and parameters | 19:22 |
mithro | daveshah: Not .conn it seems | 19:22 |
daveshah | mithro: No, that probably not | 19:22 |
mithro | daveshah: Well lunch time -- but I have arachne-pnr running so I can compare easily now | 19:29 |
daveshah | mithro: you should run icetime on both bitstreams too, although arachne-pnr's timing results will be unstable with any design or seed changes | 19:37 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!