whitequark[cis] changed the topic of #amaranth-lang to: Amaranth hardware definition language · weekly meetings: Amaranth each Mon 1700 UTC, Amaranth SoC each Fri 1700 UTC · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang · Matrix #amaranth-lang:matrix.org
<whitequark[cis]> what makes more sense is keep trying seeds (in parallel) until you hit the constraint
<whitequark[cis]> then the goal setting is done exactly the same as before
<adamgreig[m]> depends what you want to know and how much you trust the timing analysis I guess, heh
<adamgreig[m]> I think in principle you're completely right
<zyp[m]> I think for CI purposes it can be good to know the spread to get an idea of how a change affects timing
<adamgreig[m]> but I still am happy spending an extra minute of cpu time getting some details on what the distribution looks like
<ravenslofty[m]> ...I mean, yes, there kind of is
<adamgreig[m]> and no harm picking the best seed having done that and buying yourself a little extra margin against bad timing analysis I guess... perhaps that's faulty reasoning though
<ravenslofty[m]> And I do also feel like there's some Fmax to be gained in nextpnr having improved STA
<adamgreig[m]> crzwdjk: I should point out that this has nothing to do with abc9 though, that happens deterministically in yosys, but if you had a distribution of 100 runs of nextpnr before and after abc9, it would make a more informed comparison than just a single point
<crzwdjk> How big does the spread tend to be?
<ravenslofty[m]> mumbles about Yosys also having a quiet, undocumented option to fuck around with things
<adamgreig[m]> "it depends"
<ravenslofty[m]> Here's spread of Fmax over 50 seeds for a work thing I was doing earlier
<adamgreig[m]> I've had some cases where it's like 40MHz between best and worst and others are like 2MHz, and that's all on fairly small ice40 or ecp5
<ravenslofty[m]> I think the main thing is that bad luck is absolutely a thing with nextpnr
<crzwdjk> At least it doesn't depend on the phase of the moon I suppose
<ravenslofty[m]> we use our own RNG
bob_twinkles[m] has joined #amaranth-lang
<bob_twinkles[m]> does it depend on the platform/libc version or does yosys/abc use their own RNG implementation everywhere?
<ravenslofty[m]> Though there aren't many passes which need to use it in Yosys
<ravenslofty[m]> nextpnr is a lot more RNG-dependent
<crzwdjk> Those spreads seem pretty significant so I guess I do need to add something to try different seeds because I'm getting like 34 MHz fmax where I need 33 and I've already run into the occasional timing failure because of that.
<adamgreig[m]> the nice thing about running them in parallel is if you have like an 8-core cpu you can basically try 8 seeds in the same time it took to try 1, which gives you better odds of at least not getting unlucky
<adamgreig[m]> and if you have 128 cores available then even better :p
<crzwdjk> These days everyone has at least 2-4 cores available, even my crappy arm laptop
<crzwdjk> Seems like a valid parallelization strategy
<adamgreig[m]> still, would be even nicer if nextpnr could do it and thus skip the duplicated work and process starting overhead and such
<ravenslofty[m]> there's really not that much duplicated work in nextpnr
<adamgreig[m]> yea, I'm sure it's tiny compared to the actual p&r work
<adamgreig[m]> but still, gotta start up a process, read the design in, load the fpga library, ????, I don't really know what else :P
lf has quit [Ping timeout: 258 seconds]
lf has joined #amaranth-lang
crzwdjk has quit [Quit: WeeChat 3.0]
phire has quit [Ping timeout: 240 seconds]
phire has joined #amaranth-lang
<_whitenotifier> [amaranth] whitequark commented on issue #950: Should `Signature.__getattr__` propagate `flipped` to subinterfaces? - https://github.com/amaranth-lang/amaranth/issues/950#issuecomment-1809501224
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #amaranth-lang
miek has quit [Server closed connection]
miek has joined #amaranth-lang
tannewt has quit [Server closed connection]
tannewt has joined #amaranth-lang
tcal has quit [Server closed connection]
tcal has joined #amaranth-lang
agg has quit [Server closed connection]
agg has joined #amaranth-lang
roflincopter has quit [Server closed connection]
roflincopter has joined #amaranth-lang
XgF has quit [Server closed connection]
XgF has joined #amaranth-lang
_alice has quit [Server closed connection]
_alice has joined #amaranth-lang
ravenslofty[m] has quit [Ping timeout: 246 seconds]
bob_twinkles[m] has quit [Ping timeout: 260 seconds]
zyp[m] has quit [Ping timeout: 258 seconds]
V has quit [Ping timeout: 258 seconds]
omnitechnomancer has quit [Ping timeout: 240 seconds]
lambda has quit [Ping timeout: 240 seconds]
vegard_e[m] has quit [Ping timeout: 264 seconds]
galibert[m] has quit [Ping timeout: 255 seconds]
_catircservices has quit [Ping timeout: 258 seconds]
Wanda[cis] has quit [Ping timeout: 258 seconds]
whitequark[cis] has quit [Ping timeout: 258 seconds]
V has joined #amaranth-lang
adamgreig[m] has quit [Ping timeout: 264 seconds]
lambda has joined #amaranth-lang
omnitechnomancer has joined #amaranth-lang
vegard_e[m] has joined #amaranth-lang
galibert[m] has joined #amaranth-lang
ravenslofty[m] has joined #amaranth-lang
bob_twinkles[m] has joined #amaranth-lang
whitequark[cis] has joined #amaranth-lang
Wanda[cis] has joined #amaranth-lang
adamgreig[m] has joined #amaranth-lang
_catircservices has joined #amaranth-lang
vup has quit [Server closed connection]
vup has joined #amaranth-lang
anuejn has quit [Server closed connection]
anuejn has joined #amaranth-lang
_whitenotifier has quit [Server closed connection]
cyrozap has quit [Server closed connection]
cyrozap has joined #amaranth-lang
richardeoin has quit [Ping timeout: 240 seconds]
richardeoin has joined #amaranth-lang
notgull has quit [Ping timeout: 260 seconds]
notgull has joined #amaranth-lang
nelgau has quit [Read error: Connection reset by peer]
nelgau has joined #amaranth-lang
nimh has quit [Server closed connection]
nimh has joined #amaranth-lang
yuriks has quit [Server closed connection]
yuriks has joined #amaranth-lang
_whitenotifier-f has joined #amaranth-lang
<_whitenotifier-f> [amaranth] whitequark opened pull request #952: Update to Python 3.8+ syntax - https://github.com/amaranth-lang/amaranth/pull/952
<_whitenotifier-f> [amaranth] codecov[bot] commented on pull request #952: Update to Python 3.8+ syntax - https://github.com/amaranth-lang/amaranth/pull/952#issuecomment-1810165565
<_whitenotifier-f> [amaranth] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-952-e55dec9615adfaf6558738930889c74713a3f109 - https://github.com/amaranth-lang/amaranth
<_whitenotifier-f> [amaranth] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-952-e55dec9615adfaf6558738930889c74713a3f109 - https://github.com/amaranth-lang/amaranth
<_whitenotifier-f> [amaranth-lang/amaranth] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±37] https://github.com/amaranth-lang/amaranth/compare/e55dec9615ad...f9da3c0d166d
<_whitenotifier-f> [amaranth-lang/amaranth] whitequark f9da3c0 - Pyupgrade to 3.8+. NFCI
jn has quit [Server closed connection]
jn has joined #amaranth-lang
jn has joined #amaranth-lang
<_whitenotifier-f> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+0/-0/±32] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/612024a5a29a...58cebf75ab37
<_whitenotifier-f> [amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] 58cebf7 - Deploying to main from @ amaranth-lang/amaranth@f9da3c0d166dd2be189945dca5a94e781e74afeb 🚀
alanvgreen has quit [Server closed connection]
alanvgreen has joined #amaranth-lang
mwk has quit [Server closed connection]
mwk has joined #amaranth-lang
swym4 has quit [Server closed connection]
swym4 has joined #amaranth-lang
Psentee has quit [Server closed connection]
Psentee has joined #amaranth-lang
sauce has quit [Server closed connection]
sauce has joined #amaranth-lang
cr1901 has quit [Server closed connection]
cr1901 has joined #amaranth-lang
tucanae47 has quit [Read error: Connection reset by peer]
tucanae47 has joined #amaranth-lang
marcan has quit [Server closed connection]
marcan has joined #amaranth-lang
ovf has quit [Server closed connection]
ovf has joined #amaranth-lang
notgull has quit [Ping timeout: 240 seconds]
notgull has joined #amaranth-lang
DX-MON has quit [Server closed connection]
DX-MON has joined #amaranth-lang
jjsuperpower has quit [Ping timeout: 260 seconds]
Wolfvak has quit [Server closed connection]
Wolfvak has joined #amaranth-lang
qookie has quit [Server closed connection]
qookie has joined #amaranth-lang
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined #amaranth-lang
oter has quit [Server closed connection]
oter has joined #amaranth-lang
toshywoshy has quit [Server closed connection]
toshywoshy has joined #amaranth-lang
jjsuperpower has joined #amaranth-lang