Sunday, 2020-07-12

*** tpb has joined #yosys00:00
*** xtro has joined #yosys01:07
*** Degi has quit IRC01:29
*** Degi has joined #yosys01:30
*** craigo has quit IRC01:45
*** craigo has joined #yosys02:04
*** gregdavill_ has quit IRC03:09
*** tlwoerner has joined #yosys03:31
*** citypw has joined #yosys05:29
*** xtro has quit IRC06:47
*** xtro has joined #yosys06:48
*** emeb_mac has quit IRC06:55
*** emeb has quit IRC07:03
*** xtro_ has joined #yosys07:15
*** xtro has quit IRC07:16
*** xtro has joined #yosys07:23
*** xtro has quit IRC07:25
*** Asu has joined #yosys07:30
*** scientes has joined #yosys07:58
*** xtro has joined #yosys08:02
*** xtro has joined #yosys08:11
*** kraiskil has joined #yosys08:20
*** xtro has quit IRC08:28
*** xtro has joined #yosys08:38
*** _whitelogger has quit IRC08:48
*** _whitelogger has joined #yosys08:50
*** xtro has quit IRC08:56
*** ayazar has joined #yosys09:35
*** ayazar has quit IRC09:38
*** craigo has quit IRC09:57
*** N2TOH has joined #yosys10:05
*** N2TOH_ has quit IRC10:09
*** N2TOH_ has joined #yosys10:19
*** N2TOH__ has joined #yosys10:20
*** N2TOH has quit IRC10:22
*** N2TOH_ has quit IRC10:24
*** AdamHorden has left #yosys12:16
*** craigo has joined #yosys12:55
mwk... can someone who knows systemverilog explain just what on earth is supposed to happen here: https://github.com/YosysHQ/yosys/pull/2188/files#diff-949405f5af9e4c6e27a18ef0ef34764cR2-R914:00
tpbTitle: Add logic-assignments operators by kgugala · Pull Request #2188 · YosysHQ/yosys · GitHub (at github.com)14:00
daveshahI'm not convinced that initial on a wire is legal at all14:08
mwkI'm tempted to just revert the damn PR14:09
mwkwhatever this is supposed to do, the result is that yosys treats the 'wire ... = const' line as a continuous assignment (reasonable), and the 'initial' block as if it was a combinatorial always block (not reasonable), resulting in multiple-drivers situation14:10
daveshahI think it would be valid if it was reg instead of wire14:10
daveshahand always instead of initial14:11
mwkyes, because then the line would just set the *initial* value14:11
mwk... except then it'd be a latch14:11
daveshahYeah for some reason I thought  i and j were constants14:11
daveshahthen initial might have made sense14:11
daveshahYeah its just nonsense14:12
*** kraiskil has quit IRC14:41
*** citypw has quit IRC14:51
*** kraiskil has joined #yosys14:55
*** citypw has joined #yosys14:58
*** emeb has joined #yosys15:00
*** citypw has quit IRC15:03
*** Forty-Bot has joined #yosys15:15
*** evil_chuck has joined #yosys15:24
evil_chuckHi all, I'm working on a basic PS/2 mouse design for ice40 FPGA. icetime gives me a timing estimate of 1000006.33 ns. How can I fix this?15:51
LoftyTrust the timing estimates from nextpnr, I think15:51
LoftyThat will give the longest combinational path for your design anyway15:52
evil_chuckThe default makefile uses arache-pnr, should I switch to nextpnr?15:52
LoftyYes, arachne-pnr has been dead for a while15:52
LoftyYeah, for about a year arachne-pnr has been replaced by nextpnr-ice4015:54
evil_chuckOk, nextpnr gives me the following: ERROR: timing analysis failed due to presence of combinatorial loops, incomplete specification of timing ports, etc.16:06
LoftyDo you have latches in your design? That would probably break icetime too16:07
evil_chuckHow do I tell? I don't have much experience.16:09
LoftyCan you upload the log somewhere? I can't remember exactly what it is, but Yosys will probably warn on it16:11
LoftySince latches are something to be avoided as much as possible16:11
LoftyYou most often get them from an incomplete case specification16:11
LoftyIn that situation it needs to preserve the original value, since reaching an unspecified case is a no-op16:12
Loftyevil_chuck: ^16:13
*** emeb_mac has joined #yosys16:15
*** Jybz has joined #yosys16:15
evil_chuckhttps://pastebin.com/RFPLHF1X here is the log16:15
tpbTitle: yosys -p 'synth_ice40 -top top -json top.json' debouncer.v odd_parity.v ps2_bit_ - Pastebin.com (at pastebin.com)16:15
Loftyps2_byte_writer.v:37: Warning: Identifier `\parity' is implicitly declared.16:16
Loftyps2_byte_writer.v:52: Warning: Identifier `\done_bit' is implicitly declared.16:16
LoftyEven ignoring the possible presence of latches, this is something you need to fix16:16
LoftyIf you add "`default_nettype none" to the top of your source files, Yosys will error if you implicitly declare a variable16:17
*** dys has quit IRC16:17
evil_chuckby default they are wires though, which is fine16:17
*** dys has joined #yosys16:17
LoftyCorrect, but it's a bad habit to rely on implicit declaration of wires16:17
LoftyWarning: multiple conflicting drivers for top.\DUT.write_count [3]:16:18
Lofty    port Q[3] of cell $techmap\DUT.$auto$proc_dlatch.cc:417:proc_dlatch$598 ($dlatch)16:18
Lofty    port Q[3] of cell $techmap\DUT.$auto$proc_dlatch.cc:417:proc_dlatch$627 ($dlatch)16:18
LoftyYes, you have latches16:18
LoftyAnd multiple signal drivers16:18
LoftyLatch inferred for signal `$paramod\ps2_bit_writer\clock_divider=10.\read_bit' from process `$paramod\ps2_bit_writer\clock_divider=10.$proc$ps2_bit_writer.v:57$427': $auto$proc_dlatch.cc:417:proc_dlatch$58116:18
evil_chuckI see. I think I know where the issue is. I'm setting that net from two combinational processes16:19
LoftyAnyway, here's the direct answer to your question: you have latches in your design, and timing analysis on latches is really difficult16:19
evil_chuckI should be incrementing in a sequential block16:19
evil_chuckThanks, I'll try fixing that.16:20
evil_chuckThe simulator (iverilog) doesn't care about it at all. Should I be running synthesis alongside simulation all the time?16:21
LoftyIt is *valid* to have latches in your design16:21
LoftyThat doesn't make it a good idea16:21
LoftySo, as far as iverilog is concerned, your design is valid, and its job is to simulate that16:21
LoftyI'm not sure how Verilator handles latches, but it probably lints them at least16:22
*** xtro has joined #yosys16:38
*** Jybz has quit IRC16:46
*** Jybz has joined #yosys16:48
*** qu1j0t3 has quit IRC17:02
*** Jybz has quit IRC17:03
*** Jybz has joined #yosys17:04
*** qu1j0t3 has joined #yosys17:07
*** Jybz has quit IRC17:41
*** kraiskil has quit IRC17:54
*** xtro has quit IRC17:57
*** X-Scale` has joined #yosys18:14
*** X-Scale has quit IRC18:15
*** X-Scale` is now known as X-Scale18:15
*** Asuu has joined #yosys19:26
*** Asu has quit IRC19:30
*** xtro has joined #yosys20:20
*** Asuu has quit IRC21:06
*** evil_chuck has left #yosys21:31
*** Cerpin has quit IRC21:47
*** Cerpin has joined #yosys22:11
*** X-Scale has quit IRC22:15
*** X-Scale` has joined #yosys22:15
*** X-Scale` is now known as X-Scale22:16
*** xtro has quit IRC22:44
*** xtro has joined #yosys22:46

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