How to design your own chip?
-
Upload
philipp-wagner -
Category
Engineering
-
view
595 -
download
3
Transcript of How to design your own chip?
![Page 1: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/1.jpg)
How to design your own chip?
LibreCoresFree and Open Digital Hardware
Philipp WagnerFrOSCon 2016
![Page 2: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/2.jpg)
How to design your own chip? 22016-08-20
The story of Ton Lear
![Page 3: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/3.jpg)
How to design your own chip? 32016-08-20
The story of Ton LearNot Real
![Page 4: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/4.jpg)
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?
![Page 5: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/5.jpg)
How to design your own chip? 52016-08-20
Design Entry: HDL
![Page 6: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/6.jpg)
How to design your own chip? 62016-08-20
The Digital Hardware Design Flow
HDL Sources simulation
3rd-party librariesIP Cores
design project
![Page 7: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/7.jpg)
How to design your own chip? 72016-08-20
Simulation
![Page 8: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/8.jpg)
How to design your own chip? 82016-08-20
The Digital Hardware Design Flow
HDL Sources
synthesis
simulation
3rd-party librariesIP Cores
FPGA implementation
design project
![Page 9: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/9.jpg)
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/
![Page 10: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/10.jpg)
How to design your own chip? 102016-08-20
The Digital Hardware Design Flow
HDL Sources
synthesis
simulation
3rd-party librariesIP Cores
ASIC backend
FPGA implementation
design project
![Page 11: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/11.jpg)
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)
![Page 12: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/12.jpg)
How to design your own chip? 122016-08-20
FOSSi Reality Check 1
The Simulation Check
![Page 13: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/13.jpg)
How to design your own chip? 132016-08-20
Simulation: Required Ingredients● code to simulate● a simulator● testing
![Page 14: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/14.jpg)
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
![Page 15: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/15.jpg)
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
![Page 16: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/16.jpg)
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)
![Page 17: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/17.jpg)
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
![Page 18: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/18.jpg)
How to design your own chip? 182016-08-20
FOSSi Reality Check 2
The FPGA Check
![Page 19: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/19.jpg)
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
![Page 20: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/20.jpg)
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
![Page 21: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/21.jpg)
How to design your own chip? 212016-08-20
FPGA Implementation● Mostly vendor tools
– Xilinx ISE/Vivado, Altera Quartus, …● free alternatives
– IceStorm for Lattice iCE40something to watch: Clifford @ FOSDEM 2016https://archive.fosdem.org/2016/schedule/event/icestorm/
![Page 22: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/22.jpg)
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.
![Page 23: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/23.jpg)
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.
![Page 24: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/24.jpg)
How to design your own chip? 242016-08-20
FPGA Board: pro (> 1000 $)
Xilinx KC705
Xilinx VC707All board pictures (c) by the manufacturers.
Altera Cyclone V SoC Development Kit
![Page 25: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/25.jpg)
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
![Page 26: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/26.jpg)
How to design your own chip? 262016-08-20
FOSSi Reality Check 3
The ASIC Check
![Page 27: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/27.jpg)
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
![Page 28: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/28.jpg)
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)
![Page 29: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/29.jpg)
How to design your own chip? 292016-08-20
ASIC Implementation● Commercial options
– Synopsys Design Compiler– Cadence Encounter Toolset
● FOSS options– qflow– Coriolis2
![Page 30: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/30.jpg)
How to design your own chip? 302016-08-20
Got Money?
[[use
r:]]
via
Wik
imed
ia C
omm
ons,
CC
BY-S
A
![Page 31: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/31.jpg)
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
![Page 32: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/32.jpg)
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?
![Page 33: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/33.jpg)
How to design your own chip? 332016-08-20
Don't celebrate alone.
Pict
ure
by W
eI-c
hieh
Chi
u (fl
ickr
), CC
BY-
SA
![Page 34: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/34.jpg)
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)
![Page 35: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/35.jpg)
How to design your own chip? 352016-08-20
FOSSi Reality Check 4
The Community Check
![Page 36: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/36.jpg)
How to design your own chip? 362016-08-20
Required ingredients● Let others participate● Build on existing work● Learn, teach and exchange ideas
![Page 37: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/37.jpg)
How to design your own chip? 372016-08-20
How to live together?
phot
o by
Prs
kavk
a (W
ikim
edia
Com
mon
s), p
ublic
dom
ain
![Page 38: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/38.jpg)
How to design your own chip? 382016-08-20
Choose a license● Permissive● Weak Copyleft● Strong Copyleft
![Page 39: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/39.jpg)
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
![Page 40: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/40.jpg)
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?
![Page 41: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/41.jpg)
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)?
![Page 42: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/42.jpg)
How to design your own chip? 422016-08-20
OpenCores.org
phot
o by
And
re G
lech
ikoff
(Flic
kr),
CC B
Y-SA
![Page 43: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/43.jpg)
How to design your own chip? 432016-08-20
Community hub needed● publish your work● find code to re-use● learn, teach, inspire
![Page 44: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/44.jpg)
How to design your own chip? 442016-08-20
Introducing LibreCores
![Page 45: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/45.jpg)
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
![Page 46: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/46.jpg)
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 releasedin October!
![Page 47: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/47.jpg)
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
![Page 48: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/48.jpg)
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
![Page 49: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/49.jpg)
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
![Page 50: How to design your own chip?](https://reader030.fdocuments.in/reader030/viewer/2022020119/587bdf331a28ab834d8b7249/html5/thumbnails/50.jpg)
me
Philipp Wagner
let's talk!
FOSSi Foundation
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.