*** tpb <[email protected]> has joined #yosys | 00:00 | |
*** Guest95 <Guest95!~Guest22@p200300c37f1e7d008ba610dd3593039e.dip0.t-ipconnect.de> has joined #yosys | 01:08 | |
*** CanLehmann[m] <CanLehmann[m]!josh-lehma@2a01:4f8:c012:5b7:0:1:0:1d9> has joined #yosys | 01: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** values | 01: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 however | 02:02 |
CanLehmann[m] | * My usecase (building some RTL analysis passes) does however, * `x` values. Just defaulting them to 0/1 does not work. Is there | 02:04 |
*** FabM <FabM!~FabM@2a03:d604:103:600:2e60:8c7c:e8fb:7990> has joined #yosys | 05: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 #yosys | 06:10 | |
jix | CanLehmann[m]: xprop can do this | 10:22 |
*** lexano <[email protected]> has joined #yosys | 13:03 | |
*** lexano <[email protected]> has quit IRC (Ping timeout: 246 seconds) | 15:29 | |
*** jkm <[email protected]> has joined #yosys | 15:30 | |
*** mobius <[email protected]> has quit IRC (Server closed connection) | 15:57 | |
*** mobius <[email protected]> has joined #yosys | 15:57 | |
*** lexano <[email protected]> has joined #yosys | 16:00 | |
*** Raito_Bezarius <[email protected]> has quit IRC (Server closed connection) | 17:03 | |
*** Raito_Bezarius <Raito_Bezarius!~Raito@wireguard/tunneler/raito-bezarius> has joined #yosys | 17: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 #yosys | 17: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_clean | 18:01 |
jix | support 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 dffs | 18: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 |
jix | it doesn't get you the verilog simulation rules for x propagation though, which is what xprop uses for the builtin cells it does support | 18: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/CPKJgpNsSvFlSIwrMbDZEhTF | 18:09 | |
*** schaeg <schaeg!~anabrid@2a02:3036:265:6b29:5660:115f:9e18:591a> has joined #yosys | 18:10 | |
jix | implementing 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 far | 18: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 |
jix | implementing 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 cells | 18: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 #yosys | 19: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 #yosys | 19:07 | |
*** jkm <[email protected]> has joined #yosys | 20:34 | |
*** nelgau_ <[email protected]> has joined #yosys | 21: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 #yosys | 22:25 | |
*** nelgau_ <[email protected]> has quit IRC (Read error: Connection reset by peer) | 22:37 | |
*** nelgau <[email protected]> has joined #yosys | 22:38 | |
*** nelgau <[email protected]> has quit IRC (Read error: Connection reset by peer) | 22:59 | |
*** nelgau <[email protected]> has joined #yosys | 23: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 #yosys | 23:10 | |
*** nonchip <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) | 23:20 | |
*** nonchip <[email protected]> has joined #yosys | 23:20 | |
*** jkm <[email protected]> has joined #yosys | 23: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/!