Why should 'SoC', which is originally developed internally and tends to be a black box, be open source?



The

System-on-a-chip (SoC) , which integrates the CPU, GPU, memory, etc. into a single chip, is the ' M1 ' chip developed by Apple and the image processing AI chip ' Pixel Visual ' installed in the Google Pixel series. There are many things such as ' Core ' whose design and specifications are unclear from the outside. As the number of small devices increases and the use of SoCs becomes widespread, hardware engineer bunnie says, 'SoCs should be open source.'

What is a System-on-Chip (SoC), and Why Do We Care if They are Open Source? «Bunnie's blog
https://www.bunniestudios.com/blog/?p=5971

In a general computer, the CPU, GPU, and memory are individually mounted on the printed circuit board, but this is a disadvantageous design for devices that require miniaturization such as smartphones. By consolidating functions such as the CPU into a single chip, SoC has contributed to the significant miniaturization of devices and has become widely used in smartphones and other devices. For example, Apple's M1 chip has a CPU, GPU, cache memory, main memory, neural network engine, etc. all in one chip.



Of course, high-performance SoCs are complicated in design, and the manual can be thousands of pages. In addition, since most manuals are subject to strict intellectual property protection, it is often not possible to obtain information related to video decoding, hardware acceleration, and security. In addition, SoCs have 'unused areas' such as disabled peripherals and internal debugging capabilities, and even the team that developed the chip may not have the full picture, bunnie said.

Bunnie analyzed that the reason why the unused area is left is that 'the development of SoC is closer to the sculpture of shaving marble than the work of assembling Lego'. It costs about 100 million yen to add one circuit to the SoC, but the work of disabling the circuit requires only a small change in the code. Since the cost of disabling the circuit is very low, the number of unused functions increases and the black box area expands.

The expansion of the SoC black box area also leads to security concerns such as exploitation of internal test functions. In addition, since SoC developers purchase components such as PCI and USB from common vendors, the unused area included in PCI and USB is common to different SoC developers, and the ecosystem Bunnie points out that it can lead to problems that shake the world.



The clue to solving these problems is the open source of SoC. If the SoC design is open source, you can ensure transparency to prevent black boxes in unused areas. In the mobile terminal project ' Precursor ' by Mr. bunnie, the open source of SoC has been put into practice, and the source code is published on GitHub.

Precursor adopts RISC-V , an open source architecture, and uses FPGA for the chip, enabling flexible design changes even after the product is released. In addition, by using a framework called ' LiteX ', it is easy to add functions to SoC, which was difficult until now.

Details of the Precursor project can be found on the following page.

Precursor | Crowd Supply
https://www.crowdsupply.com/sutajio-kosagi/precursor

in Hardware, Posted by log1n_yi