Monday, 2022-03-14

*** tpb <[email protected]> has joined #f4pga00:00
*** bl0x <bl0x!~bastii@p200300d7a728fb009752e1c2bcf30220.dip0.t-ipconnect.de> has quit IRC (Ping timeout: 252 seconds)02:35
*** bl0x <bl0x!~bastii@p200300d7a70d7f00fb2130b0eb28bf7d.dip0.t-ipconnect.de> has joined #f4pga02:37
*** Luke- <Luke-!~ldm@hacksoc/alumni/ldm> has quit IRC (Quit: o/ 3w 6d 23h 59m 13s)04:00
*** Luke <Luke!~ldm@hacksoc/alumni/ldm> has joined #f4pga04:04
*** anthemion <[email protected]> has joined #f4pga07:14
*** adjtm <[email protected]> has quit IRC (Quit: Leaving)10:49
*** adjtm <[email protected]> has joined #f4pga10:50
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Ping timeout: 240 seconds)11:24
*** kgugala <[email protected]> has quit IRC (Quit: WeeChat 3.4)11:47
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)12:17
*** TMM_ <[email protected]> has joined #f4pga12:17
*** adjtm_ <[email protected]> has joined #f4pga13:45
*** adjtm <[email protected]> has quit IRC (Ping timeout: 272 seconds)13:47
*** marzoul1 <[email protected]> has quit IRC (Ping timeout: 256 seconds)13:50
*** marzoul <marzoul!~adrien@2a01:cb15:82a5:8c00:c528:77de:817c:915c> has joined #f4pga14:09
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #f4pga14:15
*** alethkit <alethkit!23bd17ddc6@2604:bf00:561:2000::3ce> has quit IRC (Remote host closed the connection)15:42
*** alethkit <alethkit!23bd17ddc6@2604:bf00:561:2000::3ce> has joined #f4pga15:43
*** anthemion <[email protected]> has quit IRC (Quit: Connection closed)15:45
*** ayazar <[email protected]> has quit IRC (Quit: The Lounge - https://thelounge.chat)17:53
*** ayazar <[email protected]> has joined #f4pga17:54
*** aastha <[email protected]> has joined #f4pga19:07
*** aastha <[email protected]> has quit IRC (Client Quit)19:08
F4PGASlackBridge<kenneth.wilke> I'm curious what the scene looks like for open source IP blocks. I've known about OpenCores for quite a while and have come across the OpenFPGA IP generator and Libre Cores more recently, but my skills aren't developed enough to get any sense of the usefulness of any of these. Does anyone have any opinions or insights on these or other open source IP catalogs or building blocks?19:39
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Quit: ec)20:48
lkclkenneth: it's... an interesting inflection point.  20 years ago a small dedicated group started opencores and released a whole stack of RTL, Rudi from ASICs.ws, and Richard Herveille are two i've met who released silicon-proven HDL that could also be used on FPGAs23:21
lkclbut the FPGAs were slow, small, expensive and all ran proprietary toolchains.23:22
lkclnobody really designed anything "significant" in the open source / open hardware world, because, well, it would only ever run at 1/10th of ASIC speeds23:23
lkclnow the brakes are off: you can buy FPGAs with 500k LUTs *and get a Libre toolchain for it*23:24
lkcloh and you can put it into silicon at metally-low pricing (free via google-sponsored MPWs)23:25
lkclso it's gone from "yeah why should be bother, Libre Silicon will never happen" to "holy cow this is awesome" in about 18 months flat23:26
lkclthe trickiest part though - one thing you have to watch out for - is the lack of a "pinmux" in the Libre/Open ASIC world23:28
lkclFPGAs you just don't bother, i mean, why would you need to re-map multiple functions onto a limited set of pins, just recompile the bitstream, right?23:28
lkclturns out that doing an auto-generated peripheral fabric that can map multiple cores in a reconfigureable way onto a limited number of IOpads is *hard*23:30
lkclbut not for reasons that are immediately obvious23:30
lkcli wrote one for the Shakti Group, when i visited IIT Madras about 3 years ago.  it was an auto-generator peripheral fabric, written in python, using Bluespec code-fragments23:31
lkcl3 months work later, and it was capable of generating the FULL peripheral interconnect: AXI Bus Master, AXI Bus addressing, interrupt controller, connecting all IRQs to a PLIC, the works23:32
lkclend result?23:32
lkclabsolutely awful unmaintainable unreadable code23:32
lkcl*five* levels deep of nested code-generation similar to Zope / Plone (if you remember that)23:33
lkclthe only other pinmux-aware peripheral-fabric-generator i know of, which was inspired by what i wrote, is Earl Grey, part of OpenTITAN, by the lowRISC team23:33
lkclthey used verilog templates embedded with python-jinja code-fragments, similar to PHP23:34
lkclit's just as unreadable as what i wrote23:34
lkcldon't get me wrong: what they did is absolutely brilliant, i mean they even completed the goals i set for myself which was to auto-generated the device-tree files, auto-generate linux kernel headers23:35
lkclauto-generate documentation, everything23:35
lkclincredibly powerful...23:35
lkcl... but *only* understandable and maintainable by the people who actually wrote it.23:35
lkcland23:36
lkclif you want a different core, say, a Power ISA core which uses a XICS Interrupt Controller, you're hosed23:36
lkclbecause both Earl Grey and the Shakti peripheral-generator assume a RISC-V core and therefore only provide (auto-generate) the infrastructure for a RISC-V PLIC23:37
lkclwant an OR1200 interrupt controller? nope.  MIPS? nope, sorry.23:37
lkclso yeah, it's... an interesting inflection point, a bit like the Wild West of HDL :)23:38

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