Sunday, 2020-06-28

*** tpb has joined #yosys00:00
*** Degi has quit IRC01:56
*** Degi has joined #yosys01:57
*** citypw has joined #yosys02:54
*** emeb_mac has quit IRC06:58
*** gorbak25 has quit IRC07:13
*** kraiskil has joined #yosys08:04
*** Asu has joined #yosys08:26
*** kraiskil has quit IRC08:38
*** pacak has quit IRC09:34
*** pacak has joined #yosys09:36
*** kraiskil has joined #yosys09:55
*** unkraut has quit IRC10:33
*** unkraut has joined #yosys10:34
thardinis it possible to prevent yosys from replacing memory with registers?11:19
tnt(* nomem2reg *)  IIRC11:32
*** strubi has joined #yosys11:39
thardinread_verilog -nomem2reg  works11:41
thardinI think replacing the state machine with a ROM based one is better use for the BRAM for now11:43
daveshahBe careful with nomem2reg, it can cause missynthesis12:01
thardinyep, saw that12:02
thardinsweet, using a state mechine LUT brings LC use down by 6%12:02
thardinperhaps I can do something similar with division12:05
strubihi there, just tuning in...is anyone aware of the current situation on the pyosys API, is it used much at all? I think I recall someone mentioning integration with nmigen, but not sure if that was using pyosys13:27
mwkthat's not pyosys13:35
strubiAllright, thought they were connected (from whitequark's comments on github WRT python API)13:47
*** m4ssi has joined #yosys13:58
lambdacan someone explain to me why this two-stage evaluation of DFF inputs is necessary in the btor backend? I don't see why it wouldn't be possible to just recurse on the D port's signal immediately when exporting the cell https://github.com/YosysHQ/yosys/blob/master/backends/btor/btor.cc#L7014:13
tpbTitle: yosys/btor.cc at master · YosysHQ/yosys · GitHub (at github.com)14:13
*** FFY00 has quit IRC14:22
*** FFY00 has joined #yosys14:23
lambdahuh, `test_cell` has been broken for $[s]sh(l|r) since december 2019 (it generates B_SIGNED=1 with 50% probability) and apparently nobody noticed yet14:50
*** X-Scale has quit IRC15:01
*** kraiskil has quit IRC15:09
*** m4ssi has quit IRC15:13
*** emeb has joined #yosys15:39
thardincan yosys do simulation? or is iverilog the way to go?16:10
whitequarkyosys has a sim pass16:11
whitequarkthough it's pretty basic16:11
whitequarkit also has the cxxrtl backend, which is similar to verilator16:12
lambda$shift and $shiftx ignore \A_SIGNED; is that intentional? it seems to be accounted for in satgen.h so `check_cells` doesn't catch it, but it's highly unintuitive16:14
lambda(https://github.com/YosysHQ/yosys/blob/master/kernel/satgen.h#L777)16:15
tpbTitle: yosys/satgen.h at master · YosysHQ/yosys · GitHub (at github.com)16:15
thardinI see the yosys site recommends using iverilog due to potential bugs in yosys16:15
thardinI suppose simulating in both is useful for discovering bugs in either :)16:15
Lofty<thardin> I suppose simulating in both is useful for discovering bugs in either :) <-- this is what vloghammer does16:27
tntLofty: does vloghammer include cxxrtl now ?16:37
tntoh wait ... laste published report is 2014-01-24.16:38
LoftyThere's no reason you couldn't add it, tbh16:40
*** kraiskil has joined #yosys16:41
*** citypw has quit IRC16:53
strubilambda, are you saying that srl/srr is broken WRT signedness?17:02
strubiIt *might* be intentional, if it's supposed to be a logical shift (vs. arithmetic)17:04
thardinis it possible to formally verify verilog code?17:06
LoftyYes, SystemVerilog Assertions17:07
LoftyAnd SymbiYosys17:07
LoftyZipCPU does it extensively17:07
thardininteresting17:08
thardinhttps://zipcpu.com/tutorial/class-verilog.pdf   a mere 509 pages17:09
thardinI've used frama-c quite a bit, so it shouldn't be too hard17:11
lambdastrubi: no, its's $shift/$shiftx that are broken https://github.com/YosysHQ/yosys/issues/219617:13
tpbTitle: $shift and $shiftx ignore \A_SIGNED · Issue #2196 · YosysHQ/yosys · GitHub (at github.com)17:13
strubiOk, got me worried for a second, as it didn't turn up on my side. Haven't used $shift. Would that turn up in a VHDL test scenario?17:18
lambdaI don't know if anything internal generates a $shift with \A_SIGNED=1, so no idea, sorry17:21
lambdaI stumbled on it through targetted fuzzing of that cell17:23
*** kraiskil has quit IRC17:24
*** X-Scale has joined #yosys17:25
ZipCPUthardin: I'm also known for wandering about the channel every now and again, so feel free to ask if you have any questions17:37
ZipCPUAs for those 509 pages, I use them for teaching a course over the course of (roughly) two full days--when you include the exercises17:37
*** kraiskil has joined #yosys18:00
*** kraiskil has quit IRC18:18
thardinZipCPU: yeah so I gathered :)18:25
thardinI've become the "formal verification guy" in town lately18:25
thardinor I guess the formal verification guy in norrland18:26
*** oldtopman has quit IRC19:31
ZipCPUthardin: Yeehaa!  Welcome to the club, huh?19:32
ZipCPUOnly ... I'm not in norrland, but we can skip that part ...19:33
thardinyesd19:35
*** oldtopman has joined #yosys19:35
thardinlike I like to tell people: "you have tests, huh? I have proofs"19:35
ZipCPUo/19:55
thardinin case you haven't seen it: http://langsec.org/20:07
tpbTitle: Language-theoretic Security (at langsec.org)20:07
thardinit's hard to impress on people just how godawful everything is in terms of correctness or even just not crashing or having horrible 0days20:08
*** emeb_mac has joined #yosys20:30
ZipCPU"Language security"?  The concept looks interesting ... untrusted inputs into a formal model to turn them into something trusted, hmm ... okay.  I came across something else similar recently under the title "Promise theory".20:46
thardinthe E language is based around promise pipelining if I remember correctly21:00
thardinhttp://erights.org/21:01
tpbTitle: Welcome to ERights.Org (at erights.org)21:01
thardinlots of interesting stuff that haven't been explore enough21:01
sorearI really doubt those are the same promises21:02
sorearpromises in the E sense come from the smalltalk/actors tradition, about as far as you can get from formal methods21:02
thardinyeah E doesn't have much to do with formal methods come to think of it21:04
thardinwe looked at it for a distributed project at un21:05
thardinuni21:05
sorearinteresting, this is the first I've heard of anyone trying to use that as-is21:05
thardinwelll it didn't really leave the idea stage :)21:09
thardinwe hacked something together using mpi and shared memory instead21:09
*** Asu has quit IRC21:38
*** nengel has quit IRC21:46
*** az0re has joined #yosys22:15
*** Cerpin has quit IRC23:35
*** Cerpin has joined #yosys23:35
*** fevv8[m] has joined #yosys23:42

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