*** tpb has joined #yosys | 00:00 | |
*** emeb_mac has joined #yosys | 00:01 | |
*** lf has quit IRC | 00:10 | |
*** lf has joined #yosys | 00:11 | |
*** s_frit has quit IRC | 00:27 | |
*** s_frit has joined #yosys | 00:27 | |
*** richbridger has quit IRC | 00:39 | |
*** vidbina_ has quit IRC | 00:48 | |
*** peepsalot has left #yosys | 01:46 | |
*** jfcaron has quit IRC | 01:46 | |
*** citypw has joined #yosys | 01:59 | |
*** balrog has quit IRC | 02:00 | |
*** balrog has joined #yosys | 02:04 | |
*** jfcaron has joined #yosys | 02:34 | |
*** jfcaron has quit IRC | 02:44 | |
*** jfcaron has joined #yosys | 03:18 | |
*** Degi_ has joined #yosys | 03:28 | |
*** Degi has quit IRC | 03:30 | |
*** Degi_ is now known as Degi | 03:30 | |
*** xtro has quit IRC | 04:27 | |
*** xtro has joined #yosys | 04:30 | |
*** X-Scale` has joined #yosys | 04:41 | |
*** X-Scale has quit IRC | 04:43 | |
*** X-Scale` is now known as X-Scale | 04:43 | |
*** s_frit has quit IRC | 05:29 | |
*** thoughtpolice has quit IRC | 05:30 | |
*** thoughtpolice has joined #yosys | 05:30 | |
*** s_frit has joined #yosys | 05:30 | |
*** jfcaron has quit IRC | 05:44 | |
*** kraiskil has joined #yosys | 05:57 | |
*** kraiskil has quit IRC | 06:20 | |
*** smkz has quit IRC | 06:27 | |
*** smkz has joined #yosys | 06:31 | |
*** emeb_mac has quit IRC | 07:06 | |
*** danvet has joined #yosys | 07:11 | |
*** indy has left #yosys | 07:28 | |
*** vidbina_ has joined #yosys | 07:57 | |
*** cr1901_modern has quit IRC | 07:59 | |
*** cr1901_modern has joined #yosys | 08:01 | |
*** z0ttel has joined #yosys | 08:13 | |
*** kraiskil has joined #yosys | 08:17 | |
*** kraiskil has quit IRC | 08:27 | |
*** jakobwenzel has joined #yosys | 08:55 | |
*** kraiskil has joined #yosys | 09:28 | |
*** kraiskil has quit IRC | 09:36 | |
*** vidbina_ has quit IRC | 09:50 | |
*** vidbina has joined #yosys | 09:51 | |
*** vidbina has quit IRC | 09:51 | |
*** vidbina has joined #yosys | 09:52 | |
*** vidbina has quit IRC | 10:27 | |
*** X-Scale` has joined #yosys | 10:27 | |
*** X-Scale has quit IRC | 10:29 | |
*** X-Scale` is now known as X-Scale | 10:29 | |
*** kraiskil has joined #yosys | 10:48 | |
*** kraiskil has quit IRC | 10:54 | |
*** jakobwenzel has quit IRC | 11:01 | |
*** jakobwenzel has joined #yosys | 11:13 | |
*** kraiskil has joined #yosys | 11:15 | |
*** kraiskil has quit IRC | 11:20 | |
*** kraiskil has joined #yosys | 11:33 | |
*** jakobwenzel has quit IRC | 11:53 | |
*** unkraut has quit IRC | 12:11 | |
promach3 | Could anyone help with https://github.com/YosysHQ/yosys/issues/2608 ? | 12:24 |
---|---|---|
*** vidbina has joined #yosys | 12:28 | |
*** unkraut has joined #yosys | 12:30 | |
*** jakobwenzel has joined #yosys | 13:28 | |
*** citypw has quit IRC | 13:47 | |
*** proteusguy has quit IRC | 13:59 | |
*** proteusguy has joined #yosys | 14:00 | |
*** jakobwenzel has quit IRC | 14:13 | |
*** jakobwenzel has joined #yosys | 14:40 | |
*** emeb has joined #yosys | 15:28 | |
*** Thorn has quit IRC | 16:19 | |
*** kraiskil has quit IRC | 16:25 | |
promach3 | Could yosys actually do gate-level simulation ? | 16:26 |
Sarayan | it's pretty much what cxxrtl does | 16:30 |
*** jakobwenzel has quit IRC | 16:35 | |
*** jakobwenzel has joined #yosys | 16:47 | |
*** proteusguy has quit IRC | 18:16 | |
*** jakobwenzel has quit IRC | 18:22 | |
*** vidbina has quit IRC | 18:29 | |
*** emeb has quit IRC | 18:34 | |
*** jakobwenzel has joined #yosys | 18:40 | |
*** jakobwenzel has quit IRC | 18:53 | |
thoughtpolice | Has anyone happened to write any kind of "seed search" tool/script for nextpnr, by chance? Rather self evident but just anything that can do parallel runs and give me the fMAX for a given seed (let's keep it simple: single clock domain.) I figure I'd ask if anyone had anything nice before I go write a bad one myself. | 18:57 |
*** vidbina has joined #yosys | 19:08 | |
*** kraiskil has joined #yosys | 19:10 | |
*** emeb_mac has joined #yosys | 19:13 | |
cr1901_modern | thoughtpolice: Yes. Gimme a moment | 19:21 |
cr1901_modern | to find it | 19:21 |
cr1901_modern | I didn't write it- the person who did isn't in here | 19:21 |
agg | o/ | 19:23 |
cr1901_modern | ^Oh, yes he is | 19:23 |
agg | https://twitter.com/adamgreig/status/1357882118731427840?s=19 | 19:23 |
agg | It's quite hacked together but I've been using it a bunch recently and it's working well for me | 19:24 |
cr1901_modern | That's what I get for relying on autocomplete and not checking the list | 19:24 |
thoughtpolice | Great, thanks! I was thinking about using the python API, but close enough ;) | 19:24 |
thoughtpolice | And yes, mine would have been worse certainly | 19:24 |
cr1901_modern | You can hook the python API from the command-line, but not sure you can run nextpnr in a loop like that? | 19:25 |
agg | I think using the python api would be a bit tricky to parallelise | 19:25 |
agg | This is obviously gross and also could benefit from even short documentation... but it does handle multiple clocks lol | 19:25 |
thoughtpolice | I was thinking a combination of an outer parallel wrapper (gnu parallel, perhaps) with a python script for the --run phase | 19:25 |
thoughtpolice | Though I didn't see much documentation or examples of how to approximate the default flow with a script | 19:26 |
thoughtpolice | (maybe I missed something) | 19:26 |
cr1901_modern | ctx.pack() ctx.place() ctx.route(), and maybe "assign timing info" somewhere in between :P? | 19:26 |
thoughtpolice | Yeah, something like that. Lots of 'dir' in the REPL too | 19:26 |
cr1901_modern | haha | 19:26 |
agg | I couldn't figure out how to get timing information from the context in a post-routing context | 19:27 |
thoughtpolice | In theory gnu parallel would let you trivially use multiple machines or whatever though. I actually had the absurd idea to abuse this with GitHub actions to do something a seed search for builds as a part of the CI system, in a way. | 19:27 |
agg | So long as you remember to cite gnu parallel in your research paper :p | 19:28 |
agg | So far just running like 300 seeds on my 8c16t desktop has worked well but otherwise I just spin up a huge server in a cloud or whatever :p | 19:30 |
agg | You'll probably quickly observe two things I've noticed so far, one is that the seeds can make a huge difference to fmax but the other is that tiny changes to your design can make huge differences to synthesis that aren't explored by npnr seeds | 19:31 |
agg | eg I had a small design that got like 60+-10MHz when trying 300 seeds, then I added an extra output that just toggles 0/1 and the distribution shifted to 68+-8MHz or so | 19:32 |
cr1901_modern | https://github.com/YosysHQ/yosys/pull/2582#issuecomment-782865351 relevant | 19:32 |
agg | Half those spreads, I mean total spread 10 and 8 not +- | 19:32 |
agg | Ah yep basically that comment indeed | 19:34 |
agg | I wish for a way to perturb abc somehow | 19:34 |
cr1901_modern | agg: This might be worthwhile to spin into a package so the setup.py machinery can handle creating a windows binary to simulate shebang | 19:35 |
cr1901_modern | your script I mean* | 19:35 |
cr1901_modern | in the interim, I'm just using it from a bash prompt | 19:35 |
thoughtpolice | Yeah, I've noticed that simulation is quite sensitive to small changes already. ¯\_(ツ)_/¯ | 19:36 |
thoughtpolice | Err, synthesis | 19:36 |
agg | I wanted to just implement it inside nextpnr but then I remembered that c++ is hard | 19:36 |
agg | And I spent all week(s) working really late instead so... | 19:36 |
agg | Thankfully I'm probably back doing hands on things at work for a few weeks and thus not working on work gateware all evening and thus maybe doing more other things in the evenings :p | 19:37 |
cr1901_modern | The Ethernet switch gateware? | 19:37 |
agg | Different (not yet open source) work project | 19:37 |
agg | Though a lot of nice nmigen things in it I hope to open source soonish, we'll see | 19:38 |
agg | Well one thing anyway | 19:38 |
agg | Anyway it seems like implementing it inside nextpnr would be more useful and correct rather than trying to wrap the output like my python script does | 19:39 |
cr1901_modern | There's an issue about this I think on nextpnr... maybe you created it? | 19:39 |
agg | Wasn't me | 19:39 |
agg | But I assume everyone who's used --seed has wanted it at some point | 19:40 |
cr1901_modern | Hmm it's not printing anything for me | 19:43 |
cr1901_modern | python multinpnr.py 20 ice40 ../nextpnr/ice40/examples/blinky/blinky.json | 19:44 |
cr1901_modern | Running 20 seeds... done in 3.0s. | 19:44 |
agg | That usually means they all errored :/ | 19:44 |
agg | You need to give it the same command line nextpnr uses, exactly, but without --quiet or --seed | 19:45 |
cr1901_modern | Ahhh here we go | 19:47 |
cr1901_modern | A blinky seems to be too simple | 19:47 |
cr1901_modern | Target 12.00MHz, worst case 178.76MHz (seed 0), best case 178.76MHz (seed 0). | 19:48 |
*** kraiskil_ has joined #yosys | 19:55 | |
*** roamingryan has quit IRC | 19:58 | |
*** roamingryan has joined #yosys | 19:59 | |
*** kraiskil has quit IRC | 19:59 | |
cr1901_modern | agg: Good stuff http://ix.io/2QIA | 20:01 |
agg | Nice | 20:03 |
agg | Big spread! | 20:03 |
cr1901_modern | Indeed :o... wonder why (prob just the "name of the game") | 20:05 |
thoughtpolice | I just got a spread of 32MHz, though admittedly logic (for now) since it's just counters/etc to manage and demo peripherials | 20:17 |
thoughtpolice | Thanks a ton! Seems to work great | 20:17 |
*** vidbina has quit IRC | 20:24 | |
*** vidbina has joined #yosys | 21:24 | |
*** danvet has quit IRC | 21:38 | |
*** vidbina has quit IRC | 22:03 | |
*** tedfernau has joined #yosys | 22:04 | |
*** kraiskil_ has quit IRC | 22:19 | |
*** jfcaron has joined #yosys | 23:09 | |
*** pacak has quit IRC | 23:42 | |
*** pacak has joined #yosys | 23:44 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!