16
SISTEMI EMBEDDED Embedded Systems SOPC Design Flow Federico Baronti Last version: 20160229

01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

SISTEMIEMBEDDED

EmbeddedSystemsSOPCDesignFlow

FedericoBaronti Lastversion:20160229

Page 2: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

Definition(s)ofEmbeddedSystems• Systemswithembeddedprocessors

– Hamblen,Hall,Furman,“Rapid PrototypingOf DigitalSystems,”Springer2008

• Oneormorecomputersareusedascomponents– Ashenden,“DigitalDesign:AnEmbeddedSystemsApproach

UsingVerilog,” Elsevier 2008• Aphysicalsystemthatemployscomputercontrolfora

specificpurpose,ratherthanforgeneral-purposecomputation– Hamacher,Vranesic,Zaky,Manjikian,“ComputerOrganization

AndEmbeddedSystems,”McGrawHill2012• Devicethatincludesaprogrammablecomputerbutisnot

itselfintendedtobeageneral-purposecomputer– Wolf,“PrinciplesofEmbeddedComputingSystemDesign,”

Elsevier 2008

Page 3: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

EmbeddedSystems(1)

• Noteasytofindaprecisedefinition.Butwecanidentifysomeprominentfeatures:– Containacomputerwhichisnot general-purpose– Arepartofalargerdevice/equipment/plantthattheycontrol

– Areapplication-specificandsinglefunctioned;functionsarea-prioriknownandexecutedrepeatedly

– Needtobeoptimizedforcost,size,energyconsumption,…

– MayhaveRealtimeandsafetyrequirements– Typicallyhaveminimaluserinterface

Page 4: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

EmbeddedSystems(2)

• Areverypervasiveinourdailylife:– Householdappliances,cars(ABS,EPS,…),ATMs,printers,scanners,cameras,videogames,TVs,smartwatches,alarmsystems,“smartphones”,“tablets”,…

• Everyyearbillionofnewembeddedcomputers– 100embeddedcomputerseveryonegeneral-purposecomputer

Page 5: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

ApplicationExamples(1)

Page 6: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

ApplicationExamples(2)

MicrowaveOven Camera

Page 7: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

EmbeddedSystemBlockDiagram

EmbeddedSystem

Processor

Device/Equipmenttobecontrolled

Memory

Peripherals

EmbeddedComputer

Actuator

Actuator

Indicator

DRIVER

SENSO

RCO

NDITIONING

Sensor

Sensor

Sensor

Page 8: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

Anembeddedsystem isacomputersystemthatisnot general-purposelikeapersonalcomputer

Mainbuildingblocks:

• Processor(s)• Memories:FLASH,EEPROM,SRAM,SDRAM,DDRAM

• Peripherals:GPIO,Timer/Counter,PWM,Communicationinterfaces(SPI,I2C,CAN,…),A/D,D/A,…

• …• anddefinitelysome“specific”SOFTWARE

Processor

Memory

Input Output

Page 9: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

Anembeddedsystem isacomputersystemthatisnot general-purposelikeapersonalcomputer

• Developmentcost(Non-RecurringEngineeringcost)

• Productioncost• Powerconsumption• Physicalsize

• Theirrelativeimportancevariesfromoneembeddedsystemtoanother

Maindesignconstraints:

Page 10: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

Anembeddedsystem isacomputer systemthatisnot general-purposelikeapersonalcomputer

ASIC COTS

SOC

Hardwaredesignoptions:

DiscreteµCs,DSPs

FPGA

SOCFPGA

Designlogic,mem.andproc.

FPGAwithmem.and

hard-coreproc.

DesignlogicDesignlogic

Configuremem.andsoft-coreproc.

SOPCSOPC(SystemOnaProgrammable Chip)

SoCalternatives:MCP,PoP,SiP

MCP:MultiChipPackagePoP:PackageonPackageSiP:SysteminaPackage

(Commercial-off-the-shelf)

SOC:SystemonaChip

Page 11: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

System-on-Programmable-Chip

• Configuresoft-coreprocessor:– Coreconfiguration• Coreversion(E.g.economy,standard,fastforAlteraNios II)• Instruction/DataCache,PipelineStages,JTAGDebugModules,CustomInstructions,etc.

– Peripheralconfiguration(whatandwhere)• Peripheralselection

– StandardperipheralsfromAlteraandthird-partyvendors:GPIOs,Timers,SerialCommunicationInterfaces,MemoryInterfaces,etc.

– Customperipherals• Addressmapping

Page 12: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

SOPCDesignFlow

J.O.Hamblenetal.“RapidPrototypingofDigitalSystems– SOPCEdition”,Springer, 2008

Page 13: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

Altera’s CAD tools• LogicDesign:Quartus II– Nios IIConfigurationandComputer integration:Qsys– Qsys generatestheHDLdescriptionoftheComputer

• LogicSimulation:ModelSim-Altera• SoftwareDevelopment:Nios IIEmbeddedDesignSuite(EDS)– Eclipse

• DE2:Development&Educationboard– CycloneIIEP2C35F672C6(33216LE;105M4K)

NiosII/e NiosII/s NiosII/f

#LE 600-700 1200-1400 1400-1800

#M4K 2 2+cache 3+cache

Nios IIversions:economystandardfast

Page 14: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

Nios IIHW/SWDesignFlow

Page 15: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

Nios IISBTDesignFlow• Creatingaproject– Nios IIApplicationandBSPfromTemplate

• Targethardwareinformation(.sopcinfo,CPU)• Projecttemplate• BoardSupportPackage(BSP)

• Codeediting(.c,.h)• BuildingtheProject(.elf)• ConfiguringtheFPGA– Quartus IIprogrammer(.sof)

• Running/ Debugging theProjectonNios II– Run/Debugconfigurations

Page 16: 01 SOPC design flow - unipi.it– Ashenden, “Digital Design: An Embedded Systems Approach Using Verilog,” Elsevier2008 • A physical system that employs computer control for a

BoardSupportPackage(BSP)

• Libraryandheaderfiles(e.g.system.h)specifictothetargetprocessor

• Automaticallygeneratedthrough.sopcinfoandCPU

• Hidesmemorymap,availabledevices,deviceimplementationandprocessorconfiguration– Devicedrivers– HardwareAbstractionLayer(HAL)– RTOS:Micrium MicroC/OS-II