Friday, 2021-06-11

*** tpb <[email protected]> has joined #yosys00:00
*** stroboko1p <[email protected]> has joined #yosys01:48
*** lkcl_ <[email protected]> has quit IRC (Ping timeout: 272 seconds)01:48
*** strobokopp <[email protected]> has quit IRC (Ping timeout: 245 seconds)01:51
*** lkcl_ <[email protected]> has joined #yosys02:02
cr1901>Info: Running timing-driven placement optimisation...02:29
cr1901Is this a new string in nextpnr?02:29
*** jophish <jophish!~jophish@2001:470:69fc:105::670> has quit IRC (Ping timeout: 264 seconds)03:21
*** promach[m] <promach[m]!~promach@2001:470:69fc:105::ca1> has quit IRC (Ping timeout: 244 seconds)03:22
*** jryans <jryans!~jryansmat@2001:470:69fc:105::1d> has quit IRC (Ping timeout: 244 seconds)03:22
*** emilazy <emilazy!~emilazy@user/emilazy> has quit IRC (Ping timeout: 264 seconds)03:22
tntcr1901: huh no ?05:37
tntSo huh ... even the "good" sim doesn't look all that good when compared with behavioral (like using all source .v) : https://i.imgur.com/KKlVH6b.png05:57
tntAt least "latched_store" is present so at least the cpu doesn't seem to mind.05:58
tntFWIW, I've confirmed on hw with a logic analyzer that the working/non-working case look indeed like the sim results above.06:32
*** FabM <[email protected]> has joined #yosys06:59
tntSo, the difference between behavioral & "good" seem to be solved by using a more recent yosys to pre-build pcpi_mul block. (I had used the first failing revision previously).  Confirmed both in sim and on real hw.07:00
tnt(summary, now behavioral = synth good   and synth bad = missing latched_store)07:00
*** promach[m] <promach[m]!~promach@2001:470:69fc:105::ca1> has joined #yosys07:23
*** jophish <jophish!~jophish@2001:470:69fc:105::670> has joined #yosys07:23
*** emilazy <emilazy!~emilazy@user/emilazy> has joined #yosys07:23
*** jryans <jryans!~jryansmat@2001:470:69fc:105::1d> has joined #yosys07:23
*** lkcl_ <[email protected]> has quit IRC (Ping timeout: 252 seconds)07:24
*** lkcl_ <[email protected]> has joined #yosys07:25
tntremoving (* parallel_case *)  there https://github.com/cliffordwolf/picorv32/blob/master/picorv32.v#L331  fixes the issue. (or rather doesn't exhibit it anymore)07:45
tpb<https://x0.no/4uxpu> (at github.com)07:45
tntBoiled it down to a reproducer in 50 lines of verilog ... https://pastebin.com/NijQ0nz108:25
tpbTitle: `default_nettype nonemodule mini_dut( input wire pcpi_wr, input - Pastebin.com (at pastebin.com)08:25
tntYou synth mini_dut_wrap_bad you get the output optimized to 1'b0 (which is wrong).  You synth mini_dut_wrap_good, you get the correct logic.08:25
gatecatnice, good work!08:27
tntTx. Creating an issue now with required file / Makefile to reproduce easily.08:29
*** Martoni42 <[email protected]> has joined #yosys08:31
*** FabM <[email protected]> has quit IRC (Read error: Connection reset by peer)08:32
tntNote that the commit I pointed to earlier (new DFF OPT pass) has nothing to do with it ... it just made better DFF optimization and realized the two FF were the same and so used the same one for both signals, triggering this bug.08:46
tntmwk: so you're in the clear :p08:47
tnthttps://github.com/YosysHQ/yosys/issues/282408:55
*** Martoni42 is now known as FabM09:05
tntI'm going to go with OPT_MUXTREE ... this looks suspicious "Replacing known input bits on port B of cell $flatten\dut_I.$procmux$427: { \pcpi_wr 1'0 } -> 2'00"09:13
gatecatyeah09:13
mwkoh joy09:51
mwkokay, good09:51
mwkI was looking for an excuse to replace opt_muxtree with something much more powerful09:51
mwkohhh wait, it involves parallel_case09:53
mwk... parallel_case with one input 0, that shouldn't matter09:54
tntyeah, and if you remove that '0' input ... it works.09:55
gatecathttps://github.com/YosysHQ/yosys/blob/master/passes/opt/opt_muxtree.cc#L375-L376 looks questionable, port_off/port_idx won't be updated for constant inputs, I think10:03
tpb<https://x0.no/4uxq9> (at github.com)10:03
gatecatdon't fully understand its logic though10:03
mwkyeah, definitely suspect10:04
mwkhm10:04
mwkthat'd be an easy fix though10:04
gatecatmwk: how does https://github.com/YosysHQ/yosys/pull/2825 look ?10:11
mwkgatecat: ... just wrote the exact same thing10:12
gatecatoops10:12
mwkbut yeah, looks fine10:12
mwkexcept it may merit a regression test10:12
mwkwhich I'm writing right now10:13
mwkgatecat: how about throw in https://gist.github.com/mwkmwkmwk/2a77e94f1194ebfe9822394899c64f63 as tests/opt/bug2824.ys ?10:16
tpb<https://x0.no/4uxqb> (at gist.github.com)10:17
gatecatsure, do you want to push it to that branch?10:17
mwkhmm10:17
mwkright, this is just a branch in the main repo, I can check it out and push it, correct?10:17
gatecatyeah10:18
mwkgatecat: also your PR is missing "Fixes #2824" in the description10:18
gatecatupdated, thanks10:18
mwkI pushed the commit10:19
*** lkcl_ <[email protected]> has quit IRC (Ping timeout: 244 seconds)10:31
*** lkcl_ <[email protected]> has joined #yosys10:44
mwkgatecat: i think the PR is ready to merge?11:05
gatecatmwk: yep done11:07
mwkgood :)11:07
tntDamnit, I built yosys last week but the name/email change triggers a full tree rebuild.11:13
mwkwelp11:15
*** lkcl_ <[email protected]> has quit IRC (Ping timeout: 252 seconds)11:15
mwk... every day spent developing yosys I'm more happy about my decision to get a ryzen last fall11:15
* tnt is on a 6y old i7-4600U laptop11:16
*** lkcl_ <[email protected]> has joined #yosys11:29
*** lkcl_ <[email protected]> has quit IRC (Ping timeout: 244 seconds)11:41
*** lkcl_ <[email protected]> has joined #yosys11:53
tntgatecat / mwk: Just confirmed the fix (on all intermediate testbenches I had and on the actual hardware/project I was originally working on).11:54
tntThanks !11:54
*** sm2n <sm2n!~sm2n@user/sm2n> has quit IRC (Ping timeout: 245 seconds)11:58
mwkgreat, thanks for the report and diagnosis12:05
mwk!12:05
*** lkcl_ <[email protected]> has quit IRC (Ping timeout: 264 seconds)14:26
*** lkcl_ <[email protected]> has joined #yosys14:38
*** FabM <[email protected]> has quit IRC (Quit: Leaving)15:00
*** Guest43 <Guest43!~Guest43@cpc157431-lee215-2-0-cust373.7-1.cable.virginm.net> has joined #yosys15:04
*** lkcl_ <[email protected]> has quit IRC (Ping timeout: 252 seconds)16:07
*** lkcl_ <[email protected]> has joined #yosys16:19
*** Guest43 <Guest43!~Guest43@cpc157431-lee215-2-0-cust373.7-1.cable.virginm.net> has quit IRC (Quit: Client closed)16:23
*** Guest43 <Guest43!~Guest43@cpc157431-lee215-2-0-cust373.7-1.cable.virginm.net> has joined #yosys16:23
*** mwk_ <mwk_!~mwk@user/mwk> has joined #yosys16:24
*** ZipCPU_ <[email protected]> has joined #yosys16:26
*** emilazy <emilazy!~emilazy@user/emilazy> has quit IRC (*.net *.split)16:31
*** jryans <jryans!~jryansmat@2001:470:69fc:105::1d> has quit IRC (*.net *.split)16:31
*** GenTooMan <GenTooMan!~cyberman@2601:547:437f:e5c6:21f:5bff:fefe:a883> has quit IRC (*.net *.split)16:31
*** ZipCPU <[email protected]> has quit IRC (*.net *.split)16:31
*** cr1901 <cr1901!~William@2601:8d:8600:911:d04c:7e05:e89e:86f2> has quit IRC (*.net *.split)16:31
*** mwk <mwk!~mwk@user/mwk> has quit IRC (*.net *.split)16:31
*** ZipCPU_ is now known as ZipCPU16:31
*** GenTooMan <GenTooMan!~cyberman@2601:547:437f:e5c6:21f:5bff:fefe:a883> has joined #yosys16:51
*** jryans <jryans!~jryansmat@2001:470:69fc:105::1d> has joined #yosys17:04
*** emilazy <emilazy!~emilazy@user/emilazy> has joined #yosys17:06
*** Guest43 <Guest43!~Guest43@cpc157431-lee215-2-0-cust373.7-1.cable.virginm.net> has quit IRC (Quit: Client closed)17:10
*** mwk_ is now known as mwk17:31
*** cr1901 <cr1901!~William@2601:8d:8600:911:a043:50b9:61cb:7752> has joined #yosys17:52
*** GenTooMan <GenTooMan!~cyberman@2601:547:437f:e5c6:21f:5bff:fefe:a883> has quit IRC (Quit: Leaving)17:57
*** GenTooMan <GenTooMan!~cyberman@2601:547:437f:e5c6:21f:5bff:fefe:a883> has joined #yosys17:57
*** freemint <freemint!~freemint@2001:638:904:ffe8:2abf:c8f8:8aa3:41d7> has joined #yosys20:17
*** stroboko1p <[email protected]> has quit IRC (Ping timeout: 252 seconds)21:06
*** strobokopp <[email protected]> has joined #yosys21:13
*** strobokopp <[email protected]> has quit IRC (Read error: Connection reset by peer)22:51
*** strobokopp <[email protected]> has joined #yosys22:52
*** sm2n <sm2n!~sm2n@user/sm2n> has joined #yosys22:57

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