whitequark changed the topic of #yosys to: Yosys Open SYnthesis Suite: https://github.com/YosysHQ/yosys/ | Channel logs: https://libera.irclog.whitequark.org/yosys/ | Bridged to #yosys:matrix.org
tpb has quit [Remote host closed the connection]
tpb has joined #yosys
lumo_e has quit [Ping timeout: 245 seconds]
lexano has quit [Ping timeout: 260 seconds]
FabM has joined #yosys
FabM has joined #yosys
FabM has quit [Changing host]
strobo has quit [Read error: Connection reset by peer]
strobo has joined #yosys
notgull has quit [Ping timeout: 260 seconds]
notgull has joined #yosys
nak has quit [Ping timeout: 255 seconds]
mwk_ is now known as mwk
<povik> re: do abc choices improve synthesis
<povik> on the epfl benchmarks the answer appears to be no, they make it worse on average
<povik> at least if we go by the simple lut area/depth metrics
<povik> partly it's because with choices abc doesn't do what it calls "best cut extension", what would be the "E:" pass in the verbose output
<povik> if i disable that on the choiceless mapping, the gap closes somewhat, at least where i tried that
<povik> lofty: where toymap doesn't match epfl reference results by depth, i can't reproduce that locally with abc
<povik> e.g. for the 'lookahead xy router', i get depth 11 with plain toymap and locally running abc's `if -K 6` after reading in the aiger
<povik> but the epfl reference has 7 for depth
<lofty> povik: here's the thing: choices should never make a solution worse >.>
<povik> of course in principle, but the presence of choices disables other things in abc making the result worse, it seems
<povik> or not even in principle if choices make heuristics take unlucky decisions
<povik> i'm interested in the practical here...
<lofty> povik: oh; run `if -K 6` *twice* to get 7 levels
<povik> huh, how does that make a difference?
<povik> reproduced here
<povik> > The network was strashed and balanced before FPGA mapping.
<povik> ah, here's my answer
<povik> that shows up only if i run it twice
<lofty> It's to do with the balancing, I think
<povik> yeah, that would make perfect sense
<povik> i suspected as much because i saw that message before
<povik> but i don't understand the triggers of the balancing pass
<povik> since it doesn't run with the first `if` invocation...
<lofty> I think based on the "strashed" part of it: when it has a network made of LUTs, it first turns that back into an AIG through strashing
<lofty> and then performs...SOP balancing, I guess?
<povik> Abc_NtkBalance
<povik> is what it is
<povik> `balance; if -K 6` reproduces 7 too
<lofty> the benchmark numbers they have are pretty crazy in the best results list
<lofty> povik: if I may ask, what's your methodology for comparing with and without choices?
<povik> it's in the gist
<povik> `write_aiger meh.aig; read_aiger meh.aig;`
<povik> is how i drop the choices
<povik> and then in the `if` output
<povik> > Node = 1019. Ch = 0. Total mem = 0.19 MB. Peak cut mem = 0.00 MB.
<povik> Ch=0 confirms they were lost
<lofty> povik: okay, I tried that, however there's something which bothers me
<povik> do tell
<lofty> compare the output of the two scripts:
<lofty> - read router.aig; dch; if -K 6 -v
<lofty> - read router.aig; dch; write_aiger meh.aig; read_aiger meh.aig; if -K 6 -v
<povik> what should i be looking for?
<lofty> The first is PPPFAA; the second is PPPEFEAEAE
<povik> yeah, hence my earlier comment
<povik> 13:41 < povik> partly it's because with choices abc doesn't do what it calls "best cut extension", what would be the "E:" pass in the verbose output
<lofty> Hmmm
<povik> you can disable that with -q i think?
<povik> no, something else
<povik> -r
<povik> with -r choiceless still comes out on top
<lofty> It never ceases to amuse me how the solution to "ABC performs badly" is "do more ABC"
<lofty> :p
<povik> is that in regards to something particular you just discovered? :D
<lofty> the baseline synth script is "run if like eight times, I dunno"
<lofty> :p
<povik> ah, so people in the know understand `if; if` is better than `if`
<lofty> One of the best-performing ABC scripts we have is, uh, flow3
<lofty> (yosys -p "scratchpad -get abc9.script.flow3")
FabM has quit [Ping timeout: 246 seconds]
lexano has joined #yosys
myon98_ has quit [*.net *.split]
myon98_ has joined #yosys
Adrien[m] has quit [Quit: Idle timeout reached: 172800s]
xiretza[cis] has quit [Quit: Idle timeout reached: 172800s]
ec_ has quit [Remote host closed the connection]
ec_ has joined #yosys
ec_ is now known as ec
cr1901_ has joined #yosys
cr1901 has quit [Ping timeout: 248 seconds]
Wanda[cis] has quit [Quit: Idle timeout reached: 172800s]
cr1901_ is now known as cr1901
vancz_ is now known as vancz
nonchip has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
nonchip has joined #yosys
cr1901_ has joined #yosys
cr1901 has quit [Ping timeout: 248 seconds]