*** tpb has joined #yosys | 00:00 | |
*** BinaryLust has joined #yosys | 00:11 | |
*** mwk has quit IRC | 01:15 | |
*** mwk has joined #yosys | 01:16 | |
*** m_hackerfoo has quit IRC | 02:21 | |
*** hackerfoo has quit IRC | 02:21 | |
*** Degi has quit IRC | 03:22 | |
*** Degi has joined #yosys | 03:23 | |
*** oldtopman has joined #yosys | 05:00 | |
*** BinaryLust has quit IRC | 06:28 | |
*** dys has quit IRC | 06:28 | |
*** Asu has joined #yosys | 07:53 | |
*** kraiskil_ has joined #yosys | 08:43 | |
sensille | is it important to do tri-stating logic only at top level? technically it shouldn't matter if the hierarchy gets flattened upfront anyway | 09:12 |
---|---|---|
*** FFY00 has joined #yosys | 09:15 | |
*** kraiskil_ has quit IRC | 09:30 | |
*** kraiskil_ has joined #yosys | 09:45 | |
*** vidbina has joined #yosys | 10:51 | |
*** kraiskil_ has quit IRC | 11:18 | |
*** vidbina has quit IRC | 11:21 | |
*** kraiskil_ has joined #yosys | 11:21 | |
*** Asuu has joined #yosys | 11:28 | |
*** Asu has quit IRC | 11:28 | |
*** gmc has quit IRC | 11:46 | |
*** dys has joined #yosys | 11:47 | |
*** klotz has joined #yosys | 11:59 | |
*** kraiskil_ has quit IRC | 12:23 | |
*** ayazar has joined #yosys | 12:26 | |
*** jakobwenzel has joined #yosys | 13:08 | |
*** X-Scale` has joined #yosys | 13:24 | |
*** X-Scale has quit IRC | 13:27 | |
*** X-Scale` is now known as X-Scale | 13:27 | |
*** Asu has joined #yosys | 13:47 | |
*** Asuu has quit IRC | 13:48 | |
*** mirage335 has quit IRC | 13:49 | |
*** mirage335 has joined #yosys | 13:58 | |
tnt | Does yosys have any attribute you can set to prevent it from messing / optimizing the carry chains ? | 14:08 |
tnt | I'm guessing it tries to optimize stuff but doing so it prevents packing and so that makes things way worse and not better. | 14:09 |
*** emeb has joined #yosys | 14:09 | |
ZirconiumX | Maybe a (* keep *)? | 14:25 |
ZirconiumX | I mean, carry chains are whiteboxes | 14:25 |
ZirconiumX | So only ABC9 can really "optimise" them | 14:25 |
tnt | With abc9 the bottom lut ends up with the inputs not on the right ports for packing. Without it (so "old" abc), then the top luts end up with the input on the wrong ports for packing. | 14:26 |
tnt | (because really it doesn't end up actually using any less luts or anything, just not using the right lut inputs for packing) | 14:27 |
ZirconiumX | That...seems like a nextpnr thing? | 14:28 |
tnt | nextpnr expects some specific lut input to be common to the SB_LUT4 and the SB_CARRY for them to be packable in the same LC. | 14:29 |
*** gmc has joined #yosys | 14:51 | |
*** jakobwenzel1 has joined #yosys | 14:57 | |
tnt | Mmm, my understanding was that it was using \$__ICE40_CARRY_WRAPPER to avoid that kind of issue. | 14:59 |
*** klotz has quit IRC | 15:02 | |
*** jakobwenzel1 has quit IRC | 15:24 | |
*** gmc has quit IRC | 15:29 | |
*** BinaryLust has joined #yosys | 15:38 | |
*** citypw has joined #yosys | 15:47 | |
*** gmc has joined #yosys | 15:52 | |
*** gmc has quit IRC | 15:59 | |
*** gmc has joined #yosys | 16:13 | |
*** vidbina has joined #yosys | 16:17 | |
*** bzztploink has joined #yosys | 16:23 | |
tnt | So the issue is the opt_lut pass | 16:50 |
tnt | Mm ... yeah, I see the " -dlogic SB_CARRY:I0=2:I1=1:CI=0" which I assume is to prevent it from messing with I1/I2 that must stay in place for the SB_CARRY to stay there. | 17:02 |
tnt | But there is nothing that prevents it from moving the signal coming from a SB_CARRY to I3 to somewhere else. | 17:02 |
ZirconiumX | File a bug if you haven't already | 17:11 |
whitequark | tnt: oh ugh I missed that | 17:12 |
whitequark | opt_lut keeps being a PITA | 17:13 |
tnt | I'm collecting info and trying to make the absolute minimum case. | 17:13 |
tnt | https://github.com/YosysHQ/yosys/issues/2061 | 17:30 |
tpb | Title: ice40: opt_lut can break carry packing by moving SB_CARRY out to another input than I3 · Issue #2061 · YosysHQ/yosys · GitHub (at github.com) | 17:30 |
*** gmc has quit IRC | 17:48 | |
*** citypw has quit IRC | 17:51 | |
*** klotz has joined #yosys | 18:02 | |
*** BinaryLust has quit IRC | 18:21 | |
*** klotz has quit IRC | 18:27 | |
*** dys has quit IRC | 18:31 | |
*** rlee287 has joined #yosys | 18:43 | |
*** DaKnig has quit IRC | 18:48 | |
*** DaKnig has joined #yosys | 18:50 | |
*** vidbina has quit IRC | 19:23 | |
*** rlee287 has quit IRC | 20:07 | |
*** rlee287 has joined #yosys | 20:08 | |
*** rlee287 has quit IRC | 20:20 | |
*** adjtm_ has joined #yosys | 20:27 | |
*** adjtm has quit IRC | 20:29 | |
*** ayazar has quit IRC | 20:34 | |
*** vidbina has joined #yosys | 20:52 | |
*** DaKnig has quit IRC | 21:02 | |
*** DaKnig has joined #yosys | 21:02 | |
*** BinaryLust has joined #yosys | 21:22 | |
*** vidbina has quit IRC | 22:03 | |
*** dys has joined #yosys | 22:03 | |
*** Asu has quit IRC | 22:12 | |
*** az0re has quit IRC | 22:13 | |
Forty-Bot | is it possible to access module parameters from another module? | 22:17 |
Forty-Bot | e.g. something like https://gist.github.com/Forty-Bot/d16632f50085ce708ad915a2d263a293 | 22:17 |
tpb | Title: gist:d16632f50085ce708ad915a2d263a293 · GitHub (at gist.github.com) | 22:17 |
ZirconiumX | No | 22:34 |
ZirconiumX | But in your case, you don't need to | 22:35 |
Forty-Bot | well, yeah | 22:35 |
Forty-Bot | but the actual case I am concerned about | 22:35 |
Forty-Bot | FOO and BAR have non-trivial formulae | 22:35 |
ZirconiumX | Can they be computed as constant expressions? | 22:35 |
Forty-Bot | probably? | 22:36 |
ZirconiumX | "can you instantiate a wire that is PARAM bits wide?" | 22:36 |
Forty-Bot | that is what I would like to do | 22:36 |
ZirconiumX | You can use `localparam` to create a compile-time constant | 22:39 |
*** cr1901_modern has quit IRC | 23:39 | |
*** cr1901_modern has joined #yosys | 23:41 | |
*** rlee287 has joined #yosys | 23:51 | |
*** emeb has left #yosys | 23:51 | |
*** bzztploink has quit IRC | 23:57 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!