*** tpb has joined #yosys | 00:00 | |
*** citypw has quit IRC | 00:41 | |
*** voxadam has quit IRC | 01:24 | |
*** voxadam has joined #yosys | 01:25 | |
*** phire has quit IRC | 02:07 | |
*** emeb_mac has joined #yosys | 02:08 | |
*** gsi__ has joined #yosys | 02:09 | |
*** gsi_ has quit IRC | 02:12 | |
*** bwidawsk has quit IRC | 02:35 | |
*** bwidawsk has joined #yosys | 02:40 | |
*** futarisIRCcloud has joined #yosys | 02:41 | |
*** PyroPeter has quit IRC | 02:51 | |
*** citypw has joined #yosys | 02:55 | |
*** emeb has quit IRC | 02:55 | |
*** PyroPeter has joined #yosys | 03:05 | |
*** citypw has quit IRC | 03:21 | |
*** citypw has joined #yosys | 03:23 | |
*** vonnieda has joined #yosys | 03:32 | |
*** proteusguy has joined #yosys | 03:46 | |
*** phantomcircuit has joined #yosys | 03:57 | |
*** citypw has quit IRC | 03:57 | |
*** jevinskie has joined #yosys | 04:54 | |
*** loxodes has quit IRC | 05:32 | |
*** _whitelogger has quit IRC | 05:38 | |
*** jevinskie has quit IRC | 05:39 | |
*** _whitelogger has joined #yosys | 05:40 | |
*** emeb_mac has quit IRC | 07:16 | |
*** rohitksingh has joined #yosys | 07:49 | |
*** _whitelogger has quit IRC | 07:59 | |
*** mms has joined #yosys | 08:01 | |
*** _whitelogger has joined #yosys | 08:01 | |
*** maikmerten has joined #yosys | 08:28 | |
*** dys has joined #yosys | 08:29 | |
*** _whitelogger has quit IRC | 08:35 | |
*** _whitelogger has joined #yosys | 08:37 | |
*** gnufan_home has joined #yosys | 08:40 | |
*** rohitksingh has quit IRC | 08:53 | |
*** rohitksingh has joined #yosys | 08:54 | |
*** maikmerten has quit IRC | 09:16 | |
*** gnufan_home has left #yosys | 09:34 | |
*** togo has joined #yosys | 09:34 | |
*** rohitksingh has quit IRC | 09:39 | |
*** maikmerten has joined #yosys | 10:22 | |
*** dys has quit IRC | 10:36 | |
*** vid has joined #yosys | 10:42 | |
*** hacking4fun has joined #yosys | 10:45 | |
*** mms has quit IRC | 10:47 | |
*** vid has quit IRC | 11:21 | |
*** maikmerten has quit IRC | 11:29 | |
*** hacking4fun has quit IRC | 11:34 | |
*** Jybz has joined #yosys | 11:38 | |
*** citypw has joined #yosys | 11:48 | |
*** _whitelogger has quit IRC | 12:29 | |
*** _whitelogger has joined #yosys | 12:31 | |
*** emeb has joined #yosys | 12:56 | |
*** MoeIcenowy has quit IRC | 13:00 | |
*** MoeIcenowy has joined #yosys | 13:01 | |
*** vid has joined #yosys | 13:32 | |
tnt | Any verilog semantics expert in the audience ? | 13:46 |
---|---|---|
tnt | https://github.com/m-labs/VexRiscv-verilog/issues/7 | 13:46 |
tpb | Title: VexRiscv-Min variant misbheaving · Issue #7 · m-labs/VexRiscv-verilog · GitHub (at github.com) | 13:46 |
tnt | Is the simulator wrong, or is this unspecified ... | 13:46 |
*** vid has quit IRC | 13:49 | |
emeb | That's a tricky one. | 13:55 |
tnt | if it was obvious, I wouldn't be asking :P | 13:56 |
emeb | Of course! | 13:57 |
emeb | Digging around in my copy of Thomas & Moorby doesn't give any good insight into this. | 14:20 |
emeb | (Of course it's not the greatest reference on Verilog, but they did create the language...) | 14:21 |
tnt | Yeah I tried reading the specs and ... I'm really not more informed than before either :p | 14:37 |
emeb | I found a SNUG paper by Sutherland from long ago that looked like it might have some insight, but no... | 14:52 |
emeb | http://www.sutherland-hdl.com/papers/2007-SNUG-SanJose_gotcha_again_paper.pdf | 14:52 |
ZipCPU | I just looked through the issue and I'm struggling to understand the core of the issue | 14:55 |
ZipCPU | Is there a statement misbehaving? Or a question of Verilog? | 14:55 |
tnt | ZipCPU: If you look at the screenshot you'll see the _halt signal is '1'. But if you look at the verilog, you might expect it to be '0'. | 14:57 |
tnt | And that's because in the verilog process it sets IBusSimplePlugin_cmd_valid to 0 after it was evaluated and caused IBusSimplePlugin_iBusRsp_stages_0_halt to be '1'. And iverilog apparently doesn't re-run that process after. | 14:58 |
ZipCPU | Is that because cmd_valid and _halt are set in the same blcok? | 14:58 |
tnt | yes. if you split them or if you set _valid at the beginning, it works as expected. | 14:58 |
ZipCPU | So ... isn't that how simulation is supposed to work though? The blocking statements in the always block get executed in order, and you (the designer) are supposed to handle any dependencies | 14:59 |
emeb | Probably a red herring, but I'm bothered by a combinatorial process that modifies a signal based on the state of that signal. Seems like that's ripe for zero-delay feedback problems. | 15:00 |
tnt | that's the question ... | 15:00 |
tnt | emeb: well valid doesn't depend on valid. | 15:00 |
ZipCPU | I've seen several examples of what would otherwise be combinatorial processes placed together into one, and so declared as no longer feedback loops | 15:00 |
ZipCPU | So, if you have two signals whose dependencies intertwine, and you place them within the sample always @(*) block, you (as the engineer) are supposed to deconflict the dependencies with the order of the statements | 15:01 |
ZipCPU | The simulator trusts you (the engineer) to have sorted our the dependencies | 15:01 |
emeb | tnt: oh - misread that then. | 15:02 |
*** Jybz has quit IRC | 15:29 | |
*** Jybz has joined #yosys | 15:29 | |
*** emeb has left #yosys | 15:57 | |
*** futarisIRCcloud has quit IRC | 16:21 | |
*** rohitksingh has joined #yosys | 16:21 | |
*** pointfree has joined #yosys | 16:21 | |
*** emeb_mac has joined #yosys | 16:25 | |
*** emeb_mac has quit IRC | 16:40 | |
*** rohitksingh has quit IRC | 17:23 | |
*** dys has joined #yosys | 19:18 | |
*** vonnieda has quit IRC | 20:10 | |
*** vonnieda has joined #yosys | 20:27 | |
*** _whitelogger has quit IRC | 20:38 | |
*** vonnieda has quit IRC | 20:39 | |
*** vonnieda has joined #yosys | 20:40 | |
*** _whitelogger has joined #yosys | 20:40 | |
*** emeb_mac has joined #yosys | 22:07 | |
*** dys has quit IRC | 22:52 | |
*** _whitelogger has quit IRC | 22:56 | |
*** _whitelogger has joined #yosys | 22:58 | |
*** TFKyle has quit IRC | 23:05 | |
*** Jybz has quit IRC | 23:12 | |
*** citypw has quit IRC | 23:52 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!