Monday, 2021-02-15

*** tpb has joined #yosys00:00
*** atk has joined #yosys00:00
*** lf has quit IRC00:22
*** lf has joined #yosys00:22
*** FFY00 has quit IRC01:16
Loftyagg: are you using "ABC" or "ABC9"? This sounds like a fundamental problem of logic optimisers called 'structural bias', where the optimiser is stuck in a local optimum due to the shape of the input netlist. ABC9 does a better job of solving this, in my experience.01:35
aggusing abc901:38
aggDoes sound like the sort of issue I'm getting, yea01:39
aggIs there any way to perturb it or permute the input in some way? seems like it would be amenable to at least trying a bunch of different starting conditions and from what I've seen would have a similar magnitude effect to nextpnr seeds01:46
aggBut if it's a deterministic optimisation that just depends on the input it might be kinda hard to find semantically equivalent permutations, idk..01:47
Loftyagg: people have toyed with that idea, sure, but it doesn't do much to resolve the fundamental problem01:51
*** FFY00 has joined #yosys02:22
*** X-Scale has quit IRC02:34
*** citypw has joined #yosys02:43
*** aquijoule_ has joined #yosys02:59
*** aquijoule__ has quit IRC03:01
*** Degi_ has joined #yosys03:48
*** Degi has quit IRC03:49
*** Degi_ is now known as Degi03:49
*** craigo has joined #yosys04:40
*** citypw has quit IRC04:53
*** jfcaron has quit IRC05:08
*** futarisIRCcloud has joined #yosys05:19
*** cr1901_modern has quit IRC05:19
*** cr1901_modern has joined #yosys05:45
*** s_frit has joined #yosys06:37
*** FFY00 has quit IRC06:41
*** danvet has joined #yosys06:42
*** citypw has joined #yosys06:43
*** emeb_mac has quit IRC06:58
*** mndza has joined #yosys07:17
*** futarisIRCcloud has quit IRC07:28
*** Nazara has quit IRC07:32
*** Nazara has joined #yosys07:37
*** s_frit has quit IRC08:01
*** s_frit has joined #yosys08:02
*** vidbina_ has joined #yosys08:40
*** jakobwenzel has joined #yosys08:55
*** jakobwenzel has quit IRC08:57
*** jakobwenzel1 has joined #yosys08:57
*** jakobwenzel1 is now known as jakobwenzel09:00
*** citypw has quit IRC10:21
*** citypw has joined #yosys10:33
*** craigo has quit IRC11:04
*** mndza has quit IRC11:27
*** mndza has joined #yosys11:28
*** aquijoule_ has quit IRC12:40
*** aquijoule_ has joined #yosys12:40
*** vidbina_ has quit IRC12:44
*** vidbina_ has joined #yosys12:45
*** vidbina_ has quit IRC12:53
*** jakobwenzel has quit IRC13:05
*** jakobwenzel1 has joined #yosys13:06
*** jakobwenzel1 has quit IRC13:06
*** citypw has quit IRC13:45
*** citypw has joined #yosys13:59
*** FFY00 has joined #yosys14:03
*** jakobwenzel has joined #yosys14:04
*** jakobwenzel has quit IRC14:08
*** jakobwenzel1 has joined #yosys14:08
*** jakobwenzel1 is now known as jakobwenzel14:10
*** jakobwenzel has quit IRC14:23
*** jakobwenzel has joined #yosys14:46
*** X-Scale has joined #yosys15:29
*** vidbina_ has joined #yosys15:33
*** futarisIRCcloud has joined #yosys16:13
*** citypw has quit IRC16:58
*** nengel has joined #yosys17:20
*** Nazara has quit IRC17:32
*** Nazara has joined #yosys17:34
*** nengel has quit IRC17:58
*** jfcaron has joined #yosys18:12
*** nengel has joined #yosys18:31
*** mndza has quit IRC18:37
*** X-Scale` has joined #yosys19:34
*** X-Scale has quit IRC19:36
*** X-Scale` is now known as X-Scale19:36
*** danvet has quit IRC19:40
*** X-Scale` has joined #yosys19:58
*** X-Scale has quit IRC19:58
*** X-Scale` is now known as X-Scale19:58
*** vidbina_ has quit IRC20:17
*** emeb_mac has joined #yosys20:42
*** s_frit has quit IRC21:06
*** s_frit has joined #yosys21:06
*** mancaus has quit IRC21:10
*** Jay_jayjay has joined #yosys21:23
Jay_jayjayAnyone come across this error for synth_ice40?21:23
Jay_jayjay2.49.15.3. Executing XAIGER backend.21:23
Jay_jayjay<suppressed ~433 debug messages>21:23
Jay_jayjayERROR: Assert `!aig_map.count(bit)' failed in backends/aiger/xaiger.cc:435.21:23
*** vidbina_ has joined #yosys21:34
Jay_jayjayit seems that the XAIGER backend won't deal with logic loops...21:35
gatecatIn theory earlier parts of the abc9 pass are supposed to break them21:38
gatecatBut this must be failing for some reason (it's not the first time I've seen it fail this way tbh)21:38
Jay_jayjayAlso, I need the logic loops intact21:38
Jay_jayjayI use `SB_LUT' instantiations for this purpose21:39
LoftyJay_jayjay: logic loops are forbidden in Yosys.21:40
Jay_jayjayyes, i know21:40
Jay_jayjayyou've mentioned this before21:40
Jay_jayjayhowever, I need this, and I don't have a alternative to yosys21:41
Loftyhttps://github.com/YosysHQ/yosys/issues/2530 <-- I've been doing my best to fix logic loop handling in ABC9 where possible21:41
LoftyIf you absolutely do need that, break the loops manually with a black box cell21:42
Jay_jayjayI am using a black box cell21:42
Jay_jayjayice40's built in SB_LUT21:42
LoftyNo21:42
LoftySB_LUT is whitebox21:42
LoftyNot blackbox21:42
Jay_jayjaywhat would blackbox do that whitebox wouldn't?21:43
LoftyYosys can see into its contents, and see that you still have a logic loop21:43
LoftyBlack boxes do not have any contents as far as Yosys is concerned21:43
Jay_jayjayhow would I make sure that at the end of the day I have a SB_LUT?21:44
LoftyUse an SB_LUT and your own blackbox cell21:44
LoftyAnd then `techmap` out the blackbox cell21:44
LoftyYou could also try the eddie/abc9_scc_fixes2 branch of Yosys, which has some fixes in this situation21:45
LoftyBut as you can see, it's not enough by itself21:45
Jay_jayjayso I put a (*blackbox*) on my lut module21:46
Jay_jayjayand then... ?21:46
LoftyUse (* keep *) as well for good luck :P21:46
Jay_jayjayhow would i use `techmap` to replace it with a SB_LUT?21:47
Lofty<Lofty> Use an SB_LUT and your own blackbox cell21:47
Loftythe "and" is important here21:47
Jay_jayjay?21:48
Loftyhttps://gist.github.com/Ravenslofty/ca7d375b4f7296263995c97d70d5c177 <-- write your SB_LUT4 as before, but put the feedback path through a `loop_breaker` module21:49
Jay_jayjayoh, I see.21:49
LoftyAnd then after `synth_ice40 -abc9`, run `attrmap -remove blackbox t:loop_breaker; techmap -map loop_breaker.v`, and techmap will stitch the loops back together21:51
*** vancz has quit IRC21:55
Jay_jayjayLofty: nextpnr still gives ERROR: cell type 'loop_breaker' is unsupported (instantiated as 'main.main.hlatch_i6.latch.genblk1[5].main.breaker')21:55
Jay_jayjayno yosys errors21:55
LoftyYou didn't techmap it21:56
Jay_jayjayi see attrmap and techmap executed21:57
Lofty...Okay, different approach21:57
Jay_jayjaycould i just use a blackbox module with SB_LUT4 in it, then techmap it?21:57
LoftyI suspect the problem is that because it's marked blackbox in the source it's being ignored21:58
LoftyThus a different approach21:58
Loftyhttps://gist.github.com/Ravenslofty/ca7d375b4f7296263995c97d70d5c177 <-- I renamed the pins of loop_breaker21:58
Jay_jayjaywould that change anything?21:59
LoftyPlease give me a moment >.>21:59
LoftyThat means you can try `chtype -set $_BUF_ t:loop_breaker; opt`22:00
Loftyinstead of the attrmap/techmap before22:01
Jay_jayjayGreat, it works!22:06
*** fevv8[m] has joined #yosys22:06
*** Jay_jayjay has quit IRC22:11
*** vidbina_ has quit IRC22:17
*** Jay_jayjay has joined #yosys22:40
*** vidbina_ has joined #yosys22:42
*** nengel has quit IRC23:06
*** Jay_jayjay has quit IRC23:17
*** vidbina_ has quit IRC23:51

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