Friday, 2023-11-10

*** tpb <[email protected]> has joined #yosys00:00
*** Guest95 <Guest95!~Guest22@p200300c37f1e7d008ba610dd3593039e.dip0.t-ipconnect.de> has joined #yosys01:08
*** CanLehmann[m] <CanLehmann[m]!josh-lehma@2a01:4f8:c012:5b7:0:1:0:1d9> has joined #yosys01:11
CanLehmann[m]Is there a yosys pass for lowering tristate logic to boolean logic? (i.e. getting rid of all x and z values & replacing them with additional signals + cells)01:11
*** Guest95 <Guest95!~Guest22@p200300c37f1e7d008ba610dd3593039e.dip0.t-ipconnect.de> has quit IRC (Quit: Client closed)01:17
*** lexano <[email protected]> has quit IRC (Ping timeout: 240 seconds)01:37
CanLehmann[m]* of all **x and, * and z** values01:54
CanLehmann[m]<CanLehmann[m]> "Is there a yosys pass for..." <- It was pointed out to me on discord that the `tribuf` pass does this for `z` values. My usecase does however also require handling of `x` values. Is there anything that handles both?01:59
CanLehmann[m]* My usecase (building some RTL analysis passes) does however02:02
CanLehmann[m]* My usecase (building some RTL analysis passes) does however, * `x` values. Just defaulting them to 0/1 does not work. Is there02:04
*** FabM <FabM!~FabM@2a03:d604:103:600:2e60:8c7c:e8fb:7990> has joined #yosys05:42
*** notgull <notgull!~notgull@ec2-50-112-148-23.us-west-2.compute.amazonaws.com> has quit IRC (Ping timeout: 240 seconds)06:06
*** notgull <notgull!~notgull@ec2-50-112-148-23.us-west-2.compute.amazonaws.com> has joined #yosys06:10
jixCanLehmann[m]: xprop can do this10:22
*** lexano <[email protected]> has joined #yosys13:03
*** lexano <[email protected]> has quit IRC (Ping timeout: 246 seconds)15:29
*** jkm <[email protected]> has joined #yosys15:30
*** mobius <[email protected]> has quit IRC (Server closed connection)15:57
*** mobius <[email protected]> has joined #yosys15:57
*** lexano <[email protected]> has joined #yosys16:00
*** Raito_Bezarius <[email protected]> has quit IRC (Server closed connection)17:03
*** Raito_Bezarius <Raito_Bezarius!~Raito@wireguard/tunneler/raito-bezarius> has joined #yosys17:04
*** jkm <[email protected]> has quit IRC (Ping timeout: 250 seconds)17:06
*** tnt <tnt!~tnt@osmocom/tnt> has quit IRC (Server closed connection)17:20
*** tnt <tnt!~tnt@osmocom/tnt> has joined #yosys17:21
CanLehmann[m]<jix> "Can Lehmann: xprop can do this" <- Thanks! `xprop -assume-def-inputs -split-outputs` seems to work quite well for registers. It does not seem to handle memories though. Is there any way to make it also split memories?18:01
CanLehmann[m]My current pass pipeline: proc; flatten; tribuf -formal; opt_expr; xprop -assume-def-inputs -split-outputs; opt_expr; opt_clean18:01
jixsupport for memories and submodules is still missing, depending on your use case you might get away with `memmory_map` before xprop, that will map the memory to dffs18:03
jix(and the -formal parameter to memory_map can also help if you're using it for verification/analysis and not actual synthesis)18:04
jixit doesn't get you the verilog simulation rules for x propagation though, which is what xprop uses for the builtin cells it does support18:05
CanLehmann[m]memory_map -formal seems to work in simple cases, however it does not scale well.18:09
* CanLehmann[m] sent a code block: https://catircservices.org/_matrix/media/v3/download/catircservices.org/CPKJgpNsSvFlSIwrMbDZEhTF18:09
*** schaeg <schaeg!~anabrid@2a02:3036:265:6b29:5660:115f:9e18:591a> has joined #yosys18:10
jiximplementing memories using the verilog sim behavior (which ignores writes with x bits in addresses) would be possible, I just didn't get around to do that so far18:11
CanLehmann[m]CanLehmann[m]: > <@josh-leh:matrix.org> ```... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/zfMtqKwXGBhXPpKOoCNvtvCY>)18:11
CanLehmann[m] * My application is converting RTLIL to a custom IR for further analysis. I have a verilog backend for this custom IR and e.g. for this simple example, the size of the generated code is already 4780 LOC of verilog.18:12
jiximplementing the behavior you get when mapping in a more efficient way isn't possible though as there x bits in addreses will write x bits to all matching addresse simultaneously which you cannot express using memory cells18:12
CanLehmann[m]Ah makes sense, I did not even think about x bits in addresses yet...18:13
CanLehmann[m]It might be simpler to "just" extend my custom IR to support unknown values in that case.18:13
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 246 seconds)18:33
*** lexano <[email protected]> has quit IRC (Ping timeout: 252 seconds)18:46
*** lexano <[email protected]> has joined #yosys19:00
*** schaeg <schaeg!~anabrid@2a02:3036:265:6b29:5660:115f:9e18:591a> has quit IRC (Ping timeout: 264 seconds)19:05
*** gatecat <[email protected]> has quit IRC (Server closed connection)19:06
*** gatecat <[email protected]> has joined #yosys19:07
*** jkm <[email protected]> has joined #yosys20:34
*** nelgau_ <[email protected]> has joined #yosys21:13
*** nelgau <[email protected]> has quit IRC (Read error: Connection reset by peer)21:14
*** jkm <[email protected]> has quit IRC (Ping timeout: 250 seconds)21:28
*** jkm <[email protected]> has joined #yosys22:25
*** nelgau_ <[email protected]> has quit IRC (Read error: Connection reset by peer)22:37
*** nelgau <[email protected]> has joined #yosys22:38
*** nelgau <[email protected]> has quit IRC (Read error: Connection reset by peer)22:59
*** nelgau <[email protected]> has joined #yosys23:00
*** notgull <notgull!~notgull@ec2-50-112-148-23.us-west-2.compute.amazonaws.com> has quit IRC (Ping timeout: 246 seconds)23:03
*** jkm <[email protected]> has quit IRC (Ping timeout: 250 seconds)23:06
*** notgull <notgull!~notgull@ec2-50-112-148-23.us-west-2.compute.amazonaws.com> has joined #yosys23:10
*** nonchip <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)23:20
*** nonchip <[email protected]> has joined #yosys23:20
*** jkm <[email protected]> has joined #yosys23:25
*** jkm <[email protected]> has quit IRC (Quit: Client closed)23:40

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