Sunday, 2024-04-14

*** tpb <[email protected]> has joined #yosys00:00
*** shoragan <shoragan!~shoragan@user/shoragan> has quit IRC (Read error: Connection reset by peer)00:12
*** shoragan <shoragan!~shoragan@user/shoragan> has joined #yosys00:15
*** lexano <[email protected]> has quit IRC (Ping timeout: 268 seconds)00:21
*** shoragan <shoragan!~shoragan@user/shoragan> has quit IRC (Quit: quit)00:24
*** shoragan <shoragan!~shoragan@user/shoragan> has joined #yosys00:25
*** kristianpaul <kristianpaul!~paul@user/kristianpaul> has quit IRC (Ping timeout: 264 seconds)01:54
*** citypw <citypw!~citypw@gateway/tor-sasl/citypw> has joined #yosys04:17
*** citypw <citypw!~citypw@gateway/tor-sasl/citypw> has quit IRC (Ping timeout: 260 seconds)04:56
lethalbitya know, like, nya~07:27
*** emeb_mac <[email protected]> has quit IRC (Quit: Leaving.)07:29
*** citypw <citypw!~citypw@gateway/tor-sasl/citypw> has joined #yosys10:10
*** citypw <citypw!~citypw@gateway/tor-sasl/citypw> has quit IRC (Remote host closed the connection)10:11
*** citypw <citypw!~citypw@gateway/tor-sasl/citypw> has joined #yosys10:12
*** citypw <citypw!~citypw@gateway/tor-sasl/citypw> has quit IRC (Ping timeout: 260 seconds)14:08
*** lexano <[email protected]> has joined #yosys14:18
*** emeb_mac <[email protected]> has joined #yosys14:26
*** xutaxkamay <[email protected]> has joined #yosys15:55
xutaxkamayhi, quick question, is there a way for yosys to ignore warnings about logic loops? i'm using a feedback loop for an asynchronous design, for now i'm just ignoring the check pass, but i'm not sure that's very wise15:56
xutaxkamaythe reason of why i want to ignore the check and share pass is that it takes more probably than a week for it to finish16:00
xutaxkamaythe synthesis works fine when there's a clock detected though16:01
loftyxutaxkamay: logic loops are undefined behaviour inside the Yosys IR - RTLIL16:04
loftycan you rewrite your feedback loop as a latch?16:04
jix_you can also manually break the loops by inserting a black box "buffer" module, then run synthesis, and finally map those loop breaking black boxes to a direct connection16:07
xutaxkamaylofty: i'm a bit a newbie in the hdl world, but the feedback loop is essentially here to maintain on purpose an infinite loop on a FSM where i can handle some handshake system with i/o ports to manage memory18:32
loftythat sounds like you could use a latch.18:32
xutaxkamaylofty: do you mind explaining what you have in mind? i know what a latch is but i'm not really seeing what you want me to do with it exactly18:39
loftywell, you're using it to maintain an FSM state, right? that's memory18:40
loftya latch is a unit of memory, so trigger the latch as necessary18:40
xutaxkamay(i'm using vhdl) i use a signal to maintain the FSM state and use it inside the process sensitive list, which exactly causes the feedback loop yeah, so you mean just to add an enable input ?18:44
loftyunfortunately I'm not familiar with VHDL, but yosys provides a cell called `$dlatch` which is a literal latch18:45
xutaxkamaydo you mind showing me a simple example in verilog that would translate to that dlatch? sorry for wasting your time18:46
loftyyou can just use it like a module18:46
loftybut, uh18:47
loftyxutaxkamay: `yosys -p 'help $dlatch+'`18:49
loftythat is literally what the $dlatch cell is18:50
xutaxkamayyeah it has en enable input i see18:50
xutaxkamaybut18:50
xutaxkamayi don't know how to say it but then isn't that basically requiring a clock?18:50
loftyno, because it's a latch and not a flop18:51
xutaxkamayokay but then enable needs to be oscillating between 0 and 1 in that case to keep triggering the latch18:53
xutaxkamayor im wrong ?18:53
loftyyou will have some condition to hold state, right? in this case, the handshake with memory18:53
lofty(I will point out that writing asynchronous logic with the open tooling is a very bad idea, but I can't stop you)18:55
xutaxkamaylofty: so yeah you want me to use the input ports inside sensitive list and use them like i would do for a latch, but the problem is that i also need the inputs to know the state of another component (especially when a boolean input is false), i admit it it was probably a bad idea to start with, but i wanted to try it anyway18:59
xutaxkamayi've been looking to other languages like LARD but they don't provide sources anymore or even binaries19:01
xutaxkamaybut yeah for sure, making it with a clock will prob make my life much easier19:07
*** cr1901 <cr1901!~cr1901@2601:8d:8600:226:a104:1270:4982:7de3> has quit IRC (Read error: Connection reset by peer)19:15
*** cr1901 <cr1901!~cr1901@2601:8d:8600:226:2467:92b2:1c11:1905> has joined #yosys19:19
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Ping timeout: 260 seconds)21:30
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #yosys21:30
*** nonchip <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)22:28
*** nonchip <[email protected]> has joined #yosys22:29
*** flag <[email protected]> has quit IRC (Ping timeout: 252 seconds)23:54

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