Thursday, 2021-11-04

*** tpb <[email protected]> has joined #yosys00:00
*** miney <miney!~mineteste@user/minetester> has joined #yosys00:27
*** miney <miney!~mineteste@user/minetester> has left #yosys (Leaving)00:27
*** Klotz <Klotz!~Klotzoman@gateway/tor-sasl/klotz> has quit IRC (Quit: Klotz)00:37
*** strobo <[email protected]> has quit IRC (Ping timeout: 268 seconds)02:06
*** strobo <[email protected]> has joined #yosys02:07
*** philtor <[email protected]> has quit IRC (Ping timeout: 268 seconds)05:09
*** philtom <[email protected]> has joined #yosys06:25
*** kristianpaul <kristianpaul!~paul@user/kristianpaul> has quit IRC (Read error: Connection reset by peer)07:02
*** emeb_mac <[email protected]> has quit IRC (Ping timeout: 268 seconds)07:03
*** kristianpaul <kristianpaul!~paul@user/kristianpaul> has joined #yosys07:06
*** FabM <[email protected]> has joined #yosys07:41
*** dlobato <[email protected]> has joined #yosys08:30
*** vidbina <[email protected]> has joined #yosys11:17
*** vidbina <[email protected]> has quit IRC (Ping timeout: 268 seconds)11:49
*** dlobato <[email protected]> has quit IRC (Ping timeout: 268 seconds)12:18
*** piegames <[email protected]> has quit IRC (Ping timeout: 260 seconds)12:50
*** piegames <[email protected]> has joined #yosys12:52
bluesceadaThere is a problem with newer yosys versions when accessing regs like din[(i<<3)+:8] ... while din[(i*8)+:8] works correctly13:27
bluesceadait also worked in older yosys versions (some version from FPGAwars from 2019), but not in the recent ones included in oss-cad-suite over the last 6 months or so13:28
bluesceadaWe might bisect this when we find time, but not now ..13:28
mwkdo you have a sample?13:28
mwk(I dont' mind looking at a huge one)13:28
bluesceadanot sure if I should just give that out, let's see...13:30
mwkcan you reduce it to something you can show me?13:30
bluesceadaNot now, but I can only give it to you, should just not be totally public here13:31
bluesceadamwk, I can send you the link in query13:33
tntHow recent is recent ?13:39
tntI'm testing https://pastebin.com/rEpy6WZ913:39
tpbTitle: module test( input wire [31:0] a, input wire [1:0] b, output w - Pastebin.com (at pastebin.com)13:39
mwkright, hold on13:40
mwkthis is one of these unfortunate moments when I have to consult the Verilog standard to figure out if it's really a bug, or just a correctly implemented Verilog pitfall13:40
tntyosys's behavior is correct from my reading.13:46
mwkyeah, mine as well13:47
mwkthis is a Verilog pitfall IMO13:47
*** dlobato <[email protected]> has joined #yosys13:47
mwkdon't see the exact place in Verilog standard where it says that bit select index width is self-determined, but I don't really see it being any other way13:48
bluesceadaThe question is if you want to handle it like a commercial tool as lattice icecube, or not13:51
bluesceadaWe might have also used this in Xilinx Vivado successfully (but not sure)13:51
tntmwk: mmm, I guess 'integer expression' could mean 32b.13:52
bluesceadabut yeah if you write (b << 3) ... I guess one should not expect an automatic bit width extension of b --- that is also why we realized quite quickly that this could be a problem13:54
mwkcurrent yosys behavior is correct, I'm afraid13:56
bluesceadaThat's one of the situations in which VHDL's strictness is better, I guess13:56
mwk"like a commercial tool" is ill-defined in the first place13:56
bluesceadamwk, of course, I have no specific opinion on this, I am not saying yosys should change it13:56
mwkI can take a bet there's a different commercial tool that behaves like yosys does13:56
mwk... this is the usual outcome of attempting to use many parts of Verilog13:57
bluesceadaYes, icecube isn't really widely used13:57
bluesceadaIf widely used tools of Xilinx/Intel/Synopsys/Cadence/Mentor would do the extension in the index I would say yosys should be too (if the Verilog standard is not 100% clear on that)13:58
mwkokay13:58
mwkVerilog standard wasn't helpful13:58
mwkbut SystemVerilog is very clear on this13:58
bluesceadais there a way to set which standard to follow in yosys? many commercial tools often have that option13:59
mwk"The bit can be addressed using an expression that shall be evaluated in a self-determined context."13:59
mwknot really, no13:59
mwkthere's an option to enable or disable systemverilog, but it basically just disables features, it doesn't *change* anything14:00
mwkalso: given that Verilog has no text at all on the subject, but also absolutely no reason to infer anything but self-determined behavior by default, I'm just going to go with the "it should always be self-determined" interpretation14:01
mwkSystemVerilog text clarifying the intended meaning14:02
bluesceadaso and for you "self-determined" means to not extend the width? That doesn't sound clear to me, to be honest14:02
mwkthat's an actual well-defined term from the standard14:03
bluesceadaOK14:03
mwkfor a shift expression like this, it very definitely means the width is taken directly from left operand14:03
bluesceadaok good14:04
bluesceadathanks for your help14:05
*** vidbina <[email protected]> has joined #yosys14:19
*** vidbina <[email protected]> has quit IRC (Ping timeout: 268 seconds)14:25
*** lexano <lexano!~lexano@cpe00e06722f0e4-cm98524a70e35e.cpe.net.cable.rogers.com> has quit IRC (Ping timeout: 268 seconds)14:25
*** lexano <lexano!~lexano@cpe00e06722f0e4-cm98524a70e35e.cpe.net.cable.rogers.com> has joined #yosys14:38
*** gsmecher <[email protected]> has joined #yosys14:50
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #yosys15:09
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Ping timeout: 276 seconds)15:42
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #yosys15:49
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Quit: Leaving)15:52
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Ping timeout: 276 seconds)16:11
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #yosys16:28
cr1901Yea, I uhhh... optimized the uart miter down to a minimal example. I don't think I'm going to make it pass lmao: https://github.com/cr1901/yosys-experiments/tree/master/sat/dffhold16:28
cr1901(This was written as a minddump, sorry if the README is hard to follow)16:28
cr1901Also... did... did symbiyosys always have an "equiv" mode?16:31
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Ping timeout: 276 seconds)16:41
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #yosys16:47
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Ping timeout: 276 seconds)17:24
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #yosys17:41
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Ping timeout: 276 seconds)18:09
*** emeb_mac <[email protected]> has joined #yosys18:12
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #yosys18:16
*** dlobato <[email protected]> has quit IRC (Ping timeout: 268 seconds)19:30
*** dlobato <[email protected]> has joined #yosys19:42
*** kraiskil <[email protected]> has joined #yosys20:59
*** kraiskil <[email protected]> has quit IRC (Ping timeout: 268 seconds)21:04
*** vidbina <[email protected]> has joined #yosys21:29
*** dlobato <[email protected]> has quit IRC (Ping timeout: 256 seconds)21:52
*** vidbina <[email protected]> has quit IRC (Ping timeout: 256 seconds)22:16
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Quit: ec)22:58
*** cr1901 <cr1901!~William@2601:8d:8600:911:8526:c01a:7723:b2ca> has quit IRC (Ping timeout: 264 seconds)23:35
*** richbridger <[email protected]> has joined #yosys23:55

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