Wednesday, 2021-02-24

*** tpb has joined #yosys00:00
*** emeb_mac has joined #yosys00:01
*** lf has quit IRC00:10
*** lf has joined #yosys00:11
*** s_frit has quit IRC00:27
*** s_frit has joined #yosys00:27
*** richbridger has quit IRC00:39
*** vidbina_ has quit IRC00:48
*** peepsalot has left #yosys01:46
*** jfcaron has quit IRC01:46
*** citypw has joined #yosys01:59
*** balrog has quit IRC02:00
*** balrog has joined #yosys02:04
*** jfcaron has joined #yosys02:34
*** jfcaron has quit IRC02:44
*** jfcaron has joined #yosys03:18
*** Degi_ has joined #yosys03:28
*** Degi has quit IRC03:30
*** Degi_ is now known as Degi03:30
*** xtro has quit IRC04:27
*** xtro has joined #yosys04:30
*** X-Scale` has joined #yosys04:41
*** X-Scale has quit IRC04:43
*** X-Scale` is now known as X-Scale04:43
*** s_frit has quit IRC05:29
*** thoughtpolice has quit IRC05:30
*** thoughtpolice has joined #yosys05:30
*** s_frit has joined #yosys05:30
*** jfcaron has quit IRC05:44
*** kraiskil has joined #yosys05:57
*** kraiskil has quit IRC06:20
*** smkz has quit IRC06:27
*** smkz has joined #yosys06:31
*** emeb_mac has quit IRC07:06
*** danvet has joined #yosys07:11
*** indy has left #yosys07:28
*** vidbina_ has joined #yosys07:57
*** cr1901_modern has quit IRC07:59
*** cr1901_modern has joined #yosys08:01
*** z0ttel has joined #yosys08:13
*** kraiskil has joined #yosys08:17
*** kraiskil has quit IRC08:27
*** jakobwenzel has joined #yosys08:55
*** kraiskil has joined #yosys09:28
*** kraiskil has quit IRC09:36
*** vidbina_ has quit IRC09:50
*** vidbina has joined #yosys09:51
*** vidbina has quit IRC09:51
*** vidbina has joined #yosys09:52
*** vidbina has quit IRC10:27
*** X-Scale` has joined #yosys10:27
*** X-Scale has quit IRC10:29
*** X-Scale` is now known as X-Scale10:29
*** kraiskil has joined #yosys10:48
*** kraiskil has quit IRC10:54
*** jakobwenzel has quit IRC11:01
*** jakobwenzel has joined #yosys11:13
*** kraiskil has joined #yosys11:15
*** kraiskil has quit IRC11:20
*** kraiskil has joined #yosys11:33
*** jakobwenzel has quit IRC11:53
*** unkraut has quit IRC12:11
promach3Could anyone help with https://github.com/YosysHQ/yosys/issues/2608 ?12:24
*** vidbina has joined #yosys12:28
*** unkraut has joined #yosys12:30
*** jakobwenzel has joined #yosys13:28
*** citypw has quit IRC13:47
*** proteusguy has quit IRC13:59
*** proteusguy has joined #yosys14:00
*** jakobwenzel has quit IRC14:13
*** jakobwenzel has joined #yosys14:40
*** emeb has joined #yosys15:28
*** Thorn has quit IRC16:19
*** kraiskil has quit IRC16:25
promach3Could yosys actually do gate-level simulation ?16:26
Sarayanit's pretty much what cxxrtl does16:30
*** jakobwenzel has quit IRC16:35
*** jakobwenzel has joined #yosys16:47
*** proteusguy has quit IRC18:16
*** jakobwenzel has quit IRC18:22
*** vidbina has quit IRC18:29
*** emeb has quit IRC18:34
*** jakobwenzel has joined #yosys18:40
*** jakobwenzel has quit IRC18:53
thoughtpoliceHas 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 #yosys19:08
*** kraiskil has joined #yosys19:10
*** emeb_mac has joined #yosys19:13
cr1901_modernthoughtpolice: Yes. Gimme a moment19:21
cr1901_modernto find it19:21
cr1901_modernI didn't write it- the person who did isn't in here19:21
aggo/19:23
cr1901_modern^Oh, yes he is19:23
agghttps://twitter.com/adamgreig/status/1357882118731427840?s=1919:23
aggIt's quite hacked together but I've been using it a bunch recently and it's working well for me19:24
cr1901_modernThat's what I get for relying on autocomplete and not checking the list19:24
thoughtpoliceGreat, thanks! I was thinking about using the python API, but close enough ;)19:24
thoughtpoliceAnd yes, mine would have been worse certainly19:24
cr1901_modernYou can hook the python API from the command-line, but not sure you can run nextpnr in a loop like that?19:25
aggI think using the python api would be a bit tricky to parallelise19:25
aggThis is obviously gross and also could benefit from even short documentation... but it does handle multiple clocks lol19:25
thoughtpoliceI was thinking a combination of an outer parallel wrapper (gnu parallel, perhaps) with a python script for the --run phase19:25
thoughtpoliceThough I didn't see much documentation or examples of how to approximate the default flow with a script19:26
thoughtpolice(maybe I missed something)19:26
cr1901_modernctx.pack() ctx.place() ctx.route(), and maybe "assign timing info" somewhere in between :P?19:26
thoughtpoliceYeah, something like that. Lots of 'dir' in the REPL too19:26
cr1901_modernhaha19:26
aggI couldn't figure out how to get timing information from the context in a post-routing context19:27
thoughtpoliceIn 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
aggSo long as you remember to cite gnu parallel in your research paper :p19:28
aggSo 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 :p19:30
aggYou'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 seeds19:31
aggeg 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 so19:32
cr1901_modernhttps://github.com/YosysHQ/yosys/pull/2582#issuecomment-782865351 relevant19:32
aggHalf those spreads, I mean total spread 10 and 8 not +-19:32
aggAh yep basically that comment indeed19:34
aggI wish for a way to perturb abc somehow19:34
cr1901_modernagg: This might be worthwhile to spin into a package so the setup.py machinery can handle creating a windows binary to simulate shebang19:35
cr1901_modernyour script I mean*19:35
cr1901_modernin the interim, I'm just using it from a bash prompt19:35
thoughtpoliceYeah, I've noticed that simulation is quite sensitive to small changes already. ¯\_(ツ)_/¯19:36
thoughtpoliceErr, synthesis19:36
aggI wanted to just implement it inside nextpnr but then I remembered that c++ is hard19:36
aggAnd I spent all week(s) working really late instead so...19:36
aggThankfully 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 :p19:37
cr1901_modernThe Ethernet switch gateware?19:37
aggDifferent (not yet open source) work project19:37
aggThough a lot of nice nmigen things in it I hope to open source soonish, we'll see19:38
aggWell one thing anyway19:38
aggAnyway it seems like implementing it inside nextpnr would be more useful and correct rather than trying to wrap the output like my python script does19:39
cr1901_modernThere's an issue about this I think on nextpnr... maybe you created it?19:39
aggWasn't me19:39
aggBut I assume everyone who's used --seed has wanted it at some point19:40
cr1901_modernHmm it's not printing anything for me19:43
cr1901_modernpython multinpnr.py 20 ice40 ../nextpnr/ice40/examples/blinky/blinky.json19:44
cr1901_modernRunning 20 seeds... done in 3.0s.19:44
aggThat usually means they all errored :/19:44
aggYou need to give it the same command line nextpnr uses, exactly, but without --quiet or --seed19:45
cr1901_modernAhhh here we go19:47
cr1901_modernA blinky seems to be too simple19:47
cr1901_modernTarget 12.00MHz, worst case 178.76MHz (seed 0), best case 178.76MHz (seed 0).19:48
*** kraiskil_ has joined #yosys19:55
*** roamingryan has quit IRC19:58
*** roamingryan has joined #yosys19:59
*** kraiskil has quit IRC19:59
cr1901_modernagg: Good stuff http://ix.io/2QIA20:01
aggNice20:03
aggBig spread!20:03
cr1901_modernIndeed :o... wonder why (prob just the "name of the game")20:05
thoughtpoliceI just got a spread of 32MHz, though admittedly logic (for now) since it's just counters/etc to manage and demo peripherials20:17
thoughtpoliceThanks a ton! Seems to work great20:17
*** vidbina has quit IRC20:24
*** vidbina has joined #yosys21:24
*** danvet has quit IRC21:38
*** vidbina has quit IRC22:03
*** tedfernau has joined #yosys22:04
*** kraiskil_ has quit IRC22:19
*** jfcaron has joined #yosys23:09
*** pacak has quit IRC23:42
*** pacak has joined #yosys23:44

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!