2016/11/05: oswdem16 intro

37
µControllers vs FPGAs Jesús Arroyo Torrens #FPGAwars OSHWDem 2016

Upload: jesusarroyotorrens

Post on 16-Jan-2017

59 views

Category:

Software


1 download

TRANSCRIPT

µControllersvsFPGAs

JesúsArroyoTorrens#FPGAwars

OSHWDem2016

1. Introduction

2. OpenSourceToolchains

3. OpenSourceBoards

4. OpenSourceIDEs

1.Introduction

Whatisamicrocontroller?"Asmallcomputeronasingleintegratedcircuit".CreatedbyIntelinthe1970's

Microcontrollerinternals

MicrocontrollerworkflowItexecutesspecificmachinelanguageinstructionsonebyone

FPGAtime!

WhatisanFPGA?"Areconfigurabledigitalintegratedcircuit".CreatedbyXilinxinthe1980's

(GIFcreatedbyJuanGonzález)

FPGAinternalsInterconnectedLogicBlocks,MemoryBlocksandI/Oports

FPGAworkflowThebitstreamdefinesanewrealcircuitintheFPGA

2.OpenSourceToolchains

GNUCCompiler(1987)

Language:CArchitecture:Motorola68000Website:

CreatedbyRMSandtheGNUteam

https://gcc.gnu.org/

GNUCompilerCollection[1987,2016)

Languages:C,C++,Java,Ada,Objective-C,Fortran,Go...Architectures:ARM,AVR,AMD64,IA-32,PIC,Xtensa,RISC-V,...

Newcompilers:Clang/LLVM[2007,2016)/[2003,2016)

GCCflow

AllFPGAtoolchainsareprivative:(...untilnow!:)

IceStorm[2015,2016)

Language:VerilogFPGA:LatticeiCE40Website:

CreatedbyCliffordWolfthroughreverseengineering

http://www.clifford.at/icestorm/

IceStormflow

Morestormscoming

NewYosysfront-ends:VHDL...

NewFPGAssupport:SilegoGreenPack4Xilinx7-SeriesiCE40Ultralite...

3.OpenSourceBoards

OpenHardwareBoard'sschematicsareOpenSource

µController'sschematicsarestillprivative

Arduino[2005,2016)

Languages:C,C++,...Architecture:AtmelAVRSources:https://github.com/arduino

NodeMCU[2014,2016)

Languages:C,C++,Lua,MicroPython,...Architecture:Xtensa(ESP8266)Sources:https://github.com/nodemcu

OpenFPGAsUsablewithOpenSourceTools

FPGA'sschematicsarestillprivative

LatticeDevelopmentKits

FPGA:iCE40familyNosourcesavailable

icoBOARD(2016)

RaspberryPiHATCreatedbyicoTCteamSources:http://icoboard.org

IceZUM(2016)

FPGAboardformakersCreatedbyEladioDelgadoandJuanGonzálezSources:https://github.com/FPGAwars/icezum

4.OpenSourceIDEs

ArduinoIDE[2005,2016)

Writtenin:Java,C,C++Sources:https://www.arduino.cc

Atom[2014,2016)

Writtenin:Javascript,HTMLSources:https://github.com/atom/atom

PlatformIOIDE(2016)

Writtenin:Javascript,HTMLSources:https://github.com/platformio/platformio-atom-ide

OpenFPGAIDEs

ApioIDE(2016)

Writtenin:Javascript,HTMLSources:https://github.com/FPGAwars/apio-ide

Icestudio(2016)

Writtenin:Javascript,HTMLSources:https://github.com/FPGAwars/icestudio

Stackoftools

FPGAwarscommunityAcommunitytoshareknowledgeaboutopenFPGAs

Language:spanishMembers:~200Website:GitHub:

http://FPGAwars.github.iohttps://github.com/FPGAwars

WorldTechnologicalHeritageAllourworkbelongstoeverybodyandispartoftheTechnologicalHeritage

FreeSoftwarereleasedunderGPLOpenHardwarecreatedwithOpenToolsDocumentationreleasedunderCCBY-SA

µControllersvsFPGAs

JesúsArroyoTorrens#FPGAwars

OSHWDem2016