evolution des circuits soc & fpga -...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Présentation PLD
FIN présentation
Questions
p 37E. Messerli (HES-SO / HEIG-VD / REDS), 2019