Thursday, 2025-06-26

*** tpb <[email protected]> has joined #yosys00:01
*** jn <jn!~quassel@user/jn/x-3390946> has quit IRC (Ping timeout: 268 seconds)02:32
*** jn <jn!~quassel@user/jn/x-3390946> has joined #yosys02:33
*** FabM <FabM!~FabM@2a03:d604:100:a500:c9dc:602c:ab38:3194> has joined #yosys06:32
*** Hammdist94 <[email protected]> has joined #yosys08:05
Hammdist94after `abc -lut`, how can I get the lut depth of a design?08:06
Hammdist94encountered bigger problem; `abc -lut 2` produces designs with lut3s09:13
lofty[m]I think the ABC output actually tells you the LUT depth of the design; I think it calls it `level`09:14
lofty[m]Can you pastebin your Yosys log?09:16
lofty[m]Hammdist94: ^09:16
Hammdist94ah yes, lev=6 in my case, when I switch to abc9 (abc regular does not show this). I wasn't using abc9 because it seemed to perform worse but now it seems abc is cheating by using larger luts than allowed so I will try to stick with abc9 for now09:20
Hammdist94is there anywhere that I could find an example of a techmap file for luts?09:42
Hammdist94I think I got it to make LUT2 by copying and editing a file from ice40 default techlibs09:58
Hammdist94however it still doesn't show the LUT constants in the tabular output (nor blif) but only in verilog output09:58
*** AdamHorden <AdamHorden!~adam.hord@user/adamhorden> has joined #yosys10:07
*** AdamHorden <AdamHorden!~adam.hord@user/adamhorden> has quit IRC (Remote host closed the connection)10:08
*** AdamHorden <AdamHorden!~adam.hord@user/adamhorden> has joined #yosys10:09
lofty[m]define "perform worse"12:51
lofty[m]Most likely ABC9 has actually found a lower-delay solution for your design, and this solution has less timing slack to recover area.12:52
lofty[m](and a note on IRC etiquette: when replying to somebody make sure to mention their name, otherwise it takes three hours for them to respond)12:57
Hammdist94that's certainly possible since plain abc does not show the lev value I cannot easily tell13:05
lofty[m]what's the output format you want to use? you keep talking about "tabular format"(?)13:12
lofty[m](do you mean the output from stat?)13:12
Hammdist94no, the output from yosys output_table command13:12
Hammdist94it's easier to parse than verilog and doesn't contain aliased wire names but has no LUT constant information13:13
Hammdist94oh, I found it can be added by editing the techmap definition of the lut: LUT2 #(.LUT_INIT(LUT)) _TECHMAP_REPLACE_ (.O(Y), .I0(A[0]), .I1(A[1]), .C0(LUT[0]), .C1(LUT[1]), .C2(LUT[2]), .C3(LUT[3])); ... notice how the LUT table constants are fed as inputs which appear in output_table13:33
lofty[m]There...is no output_table command in yosys13:58
lofty[m]I guess you mean write_table? which is not really designed for that.14:00
lofty[m]If you want something parseable, why not use the JSON output?14:00
Hammdist94ah yes sorry it's called `write_table` analogously to `write_verilog`14:01
Hammdist94maybe I will try the JSON sometime14:02
lofty[m]That command has been basically untouched since 201714:03
lofty[m]it's true that parsing verilog is hard, which is why the JSON format is intended for "I want to process the output of Yosys" tasks.14:04
lofty[m]what's your synthesis target, by the way? LUT2 chips are not very common.14:04
*** tmiw <[email protected]> has quit IRC (Remote host closed the connection)14:19
*** tmiw <[email protected]> has joined #yosys14:30
*** Hammdist94 <[email protected]> has quit IRC (Quit: Client closed)14:33
Hammdistlofty[m]: I was looking at dual LUT2 chips .. basically 74x153 .. until I realized the select lines are common to both of the "LUT2" in the package, making them not very useful for this purpose. now I'm thinking LUT3 with 74x15117:17
*** AdamHorden <AdamHorden!~adam.hord@user/adamhorden> has quit IRC (Ping timeout: 248 seconds)17:24
*** tlwoerner <[email protected]> has quit IRC (Remote host closed the connection)17:51
*** tlwoerner <[email protected]> has joined #yosys17:52
*** Hammdist3 <[email protected]> has joined #yosys18:17
*** Hammdist3 <[email protected]> has quit IRC (Quit: Client closed)19:03
*** latchflip <latchflip!~latchflip@user/latchflip> has quit IRC (Ping timeout: 260 seconds)19:08
*** latchflip <latchflip!~latchflip@user/latchflip> has joined #yosys19:10
*** Pixi <Pixi!~Pixi@user/pixi> has joined #yosys19:22
*** Pixi <Pixi!~Pixi@user/pixi> has left #yosys (Leaving)19:23
*** Lord_Nightmare <Lord_Nightmare!~Lord_Nigh@user/lord-nightmare/x-3657113> has quit IRC (Quit: ZNC - http://znc.in)19:47
*** Lord_Nightmare <Lord_Nightmare!~Lord_Nigh@user/lord-nightmare/x-3657113> has joined #yosys19:50
lofty[m]Hammdist: the thing is, using muxes as LUTs is kind of logic inefficient; you want to use them as muxes.19:53
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 245 seconds)20:30
*** nonchip <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)22:11
*** nonchip <[email protected]> has joined #yosys22:12
*** srk <srk!~sorki@user/srk> has quit IRC (Remote host closed the connection)23:42
*** srk <srk!~sorki@user/srk> has joined #yosys23:42

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