Thursday, 2020-02-20

*** tpb has joined #yosys00:00
*** emeb has quit IRC00:32
*** rohitksingh has joined #yosys00:44
*** rohitksingh has quit IRC00:59
*** rohitksingh has joined #yosys01:00
*** az0re has joined #yosys01:48
*** hellslinger has joined #yosys02:18
*** citypw has joined #yosys02:33
*** rohitksingh has quit IRC02:54
*** hellslinger has quit IRC06:26
*** fsasm has joined #yosys07:36
*** m4ssi has joined #yosys07:59
*** jakobwenzel has joined #yosys08:15
*** strongsaxophone has joined #yosys09:14
*** X-Scale` has joined #yosys09:16
*** X-Scale has quit IRC09:17
*** X-Scale` is now known as X-Scale09:17
*** strongsaxophone has quit IRC09:40
*** dys has joined #yosys09:42
*** vidbina has joined #yosys10:07
*** X-Scale has quit IRC10:20
*** X-Scale` has joined #yosys10:20
*** X-Scale` is now known as X-Scale10:21
*** X-Scale has quit IRC10:28
*** X-Scale` has joined #yosys10:28
*** X-Scale` is now known as X-Scale10:30
*** Cerpin has quit IRC11:53
*** mwk_ has joined #yosys12:29
*** mwk has quit IRC12:30
*** noopwafel has joined #yosys12:51
*** fsasm has quit IRC13:06
*** develonepi3 has joined #yosys13:15
*** mwk_ is now known as mwk13:17
*** Cerpin has joined #yosys13:36
*** N2TOH_ has joined #yosys14:18
*** N2TOH has quit IRC14:22
*** N2TOH_ has quit IRC14:36
*** emeb has joined #yosys14:42
*** vidbina has quit IRC14:59
*** vidbina has joined #yosys15:02
*** N2TOH has joined #yosys15:05
*** fsasm has joined #yosys15:16
*** [Ristovski] is now known as Ristovski15:23
*** m4ssi has quit IRC15:52
*** m4ssi has joined #yosys15:53
*** citypw has quit IRC16:02
*** m4ssi has quit IRC16:04
*** ZipCPU has quit IRC16:13
*** m4ssi has joined #yosys16:16
*** rohitksingh has joined #yosys16:16
*** ZipCPU has joined #yosys16:24
*** strongsaxophone has joined #yosys16:48
*** m4ssi has quit IRC16:49
*** m4ssi has joined #yosys17:05
*** vidbina has quit IRC17:05
*** m4ssi has quit IRC17:21
*** dys has quit IRC17:27
*** az0re has quit IRC17:27
*** C-M has quit IRC17:31
*** seraxis has quit IRC17:54
*** seraxis has joined #yosys17:55
*** seraxis has quit IRC17:58
*** seraxis has joined #yosys17:59
*** Sarayan has quit IRC18:03
*** twnqx has joined #yosys18:08
twnqxhello. what does the message "ERROR: Multiple edge sensitive events found for this signal!" mean - edge sensitive events caused by said signal, or changing said signal?18:10
awyglei would assuming changing18:11
awyglesince that's what would be an error18:11
twnqxme too, but there is exactly one in my code18:11
twnqxalso, isn't it pretty common to have "always @(posedge a or posedge b)"? i am doing that all the time in xilinx ISE compiled stuff18:14
twnqxmostly in the form of "@(posedge reset or posedge clk)"18:14
mwktwnqx: your problem will be easier to diagnose if you show the relevant code18:15
twnqxhttps://gist.github.com/chrschmidt/c627cbb6c874f9468267aad4fbabc90418:17
tpbTitle: gist:c627cbb6c874f9468267aad4fbabc904 · GitHub (at gist.github.com)18:17
mwkand what are doing? this code seems to synth fine here18:18
twnqxwould that move progval into the sensitivity list as it's purely combinatorical?18:18
twnqxwell, it's only a part or the total code18:19
twnqxyosys -p "synth_ice40 -top top -blif ./build/ledpwm.blif" ledpwm.v would be the command18:19
daveshahFWIW, you should always be doing `always @*` rather than `always @(signal)` for combinational always18:20
twnqxmh let me clean out the reset signal, which the 384 doesn't have anyway18:20
daveshahotherwise you can end up with horrible sim/synth mismatches18:20
daveshahalthough I don't think that's the bug here18:20
twnqxthat would be news to me, used @signal since... forever, with no mismatches with synplify/iverilog/ISE ever18:20
twnqxbut ok18:21
mwktwnqx: the code you pasted works for me with synth_ice40 (after adding a blackbox for LEDMASK)18:21
daveshahIf you use @(signals) then in simulation it is only updated when those signals change - but in synthesis that is not the case, it is treated like @*18:21
mwkare you using current yosys?18:21
twnqx0.918:21
twnqxnot git head18:21
mwkcould you give me an actual reproducible complete command line + file that causes the error, then?18:22
twnqxsoon, need to finish removing dead code18:22
twnqxsince i learned that 384s can't generate a power-on reset :(18:23
daveshahNone of the iCE40s can18:23
twnqxhow do you set initial values in registers then, using initital?18:24
daveshahOh, they all have a power on reset in that sense - you can use initial or `reg x = initval`18:25
daveshahThere isn't an explicit power on reset signal though18:25
daveshahStrictly speaking, all registers are set to 0 at power on, but Yosys can fake 1-initialised registers by wrapping them in NOTs18:25
twnqxyeah, i'll rather assume 0-initialized. it's not that bad.18:29
*** az0re has joined #yosys18:31
twnqxmwk: https://gist.github.com/chrschmidt/cb9107c47c0d47ab556ca0263c6283d8 - mind you, i wrote this a few weeks back and can't remember everything. it compiles fine with iverilog at least...18:33
tpbTitle: gist:cb9107c47c0d47ab556ca0263c6283d8 · GitHub (at gist.github.com)18:33
twnqxstill need to figure out SB_IO usage for this18:34
twnqxnah, something is definitely wrong here18:37
twnqx... is verilog not case sensitive?18:38
mwktwnqx: can you please give me a testcase that reproduces the actual error that you're complaining about?18:38
mwkthe code that you linked has a clear syntax error18:38
* twnqx headdesks18:39
twnqxsorry18:39
mwkand if I fix the syntax error, it synthesizes fine18:39
twnqxi was using a different copy in another user's directory, i was wondering why there was no error just now18:39
twnqxso i removed enough code to make it compile, just didn't notice18:41
twnqxis abc mandatory?18:41
mwkkinda18:41
mwkthere are experimental abc-less flows18:41
twnqxso uh.. how do i make it find the abc binary?18:47
twnqxi just placed it in $HOME/bin18:47
mwkhmm18:48
mwkit should be called yosys-abc and be in the same directory as the yosys binary18:49
twnqxah, so it's an issue with the gentoo ebuild :P ok, thank you, i'll look into building yosys the right way18:49
twnqx(who actually thinks that git pulling during compilation is a practical idea? compilation is absolutely sandboxes normally...)18:50
ZirconiumXtwnqx: if you patch Yosys you can produce something that produces synthesis better than default but worse than ABC19:04
ZirconiumXDepends what you're targeting though19:04
twnqxi am just trying to figure out what i have to do to compile yosys in a fully sandboxed environment, that is, withoput network access19:07
twnqxand it seems that i have to just clone abc into the right place and check out the right revision19:07
ZirconiumXYeah, basically.19:07
somlotwnqx: there's the ABCEXTERNAL environment variable you can use if you want to use your own ABC19:07
twnqxi noticed, but i'd still prefer to have the right revision19:08
twnqxeasy anough to adobt the build script19:08
somlothe risc of course is that you've got an abc older than the minimum required by yosys -- so check the yosys makefile for the required (presumably "or later") abc commit ID19:08
twnqxadopt*19:08
ZirconiumXhttps://github.com/YosysHQ/yosys/pull/1691 if you're curious19:09
tpbTitle: Use flowmap instead of gate2lut in noabc modes by ZirconiumX · Pull Request #1691 · YosysHQ/yosys · GitHub (at github.com)19:09
ZirconiumXFlowMap is interesting, if a bit impractical.19:19
twnqxahahaha and there's a typo in 0.9 that will make preparing the exact revision impossible :P (it's lacking the last character of the git commit)19:25
ZirconiumXUh, git will accept it just fine I think19:26
twnqxsure, but since it checks for that exact revision, the check will fail19:26
ZirconiumXWhich is why we generally don't use the releases as such19:26
twnqxwell, the Makefile is pretty adamant about that exact revision (unless setting ABCREV to default)19:27
ZirconiumXYeah, because ABC has no release system at all19:28
twnqx:) and that's a working ebuild19:38
twnqxnow for the next hurdle... nextpnr19:39
ZirconiumXThere was a recent PR to make building ECP5 much easier19:45
twnqxi just have an ince40 38419:46
twnqxok, that's not drop-in compatible with arachne...19:48
ZirconiumXlp384?20:23
az0reHow would everyone feel about a patch adding more precise source file location information to AST and RTLIL nodes?  Specifically, AST node locations would be represented as {first_line, first_column, last_line, last_column}.  I have used this in previous academic work and I think others might find it useful.  The only problem is it touches rather a lot of code...20:33
ZirconiumXIt would be a pretty wide-ranging change20:47
ZirconiumXYou'd have to replace the parser, I think20:47
*** rohitksingh has quit IRC20:47
ZirconiumXMaybe you can give Yosys good syntax error messages while you're at it :P20:47
az0reNo, no need to replace the parser.  Some modifications are necessary, but nothing really major.  Mainly the YYLTYPE needs to be defined as a struct of four ints, and anything touching `linenum` needs to be changed to e.g. `location->first_line` or something better (like a precise file:column range).20:59
*** rohitksingh has joined #yosys20:59
az0re> Maybe you can give Yosys good syntax error messages while you're at it :P21:01
az0reHeh, well, I've always thought Yosys's syntax errors are great.  But maybe my perception is jaded by my experience with syntax errors using ABC... ;)21:02
ZirconiumXTry using Rust for a few months21:02
ZirconiumXIt becomes your benchmark of compiler error quality21:02
az0reSome day I will, for sure21:03
*** fsasm has quit IRC21:08
twnqxsuccess! sometimes you just need to step back and clear your mind by doing something completely different.22:01
*** N2TOH_ has joined #yosys22:06
*** N2TOH has quit IRC22:08
*** strongsaxophone has quit IRC22:12
*** heijligen has quit IRC22:41
*** N2TOH_ has quit IRC22:42
*** N2TOH has joined #yosys22:43
*** heijligen has joined #yosys22:43
*** rohitksingh has quit IRC23:02
*** rohitksingh has joined #yosys23:31

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!