+ All Categories
Home > Documents > Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory...

Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory...

Date post: 21-Aug-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
11
2 Integrated Systems Laboratory 1 Department of Electrical, Electronic and Information Engineering The PULP Cores: A Set of Open-Source Ultra-Low- Power RISC-V Cores for Internet-of-Things Applications 29.11.2017 Pasquale Davide Schiavone, Florian Zaruba Davide Rossi, Igor Loi, Antonio Pullini, Francesco Conti, Florian Gasler, Stefan Mach, Giovanni Rovere, Germain Haugou, Manuele Rusci, Alessandro Capotondi, Giuseppe Tagliavini, Daniele Palossi, Andrea Marongiu, Fabio Montagna, Victor Javier Kartsch Morinigo, Simone Benatti, Lei Li, Eric Flamand, Frank K. Gürkaynak, Luca Benini
Transcript
Page 1: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

2Integrated Systems Laboratory

1Department of Electrical, Electronicand Information Engineering

The PULP Cores: A Set of Open-Source Ultra-Low-Power RISC-V Cores for Internet-of-Things Applications

29.11.2017

Pasquale Davide Schiavone, Florian ZarubaDavide Rossi, Igor Loi, Antonio Pullini, Francesco Conti, Florian Gasler,

Stefan Mach, Giovanni Rovere, Germain Haugou, Manuele Rusci,

Alessandro Capotondi, Giuseppe Tagliavini, Daniele Palossi, Andrea

Marongiu, Fabio Montagna, Victor Javier Kartsch Morinigo, Simone

Benatti, Lei Li, Eric Flamand, Frank K. Gürkaynak, Luca Benini

Page 2: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

||

Energy Efficient HW

Battery + Harvesting poweredà a few mW power envelope

Long range, low BW

Short range, medium BW

Low rate (periodic) data

SW update, commands

Transmit

Idle: ~1µWActive: ~ 50mW

Analyze and Classify

µController

IOs

Sense

100 µW÷ 2 mW

1 ÷ 10 mW

MEMS IMU

MEMS Microphone

ULP Imager

EMG/ECG/EIT

07.12.17Davide Schiavone 2

Page 3: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

||

RISC-V cores under development

07.12.17Davide Schiavone 3

§ Zero-riscy§ RV32IMC

§ Micro-riscy§ RV32EC

§ Ariane§ RV64IMC

§ RI5CY§ RV32IMCX

§ SIMD§ HWloops§ Bit

manipulation§ Fixedpoint

§ RI5CY+FPU§ RV32IMFCX

Low Cost Core

Linux capable Core

CorewithDSPenhancements

Floating-pointcapableCore

32bit 64bit

Page 4: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

||

RISCY Core for Energy Efficient Data-Computation

4

• 4-stage pipeline– RV32IM[F]C– 40.7 – 69.3 kGE– 30 logic levels of critical path– Coremark/MHz 3.19

• Includes various extensions– pSIMD– Fixed point– Bit manipulations– HW loops

• Working Chips in:– UMC65– GF28

• Versions taped out in:– TSMC40LP

• Tape out soon:– GF22 FDX

§ DifferentOptions:§ FPU:IEEE754singleprecision

§ IterativeDIV/SQRT(7cycles)§ PipelineMAC,MUL,ADD,SUB,Cast§ Singlecycleload,store,min,max,cmp etc

§ Privilegesupport:§ SupportsubsetofprivilegemodeM andU

https://github.com/pulp-platform/riscv07.12.17Davide Schiavone

Page 5: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

||

RISCY – ISA Extensions improve performance

5

for (i = 0; i < 100; i++) d[i] = a[i] + b[i];

mv x5, 0mv x4, 100Lstart:

lb x2, 0(x10)lb x3, 0(x11)addi x10,x10, 1addi x11,x11, 1add x2, x3, x2sb x2, 0(x12)addi x4, x4, -1addi x12,x12, 1

bne x4, x5, Lstart

Baseline

11 cycles/output

mv x5, 0mv x4, 100Lstart:

lb x2, 0(x10!)lb x3, 0(x11!)addi x4, x4, -1add x2, x3, x2sb x2, 0(x12!)

bne x4, x5, Lstart

Auto-incr load/store

8 cycles/output

lp.setupi 100, Lendlb x2, 0(x10!)lb x3, 0(x11!)add x2, x3, x2

Lend: sb x2, 0(x12!)

HWLoop

5 cycles/output

lp.setupi 25, Lendlw x2, 0(x10!)lw x3, 0(x11!)pv.add.b x2, x3, x2

Lend: sw x2, 0(x12!)

Packed-SIMD

1,25 cycles/output

Small Power and Area overhead à Energy reduction in NT >3x07.12.17Davide Schiavone

Page 6: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

||

Zero-riscy Core for Energy Efficient Control-Tasks

6

• 2-stage pipeline– RV32{I,E}[M]C– 11.6 – 18.9 kGE– 30 logic levels of critical

path– Coremark/MHz

• RV32IMC 2.44• RV32EC 0.91

– Optimized for area• High resource sharing• 3/4 cycles mul• 1bit iterative divider

• Versions taped out in:– UMC65– TSMC40LP

§ DifferentOptions:§ Zero-riscy:

§ 32GPregisters,HWmultiplieranddivision

§ Micro-riscy:§ 16GPregisters,noHWresourcesfor

multiplicationsanddivisions

https://github.com/pulp-platform/zero-riscy07.12.17Davide Schiavone

Page 7: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

||

Ariane Core for Linux

7

• 6-stage pipeline– RV64IMC– 185 kGE– OoO execution– In-order Commit– M, S and U privilege modes– TLB– Tightly integrated D$ and I$– Hardware PTW– Branch Prediction– Scoreboarding– Coremark/MHz 2.01

• Optimized for speed

SOON OPEN-SOURCE

• Synthesized for 1.5 [email protected], SSG corner in GF22 FDX

07.12.17Davide Schiavone

Page 8: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

|| 07.12.17Davide Schiavone 8

Virtual platform implementation:• C++ + Python• Any ISS can be integrated (or1ksim,

gdb simulator, riscv on-going)Timing model:

• Fully-event based• Includes timing models for

interconnects, DMACs, memories…Simulation performance:

• Around 1MIPS simulation speed• Functionally aligned with HW• Timing accuracy is within 10-20% of target

HW

Rich SW tools

Profiling with KCachegrind:• Supports PC traces from

RTL and VP• Several events can be

catched (PC, cycles, I$ miss, stalls…)

Debug with GDB:• Supports RTL and virtual platform• Uses a bridge to inject JTAG requests

Page 9: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

||

Recent effort in Core Verification

9

• Constrained Pseudo-Random Test in a perturbated environment (random interrupts, stalls)

• The uGP program generator tires to maximize the code coverage • IIS and the RTL model receive the same random program and have to

produce the same output

Genetic PG

program.S

Code C

overage

Data StallsInstruction StallsInterrupt Req

==PASS/FAIL

.XML

Constraints

Golden Model

ETH-IIS

DUTRTL

Simulation

.S

07.12.17Davide Schiavone

Page 10: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

|| 07.12.17Davide Schiavone 10

PULP/PULPino Users

+ Several Universities

Page 11: Wed0924 PULP Cores A Set of Open-Source ULP RISC-V Cores ... · 2Integrated Systems Laboratory 1Department of Electrical, Electronic and Information Engineering The PULP Cores: A

||

PULP Platform: new controller

PULPissimo CLUSTER TIGHTLYCOUPLEDDATAMEMORY

DataMem

DataMem

DataMem

DataMem

DataMem

DataMem

DataMem

DMA

Event

DataMem

Timer

MMU Perip

heralInt.

ClusterB

us

LogarithmicInterconnect

SharedInstructionCache

RI5CYCORE

RI5CYCORE

RI5CYCORE

RI5CYCORE

SharedFPU

RI5CYCORE

RI5CYCORE

RI5CYCORE

RI5CYCORE

SharedFPU

PeripheralInt.

CLK

TIMER

POWER

DEBU

G

SPIM

CAMIF

I2C

UART

HYPER

µDMA

DEBUG

ROML2Bank

LogarithmicInterconnect

L2Bank

Zero-riscyEvent

APBBu

sPWM

GPIO

RELEASEQ12018

à New Int-Controller

à uDMA for efficient peripheral data transfer

à RISCY or Zero-Riscy

à New SDK

à Tape out soon:– GF22

07.12.17 11Davide Schiavone


Recommended