Want to run Linux with RISC-V on Open Source Hardware? This talk will explore the current options including how open source FPGA tools can be leveraged to build open Linux-capable systems.
I will introduce the open RISC-V instruction set architecture (ISA) and explain how it is enabling a new generation of open source chip design. I will also discuss the important of free software FPGA tools like yosys for synthesis, and nextpnr for place and route, and how SymbiFlow is leveraging bitstream documentation from Project IceStrom (iCE40), Project Trellis (ECP5), and Project X-Ray (Xilinix).
I will explain how myself and others at Hackaday Supercon teamed up to get Linux running on RISC-V core in the ECP5 FPGA badge. I will explain what LiteX is and how it enabled us to quickly build a System-on-Chip (SoC) capable of running Linux.
In conclusion, I will explore the landscape of open source chip design projects and the Linux-capable RISC-V silicon chips on horizon for 2020.
1 of 82
Download to read offline
More Related Content
How to run Linux on RISC-V
1. How to run Linux on RISC-V
Drew Fustini
drew@oshpark.com
Twitter: @pdp7
Slides: https://github.com/pdp7/talks/blob/master/fosdem20.pdf
with open hardware and open source FPGA tools
FOSDEM (2020-02-02)
2. ●
Open Source Hardware designer at OSH Park
●
PCB manufacturing service in the USA
●
drew@oshpark.com / Twitter: @oshpark
●
Volunteer Member of Board of Directors of
BeagleBoard.org Foundation
●
small open source Linux boards
●
drew@beagleboard.org
●
Volunteer Member of the Board of Directors of
the Open Source Hardware Association
(OSHWA)
●
Open Source Hardware Certification
Program: https://certification.oshwa.org/
4. Open Hardware Summit 2020 in NYC (USA)
on March 13th
(Friday)
https://2020.oshwa.org/
5. Statement of Principles:
Hardware whose design is
made publicly available so
that anyone can study,
modify, distribute, make,
and sell the design or
hardware based on that design
6. Documentation required for electronics:
Schematics Board Layout
Editable source files for CAD software such as KiCad or EAGLE
Bill of Materials (BoM)
Not strict requirement, but best practice is for all components available from
distributors in low quantity
9. ●
When you write a program in the Arduino IDE,
it is compiled into instructions for the
microcontroller to execute.
●
How does the compiler know what instructions
the chip understands?
– defined by the Instruction Set Architecture
– The ISA is a standard, a set of rules that define
the tasks the processor can perform.
– Examples: x86 (Intel/AMD) and ARM
●
Both are proprietary and need commercial licensing
10. ●
RISC-V: Free and Open RISC Instruction Set
Arch
– “new instruction set architecture (ISA) that was
originally designed to support computer architecture
research and education and is now set to become a
standard open architecture for industry”
11. ●
RISC-V: Free and Open RISC Instruction Set
Arch
●
Instruction Sets Want To Be Free: A Case for RISC-V
– David Patterson, UC Berekely – co-creator of the original RISC!
– https://www.youtube.com/watch?v=mD-njD2QKN0
●
RISC-V Summit 2019: State of the Union
– Krste Asanovic, UC Berkeley
– https://www.youtube.com/watch?v=jdkFi9_Hw-c
20. RISC-V and Industry
●
Designed to be extensible
– Microcontroller to supercomputer
●
RISC-V Foundation now controls standard: riscv.org
– Over 400 members: companies, universities and more
– YouTube channel has hundreds of talks!
●
https://www.youtube.com/channel/UC5gLmcFuvdGbajs4VL-WU3g
●
Companies like Nvidia and Western Digital will ship millions of
devices with RISC-V
●
Avoid ARM licensing fees
●
Freedom to leverage open source implementations
●
BOOM, Rocket, PULP, SweRV, and many more
23. RISC-V and the world
●
RISC-V Foundation moving from US to Switzerland
●
Nations such as India have RISC-V initiatives
– Desire for sovereign technology and avoid backdoors
from other nations
●
Strong interest from chipmakers in China
– U.S. companies have been banned from doing business
with Huawei… who’s next?
– ARM deemed UK-origin tech so ok to do business with
Huawei, but what will brexit-govt bring?
24. ●
My column in the latest Hackspace Magazine is
an introduction to RISC-V and how it is enabling
open source chip design:
– hackspace.raspberrypi.org/issues/27/
27. ●
lowRISC is a not-for-profit organisation whose goal
is to produce a fully open source System-on-Chip
(SoC) in volume
– “We will produce a SoC design to populate a low-cost
community development board and to act as an ideal
starting point for derivative open-source and
commercial designs”
●
OpenTitan project with Google
– Announcing OpenTitan, the First Transparent Silicon Root of Trust
28. ●
The Future of Operating Systems on RISC-V
– Alex Bradbury gives an overview of the status and
development of RISC-V as it relates to modern
operating systems, highlighting major research
strands, controversies, and opportunities to get
involved.
– https://www.youtube.com/watch?v=emnN9p4vhzk
29. ●
Tutorial for the v0.7 lowRISC release
●
By Jonathan Kimmitt (lead developer), and Alex Bradbury (lead
reviewer)
●
https://www.cl.cam.ac.uk/~jrrk2/docs/ariane-v0.7/tutorial/
●
Digilent Nexys A7-100T: $265
●
This tutorial adds further functionality towards the final SoC design:
– Graphical Colour Console with X-windows support incorporating mouse and
keyboard events.
– Choice of SD-Card, Quad-SPI or Ethernet TFTP boot-loader with DHCP support.
– Linux 5.3.8 RISCV kernel and updated Debian userland with advanced package
tool.
– Choice of RV64-GC Rocket (Chisel) or Ariane (SystemVerilog) CPU
30. ●
FOSSi Foundation
– The Free and Open Source Silicon Foundation
– “non-profit foundation with the mission to promote
and assist free and open digital hardware designs”
– Events: ORConf, Latch-up, Week of OSHW
– Open Source Silicon Design Ecosystem
●
Talk by FOSSi co-founder Julius Baxter
31. ●
LibreCores
– Project of the FOSSi Foundation
– “gateway to free and open source digital
designs and other components that you can
use and re-use in your digital designs”
– “advances the idea of OpenCores.org”
32. SiFive
●
“founded by the creators of the free and open
RISC-V architecture as a reaction to the end of
conventional transistor scaling and escalating
chip design costs”
34. ●
FOSDEM 2018 talk
– YouTube: “Igniting the Open Hardware Ecosystem
with RISC-V: SiFive's Freedom U500 is the World's
First Linux-capable Open Source SoC Platform”
– Interview with Palmer Dabbelt of SiFive
SiFive: Linux on RISC-V
36. RISC-V Summit 2019: Linux on RISC V Fedora and
Firmware Status Update
●
https://www.youtube.com/watch?v=WC6e3g8uWdk
●
Wei Fu – Software Engineer, Red Hat
41. ●
Experiment to get Linux on the low cost Kendryte
K210 RISC-V microcontroller
– dual core 64-bit RISC-V at 400MHz with 8MB SRAM
– Sipeed MAix BiT for RISC-V $13
– PDF: RISC-V NOMMU and M-mode Linux
– youtube.com/watch?v=ycG592N9EMA&t=10394
– jump to 2h 53m
●
Many RISC-V Improvements Ready For Linux 5.5:
M-Mode, SECCOMP, Other Features
44. ●
Andes 27-series CPU
– “32-bit A27 and 64-bit AX27 and NX27V cores, which will
enter production in Q1 2020.”
– Andes’ RISC-V SoC debuts with AI-ready VPU as Microchip
opens access to its PolarFire SoC
●
Microchip PolarFire SoC FPGA
– Hard RISC-V with FPGA fabric… like the Xilinx Zync for ARM
●
NXP iMX with RISC-V instead of ARM!
– “OpenHW Group Unveils CORE-V Chassis SoC Project, Buil
ding on PULP Project IP”
Coming in 2020?
47. ●
Goal: Sub-$100 Open Source Hardware
board that can run Linux on RISC-V
●
Possible by FOSDEM 2021?
●
Interested in working together?
– drew@oshpark.com / Twitter: @pdp7
– create a mailing list?
OSHW RISC-V Linux board for
less than $100?
49. ●
Hackspace Magazine column about how about
open source FPGA tools developed by
Claire Wolf (oe1cxw), David Shah and others
have made FPGAs more accessible than ever
before to makers and hackers:
– hackspace.raspberrypi.org/issues/26/
Open Source and FPGAs
50. ●
Keynote at Hackday Supercon 2019 by
Dr. Megan Wachs of SiFive
●
“RISC-V and FPGAs: Open Source Hardware
Hacking”
– https://www.youtube.com/watch?v=vCG5_nxm2G4
52. ●
Open Source toolchains for FPGAs!
– Project IceStorm for Lattice iCE40
●
“A Free and Open Source Verilog-to-Bitstream Flow for iC
E40 FPGAs”
by Claire Wolf (oe1cxw) at 32c3
Open Source and FPGAs
53. ●
Open Source toolchains for FPGAs!
– Project Trellis for Lattice ECP5
– “Project Trellis and nextpnr FOSS FPGA flow for the
Lattice ECP5”
- David Shah (@fpga_dave)
●
youtube.com/watch?v=0se7kNes3EU
Open Source and FPGAs
54. ●
Open Source toolchains for FPGAs!
– Project X-Ray and SymbiFlow for Xilinix Series 7
– Timothy ‘mithro’ Ansell: “Xilinx Series 7 FPGAs Now
Have a Fully Open Source Toolchain!” (almost)
●
youtube.com/watch?v=EHePto95qoE
Open Source and FPGAs
55. ●
Open Source Hardware boards with Lattice
ECP5 FPGA with open RISC-V “soft” CPU:
– Orange Crab by Greg Davill
●
https://github.com/gregdavill/OrangeCrab
Open Source and FPGAs
58. ●
Open Source Hardware boards with Lattice
ECP5 FPGA with open RISC-V “soft” CPU:
– David Shah's Trellis board (Ultimate ECP5 Board)
– https://github.com/daveshah1/TrellisBoard
Open Source and FPGAs
60. Section:
Linux on the Hackaday Badge
Slides: https://github.com/pdp7/talks/blob/master/fosdem20.pdf
61. Hackaday 2019 Supercon badge
●
RISC-V “soft” core on ECP5 FPGA
●
Gigantic FPGA In A Game Boy Form Factor
63. “Team Linux on Badge”
●
Blog post: Hackaday Supercon badge boots Linux
using SDRAM cartridge
– https://blog.oshpark.com/2019/12/20/boot-linux-on-this-
hackaday-supercon-badge-with-this-sdram-cartridge/
●
Michael Welling (@QwertyEmedded), Tim Ansell
(@mithro), Sean Cross (@xobs), Jacob Creedon
(@jacobcreedon)
●
First attempt: use the built-in 16MB SRAM…
no luck :(
– (though xobs now might have a way to do it)
64. “Team Linux on Badge”
●
Second attempt:
– Jacob Creedon designed an a cartridge board that
adds 32MB of SDRAM to the Hackaday Supercon
badge… before the event!
65. “Team Linux on Badge”
●
Second attempt:
– Jacob Creedon designed an a cartridge board that
adds 32MB of SDRAM to the Hackaday Supercon
badge… before the event!
66. ●
LiteX used to build cores, create SoCs and full
FPGA designs.
●
LiteX is based on Migen
●
Migen lets you do FPGA design in Python!
●
https://github.com/enjoy-digital/litex
68. Linux on LiteX-VexRiscv
●
VexRiscv: 32-bit Linux Capable RISC-V CPU
●
SoC built using VexRiscv core and LiteX
moduels like LiteDRAM, LiteEth, LiteSDCard, ...
– github.com/litex-hub/linux-on-litex-vexriscv
70. ●
upstream support for Hackaday Supercon badge:
– https://github.com/litex-hub/litex-boards/pull/31
71. ●
upstream support for Hackaday Supercon badge:
– https://github.com/litex-hub/litex-boards/pull/31
72. ●
upstream support for Hackaday Supercon badge:
– https://github.com/litex-hub/litex-boards/pull/31
77. ●
Opened GitHub issue:
– optimize performance on Hackaday Badge #35
●
https://github.com/litex-hub/litex-boards/issues/35
●
Now 10x faster!
– https://asciinema.org/a/Pcm3vd1BEdEKY9srYX6Ms
NfCE
– Thanks to enjoy-digital