Wednesday, 2019-12-11

*** tpb has joined #yosys00:00
*** d0nker5 has quit IRC00:14
*** d0nker5 has joined #yosys00:16
meawopplCan anyone talk to me about the `nextpnr --gui` flag?00:17
meawoppl(seems super buggy)00:23
meawopplalso, would y'all accept a PR that cleans up the outputting of `iceprog`?00:26
*** jakobwenzel has quit IRC00:51
*** jakobwenzel has joined #yosys00:52
*** citypw has joined #yosys00:56
*** d0nker5 has quit IRC00:57
*** d0nker5 has joined #yosys00:57
meawoppldaveshah I have another bug report for ya01:04
meawopplor rather a notable divergence between the Radiant tools and yosys behaviour01:04
meawopplthe radiant tools default uninitialized registers to 001:04
meawopplwhich took me most of the day to find inside my i2c widgit01:05
*** citypw has quit IRC01:12
*** rohitksingh has joined #yosys03:40
*** awordnot has quit IRC07:27
*** _whitelogger has quit IRC07:36
*** _whitelogger has joined #yosys07:39
*** m4ssi has joined #yosys07:49
*** gambakufu has quit IRC07:52
daveshah meawoppl: can you give an example?07:57
daveshahAlthough it's very much undefined behaviour, for iCE40 uninitialised registers should init to 0 too07:58
*** d0nker5 has quit IRC08:15
*** d0nker5 has joined #yosys08:16
*** d0nker5 has quit IRC08:26
*** d0nker5 has joined #yosys08:56
*** d0nker5 has quit IRC09:00
*** d0nker5 has joined #yosys09:14
*** cr1901_modern has quit IRC09:25
*** fsasm has joined #yosys10:08
*** X-Scale has quit IRC12:42
*** X-Scale` has joined #yosys12:42
*** X-Scale` is now known as X-Scale12:43
*** citypw has joined #yosys13:42
*** cr1901_modern has joined #yosys14:50
*** mbock has joined #yosys15:00
ZirconiumXdaveshah: So, myself and mwk were discussing the black art of ABC9 LUT timings. For the CV timings, I made them purely intra-LUT, but this excludes potential interconnect delay15:03
ZirconiumXDoes ABC9 model interconnect delay, or do signals magically leave the LUT output to arrive at the LUT input instantaneously?15:04
*** citypw has quit IRC15:11
daveshahZirconiumX: there is a fixed wire delay added15:11
daveshahThis has really been used as a bit of a fudge factor more than anything else.15:12
ZirconiumXThat seems like it should be adjustable15:12
ZirconiumXSince routing delay is going to be different for different families15:13
daveshahIt is adjustable15:16
daveshahhttps://github.com/YosysHQ/yosys/blob/master/techlibs/ice40/synth_ice40.cc#L35415:18
tpbTitle: yosys/synth_ice40.cc at master · YosysHQ/yosys · GitHub (at github.com)15:18
daveshahit's enabled by abc9 -W <delay>15:18
*** m4ssi has quit IRC16:09
*** m4ssi has joined #yosys16:21
*** fsasm has quit IRC16:21
*** fsasm has joined #yosys16:23
*** m4ssi has quit IRC16:47
*** X-Scale has quit IRC17:06
*** X-Scale` has joined #yosys17:11
*** fsasm has quit IRC17:12
*** GenTooMan has quit IRC17:15
*** GenTooMan has joined #yosys17:16
corecodei think i need to start using formal verification18:51
corecodei have a design that occasionally locks up18:51
corecodeuh boy i don't even know where to start18:52
*** rohitksingh has quit IRC18:55
*** rohitksingh has joined #yosys18:56
ZirconiumXcorecode: do you have symbiyosys?18:58
corecodei don't use it yet18:59
ZirconiumXWell, that's part of how you do FV :P18:59
corecodegetting the software is the easy part19:00
*** rohitksingh has quit IRC19:00
ZirconiumXAnd then you decorate your code with SVA statements as necessary.19:02
corecodei guess that's the point where i don't know how to start19:25
*** X-Scale` is now known as X-Scale19:31
*** rohitksingh has joined #yosys19:42
ZirconiumXcorecode: What *must* be true for your code to work? $assert it.19:43
*** somlo has quit IRC19:45
*** develonepi3 has quit IRC19:55
*** Twix has quit IRC20:14
corecodehow do i know that i have put in enough asserts?20:17
*** Twix has joined #yosys20:18
corecodei.e. is there a way to tell that all states are covered20:19
tntMy understanding is that no, you're never sure that your asserts covers all possible thing that could go wrong and so your proof might not be sufficient to prove your core is working as you think it does.20:23
tntThe formal tool will prove (or try to) prove what you ask them. But if you're description of what to prove doesn't really match what's really needed for the core to "work", then it won't do any good.20:24
tntPretty much the hope is that you don't screw up twice in the same way (writing the logic and writing the proof) so that things will get uncovered.20:25
corecodei'm thinking of some notion of coverage20:25
tntThere is cover() if that's what you mean.20:26
*** dh73 has joined #yosys20:30
*** rohitksingh has quit IRC20:32
*** d0nker5 has quit IRC20:32
*** d0nker5 has joined #yosys20:33
*** Jybz has joined #yosys20:34
*** mbock has quit IRC20:37
emilycorecode: you might want to look into "model checking"20:39
*** somlo has joined #yosys20:39
*** rohitksingh has joined #yosys20:41
corecodeyea probably20:43
corecodeemily: is there open source solutions for verilog model checking?20:44
ZirconiumX...Symbiyosys20:45
ZirconiumXThat's what SBY does20:45
emily"Formal equivalence checking [TBD]" rip20:45
emilyto an extent at least20:45
emilybut yeah I guess you can also just buy Verific or something20:45
daveshahVerific is a frontend20:46
emilythere's commercial verific+yosys licenses with some integration sold by symbiotic20:46
emilyI don't know the details though, other people would be better informed20:46
emilyah, okay, sorry ^^;20:46
daveshahVerific adds support for the fancy SystemVerilog assertions etc20:46
daveshahThe basic assertion stuff is all open source20:46
daveshahidk whether it is actually "model checking" though, it's a bit up for dispute - particularly once assumptions are involved20:47
daveshahad coverage, Symbiotic were working on a mutation-based coverage checker20:47
daveshahhttps://github.com/YosysHQ/mcy20:47
tpbTitle: GitHub - YosysHQ/mcy: Mutation Cover with Yosys (MCY) (at github.com)20:47
daveshahbut not sure if it's really ready for use yet20:47
emilyI mean, you could presumably also use TLA+ and similar to verify hardware designs, but I guess you'd still have the problem of proving equivalence to the Verilog code20:55
emilyif I wanted to write "really-truly formally-verified hardware" I'd look at https://github.com/sifive/Kami20:55
tpbTitle: GitHub - sifive/Kami: Kami - a DSL for designing Hardware in Coq, and the associated semantics and theorems for proving its correctness. Kami is inspired by Bluespec. It is actually a complete rewrite of an older version from MIT (at github.com)20:55
emilywhich is a HDL embedded in the Coq dependently typed language/theorem prover20:55
emilydunno if it works with the yosys toolchain, maybe I'll find out at some point20:56
sorearafaik it generates verilog20:58
sorearold versions generated bluespec, but no longer20:58
emilyright, but you can prove things about your design in coq, presumably21:03
emilythen you only have to trust the code generator (and the toolchain down from there)21:03
emilynot your manual belief that your HDL corresponds to your formally-proven model21:03
emilyor if that was a response to it working with the open toolchain: right21:03
sorearI have a suspicion that they're not actually shipping the kami-output HDL but rather using it for equivalence checking.  I do not recall why I formed this suspicion21:04
emilythough even verilog-generating tools can bake in plenty of vendor assumptions :/21:04
sorearyes, it was a response to "dunno if it works with yosys"21:04
emilytbh I wouldn't be surprised if Kami outputs better Verilog than Clash21:05
emilylow bar21:06
corecodehm, how come this hierarchical identifier is claimed to be of nettype none?21:10
corecodei'm just trying to poop out some internal signal to debug pins21:11
corecodedo i have to declare them with a nettype?21:13
daveshahYosys doesn't really support hierarchical identifiers21:18
daveshahThere is a nonstandard hack if you use flatten21:18
daveshahlet me find it21:18
daveshahhttps://github.com/YosysHQ/yosys/pull/1330#issuecomment-52832801321:19
tpbTitle: Add flatten handling of pre-existing wires as created by interfaces by cliffordwolf · Pull Request #1330 · YosysHQ/yosys · GitHub (at github.com)21:19
*** Jybz has quit IRC21:55
corecodedaveshah: i'm having trouble using this with a generate loop22:27
corecodedoesn't like to parse the []22:33
*** cr1901_modern has quit IRC23:15
*** cr1901_modern has joined #yosys23:15
*** meawoppl has quit IRC23:53

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!