evolution des circuits soc & fpga -...

19
Présentation PLD This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License Evolution des circuits SoC & FPGA Etienne Messerli février 2019 p 1 E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Unité : SOCF Présentation PLD Contenu de la présentation ... Evolution des PLD - SoC Caractéristiques des SoC-FPGA Soft et hard core Caractéristiques soft core Nios-II p 2 E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Upload: others

Post on 15-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License

Evolution des circuits SoC & FPGA

Etienne Messerli

février 2019

p 1E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Unité : SOCF

Présentation PLD

Contenu de la présentation ...

Evolution des PLD - SoC Caractéristiques des SoC-FPGA

▪ Soft et hard core

Caractéristiques soft core Nios-II

p 2E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Page 2: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Histoire des FPGA - SoC

Premier CPU + FPGA en 1998▪ Motorola: famille Core+

• processeur ColdFire 5206 (32bits, 54MHz)

• FPGA de 22’000 gates (env 1’000 LEs)

p 3E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Revue:Electronique no 82

Juin 1998

Présentation PLD

Histoire des FPGA - SoC

Années 2000: émergence des SoC▪ Altera Excalibur 2001

• hard core ARM922T (32bits, 200MHz)

• soft core Nios (16bits), Nios-II (32bits)

▪ Xilinx Virtex-II 2001/2002• hard core PowerPC (32bits, 300MHz), jusqu’à 4

• soft core MicroBlaze (32bits)

• Virtex-II: transceiver à 3,125Gbits/sec

▪ Lattice• soft core LatticeMico32 (2006)

p 4E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Page 3: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Histoire des FPGA - SoC

Année 2010: SoC-FPGA ARM▪ Altera SoC-FPGA 2012

• dual core ARM Cortex-A9 900Mhz

▪ Xilinx Zinq 2011• dual core ARM Cortex-A9

Outils performant pour le développement d’applications SoC-FPGA

p 5E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Présentation PLD

Altera Excalibur

Altera Excalibur 2001▪ hard core ARM922T (32bits, 200MHz)

• architecture ARMv4 (8 KB cache for I/D, MMU)

▪ memory: SRAM 256 KB, DP-RAM 128KB

▪ advanced high-performance bus (AHB) 32 bits

▪ components:• Watchdog timer, Interrupt controler, Timer, UART,

▪ External memory

p 6E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Page 4: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Altera Excalibur (hard core SoC)

p 7E. Messerli (HES-SO / HEIG-VD / REDS), 2019

4'160 LEs

16'640 LEs

38'400 LEs source: Altera

Présentation PLD p 8E. Messerli (HES-SO / HEIG-VD / REDS), 2019

External SDRAMup to 512 Mbytes,133-MHz data rate

External DDRup to 256 Mbytes266 MHz data rate

External flash memory up to 32 Mbytes

No standard peripherals ▪ Only UART debug

Altera Excalibur(hard core SoC)

source: Altera

Page 5: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Xilinx Virtex-II PRO

Xilinx Virtex-II 2002• hard core PowerPC (32bits, 300MHz), jusqu’à 4

- CPU: PowerPC 405 core 32-bit Harvard architecture processorwith five stage pipeline

- Instructions/data cache 16 KB each

- Memory Management unit

• Block SelectRAM (BRAM)- 44 blocks of 18 Kb each

- True dual-port RAM

- Fully synchronous

• Multipliers 18x18 bits- up to 444

p 9E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Présentation PLD

Xilinx Virtex-II PRO• Virtex II pro architecture:

p 10E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Configurable logic block (CLB)Input Output Block (IOB)

18 Kb Block RAM

18x18 bit multiplier

2.5 Gbps Rocket I/O transceiver

Digital Clock Manager (DCM)

Processor block

Global and local routing

Page 6: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

PowerPC405 Core

Control Logic

OC

M c

ontr

olle

r

OC

M C

ontr

olle

r

BRAM BRAM

BRAM BRAM

Xilinx Virtex-II PROProcessor Block : CPU core + Interface Logic +

CPU-FPGA interface

p 11E. Messerli (HES-SO / HEIG-VD / REDS), 2019

CPU-FPGA interfaces

Memory

Interface Logic

OCM controller:On-Chip Memory Controller

Présentation PLD

Xilinx Virtex-II PROCoreConnectTM Bus Architecture:

p 12E. Messerli (HES-SO / HEIG-VD / REDS), 2019

CoreConnect is a this high-performance bus architecture implemented on FPGA fabric to interconnect the Processor Block and Xilinx soft IP

CoreConnect architecture provides three buses :• Processor Local Bus (PLB), On-Chip Peripheral Bus (OPB), Device

Control Register (DCR) bus

source: Xilinx

Page 7: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

SoC hard core

Famille Intel-Altera nouvelle génération (2012):

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 13

Famille Processor Nb,r Freq Cache Mem ctrl

Cyclone V ARM Cortex-A9 2 925 MHz 32K/ 512K DDR3

Arria V ARM Cortex-A9 2 1.05 GHz 32K/ 512K DDR3

Arria 10 ARM Cortex-A9 2 1.5 GHz 32K/ 512K DDR4

Stratix 10 ARM Cortex-A53 4 1.5 GHz 32K/ 1M DDR4

Cache L1: instruction cache and data cacheCache L2: shared cache

Présentation PLD

SoC hard core

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 14

Famille Processor Nbr Freq Cache Mem ctrl

Z-7000s ARM Cortex-A9 1 766 MHz 32K/ 512K DDR3

Z-7010à 7020

ARM Cortex-A9 2 866 MHz 32K/ 512K DDR3

Z-7030à 71000

ARM Cortex-A9 2 1 GHz 32K/ 512K DDR3

Famille Xilinx nouvelle génération (2011): Zynq

Cache L1: instruction cache and data cacheCache L2: shared cache

Association avec FPGA:• Z-7000s : Artix-7• Z-7010 à 7020: Artix-7• Z-7030 à 7100: Kintex-7

Page 8: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

New SoC-FPGA architecture

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 15

Présentation PLD

Dia volontairement laissé vide

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 16

Page 9: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Xilinx SoC: Zynq

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 17

Processor Core Complex• DualARM® CortexTM-A9 MPCoreTM with NEONTM

extensions• Single / Double Precision Floating Point support• Up to 800 MHz operation

Integrated Memory Mapped Peripherals• 2x USB 2.0 (OTG) w/DMA• 2x Tri-mode Gigabit Ethernet w/DMA• 2x SD/SDIO w/DMA• 2x UART, 2x CAN, 2.0B, 2x I2C, 2x SPI, 32b GPIO

High BW Memory• Internal

• L1 Cache – 32KB/32kB (per Core)• L2 Cache – 512 KB Unified

• On-Chip Memory of 256 KB• Integrated Memory Controllers (DDR3, DDR2,

LPDDR2, 2xQSPI, NOR, NAND Flash)

AMBA Open Standard Interconnect• High bandwidth interconnect between Processing

System and Programmable Logic• ACP port for enhanced hardware acceleration and

cache coherency for additionnal soft processors

source: Xilinx

Présentation PLD

Xilinx SoC: Zynq

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 18

source: Xilinx

Page 10: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Stratix-10 SoC-FPGA

HPS Block diagram Quad-core ARM Cortex-

A53 Memory Management Unit Cache On-Chip Memory Several Interfaces

Controllers Interconnect to Logic Core

▪ LW HPS-to-FPGA Bridge(LW : Light Weight)

▪ HPS-to-FPGA Bridge▪ FPGA-to-HPS Bridge▪ FPGA-to-HPS SDRAM Bridge

p 19E. Messerli (HES-SO / HEIG-VD / REDS), 2019

source: Altera

Présentation PLD

Dia volontairement laissé vide

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 20

Page 11: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

SoC-FPGA avec soft core

Quelques soft core de vendeur de PLDs:

Altera Nios-II (32bits, Altera)• RISC, bus Avalon

Xilinx MicroBlaze (32 bits, Xilinx)• RISC 3 ou 5 étages de pipeline

Xilinx PicoBlaze (8 bits, Xilinx)

LatticeMico32 (32 bits, Lattice), open source▪ version 8 bits : LatticeMico8

p 21E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Présentation PLD

SoC-FPGA avec soft core

Quelques soft core disponible open source▪ Mico8 (lattice)▪ Mico32 (lattice)▪ LEON (Gaisler Research)▪ LowRISC (Université de Cambridge)▪ OpenRISC (OpenCores.org)▪ RISC-V (UC Berkeley)

• semble intéressant?

Très nombreux soft core, voir:▪ https://en.wikipedia.org/wiki/Soft_microprocessor

p 22E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Page 12: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Soft core Nios-II

Altera Nios-II (32bits)▪ Trois versions: /e economy, /s standard, /f fast

▪ Memory management unit (MMU)▪ External vectored interrupt controller▪ Instruction and data caches (512 to 64 KB)▪ Access to up to 4 GB of external address space▪ Optional tightly-coupled memory for instructions and

data▪ one to six-stage pipeline to achieve maximum MIPS ▪ Single-cycle hardware multiply and barrel shifter▪ Hardware divide option

p 23E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Présentation PLD

Soft core Nios-II

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 24

Schéma bloc :source: Altera

Page 13: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Soft core Nios-II

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 25

Exemple d’architecture SoC - Nios-II

System Interconnect Fabric: basé sur bus Avalon source: Altera

Présentation PLD p 26E. Messerli (HES-SO / HEIG-VD / REDS), 2019 source: Altera

Page 14: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD p 27E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Soft core Nios-II

source: Altera

Présentation PLD

Soft core Nios-II

Performance selon la famille de FPGA

p 28E. Messerli (HES-SO / HEIG-VD / REDS), 2019

source: Altera

Page 15: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD p 29E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Soft core Nios-II Qsys: instanciation et configuration IP " Nios-II"

source: Altera

Présentation PLD

Soft core Nios-II

p 30E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Qsys: instanciation et configuration IP " Nios-II"source: Altera

Page 16: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Système SoC avec Nios-II

p 31E. Messerli (HES-SO / HEIG-VD / REDS), 2019

Vue projetdans Qsys

source: Altera

Présentation PLD

Comparaison soft/hard core

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 32

source: Altera

Page 17: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Comparaison soft/hard core

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 33

source: Altera

Présentation PLD

Dia volontairement laissé vide

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 34

Page 18: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

Choix SoC-FPGA avec hard core

Variantes d’architecture classiques :▪ Microcontrôleur + circuit FPGA

• Deux boitiers, encombrement sur la carte• Choix séparé uC et FPGA• Un seul bus entre uC et FPGA: faible débit!• Exemple REPTAR

▪ Microcontrôleur seul• Pas de matériel configurable• Bon marché

▪ ASIC contenant un processeur• Haute performance• Pas de modification possible

E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 35

Présentation PLD

Choix SoC-FPGA

Variantes d’architecture SoC-FPGA (un seul chip) :▪ Version soft core:

• Performance moyenne du CPU• Périphériques en soft core• Grand choix de la cible FPGA• Meilleure marché

▪ Version hard core:• HPS correspond à un microcontrôleur complet

- Dispose de nombreux périphériques courants

• Diminution de la consommation• Grand débit entre CPU et FPGA

- Multiples bus / master CPU ou FPGA

• Choix limité taille FPGA (en évolution)E. Messerli (HES-SO / HEIG-VD / REDS), 2019 p 36

Page 19: Evolution des circuits SoC & FPGA - HEIG-VDreds.heig-vd.ch/share/cours/SoCF/P01b_SOCF_Present_SoCF.pdf · 2019-02-14 · Altera E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Présentation

Présentation PLD

FIN présentation

Questions

p 37E. Messerli (HES-SO / HEIG-VD / REDS), 2019