Friday, 2021-11-05

*** tpb <[email protected]> has joined #yosys00:00
*** gsmecher <[email protected]> has quit IRC (Ping timeout: 268 seconds)00:28
*** strobo <[email protected]> has quit IRC (Ping timeout: 260 seconds)02:04
*** strobo <[email protected]> has joined #yosys02:06
*** bpye <bpye!~bpye@user/bpye> has quit IRC (Quit: Ping timeout (120 seconds))02:16
*** bpye <bpye!~bpye@user/bpye> has joined #yosys02:17
*** scientes_ <[email protected]> has joined #yosys02:29
*** scientes <[email protected]> has quit IRC (Ping timeout: 260 seconds)02:30
*** kbeckmann <[email protected]> has quit IRC (Ping timeout: 260 seconds)02:39
*** kbeckmann <[email protected]> has joined #yosys02:49
*** piegames <[email protected]> has quit IRC (Ping timeout: 256 seconds)02:58
*** piegames <[email protected]> has joined #yosys02:58
*** strobo <[email protected]> has quit IRC (Ping timeout: 256 seconds)02:59
*** strobo <[email protected]> has joined #yosys03:00
*** cr1901 <cr1901!~William@2601:8d:8600:911:109:c768:abb5:da22> has joined #yosys03:26
*** emeb_mac <[email protected]> has quit IRC (Quit: Leaving.)06:01
*** peepsalot <peepsalot!~peepsalot@openscad/peepsalot> has quit IRC (Ping timeout: 260 seconds)06:04
*** peepsalot <peepsalot!~peepsalot@openscad/peepsalot> has joined #yosys06:19
*** kristianpaul <kristianpaul!~paul@user/kristianpaul> has quit IRC (Read error: Connection reset by peer)07:02
*** kristianpaul <kristianpaul!~paul@user/kristianpaul> has joined #yosys07:07
*** FabM <FabM!~FabM@2a03:d604:103:600:f72a:7fad:83ca:f34e> has joined #yosys07:20
*** dlobato <[email protected]> has joined #yosys09:05
*** dlobato <[email protected]> has quit IRC (Remote host closed the connection)09:14
*** vidbina <vidbina!~vid@2a02:3032:4:58:4f9c:8db4:bcbc:ae82> has joined #yosys09:54
*** vidbina <vidbina!~vid@2a02:3032:4:58:4f9c:8db4:bcbc:ae82> has quit IRC (Remote host closed the connection)10:29
*** vidbina <vidbina!~vid@2a02:3032:4:58:da94:edcb:94d4:abb0> has joined #yosys10:30
*** vidbina <vidbina!~vid@2a02:3032:4:58:da94:edcb:94d4:abb0> has quit IRC (Ping timeout: 260 seconds)10:54
*** vidbina <[email protected]> has joined #yosys12:12
*** gsmecher <[email protected]> has joined #yosys12:14
*** unkraut <[email protected]> has quit IRC (Ping timeout: 246 seconds)12:26
*** unkraut <[email protected]> has joined #yosys12:26
lambdawoah, someone sure greased the release machine :D12:29
FL4SHKlambda:  what do you mean?12:33
lambdaFL4SHK: only a little over three months between releases? that's quite a nice change of pace after the >2y gap between 0.9 and 0.10 12:35
mwkwe basically decided to do monthly releases from now on12:37
mwkwe're not *quite* there yet with the infrastructure and processes for that, but we're getting there12:37
lambdaawesome12:37
FL4SHKlambda: I see12:39
FL4SHKDoes yosys support SV classes as namespaces?12:39
FL4SHKI heard yosys supports more of SV now12:39
FL4SHKThat's one thing I generally don't expect synthesis of SV to support, but at the same time, it's how the SV standard mentions to do type generics with structs and subprograms.12:40
FL4SHKsuch that you can do `my_class #(.member_t(int))::my_struct_t`12:41
FL4SHKI normally use nMigen for synthesizable code, and I may be continuing that.12:43
mwknope, there is no support for classes at all12:48
mwkit's not even recognized as a keyword from what I see12:48
FL4SHKThat's unfortunate13:01
FL4SHKsv2v it is if I get back into SV13:01
FL4SHKFor the record13:01
FL4SHKI'm not referring to use of classes directly, just as namespaces13:01
mwkthere is a new verilog frontend planned, but uhh it's kind of not the highest priority right now13:02
FL4SHKlike packages, but with the power to parameterize them13:02
mwkyeah, I know13:02
FL4SHKCool13:02
mwkI'm unfortunately a little too familiar with SystemVerilog13:02
FL4SHKI haven't written much SV lately13:02
FL4SHKnMigen seems like it's able to do every high level thing I'm interested in13:02
FL4SHKif combined with the extensions to nMigen that I wrote13:03
mwkyeah, it is quite great13:03
FL4SHKOH, you're in #nmigen as well, derp13:04
*** vidbina <[email protected]> has quit IRC (Ping timeout: 268 seconds)13:12
*** gsmecher <[email protected]> has quit IRC (Ping timeout: 268 seconds)14:13
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 268 seconds)15:37
*** gsmecher <[email protected]> has joined #yosys15:45
*** FabM <FabM!~FabM@2a03:d604:103:600:58e:6c56:130f:ec6d> has joined #yosys15:49
*** vidbina <[email protected]> has joined #yosys16:13
cr1901*Homer "New Billboard Day" voice*: New yosys release!16:41
*** Kamilion <Kamilion!kamilion@user/kamilion> has quit IRC (Read error: Connection reset by peer)16:44
*** Kamilion|ZNC <Kamilion|[email protected]> has joined #yosys16:45
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Quit: Leaving)16:46
*** Kamilion|ZNC is now known as Kamilion16:48
*** emeb <[email protected]> has joined #yosys17:33
*** vidbina <[email protected]> has quit IRC (Ping timeout: 260 seconds)18:00
cr1901https://github.com/YosysHQ/yosys/pull/3070 Well I'm a bit stuck... taking a break. Mr. Nextpnr's Wild Ride is almost at an end for now18:01
gatecatcr1901: you need a call to `techmap` to turn the `$not` into a `$_NOT_` before abc18:07
gatecatabc only works on the gate-level cells18:07
*** emeb_mac <[email protected]> has joined #yosys19:02
*** somlo <[email protected]> has quit IRC (Remote host closed the connection)19:05
*** dys <dys!~dys@user/dys> has quit IRC (Ping timeout: 260 seconds)19:23
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #yosys19:39
cr1901gatecat: Okay, you are correct, and my patch as-is is wrong. I didn't notice this was happening because nextpnr doesn't error on unknown cells if --pack-only is specified, just warns that it wasn't placed.19:51
cr1901I don't like my solution at all. I wish iopadmap supported active-low tristates, but Idk how to add that functionality (nor do I know whether it would be accepted since it's feature creep)19:52
*** dys <dys!~dys@user/dys> has joined #yosys20:19
mwkcr1901: wrt your tribuf pull request, I think it's time I did something about neg-polarity tristates properly20:41
mwkie. I'd like to cook a proper solution soon-ish and avoid multiple synth passes dealing with the same problem in completely different ways20:42
mwkmaybe a whole iopadmap refactor would be appropriate, hmm20:43
mwk> I don't like my solution at all. I wish iopadmap supported active-low tristates20:43
mwkoh yes, it should20:43
mwkit's not fully obvious to me yet whether it's the right place to put *all* handling, there may be merit in splitting the "polarity decision" and "IO pad mapping" parts into two passes20:44
mwkbut we definitely need better support20:44
mwkand generic support20:44
cr1901Fine, I'll hold off then and let you do your thing. I'm not begging for tristate support yet for my designs. If I truly need it, I can do *points to the shit in my PR* manually.20:45
cr1901I mainly added this to test part of my nextpnr PR (I'll make that now), but I'm satisfied the nextpnr functionality works and I don't _need_ my yosys PR merged.20:46
mwkmhm, right20:46
cr1901Honestly, makes me feel a lot better to hold off for now :P20:46
mwkso20:49
mwkyou need the inverter extracted before the LUT mapping happens20:50
mwkand, if the inverter happens to be $not, before techmapping happens20:50
mwka simple solution to your problems is to just move iopadmap early enough in the script, like synth_xilinx does20:50
mwkthere's no reason why pad mapping should happen *late*, after all20:51
cr1901I do not have a particular reason why it's done late. Probably more "don't touch it, lest I break something". But it's already broke. So that'll work.20:51
mwkyeah, you copied from one of the passes that does it late because the target uses an active-high enable20:52
mwksynth_xilinx is different because it needs active-low enable20:52
mwkbut really, it should just be done early everywhere for consistency20:52
mwk... anyway20:52
mwkI think a better solution would be to enhance the cell library a bit20:53
mwkhave both active-high and active-low versions of the $_TBUF_ / $tribuf cells20:53
mwkand, like for FFs, have a pass that legalizes tribuf cells to be either all-positive or all-negative20:54
mwkand then iopadmap's job would be simplified because it can always expect tribuf cells of the right polarity already and can happen as late as you'd like20:54
mwkwhile the tribuf-legalize pass could be somewhere earlier20:55
mwkthat also gives us a target-independent active-low tribuf cell, which IMO is nice20:55
cr1901Maybe I'd add a new-section called "legalize" between "flatten" and "coarse"20:55
mwkno20:55
cr1901Would it go w/ "map_ios" then?20:56
mwkyou already have a conceptually similar dfflegalize call, don't you?20:57
mwkI think they belong together20:57
cr1901yea, I call that the "map_ffs" pass20:57
cr1901err map_ffs section*20:57
cr1901I can't tell you what past-me was thinking other than "yes I did copy from synth_ecp5 most likely and pared it down to what I need"20:58
mwkwhitequark: do you have any opinions on the above?20:58
whitequarknothing that bears mentioning21:00
cr1901Cool, I'm finishing up my nextpnr PR21:04
*** kraiskil <[email protected]> has joined #yosys21:05
mwkwhitequark: ack21:05
*** vidbina <[email protected]> has joined #yosys21:09
cr1901"tribuflegalize" is the solution I like best, FWIW. It'll pair well w/ dfflegalize and generate gate-level cells before abc has had a chance to run. It might even enable me to remove the iopadmap mess completely and techmap directly to FACADE_IO (we'll see...)21:11
*** kraiskil <[email protected]> has quit IRC (Ping timeout: 256 seconds)21:11
mwkyou'd still need to map the plain I/O buffers, no?21:11
*** kraiskil <[email protected]> has joined #yosys21:12
cr1901Maybe, I thought I could map _TBUF_ to FACADE_IO directly21:13
cr1901I'll have to actually look and see and not just think out loud :P21:13
cr1901nextpnr PR opened. And with that, barring any fixups, Mr. Nextpnr's Wild Ride has come to an end for now21:15
*** kraiskil <[email protected]> has quit IRC (Ping timeout: 268 seconds)21:21
mwkit's a little trickier than that21:22
mwkthere's a reason why the bidirectional I/O pad cells have *4* pins, not *3* like a tribuf21:22
mwkthat's an important bit that iopadmap takes care of21:23
cr1901Ahh21:23
*** Niklas[m] <Niklas[m]!~nsmlzlmat@2001:470:69fc:105::c93a> has quit IRC (Ping timeout: 246 seconds)21:26
*** whitequark <whitequark!~whitequar@2001:470:69fc:105::37> has quit IRC (Ping timeout: 246 seconds)21:26
*** adamgreig <[email protected]> has joined #yosys21:27
*** agg <[email protected]> has quit IRC (Ping timeout: 246 seconds)21:27
*** bq <[email protected]> has quit IRC (Ping timeout: 268 seconds)21:28
*** smkz <smkz!~x@user/smkz> has quit IRC (Ping timeout: 264 seconds)21:28
*** bq <[email protected]> has joined #yosys21:28
*** Niklas[m] <Niklas[m]!~nsmlzlmat@2001:470:69fc:105::c93a> has joined #yosys21:30
*** smkz <smkz!~x@user/smkz> has joined #yosys21:31
*** whitequark <whitequark!~whitequar@2001:470:69fc:105::37> has joined #yosys21:39
*** adamgreig is now known as agg21:43
*** gsmecher <[email protected]> has quit IRC (Ping timeout: 264 seconds)21:52
*** kristianpaul <kristianpaul!~paul@user/kristianpaul> has quit IRC (Ping timeout: 264 seconds)22:13
*** V <[email protected]> has quit IRC (Ping timeout: 264 seconds)22:17
*** V <[email protected]> has joined #yosys22:17
*** emeb <[email protected]> has quit IRC (Quit: Leaving.)22:39
*** somlo <[email protected]> has joined #yosys22:58
*** kristianpaul <kristianpaul!~paul@user/kristianpaul> has joined #yosys22:58
*** philtom is now known as philtor23:10
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Remote host closed the connection)23:25
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #yosys23:26
*** vidbina <[email protected]> has quit IRC (Ping timeout: 268 seconds)23:33

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