[HN Gopher] What is a System-on-Chip (SoC), and why do we care i...
       ___________________________________________________________________
        
       What is a System-on-Chip (SoC), and why do we care if they are open
       source?
        
       Author : parsecs
       Score  : 94 points
       Date   : 2020-11-09 19:45 UTC (3 hours ago)
        
 (HTM) web link (www.bunniestudios.com)
 (TXT) w3m dump (www.bunniestudios.com)
        
       | kumarski wrote:
       | efabless.com
       | 
       | Open source chips are not common place right now, but maybe in
       | like 10-15 years.
       | 
       | Love bunniestudios posts.
        
       | gentleman11 wrote:
       | Librem is expensive and has less features than an android, but a
       | lot of that cost went into more open hardware. It's not cheap to
       | do that
        
         | snvzz wrote:
         | I don't think it's a good analogy.
         | 
         | Librem uses a very proprietary, very closed SoC.
         | 
         | The SoC has decent documentation, relative to the average of
         | what passes for documentation these days, but that's about it.
        
           | fsflover wrote:
           | Is there any good source to read more about how closed it is?
        
       | mulmen wrote:
       | This open source chip is an FPGA with all the cost and speed
       | limitations that carries. What would it take to create a truly
       | open-source chip? I assume a chip fab can be contracted to build
       | them given a workable design. Is this conceivable for a general
       | purpose CPU? Will these FPGA approaches get us closer to such a
       | goal?
        
         | amock wrote:
         | I don't know what the current status is, but I think
         | https://hackaday.com/2020/06/30/your-own-open-source-asic-sk...
         | is a good start on getting an open source fabricated.
        
         | rektide wrote:
         | As the other comments say, it's going to cost a million bucks
         | probably to get something made. I wouldn't be shocked to hear
         | numbers way lower for some smart folks. I wonder, for example,
         | what it cost GreenArrays to get their chips made, how big their
         | run was. But $1M i probably a pretty safe ballpark starting
         | place.
         | 
         | And we have pretty great open source cpu & ram design tools.
         | MAGIC is free. There's a lot of great tools fora lot of this.
         | 
         | What is not so great is all the un-core. And GPU, if you want
         | that.
         | 
         | The SiFive boards were coming with TileLink[1] as the main way
         | to talk to the core, for a while, I believe, which is a pretty
         | low level cache-coherent fabric used no where else. There's
         | decent off the shelf to design a lot of the digital systems
         | here. But I don't know what resources if any are available to
         | help you build a chip-to-chip interface, to expose the
         | TileLink. And there's basically the world's tiniest market for
         | things to plug in on the other end anyways.
         | 
         | When you buy an SoC, almost all embedded folk expect a bunch of
         | semi-standard capabilities. I2C, I2S, DisplayPort, USB,
         | Ethernet, &c are all common things you might want. While we can
         | make a decent cpu now a days, afaik, we are still in very very
         | very early days, very pre-implementation, for almost all of
         | these. Thusfar almost everyone relies on buying closed IP to
         | provide connectivity for the SoC they are making. It's quite
         | likely to be the case as well for the new SiFive Unmatched
         | board; I expect they bought someone's PCIe IP & integrated it.
         | 
         | We are starting to see more neat work with FPGA implementations
         | of various protocols like USB3 & PCIe but these all rely on the
         | FPGA having really good transceivers that tackle the PHYsical
         | layers, do the dirty work. Building actual transistors to be
         | receivers & transmitters into & out of the chip, that's where,
         | atm, we are all but babes, it feels like.
         | 
         | [1] https://www.youtube.com/watch?v=EVITxp-SEp4
        
         | mschuster91 wrote:
         | > What would it take to create a truly open-source chip?
         | 
         | From the article: 1M US-$ _at least_ for the masks plus a
         | boatload of other upfront investment. If you 're for bleeding-
         | edge tech like new fab processes, orders of magnitude more.
        
           | mulmen wrote:
           | Thanks I skimmed and missed that.
        
         | snvzz wrote:
         | >Will these FPGA approaches get us closer to such a goal?
         | 
         | The same HDL that can be configured into an FPGA can be used to
         | make chips.
         | 
         | But we won't get there without the FPGA step. Chips aren't
         | designed directly anymore. The sort of complexity we need these
         | days means it's impossible to get right on the first try, and
         | mistakes are very costly with ASICs.
        
           | mschuster91 wrote:
           | > The same HDL that can be configured into an FPGA can be
           | used to make chips.
           | 
           | Not exactly, you'll likely have to replace FPGA HW blocks for
           | "hard IP" such as I/O (especially high speed interfaces such
           | as HDMI/DP, MII, but also RAM controllers), power and clock
           | management...
        
             | iron2disulfide wrote:
             | Of course "the same HDL" is a reductive statement, since
             | components like high-speed IO, or even clock gates are not
             | easily portable between FPGA vendors or foundries. But the
             | user-land Verilog/VHDL code that describes how your custom
             | thing "works" is generally portable.
        
       | petra wrote:
       | Let's compare this to QubesOS: Which adversary can hack QubesOS
       | while not being able to hack this ?
        
         | fsflover wrote:
         | Intel: https://en.wikipedia.org/wiki/Intel_Management_Engine
        
         | nullc wrote:
         | If I have control of QuebesOS' ISP -- it's pretty easy to
         | "hack" Qubes, sadly: There is pretty much no way to validate
         | the qubes public keys, they're not signed by anything else. So
         | the software can be substituted when you download it.
         | 
         | More along the lines of what you're asking-- the virtualization
         | creates a huge attack surface and there is a long history of VM
         | escapes, microarch sidechannels, etc.
        
           | fsflover wrote:
           | Qubes OS does not use typical software virtualization
           | methods. VT-d hardware virtualization it uses was broken only
           | was, and it was done by the Qubes founder:
           | https://en.wikipedia.org/wiki/Blue_Pill_(software)
        
       | JBiserkov wrote:
       | This is about the Precursor [0] to Betrusted [1].
       | 
       | [0]: https://www.crowdsupply.com/sutajio-kosagi/precursor
       | 
       | [1]: https://betrusted.io/
        
       | ohazi wrote:
       | Oh hey, I was just playing with this... it's really cool!
       | 
       | There's a "Linux on LiteX-VexRiscv" design [1] that adds a DDR
       | controller and MMU to the shared bus as well as a handful of
       | other pieces that allow you to boot a Linux kernel image, mount a
       | filesystem, and get a shell prompt over a serial terminal or ssh.
       | 
       | You can then use familiar interfaces to talk to whatever
       | peripherals you decided to include, e.g.:                   $
       | echo 1 > /sys/class/gpio/gpio508/value         $ echo 50 >
       | /sys/class/pwm/pwmchip0/duty_cycle
       | 
       | I got it to run on Greg Davill's [2] Orange Crab FPGA board [3]
       | last night, which was actually pretty easy, as it's one of the
       | supported boards. It was _surprisingly_ usable, even with the
       | soft processor only running at 64 MHz. This was also the first
       | time I used the open source synthesis  / place-and-route tools to
       | do anything more complicated than an adder, and they were _fast_
       | and worked flawlessly.
       | 
       | [1] https://github.com/litex-hub/linux-on-litex-vexriscv
       | 
       | [2] https://twitter.com/gregdavill - He posts a lot of really
       | cool macro and microscope photos of electronics assembly
       | 
       | [3] https://github.com/gregdavill/OrangeCrab
        
       ___________________________________________________________________
       (page generated 2020-11-09 23:00 UTC)