*** tpb has joined #yosys | 00:00 | |
*** promach has joined #yosys | 00:14 | |
*** gsi_ has joined #yosys | 00:39 | |
*** gsi__ has quit IRC | 00:43 | |
*** emeb_mac has joined #yosys | 00:44 | |
*** vonnieda has joined #yosys | 01:17 | |
promach | ZipCPU: hmm... poor man sequence method in your article does not help much in this case | 01:24 |
---|---|---|
promach | it seems like the poor man method might not be able to achieve what I try to achieve | 01:26 |
promach | wait, it is doable | 01:31 |
promach | For https://i.imgur.com/QKtEFiT.png , why is line 27 https://gist.github.com/promach/ae6d49ebca9b9f209f918622c3b5abe7#file-dff-v-L27 executed ? | 02:10 |
tpb | Title: D flip-flop with asynchronous reset · GitHub (at gist.github.com) | 02:10 |
*** PyroPeter has quit IRC | 02:40 | |
*** PyroPeter has joined #yosys | 02:53 | |
*** Strobokopp has quit IRC | 03:17 | |
*** _whitelogger has quit IRC | 03:41 | |
*** _whitelogger has joined #yosys | 03:44 | |
*** dys has quit IRC | 03:49 | |
*** rohitksingh_work has joined #yosys | 05:17 | |
*** promach has quit IRC | 05:32 | |
*** emeb_mac has quit IRC | 06:35 | |
*** rohitksingh has joined #yosys | 07:12 | |
*** kraiskil has joined #yosys | 07:19 | |
*** proteusdude has quit IRC | 07:54 | |
*** proteusdude has joined #yosys | 08:06 | |
*** kraiskil has quit IRC | 09:03 | |
*** m4ssi has joined #yosys | 09:09 | |
*** futarisIRCcloud has quit IRC | 09:38 | |
*** cr1901_modern has quit IRC | 09:57 | |
*** futarisIRCcloud has joined #yosys | 10:01 | |
ZipCPU | promach: That's the same thing I've been explaining to you for days. Because the asynchronous reset is assumed to be dropped just before the clock edge. The two are race conditions against each other. | 10:24 |
*** rohitksingh_work has quit IRC | 11:47 | |
*** rohitksingh has quit IRC | 11:50 | |
*** somlo has quit IRC | 11:53 | |
*** somlo has joined #yosys | 11:56 | |
*** alexhw has joined #yosys | 12:02 | |
*** somlo has quit IRC | 12:21 | |
*** rrika has quit IRC | 12:33 | |
*** rrika has joined #yosys | 12:35 | |
*** rohitksingh has joined #yosys | 12:56 | |
*** cr1901_modern has joined #yosys | 13:06 | |
*** rohitksingh has quit IRC | 13:16 | |
*** somlo has joined #yosys | 13:20 | |
*** vonnieda has quit IRC | 13:37 | |
*** futarisIRCcloud has quit IRC | 13:38 | |
*** promach has joined #yosys | 13:42 | |
promach | ZipCPU: so, enable signal is actually high during posedge clk ? | 13:42 |
ZipCPU | "<ZipCPU> promach: That's the same thing I've been explaining to you for days. Because the asynchronous reset is assumed to be dropped just before the clock edge. The two are race conditions against each other." | 13:43 |
promach | I saw that | 13:43 |
promach | in the online log | 13:43 |
promach | ZipCPU: so, enable signal is actually high during posedge clk ? | 13:43 |
promach | otherwise line 27 will not be executed | 13:44 |
*** kraiskil has joined #yosys | 13:47 | |
promach | ZipCPU: manipulating the enable signal input will also not solve such issue | 13:59 |
promach | I am afraid | 13:59 |
promach | this is a delta race condition | 13:59 |
promach | do I need to extend the enable signal ? | 13:59 |
promach | as well as the reset signal ? | 14:00 |
ZipCPU | if (reset) assume(!enable) | 14:00 |
promach | hmm... | 14:01 |
promach | if (reset_wsync) assume(!enable) | 14:01 |
promach | because of always_ff @(posedge write_clk, posedge reset_wsync) | 14:02 |
promach | but this is not reliable since this is nly for formal verification | 14:02 |
promach | and we only do it after the reset synchronizer | 14:02 |
promach | ZipCPU: this is a bit tricky to solve | 14:03 |
promach | As for "if (reset) assume(!enable)" , this is not helpful too since we could have vastly different clocks speed | 14:05 |
promach | this is why we have afifo instead of cheap, conventional synchronizer pair | 14:06 |
promach | ZipCPU: what do you think ? | 14:06 |
*** vonnieda has joined #yosys | 14:21 | |
*** gmc has quit IRC | 14:35 | |
*** kraiskil has quit IRC | 14:50 | |
*** proteusguy has joined #yosys | 15:19 | |
*** proteusguy has quit IRC | 15:43 | |
*** AlexDaniel has quit IRC | 15:49 | |
*** AlexDaniel has joined #yosys | 15:49 | |
*** kraiskil has joined #yosys | 16:09 | |
*** pie__ has quit IRC | 16:12 | |
*** AlexDaniel has quit IRC | 16:42 | |
*** kraiskil has quit IRC | 16:50 | |
*** fsasm has joined #yosys | 16:56 | |
*** kraiskil has joined #yosys | 17:03 | |
*** emeb has joined #yosys | 17:06 | |
*** kraiskil has quit IRC | 17:18 | |
*** m4ssi has quit IRC | 17:29 | |
*** promach has quit IRC | 17:30 | |
*** rohitksingh has joined #yosys | 17:38 | |
bwidawsk | so would anyone be opposed to having yosys catch SIGINT and ignoring it when in interactive mode? | 18:05 |
bwidawsk | I'd be happy to write the patch | 18:05 |
ZirconiumX | Maybe post an RFC issue in GitHub | 18:06 |
ZirconiumX | I have something I'd like to add to Yosys, too, since it seems to be a common enough idiom | 18:07 |
bwidawsk | ZirconiumX› okay, writing the RFC now | 18:07 |
ZirconiumX | (namely, adding a parameter to the $pos cell to round the output width to a given multiple of N) | 18:08 |
ZirconiumX | (which I'm sure daveshah would like) | 18:08 |
bwidawsk | ZirconiumX› https://github.com/YosysHQ/yosys/issues/1157 | 18:11 |
tpb | Title: RFC: Ignore SIGINT in interactive mode · Issue #1157 · YosysHQ/yosys · GitHub (at github.com) | 18:11 |
ZirconiumX | bwidawsk: 👍 | 18:15 |
*** rohitksingh has quit IRC | 18:33 | |
bwidawsk | would also be nice if long output invoked the pager | 18:33 |
ZipCPU | Why not just use "tee" to send it to a file you can then run the pager on? | 18:36 |
tnt | bwidawsk: sigint is ctrl-c right ? why ignore it ? | 18:42 |
*** rohitksingh has joined #yosys | 18:43 | |
ZirconiumX | tnt: in interactive mode | 18:46 |
*** s_frit has quit IRC | 18:46 | |
*** s_frit has joined #yosys | 18:47 | |
tnt | ZirconiumX: yeah, I got that, but I still want to easily kill yosys (or at the very least the running command). | 18:47 |
tnt | ZirconiumX: like ... when yosys mis-understood a ram inferrance and starts generating millions of FFs ... | 18:48 |
ZirconiumX | Then we can make ^C while executing a command abort it, perhaps? | 18:48 |
ZirconiumX | I'm not sure if the current architecture of Yosys permits that though | 18:49 |
tnt | sure, that'd be fine (even better than killall), but no idea how easy / hard it'd be ... | 18:49 |
*** AlexDaniel has joined #yosys | 18:49 | |
tnt | longjmp :p | 18:49 |
ZirconiumX | I'd actually use threading here, I think | 18:49 |
ZirconiumX | Running a command spawns a thread to execute it | 18:50 |
daveshah | You'd have to have the command operate on a copy of the netlist structure then | 18:51 |
daveshah | Otherwise things would be inconsistent when you terminated the command | 18:51 |
daveshah | And that would significantly increase memory usage on some big designs (where the netlist can be several GB) | 18:52 |
ZirconiumX | I don't think setjmp/longjmp would be much better in that instance | 18:53 |
ZirconiumX | daveshah: actually, couldn't you get away with copy-on-write here? | 19:04 |
ZirconiumX | It might not be ideal, but it would be consistent | 19:05 |
*** kraiskil has joined #yosys | 19:07 | |
*** kraiskil has quit IRC | 19:59 | |
*** rohitksingh_ has joined #yosys | 20:27 | |
*** rohitksingh_ has quit IRC | 20:40 | |
*** rohitksingh has quit IRC | 20:40 | |
*** fsasm has quit IRC | 21:33 | |
*** AlexDaniel has quit IRC | 21:37 | |
*** futarisIRCcloud has joined #yosys | 22:04 | |
*** pie_ has joined #yosys | 22:30 | |
*** dys has joined #yosys | 23:27 | |
*** vonnieda has quit IRC | 23:37 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!