We have now fully brought up Basilisk. To our knowledge, Basilisk is the
first end-to-end open-source application-class SoC autonomously booting
Linux. It was designed using exclusively open-source tools (KiCad,
Yosys, OpenROAD, KLayout) and open-source hardware designs targeting
IHP's open 130nm node.
We note that Basilisk is *not* a commercial product; it is a research
demonstrator showing what can be achieved with end-to-end open-source
hardware and improving the used designs and the tools along the way.
Basilisk is a 34 mm² 130nm chip containing an application-class CVA6
RV64GC core, a 64 KiB last-level cache, and a DRAM interface supporting
up to 128 MiB of HyperRAM. Basilisk supports a wide range of
peripherals, including QSPI, GPIO, UART, and I2C, as well as four USB
1.1 host ports. Basilisk can autonomously boot from SD cards, QSPI
flash, and I2C EEPROM. Our current demonstrator boots from an
GPT-partitioned SD card. Basilisk supports VGA display output at up to
XGA resolution and 60Hz. Basilisk further features a fully digital
chip-to-chip link to connect our platform to a microcontroller or an
FPGA.
The demonstrator board features programmable oscillators and LDOs,
allowing Basilisk to run standalone powered through USB-C. Under full
load, the entire setup consumes less than 2 W.
The demo video shows Basilisk booting through the zero-stage loader
(ZSL), OpenSBI, and Linux to a shell at 75MHz. Some phases are sped up,
denoted by a fast-forward symbol on the right. Once booted, we play
VITETRIS up to level two, hotplug a USB thumb drive, access its file
system, and execute a shell script on the drive.
Basilisk runs stably for hours without crashing. With network support
enabled in the kernel, Basilisk can access the internet through an
off-the-shelf USB Ethernet adapter.
Basilisk was manufactured with support from FMD-QNC 16ME0831
https://www.ihp-microelectronics.com/services/research-and-prototyping-service/fast-design-enablement/open-source-pdk