Tuesday, 2020-07-14

*** tpb has joined #yosys00:00
*** craigo has quit IRC01:06
*** X-Scale` has joined #yosys01:14
*** X-Scale has quit IRC01:14
*** X-Scale` is now known as X-Scale01:14
*** Degi has quit IRC01:26
*** Degi has joined #yosys01:26
*** craigo has joined #yosys01:33
*** _whitelogger has joined #yosys01:35
*** citypw has joined #yosys01:47
*** citypw has quit IRC02:07
*** citypw_ has joined #yosys02:07
*** u0m3 has joined #yosys02:34
*** craigo has quit IRC03:33
*** craigo has joined #yosys03:42
*** FFY00 has quit IRC04:25
*** FFY00 has joined #yosys04:26
*** emeb_mac has quit IRC06:29
*** xtro has quit IRC07:00
*** jakobwenzel1 has joined #yosys07:55
*** Asu has joined #yosys08:30
*** awygle has quit IRC10:01
*** lukego has quit IRC10:01
*** lukego has joined #yosys10:03
*** ovf has quit IRC10:03
*** ovf has joined #yosys10:05
*** nurelin has quit IRC10:23
*** nurelin has joined #yosys10:25
*** craigo has quit IRC10:29
thardinI'm trying to optimize my sine module and yosys is turning my bram into LCs when I invert outputs for 180°-360°10:33
daveshahIs the inversion added before the output register by any chance?10:34
daveshahYosys won't retime that away10:34
thardinremoving the inversion, so that the output is abs(sin(x)) keeps the bram10:34
thardinhere's an excerpt:10:34
thardinwire [SINE_BITS-1:0] lut = sine_lut[xlow[SINE_SZ-2:SINE_SZ-LUT_SZ-1]];10:34
thardinassign y = lut ^ (x[SINE_SZ-1] ? 65535 : 0);10:34
thardinwhere y is the output wire10:34
thardinah is there a case where a fake temporary reg is needed?10:34
thardins/there/this/10:35
daveshahYes if you want this to map to BRAM then lut needs to be a reg10:37
thardinhmm10:37
daveshahclocked by the read clock10:37
thardinI can't use bram as a combinatoric LUT?10:37
daveshahNo10:37
thardinsad10:37
daveshahIf it worked before it was because Yosys was folding in a register from somewhere else10:38
daveshahwhich it can't do with the inversion10:38
thardincan't imagine why I couldn't put combinatorics after the output of the bram, but maybe with the surrounding context it becomes impossible10:38
daveshahYou can do10:39
daveshahso long as that output is clocked10:39
thardinit is, but in another module. maybe yosys isn't able to see that10:40
daveshahIt will be able to see that if there is no logic in between10:41
thardinaha10:41
thardinthat explains it :)10:41
thardinis this a limitation in yosys or verilog? or both?10:42
daveshahIn general synthesis tools don't like moving logic around registers10:42
daveshahthis is usually opt-in as a retiming option, but even then that is to improve perfomance not help extract memories in more cases10:43
thardinright, I was about to say10:43
thardinthis kind of construct would degrade performance10:43
thardinand I have plenty of "cycles" available in my little state machine to pipeline things10:44
thardinnot that my current ADCs and DACs are anywhere near fast enough to exploit this. yet.10:46
*** m4ssi has joined #yosys11:04
*** m4ssi has quit IRC11:12
thardinhooray, it works11:22
Lofty<daveshah> In general synthesis tools don't like moving logic around registers <-- unless you're Quartus, anyway11:26
daveshahRetiming is enabled-by-default?11:27
LoftyYep11:27
LoftyThough I'm pretty sure it's performed in place and route11:28
thardinquadrupled the accuracy of it too11:39
*** maartenBE has quit IRC12:50
*** maartenBE has joined #yosys12:52
*** citypw_ has quit IRC13:34
*** citypw has joined #yosys13:36
*** citypw has quit IRC14:09
*** Xark has quit IRC14:16
*** Xark has joined #yosys14:17
*** emeb has joined #yosys14:32
*** citypw has joined #yosys14:48
*** citypw has quit IRC15:24
*** m4ssi has joined #yosys16:20
*** xtro has joined #yosys16:38
*** m4ssi has quit IRC16:42
*** jakobwenzel1 has quit IRC16:51
*** kraiskil has joined #yosys17:46
*** evil_chuck has joined #yosys18:13
*** craigo has joined #yosys19:14
*** _whitelogger has quit IRC19:18
*** _whitelogger has joined #yosys19:20
*** scientes has quit IRC19:42
*** jakobwenzel1 has joined #yosys19:44
*** scientes has joined #yosys19:45
*** Cerpin has quit IRC19:47
*** Cerpin has joined #yosys19:52
*** kraiskil has quit IRC19:58
*** emeb_mac has joined #yosys20:02
*** kraiskil has joined #yosys20:08
*** jakobwenzel1 has quit IRC20:22
*** evil_chuck has quit IRC20:22
*** Asu has quit IRC20:46
*** Asu has joined #yosys20:47
*** jakobwenzel1 has joined #yosys20:50
*** xtro has quit IRC21:18
*** xtro has joined #yosys21:20
*** kraiskil has quit IRC21:51
*** kraiskil has joined #yosys22:01
*** jakobwenzel1 has quit IRC22:01
*** u0m3 has quit IRC22:21
*** u0m3 has joined #yosys22:21
*** kraiskil has quit IRC22:38
*** Asu has quit IRC22:43
*** emeb has quit IRC23:36

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