SlideShare a Scribd company logo
How to design your own chip?
LibreCores
Free and Open Digital Hardware
Philipp Wagner
FrOSCon 2016
How to design your own chip? 22016-08-20
The story of
Ton Lear
How to design your own chip? 32016-08-20
The story of
Ton LearNot Real
How to design your own chip? 42016-08-20
Digital Hardware Design
Free and Open Source Silicon (FOSSi)
maker
open (source) hardware
What's the difference?
How to design your own chip? 52016-08-20
Design Entry: HDL
How to design your own chip? 62016-08-20
The Digital Hardware Design Flow
HDL Sources simulation
3rd
-party libraries
IP Cores
design
project
How to design your own chip? 72016-08-20
Simulation
How to design your own chip? 82016-08-20
The Digital Hardware Design Flow
HDL Sources
synthesis
simulation
3rd
-party libraries
IP Cores
FPGA
implementation
design
project
How to design your own chip? 92016-08-20
Chips?
Image source: https://deliciousgf.wordpress.com/2012/04/29/gluten-free-and-vegan-veggie-chips/
How to design your own chip? 102016-08-20
The Digital Hardware Design Flow
HDL Sources
synthesis
simulation
3rd
-party libraries
IP Cores
ASIC backend
FPGA
implementation
design
project
How to design your own chip? 112016-08-20
Chips!
image from https://pixabay.com/en/chips-potato-chips-unhealthy-thick-448746/, CC0 (public domain)
How to design your own chip? 122016-08-20
FOSSi Reality Check 1
The Simulation Check
How to design your own chip? 132016-08-20
Simulation: Required Ingredients
●
code to simulate
●
a simulator
●
testing
How to design your own chip? 142016-08-20
Write your code
●
Choose from the incumbents
– Verilog/SystemVerilog
– VHDL
●
or one of the new contenders
– Bluespec SystemVerilog
– Chisel (UC Berkely)
– MyHDL
How to design your own chip? 152016-08-20
Simulation
●
The “big 3” commercial simulators
– Incisive Enterprise Simulator/ NCSim (Cadence)
– ModelSim (Mentor)
– VCS (Synopsys)
●
FOSS solutions
– Icarus Verilog
– GHDL
– Verilator
●
Add a good waveform viewer
– gtkview
How to design your own chip? 162016-08-20
Testing & Verification
●
cocotb: Python-based test
●
vunit: VHDL unit testing
●
Open Source VHDL Verification Methodology
(OS-VVM)
How to design your own chip? 172016-08-20
“The Simulation Check”: Results
●
Hobbyist-Accessibility-Score: 4/5
●
FOSS score: 4/5
●
Fun score: 2/5
How to design your own chip? 182016-08-20
FOSSi Reality Check 2
The FPGA Check
How to design your own chip? 192016-08-20
FPGA Design: Required Ingredients
●
code to simulate
●
a simulator
●
testing
●
a synthesis tool
●
an implementation tool
●
an FPGA board
How to design your own chip? 202016-08-20
FPGA Synthesis
●
Commercial
– Synopsys Synplify
– vendor tools (Xilinx, Altera, …)
●
free alternatives
– Verilog-to-Routing (VTR)
– Yosys
How to design your own chip? 212016-08-20
FPGA Implementation
●
Mostly vendor tools
– Xilinx ISE/Vivado, Altera Quartus, …
●
free alternatives
– IceStorm for Lattice iCE40
something to watch: Clifford @ FOSDEM 2016
https://archive.fosdem.org/2016/schedule/event/icestorm/
How to design your own chip? 222016-08-20
FPGA Boards: student (< 100 $)
DE0-Nano
$79
22,320 cells
Artix-7 35T
$99
33,280 cells
iCEstick
$20
1280 cells
All board pictures (c) by the manufacturers.
How to design your own chip? 232016-08-20
FPGA Boards: amateur (~ 500 $)
Nexys 4 DDR
ZTEX 2.1x
Altera DE2-115
All board pictures (c) by the manufacturers.
How to design your own chip? 242016-08-20
FPGA Board: pro (> 1000 $)
Xilinx KC705
Xilinx VC707
All board pictures (c) by the manufacturers.
Altera Cyclone V SoC
Development Kit
How to design your own chip? 252016-08-20
“The FPGA Check”: Results
●
Hobbyist-Accessibility-Score: 3/5
●
FOSS score: 2/5
●
Fun score: 4/5
How to design your own chip? 262016-08-20
FOSSi Reality Check 3
The ASIC Check
How to design your own chip? 272016-08-20
ASIC Production: Required Ingredients
●
code to simulate
●
a simulator
●
a synthesis tool
●
really good testing & verification
●
a design kit
●
an implementation tool
●
money
How to design your own chip? 282016-08-20
The Design Kit
●
standard cell libraries, design rules, electrical
parameters, ...
●
get it from the foundry
●
bad: requires pretty tough NDA
●
good: it's usually for free (again, as in beer)
How to design your own chip? 292016-08-20
ASIC Implementation
●
Commercial options
– Synopsys Design Compiler
– Cadence Encounter Toolset
●
FOSS options
– qflow
– Coriolis2
How to design your own chip? 302016-08-20
Got Money?
[[user:]]viaWikimediaCommons,CCBY-SA
How to design your own chip? 312016-08-20
Need Money
●
Multi-Project Wafer
– available from multiple vendors, e.g. Europractice
– example
●
50 pcs Globalfoundries 40 nm
●
4 750 €/mm² (at least 9 mm² = 42 750 €) + packaging, etc.
●
up to 1500 KGates/mm²
– cheaper in older technologies (65nm + up)
●
eASIC
– pre-characterized ASICs “configured” with one custom
layer
How to design your own chip? 322016-08-20
“The ASIC Check”: Results
●
Hobbyist-Accessibility-Score: 0.1/5
●
FOSS score: 1/5
●
Fun score: 1-5/5
●
Satisfaction score: 10/5
let's do it
anyways?
How to design your own chip? 332016-08-20
Don't celebrate alone.
PicturebyWeI-chiehChiu(flickr),CCBY-SA
How to design your own chip? 342016-08-20
Join the party!
The bachelor party. Signed Louis Wain. Oil on canvas, 29.5 x 60 cm (public domain, via Wikimedia Commons)
How to design your own chip? 352016-08-20
FOSSi Reality Check 4
The Community Check
How to design your own chip? 362016-08-20
Required ingredients
●
Let others participate
●
Build on existing work
●
Learn, teach and exchange ideas
How to design your own chip? 372016-08-20
How to live together?
photobyPrskavka(WikimediaCommons),publicdomain
How to design your own chip? 382016-08-20
Choose a license
●
Permissive
●
Weak Copyleft
●
Strong Copyleft
How to design your own chip? 392016-08-20
Licensing: Permissive
●
without patent clause
– MIT and BSD widely used
– example project: RISC V
●
with patent clause
– new: SolderPad License by Andrew Katz
How to design your own chip? 402016-08-20
Licensing: Weak Copyleft
●
File-based copyleft
– OHDL: Julius Baxter for mor1kx, based on MPLv2
●
library copyleft
– LGPL
●
commonly used on opencores.org
●
what's “linking” in a hardware context?
How to design your own chip? 412016-08-20
Licensing: Strong Copyleft
●
GPL
– GPLv3 uses “hardware-friendly” language
●
lesson learned from open sourcing SPARC
– example user: Gaisler LEON3 (GPLv2+)
– implications not fully understood
●
ASIC (design kit)?
●
FPGA (built-in primitives)?
How to design your own chip? 422016-08-20
OpenCores.org
photobyAndreGlechikoff(Flickr),CCBY-SA
How to design your own chip? 432016-08-20
Community hub needed
●
publish your work
●
find code to re-use
●
learn, teach, inspire
How to design your own chip? 442016-08-20
Introducing LibreCores
How to design your own chip? 452016-08-20
LibreCores Goals
●
Documentation
– How to get started?
– Best practices
– Success stories
●
News & Discussion
– Planet LibreCores
●
Project repository
– a directory of FOSSi projects
– with quality indicators
How to design your own chip? 462016-08-20
LibreCores: Where are we today?
●
Documentation
– How to get started?
– Best practices
– Success stories
●
News & Discussion
– Planet LibreCores
●
Project repository
– a directory of FOSSi projects
– with quality indicators
First content online
online!
to be released
in October!
How to design your own chip? 472016-08-20
Who's behind all that?
●
OpenRISC community
●
Group formed ~2 years ago
●
First plans presented at ORCONF
2015 at CERN
●
since end of 2015: FOSSi
Foundation, CiC (UK) to provide
shared legal entity
How to design your own chip? 482016-08-20
So: How to design your own chip?
●
join an existing project: OpTiMSoC, lowrisc, …
●
fire up your editor: most tools are free (as in
beer)
●
FPGA designs are within reach
●
ASICs only for some of us
How to design your own chip? 492016-08-20
Conference Announcement
●
October 7 – 9
●
University of Bologna, in Bologna, Italy
●
No admission fee (but please register)
visit www.orconf.org for more info & registration
me
Philipp Wagner
mail@philipp-wagner.com
www.philipp-wagner.com
let's talk!
FOSSi Foundation
discussion@lists.librecores.org
www.fossi-foundation.org
#librecores on freenode
You can freely remix this presentation under the
terms of the Creative Commons BY-SA 4.0 license.

More Related Content

PDF
How to run Linux on RISC-V
PDF
RISC-V and open source chip design
PDF
How to run Linux on RISC-V (FOSS North 2020)
PDF
Linux on RISC-V (ELC 2020)
PDF
Linux on RISC-V with Open Hardware (ELC-E 2020)
PDF
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
PDF
Viseo conseil Ludovic.NODIER. Pour Mezzo 11 2015
PPTX
Riscv 20160507-patterson
How to run Linux on RISC-V
RISC-V and open source chip design
How to run Linux on RISC-V (FOSS North 2020)
Linux on RISC-V (ELC 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
Viseo conseil Ludovic.NODIER. Pour Mezzo 11 2015
Riscv 20160507-patterson

Similar to How to design your own chip? (20)

PDF
Linux on RISC-V
PDF
Berlin Embedded Linux meetup: How to Linux on RISC-V
PDF
SFSCON24 - Roberto Innocenti - 2025 scenario on OpenISA OpenPower Open Hardwa...
PDF
Linux on Open Source Hardware
PDF
Build an Open Hardware GNU/Linux PowerPC Notebook
PDF
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
PDF
Linux on RISC-V
PDF
Portland Science Hack Day: Open Source Hardware
PDF
SFScon 2020 - Roberto Innocenti - 202x Open Hardware Concrete Approach
PDF
Efabless Marketplace webinar slides 2024
PDF
OpenSPARC on FPGAs
PDF
SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...
PDF
Intro to Open Source Hardware (OSHW)
PDF
SFScon 21 - Roberto Innocenti - PPC64 Open Hardware Notebook prototype around...
PDF
Fpga computing
PDF
Introduction to Open Source Hardware, OSHWA and Open Hardware Summit
PPT
S2C China ICCAD 2010 Presentation
PDF
Cc internet of things @ Thomas More
PDF
IoT Session Thomas More
PDF
IPv6 on Mikrotik
Linux on RISC-V
Berlin Embedded Linux meetup: How to Linux on RISC-V
SFSCON24 - Roberto Innocenti - 2025 scenario on OpenISA OpenPower Open Hardwa...
Linux on Open Source Hardware
Build an Open Hardware GNU/Linux PowerPC Notebook
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Linux on RISC-V
Portland Science Hack Day: Open Source Hardware
SFScon 2020 - Roberto Innocenti - 202x Open Hardware Concrete Approach
Efabless Marketplace webinar slides 2024
OpenSPARC on FPGAs
SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...
Intro to Open Source Hardware (OSHW)
SFScon 21 - Roberto Innocenti - PPC64 Open Hardware Notebook prototype around...
Fpga computing
Introduction to Open Source Hardware, OSHWA and Open Hardware Summit
S2C China ICCAD 2010 Presentation
Cc internet of things @ Thomas More
IoT Session Thomas More
IPv6 on Mikrotik
Ad

Recently uploaded (20)

PDF
Visual Aids for Exploratory Data Analysis.pdf
PPTX
Fundamentals of Mechanical Engineering.pptx
PDF
737-MAX_SRG.pdf student reference guides
PPTX
Information Storage and Retrieval Techniques Unit III
PPTX
Safety Seminar civil to be ensured for safe working.
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PPT
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
introduction to high performance computing
PDF
Analyzing Impact of Pakistan Economic Corridor on Import and Export in Pakist...
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PDF
Soil Improvement Techniques Note - Rabbi
PPT
Total quality management ppt for engineering students
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PPT
Occupational Health and Safety Management System
Visual Aids for Exploratory Data Analysis.pdf
Fundamentals of Mechanical Engineering.pptx
737-MAX_SRG.pdf student reference guides
Information Storage and Retrieval Techniques Unit III
Safety Seminar civil to be ensured for safe working.
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
UNIT 4 Total Quality Management .pptx
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Automation-in-Manufacturing-Chapter-Introduction.pdf
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
introduction to high performance computing
Analyzing Impact of Pakistan Economic Corridor on Import and Export in Pakist...
Fundamentals of safety and accident prevention -final (1).pptx
Categorization of Factors Affecting Classification Algorithms Selection
Soil Improvement Techniques Note - Rabbi
Total quality management ppt for engineering students
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
Occupational Health and Safety Management System
Ad

How to design your own chip?

  • 1. How to design your own chip? LibreCores Free and Open Digital Hardware Philipp Wagner FrOSCon 2016
  • 2. How to design your own chip? 22016-08-20 The story of Ton Lear
  • 3. How to design your own chip? 32016-08-20 The story of Ton LearNot Real
  • 4. How to design your own chip? 42016-08-20 Digital Hardware Design Free and Open Source Silicon (FOSSi) maker open (source) hardware What's the difference?
  • 5. How to design your own chip? 52016-08-20 Design Entry: HDL
  • 6. How to design your own chip? 62016-08-20 The Digital Hardware Design Flow HDL Sources simulation 3rd -party libraries IP Cores design project
  • 7. How to design your own chip? 72016-08-20 Simulation
  • 8. How to design your own chip? 82016-08-20 The Digital Hardware Design Flow HDL Sources synthesis simulation 3rd -party libraries IP Cores FPGA implementation design project
  • 9. How to design your own chip? 92016-08-20 Chips? Image source: https://deliciousgf.wordpress.com/2012/04/29/gluten-free-and-vegan-veggie-chips/
  • 10. How to design your own chip? 102016-08-20 The Digital Hardware Design Flow HDL Sources synthesis simulation 3rd -party libraries IP Cores ASIC backend FPGA implementation design project
  • 11. How to design your own chip? 112016-08-20 Chips! image from https://pixabay.com/en/chips-potato-chips-unhealthy-thick-448746/, CC0 (public domain)
  • 12. How to design your own chip? 122016-08-20 FOSSi Reality Check 1 The Simulation Check
  • 13. How to design your own chip? 132016-08-20 Simulation: Required Ingredients ● code to simulate ● a simulator ● testing
  • 14. How to design your own chip? 142016-08-20 Write your code ● Choose from the incumbents – Verilog/SystemVerilog – VHDL ● or one of the new contenders – Bluespec SystemVerilog – Chisel (UC Berkely) – MyHDL
  • 15. How to design your own chip? 152016-08-20 Simulation ● The “big 3” commercial simulators – Incisive Enterprise Simulator/ NCSim (Cadence) – ModelSim (Mentor) – VCS (Synopsys) ● FOSS solutions – Icarus Verilog – GHDL – Verilator ● Add a good waveform viewer – gtkview
  • 16. How to design your own chip? 162016-08-20 Testing & Verification ● cocotb: Python-based test ● vunit: VHDL unit testing ● Open Source VHDL Verification Methodology (OS-VVM)
  • 17. How to design your own chip? 172016-08-20 “The Simulation Check”: Results ● Hobbyist-Accessibility-Score: 4/5 ● FOSS score: 4/5 ● Fun score: 2/5
  • 18. How to design your own chip? 182016-08-20 FOSSi Reality Check 2 The FPGA Check
  • 19. How to design your own chip? 192016-08-20 FPGA Design: Required Ingredients ● code to simulate ● a simulator ● testing ● a synthesis tool ● an implementation tool ● an FPGA board
  • 20. How to design your own chip? 202016-08-20 FPGA Synthesis ● Commercial – Synopsys Synplify – vendor tools (Xilinx, Altera, …) ● free alternatives – Verilog-to-Routing (VTR) – Yosys
  • 21. How to design your own chip? 212016-08-20 FPGA Implementation ● Mostly vendor tools – Xilinx ISE/Vivado, Altera Quartus, … ● free alternatives – IceStorm for Lattice iCE40 something to watch: Clifford @ FOSDEM 2016 https://archive.fosdem.org/2016/schedule/event/icestorm/
  • 22. How to design your own chip? 222016-08-20 FPGA Boards: student (< 100 $) DE0-Nano $79 22,320 cells Artix-7 35T $99 33,280 cells iCEstick $20 1280 cells All board pictures (c) by the manufacturers.
  • 23. How to design your own chip? 232016-08-20 FPGA Boards: amateur (~ 500 $) Nexys 4 DDR ZTEX 2.1x Altera DE2-115 All board pictures (c) by the manufacturers.
  • 24. How to design your own chip? 242016-08-20 FPGA Board: pro (> 1000 $) Xilinx KC705 Xilinx VC707 All board pictures (c) by the manufacturers. Altera Cyclone V SoC Development Kit
  • 25. How to design your own chip? 252016-08-20 “The FPGA Check”: Results ● Hobbyist-Accessibility-Score: 3/5 ● FOSS score: 2/5 ● Fun score: 4/5
  • 26. How to design your own chip? 262016-08-20 FOSSi Reality Check 3 The ASIC Check
  • 27. How to design your own chip? 272016-08-20 ASIC Production: Required Ingredients ● code to simulate ● a simulator ● a synthesis tool ● really good testing & verification ● a design kit ● an implementation tool ● money
  • 28. How to design your own chip? 282016-08-20 The Design Kit ● standard cell libraries, design rules, electrical parameters, ... ● get it from the foundry ● bad: requires pretty tough NDA ● good: it's usually for free (again, as in beer)
  • 29. How to design your own chip? 292016-08-20 ASIC Implementation ● Commercial options – Synopsys Design Compiler – Cadence Encounter Toolset ● FOSS options – qflow – Coriolis2
  • 30. How to design your own chip? 302016-08-20 Got Money? [[user:]]viaWikimediaCommons,CCBY-SA
  • 31. How to design your own chip? 312016-08-20 Need Money ● Multi-Project Wafer – available from multiple vendors, e.g. Europractice – example ● 50 pcs Globalfoundries 40 nm ● 4 750 €/mm² (at least 9 mm² = 42 750 €) + packaging, etc. ● up to 1500 KGates/mm² – cheaper in older technologies (65nm + up) ● eASIC – pre-characterized ASICs “configured” with one custom layer
  • 32. How to design your own chip? 322016-08-20 “The ASIC Check”: Results ● Hobbyist-Accessibility-Score: 0.1/5 ● FOSS score: 1/5 ● Fun score: 1-5/5 ● Satisfaction score: 10/5 let's do it anyways?
  • 33. How to design your own chip? 332016-08-20 Don't celebrate alone. PicturebyWeI-chiehChiu(flickr),CCBY-SA
  • 34. How to design your own chip? 342016-08-20 Join the party! The bachelor party. Signed Louis Wain. Oil on canvas, 29.5 x 60 cm (public domain, via Wikimedia Commons)
  • 35. How to design your own chip? 352016-08-20 FOSSi Reality Check 4 The Community Check
  • 36. How to design your own chip? 362016-08-20 Required ingredients ● Let others participate ● Build on existing work ● Learn, teach and exchange ideas
  • 37. How to design your own chip? 372016-08-20 How to live together? photobyPrskavka(WikimediaCommons),publicdomain
  • 38. How to design your own chip? 382016-08-20 Choose a license ● Permissive ● Weak Copyleft ● Strong Copyleft
  • 39. How to design your own chip? 392016-08-20 Licensing: Permissive ● without patent clause – MIT and BSD widely used – example project: RISC V ● with patent clause – new: SolderPad License by Andrew Katz
  • 40. How to design your own chip? 402016-08-20 Licensing: Weak Copyleft ● File-based copyleft – OHDL: Julius Baxter for mor1kx, based on MPLv2 ● library copyleft – LGPL ● commonly used on opencores.org ● what's “linking” in a hardware context?
  • 41. How to design your own chip? 412016-08-20 Licensing: Strong Copyleft ● GPL – GPLv3 uses “hardware-friendly” language ● lesson learned from open sourcing SPARC – example user: Gaisler LEON3 (GPLv2+) – implications not fully understood ● ASIC (design kit)? ● FPGA (built-in primitives)?
  • 42. How to design your own chip? 422016-08-20 OpenCores.org photobyAndreGlechikoff(Flickr),CCBY-SA
  • 43. How to design your own chip? 432016-08-20 Community hub needed ● publish your work ● find code to re-use ● learn, teach, inspire
  • 44. How to design your own chip? 442016-08-20 Introducing LibreCores
  • 45. How to design your own chip? 452016-08-20 LibreCores Goals ● Documentation – How to get started? – Best practices – Success stories ● News & Discussion – Planet LibreCores ● Project repository – a directory of FOSSi projects – with quality indicators
  • 46. How to design your own chip? 462016-08-20 LibreCores: Where are we today? ● Documentation – How to get started? – Best practices – Success stories ● News & Discussion – Planet LibreCores ● Project repository – a directory of FOSSi projects – with quality indicators First content online online! to be released in October!
  • 47. How to design your own chip? 472016-08-20 Who's behind all that? ● OpenRISC community ● Group formed ~2 years ago ● First plans presented at ORCONF 2015 at CERN ● since end of 2015: FOSSi Foundation, CiC (UK) to provide shared legal entity
  • 48. How to design your own chip? 482016-08-20 So: How to design your own chip? ● join an existing project: OpTiMSoC, lowrisc, … ● fire up your editor: most tools are free (as in beer) ● FPGA designs are within reach ● ASICs only for some of us
  • 49. How to design your own chip? 492016-08-20 Conference Announcement ● October 7 – 9 ● University of Bologna, in Bologna, Italy ● No admission fee (but please register) visit www.orconf.org for more info & registration
  • 50. me Philipp Wagner mail@philipp-wagner.com www.philipp-wagner.com let's talk! FOSSi Foundation discussion@lists.librecores.org www.fossi-foundation.org #librecores on freenode You can freely remix this presentation under the terms of the Creative Commons BY-SA 4.0 license.