Monday, 2019-10-28

*** tpb has joined #yosys00:00
*** proteusguy has quit IRC00:07
*** proteusguy has joined #yosys00:08
*** Noname_Matt has joined #yosys00:09
*** _whitelogger has quit IRC00:33
*** _whitelogger has joined #yosys00:35
*** _whitelogger has quit IRC01:12
*** _whitelogger has joined #yosys01:14
*** craigo has joined #yosys02:51
*** PyroPeter has quit IRC03:13
*** forksand has quit IRC03:57
*** forksand has joined #yosys04:13
*** forksand has quit IRC04:16
*** forksand has joined #yosys04:32
*** Noname_Matt has quit IRC04:35
*** gatin00b has quit IRC04:37
*** forksand has quit IRC04:41
*** attie has joined #yosys04:48
*** attie has quit IRC04:53
*** forksand has joined #yosys04:58
*** Jybz has joined #yosys05:41
*** forksand has quit IRC05:51
*** forksand has joined #yosys06:12
*** emeb_mac has quit IRC06:23
*** Jybz has quit IRC06:31
*** vidbina has joined #yosys06:34
*** forksand has quit IRC06:42
*** kraiskil has joined #yosys06:45
*** vidbina has quit IRC06:47
*** forksand has joined #yosys07:00
*** vidbina has joined #yosys07:12
*** vidbina has quit IRC07:36
*** forksand has quit IRC07:36
*** kraiskil has quit IRC07:50
*** forksand has joined #yosys07:54
*** jakobwenzel has joined #yosys08:03
*** vidbina has joined #yosys08:21
*** dys has joined #yosys08:26
*** forksand has quit IRC08:31
*** forksand has joined #yosys08:48
*** vidbina has quit IRC09:02
*** vidbina has joined #yosys09:18
*** forksand has quit IRC09:25
*** vidbina has quit IRC09:28
*** forksand has joined #yosys09:42
*** kraiskil has joined #yosys09:48
*** fsasm has joined #yosys09:49
*** kraiskil has quit IRC10:14
pepijndevosFor wide luts, can I recursively map to $lut, or should I hand code it all the way?10:16
pepijndevosECP5 has it hardcoded up to 7, but Gowin has 8-wide luts, so it'll be even more insane.10:16
daveshahI would probably do it recursively10:17
daveshahI think back when I did ecp5 there was a problem with recursive techmapping that's now fixed10:17
pepijndevoscool, good to know10:17
daveshahHowever, I wouldn't bother with wide LUTs without abc910:17
*** forksand has quit IRC10:18
pepijndevoswhy (not)?10:18
daveshahThe way Yosys calls it old ABC thinks a LUT4 and LUT8 have the same delay10:18
daveshahThis causes it to use way too many big LUTs hurting area10:19
pepijndevosHurting *area*? Or did you mean timing? Or both?10:20
daveshahArea10:21
daveshahBecause abc thinks using large LUTs will be much better for delay (its primary objective as Yosys calls it)10:21
daveshahthan it actually is because the muxes add delay10:21
pepijndevosRight... hmmm... will try it out a bit.10:22
daveshahIt would actually be possible to fix this by passing a LUT library in abc the same way as abc910:23
daveshahJust no one has bothered10:24
pepijndevosIs there a nice way to make a N-wide LUT in verilog for testing?10:33
*** forksand has joined #yosys10:37
pepijndevosGreat, abc deleted my code.10:54
ZirconiumXpepijndevos: I think you could instantiate a $lut cell, and I believe they're of parametric width11:11
*** forksand has quit IRC11:11
pepijndevosright11:12
ZirconiumXdaveshah: would abc9 still be superior to abc if you passed in a LUT library?11:13
pepijndevosIt's just a classic "you have a typo in a portname, but rather than warn you I'll delete your code"11:13
ZirconiumXpepijndevos: `default_nettype none11:13
pepijndevos??11:13
ZirconiumXAssuming you're working in Verilog here, anyway11:14
pepijndevosYea, VHDL yells at you for stuff like that11:14
pepijndevos(I think at least... it just yells at you a lot more than Verilog, which I like)11:15
ZirconiumXIf you typo a parameter name, my understanding is that Verilog thinks you're declaring a new parameter that gets ignored11:15
ZirconiumXAnd the old parameter stays at 'bx11:15
pepijndevos... which is *totally* what I want 99% of the time *facepalm*11:15
ZirconiumXThe fix is to tell Verilog not to think you're declaring a new parameter by using `default_nettype none11:16
ZirconiumXAs I understand it, anyway, daveshah or whitequark would know more about this than me11:16
whitequark`default_nettype none is correct11:19
whitequarkyou could also use read_verilog -noautowire11:19
mwkwait, is it?11:19
mwkfor parameters?11:19
pepijndevosSo you just put that at the top of your file?11:19
ZirconiumXYep11:20
mwkpepijndevos: yes11:20
mwkevery verilog file should have that line at the top11:20
pepijndevosbrb, making yosys PR11:20
whitequarkyes, Verilog also completely ignores unused parameters11:21
whitequarkwell11:21
mwkhow helpful of it11:21
whitequarkit doesn't quite ignore them11:22
pepijndevosechO "`default_nettype none" > hdr.v; find . -fname *.v -exec cat hdr.v11:22
whitequarkit's more that any parameters you define when instantiating a module take preference over the parameters you define when defining it*11:22
pepijndevos(this is broken)11:22
whitequark* unless you use localparam, in which case the *other* one gets ignored, I think11:22
whitequarkyep.11:22
mwkaaaaaaaaaaaaaaaaaa11:23
whitequarkit also does some bizarre lazy evaluation thing11:24
whitequarkA parameter declared in a named block, task, or function can only be directly redefined using a defparam11:24
whitequarkstatement. However, if the parameter value is dependent on a second parameter, then redefining the second11:24
whitequarkparameter will update the value of the first parameter as well (see 12.2.3).11:24
whitequarkI guess that makes sense?11:25
*** attie has joined #yosys11:27
*** forksand has joined #yosys11:28
ZirconiumXpepijndevos: So how long is it until the Gowin flow uses VHDL techmap files? :P11:28
* pepijndevos thinks11:29
pepijndevosWhen yosys comes with VHDL support on by default.11:30
*** dys has quit IRC11:31
ZirconiumXSo presumably when GHDL is rewritten in C?11:34
mwkwhat is GHDL written in?11:35
ZirconiumXAda11:36
mwk...11:36
mwkof course11:36
pepijndevosThere are a few others that are fairly complete, in Rust, Java, and Python11:38
pepijndevosThey are also just parsers, they don't do any synthesis and elaboration11:39
pepijndevosCan't claim to understand this fully, but even integrating the Rust parser in Yosys would be a monumental effort I think.11:39
pepijndevosAnyone know the correct vim fu for Yosys indentation?11:40
ZirconiumXI'm not even sure Yosys is all that consistent with indentation11:40
ZirconiumXpepijndevos: judging by the .editorconfig, probably :set ts=8 sts=8 noet11:42
* pepijndevos install editorconfig vim plugin11:46
pepijndevosThis is a good idea11:46
pepijndevosOh no... the formatting was fucked up in some ways, and now it is fucked up in other ways :((((11:53
pepijndevosfml11:59
*** forksand has quit IRC12:01
pepijndevosI'm just going to cry now...12:02
*** X-Scale has quit IRC12:03
*** X-Scale has joined #yosys12:16
*** forksand has joined #yosys12:19
*** X-Scale has quit IRC12:46
*** forksand has quit IRC12:49
*** quigonjinn has joined #yosys12:50
*** forksand has joined #yosys13:05
*** shorne has joined #yosys13:14
*** X-Scale has joined #yosys13:34
*** forksand has quit IRC13:35
*** attie has quit IRC13:41
*** forksand has joined #yosys13:52
*** attie has joined #yosys13:57
*** Noname_Matt has joined #yosys14:02
*** forksand has quit IRC14:25
*** kraiskil has joined #yosys14:44
*** emeb has joined #yosys14:48
*** emeb has quit IRC14:55
*** emeb has joined #yosys15:22
*** vidbina has joined #yosys15:48
*** gorbak25 has joined #yosys15:48
*** kraiskil has quit IRC15:49
*** gorbak25 has quit IRC15:58
*** gorbak25 has joined #yosys15:58
*** attie has quit IRC16:28
*** attie has joined #yosys16:30
*** fsasm has quit IRC16:37
*** kraiskil has joined #yosys16:46
*** attie has quit IRC16:49
*** vidbina has quit IRC16:55
*** kraiskil has quit IRC17:03
*** gatin00b has joined #yosys17:14
*** kraiskil has joined #yosys17:19
*** Noname_Matt has quit IRC17:41
*** kraiskil has quit IRC17:42
*** quigonjinn has quit IRC17:57
*** craigo has quit IRC18:07
*** corecode has quit IRC18:52
*** corecode has joined #yosys19:03
*** pie_ has joined #yosys20:31
*** cr1901_modern has quit IRC20:51
*** janrinze has joined #yosys21:30
*** gatin00b has quit IRC22:05
*** futarisIRCcloud has quit IRC23:10

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