*** tpb has joined #yosys | 00:00 | |
*** jrawson has quit IRC | 00:11 | |
*** lf has quit IRC | 00:37 | |
*** lf has joined #yosys | 00:37 | |
*** futarisIRCcloud has joined #yosys | 01:40 | |
*** citypw has joined #yosys | 01:44 | |
*** philtor has quit IRC | 02:21 | |
*** bluesceada has quit IRC | 02:33 | |
*** kloeri has quit IRC | 02:39 | |
*** kloeri has joined #yosys | 02:52 | |
*** bluesceada has joined #yosys | 02:52 | |
*** s_frit has quit IRC | 03:26 | |
*** s_frit has joined #yosys | 03:26 | |
*** Degi_ has joined #yosys | 03:30 | |
*** Degi has quit IRC | 03:32 | |
*** Degi_ is now known as Degi | 03:32 | |
*** jfcaron has quit IRC | 05:22 | |
*** corecode has quit IRC | 06:32 | |
*** mndza has joined #yosys | 07:14 | |
*** danvet has joined #yosys | 07:14 | |
*** mancaus has quit IRC | 07:19 | |
*** corecode has joined #yosys | 07:28 | |
*** mndza has quit IRC | 07:47 | |
*** mndza has joined #yosys | 07:51 | |
*** emeb_mac has quit IRC | 07:59 | |
*** FabM has joined #yosys | 09:14 | |
*** vidbina has joined #yosys | 09:27 | |
*** srk has quit IRC | 09:51 | |
*** srk has joined #yosys | 09:51 | |
*** jakobwenzel has joined #yosys | 11:26 | |
*** jakobwenzel has quit IRC | 12:00 | |
*** jakobwenzel1 has joined #yosys | 12:00 | |
*** jakobwenzel1 is now known as jakobwenzel | 12:02 | |
*** jakobwenzel has quit IRC | 12:03 | |
*** mancaus has joined #yosys | 13:21 | |
*** jakobwenzel has joined #yosys | 13:22 | |
*** vidbina has quit IRC | 13:36 | |
*** kraiskil has joined #yosys | 14:30 | |
*** X-Scale` has joined #yosys | 15:05 | |
*** X-Scale has quit IRC | 15:06 | |
*** X-Scale` is now known as X-Scale | 15:06 | |
*** _oldtopman has joined #yosys | 15:16 | |
*** lansiir has quit IRC | 15:17 | |
*** vidbina has joined #yosys | 15:33 | |
*** jfcaron has joined #yosys | 15:40 | |
*** FabM has quit IRC | 15:55 | |
*** vidbina has quit IRC | 16:11 | |
*** jfcaron has quit IRC | 16:15 | |
*** citypw has quit IRC | 16:34 | |
*** mndza has quit IRC | 17:17 | |
*** emeb_mac has joined #yosys | 17:49 | |
*** vidbina has joined #yosys | 18:01 | |
*** kraiskil has quit IRC | 18:37 | |
*** kraiskil has joined #yosys | 18:50 | |
*** kraiskil has quit IRC | 19:07 | |
*** kraiskil has joined #yosys | 19:16 | |
*** jakobwenzel has quit IRC | 19:25 | |
*** jakobwenzel1 has joined #yosys | 19:25 | |
*** jakobwenzel1 is now known as jakobwenzel | 19:27 | |
*** jakobwenzel1 has joined #yosys | 20:08 | |
*** jakobwenzel has quit IRC | 20:10 | |
*** jakobwenzel1 is now known as jakobwenzel | 20:10 | |
*** kraiskil has quit IRC | 20:16 | |
*** kraiskil has joined #yosys | 20:30 | |
*** vidbina has quit IRC | 20:36 | |
*** dkozel has quit IRC | 21:02 | |
*** dkozel has joined #yosys | 21:05 | |
*** zachjs has joined #yosys | 21:07 | |
*** dxld has quit IRC | 21:27 | |
*** kraiskil has quit IRC | 21:28 | |
*** jakobwenzel1 has joined #yosys | 21:40 | |
*** jakobwenzel1 has quit IRC | 21:41 | |
*** jakobwenzel has quit IRC | 21:41 | |
*** jakobwenzel has joined #yosys | 21:43 | |
*** danvet has quit IRC | 22:00 | |
*** jakobwenzel has quit IRC | 22:30 | |
*** jakobwenzel has joined #yosys | 22:32 | |
*** dxld has joined #yosys | 22:35 | |
*** jakobwenzel has quit IRC | 22:46 | |
roamingryan | Are single line `assign` statements the only way to avoid the "assigned in a block at..." warning with Yosys? | 22:47 |
---|---|---|
mwk | if you assign something in a block, the proper thing to do in verilog is to declare it as "reg", not "wire" | 22:47 |
mwk | yosys grudgingly accepts misuse of that, but other tools will flat-out refuse to work | 22:48 |
roamingryan | I see... even though I want it synthesized as combinatorial logic? | 22:48 |
mwk | yes | 22:48 |
mwk | reg/wire distinction is not about combinatorial or synchronous logic, it's about whether it's assigned from a process or not | 22:48 |
mwk | (verilog is not a particularly well-designed language) | 22:49 |
roamingryan | Interesting, this is a great to know. | 22:49 |
roamingryan | So, put differently, one shouldn't scan the input/output ports of a given module and assume that `reg` output pins are registered? | 22:50 |
mwk | correct | 22:50 |
roamingryan | That's fun. Thank you for sharing some wisdom. :) | 22:51 |
mwk | reg output pins can be combinatorial, assigned in a combinatorial process; non-reg output pins can be synchronous if they happen to use assign statements (or submodule instantiations) to bring out the result of a synchronous process defined somewhere deeper | 22:51 |
roamingryan | Great to know. The module I am implementing requires slightly more logic at an output pin than can be accomodated with a simple ternary assignment operator. I also don't want some sort of nasty nested ternary operator. Hence my question above. Sounds like switching the pin to `reg` and using an `always (*)` block with blocking assignments (`=`) is the way to go. | 22:53 |
mwk | correct | 22:53 |
mwk | also please consider using other tools than yosys to check your code, yosys is, uh, good at processing correct code, not so good at diagnosing incorrect code | 22:55 |
roamingryan | verilator? | 22:55 |
mwk | yeah, it'd be good to run it through some simulation | 22:55 |
mwk | verilator or iverilog | 22:55 |
mwk | whichever you prefer | 22:55 |
roamingryan | Ok, so far I've been developing purely with yosys and symbiyosys using a "formal first" methodology. I'll get some verilator sims set up in parallel. | 22:56 |
mwk | that's not a bad plan | 22:57 |
mwk | but it'd be good to at least run it through a linter | 22:57 |
*** jfcaron has joined #yosys | 22:57 | |
mwk | verilator --lint-only | 22:57 |
roamingryan | Cool, I'll give that try and see what sort of horrors it reveals. No doubt there will be some! | 22:58 |
*** Thorn has quit IRC | 23:33 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!