Microwatt is a 64 bit POWER OpenISA soft processor, written in VHDL. Over time it has grown from supporting Micropython, to Zephyr and most recently Linux.
From its original inception, Microwatt has relied heavily on GHDL, the Open Source VHDL simulator. GHDL has very recently added synthesis support and together with Yosys and Nextpnr allows for a completely open source toolchain for FPGAs.
This presentation will give an overview of the Microwatt core. It will also include an overview of GHDL and how it can be used for both simulation and synthesis of a medium complexity VHDL project.
Microwatt and GHDL - An Open Hardware CPU written in VHDL, synthesized with Open Source tools
1. 1 / 12
The FOSS EDA
ecosystem
(and GHDL)
A short introduction
Tristan Gingold – ISC 2020
2. 2 / 12
FOSS EDA Ecosystem
Free Open Source Software
Any software whose source code is
available for any (including commercial)
purpose.
Can be:
●
Used
●
Modified
●
Redistributed
3. 3 / 12
EDA
Electronic Design Automation
Any software to help (via automation) the
electronic hardware designer
This is a vast domain, so let’s clarify
5. 5 / 12
What are Integrated
Circuits ?
●
Logical gates
●
Flip-flop and latches
●
Memories
●
Wires
●
Some analog components (PLLs, pads, …)
That’s the netlist!
6. 6 / 12
How are ICs designed ?
●
Not anymore by drawings
– Doesn’t scale
– Still used for high-level view
●
Use of Hardware Description Language
– Verilog/SystemVerilog
– VHDL
7. 7 / 12
The design flow
HDL
Simulation
Synthesis
Map
Place &
Route
●
Write the design
●
Check the design
●
Generate a generic netlist
●
Target specific netlist
●
Physical implementation
10. 10 / 12
FOSS for the design flow
Synthesis
Map
Place &
Route
Front-end:
●
Yosys
●
GHDL
●
ODIN-II
Yosys + ABC
Nextpnr
VPR
11. 11 / 12
Why FOSS EDA (1/2) ?
●
Prioprietary FPGA tool chains are complete
●
They are often free
– (at least for entry-level FPGA)
●
For many flows, they are still required
– Bitstreams are not documented
●
Vendor IPs are often encrypted
●
Ecosystem
12. 12 / 12
Why FOSS EDA (2/2) ?
●
Coherency if your design is also open-source
●
Ideology – contribution
●
Price
●
Performance (in some cases)
●
Avoid vendor-locking
●
Features
●
Support / Fixes time
●
Flexibility