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
<lofty> The `cook` code confuses me; I realise it's for counting the number of unique inputs, but if you keep the LUT inputs in a cut sorted then deduplication is just std::set_union
bjorkintosh has joined #yosys
bjorkintosh has quit [Changing host]
bjorkintosh has joined #yosys
notgull has quit [Ping timeout: 246 seconds]
notgull has joined #yosys
FabM has joined #yosys
FabM has joined #yosys
FabM has quit [Changing host]
<povik> you mean because of the 3 of the last 4 testcases?
<povik> there are other explanations, toymap and abc might not be working on exactly the same aig
<povik> also there's an edge case where toymap needs to connect a PO to the rest of the network with an inverter, making the depth 1 greater than what the cut mapper comes up with
<povik> (this is a quirk of the internal representation for now)
<povik> that can't explain random_control/priority.aig
<povik> i think i should do proper hashing of the inputs in a cut, instead of adding the pointers :p
<lofty> povik: I doubt the problem is that you're working on different AIG; I've been frustrated by this issue before and the problem really was a lack of cut diversity
<povik> ok, the improper cut hashing is what i suspect first
<lofty> But it's easy enough to test if the problem is that it's working on wrong aig
<lofty> The input and output netlists must be equivalent, so you can so `equiv_opt toymap` or whatever
<povik> yeah, that passes last time i checked
<povik> but there's no guarantee `abc -g aig` gives the same graph as abc uses for lut mapping
<lofty> whitequark[cis]: beginning to wonder if that command should be renamed `equiv_pass` instead
<lofty> Or something
<lofty> povik: Yosys can read aiger files
<lofty> So use them directly and operate directly on that
<lofty> I'm pretty sure that the EPFL benchmarks have already been optimised enough that the ABC opts don't do anything
<lofty> With the point of there being no low hanging fruit
<povik> not true actually
<povik> %fraig -x does tremendous cutting down of div.aig
<povik> and that's one of the few i looked into
<povik> err, &fraig -x
<lofty> Okay, but the reference numbers have *no* optimisation
<lofty> And you still can't match ABC
<povik> you mean what i use for abc baseline?
<povik> that's *including* the optimisation
<lofty> The official numbers given by EPFL.
<povik> ah
<povik> haven't checked those
<lofty> Those are what you should compare against, IMO
<lofty> Otherwise you're making things more difficult for yourself
<povik> i have no issue with that
<povik> i'm interested in implementing some degree of aig preprocessing into toymap
<lofty> Like, maybe ABC is discovering structural choices while optimising; those can't cross the ABC/Yosys border
<lofty> A lot of AIG preprocessing algorithms start with the netlist mapped into cuts anyway
<povik> 09:20 < lofty> Like, maybe ABC is discovering structural choices while optimising; those can't cross the ABC/Yosys border
<povik> one think i want to check is whether abc uses *any* structural choices anywhere in the epfl benchmark
<povik> i find out what i need to look for in the `if -v` output
<povik> s/i find out/i found out/
<lofty> I tend to use &if over if simply because I'm a snob /j
<povik> so far it seems more like a legend of "abc does structural choices! you can't match that" instead of something that actually makes a difference
<povik> but maybe i will be proven wrong
<lofty> What optimisation passes are you using?
<povik> the default yosys script
<lofty> `abc` or `abc9`?
<povik> the blank variety
<povik> err, by that i mean `abc`
<lofty> Hmm. There *are* calls to dc2 and dch -f
<lofty> So there *should* be choices generated
<povik> i will let you know what i find out
<lofty> I will be curious to see how you might represent choices, since it's something I've discussed with the others in the past
ec_ has quit [Remote host closed the connection]
ec_ has joined #yosys
nak has joined #yosys
indy has quit [Quit: ZNC 1.8.2 - https://znc.in]
lexano has joined #yosys
indy_ has joined #yosys
josuah has joined #yosys
krispaul has quit [Quit: WeeChat 3.5]
kristianpaul has joined #yosys
hrberg has joined #yosys
FabM has quit [Ping timeout: 248 seconds]
lkcl has quit [Ping timeout: 245 seconds]
knielsen has left #yosys [#yosys]
V has quit [Ping timeout: 246 seconds]
indy_ is now known as indy
<whitequark[cis]> lofty: no objection to renaming
lkcl has joined #yosys
V has joined #yosys
V has quit [Ping timeout: 240 seconds]
V has joined #yosys
V has quit [Ping timeout: 244 seconds]
V has joined #yosys
Guest22 has quit [Quit: Client closed]
lumo_e has joined #yosys
nonchip has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
nonchip has joined #yosys