soc
TRANSCRIPT
Dr. Mohamed-Wassim YOUSSEF Dr. Mohamed-Wassim YOUSSEF © 2009© 2009[www.wassimyoussef.info][www.wassimyoussef.info]
Système sur Puce (SoC)Système sur Puce (SoC)Licence appliquée SYSTÈMES EMBARQUES – ISILicence appliquée SYSTÈMES EMBARQUES – ISI
Chapitre 2
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
2
Cibles matérielles FPGA, ASIC
Cibles matérielles FPGA, ASIC
Cibles logicielles
MPU, MCU, DSP, ASIP
Cibles logicielles
MPU, MCU, DSP, ASIP
Cibles mixtes
SoC, SoPC, RSoC
Contraintes de conception/réalisat
ion
Qualité de serviceSurfaceConsommationSécurité de fonctionnementTTMPrix…….
Flot etOutils de
conception
Spécification d’une application
Réalisation de l’application
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
FPGA / ASIC Le choix entre FPGA ou ASIC, se fait en fonction du
cahier des charges de l’application : temps de mise sur le marché et durée de vie courte =>
FPGA très petit nombre de circuits => FPGA optimisation des performances => ASIC grande série => ASIC
3
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
4
PLD
ASIC
ASIC
Circuits
sur mesure
Circuits
précaractérisés
Circuits
prédiffusés
Circuits
configurables
SEMI-CUSTOMCUSTOM
FPGA CPLD PALSea of gate
Gate array
Standard
cell
Full Custom
ASIC : Application Specific Integrated Circuit
FPGA : Field Programmable Gate Array
CPLD : Complex Programmable Logic Device
PAL : Programmable Array Logic
GAL : Generic Array Logic = PAL
SRAM : Static Random Acess Memory
AntifuseSRAM
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
5
Réseau de routage :
• lignes horizontales
• lignes verticales
Élément configurable :
• élément logique
• élément de mémorisation
• élément arithmétique
• entrée/sortie
EC
Matrice de connexions
MCBloc de connexions
BC
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
6
Élément Hiérarchique de niveau 1
Élément Hiérarchique de niveau 2
Réseau de routage de niveau 1
Réseau de routage deniveau 2
Élément Hiérarchique de niveau 3• éléments logiques• éléments de mémorisation• ...
Réseau de routage de niveau 3
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
7
Ce sont de petits éléments de mémorisation, qui reflètent la table de vérité d’une fonction logique.
SRAM
SRAM
SRAM
SRAM
SRAM
SRAM
In 0
In 1
In 2
In 3
Out
Out
In 0In 1
In 3In 2
LUT 4
LUT = Table de scrutation
LUT 4 entrées = RAM 2octets
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Performances : utilisation d'architectures optimales : Pipeline opérations câblées, en mémoire (FPGA)
Taille des opérandes optimales
Protection industrielle
Outils de conception puissants:Langages HDLBibliothèques de macro-fonctions paramétrablescompilation (synthèse logique + placement routage)
Src: Nadia Khouja
8
9
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Plan
Rappel Programmation et configuration d’un
FPGA Soft core vs Hard core Cibles mixtes SoC/ SoPC /rSoC Flot de conception d’un SoC / codesign
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
10ENTREE
(schéma et/ou fichier VHDL)
SIMULATION FONCTIONNELLE
SYNTHESE LOGIQUE
SIMULATION FONCTIONNELLE
PLACEMENT
ROUTAGE
SIMULATION TEMPORELLE
CONFIGURATIONET TESTS OPERATIONNELS
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
On peut trouver couramment 3 types de configuration :
La configuration simple contexte (la plus utilisée)
La configuration partielle simple contexte
La configuration partielle multi-contextes (la plus prometteuse)
11
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
12
1 matrice de configuration SRAM
(méthode de scan-path)FPGA
Le FPGA est reconfiguré entièrement
C’est le type de configuration la plus utilisée
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
13
FPGA
Décodeur ligne
Décodeur colonne
Le FPGA est reconfiguré partiellement,
on peut ne modifier qu’une partie de la configuration
1 matrice de configuration SRAM
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
14
Le FPGA est reconfiguré partiellement,
on peut rapidement passer d’un contexte à un autre
4 matrices de configuration SRAM
Décodeur ligne
Décodeur colonneDécodeur
contexte
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
On rencontre couramment 6 techniques de configuration :
• Master mode série ou parallèle
• Slave mode série ou parallèle
• Peripheral mode série ou parallèle
La sélection de la technique de configuration se fait grâce à des bits de configuration du FPGA
Dans tous les cas la configuration se fait via un fichier de configuration binaire : le Bitstream
Les entrées sorties utilisées pendant la configuration sont aussi des I/O du circuits utilisables en fonctionnement
15
L’envois des données peut se faire en série ou en parallèle
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
16
Dans ce cas le FPGA est maître de sa configuration
FPGAEPROM
Data
CLKCLK
OE
Data-in
CTRL
MODE SERIE
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
17
Dans ce cas le FPGA est maître de sa configuration
FPGAEPROM
Data(7:0)
ADD (11:0)ADD (11:0)
OE
Data-in(7:0)
CTRL
MODE PARALLELE
8 bits
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
18
Dans ce cas le FPGA est esclave, il subit sa configuration
FPGAEPROM
Data
CLK
OE
Data-in
Autre FPGA
circuit logique de contrôle
ou câble de configuration
CLK
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
19
Le FPGA est vue comme un périphérique du microprocesseur
FPGAµP
Data(7:0)
Chip_SelecADD (11:0)
CTRL
Data-in(7:0)
CTRL
8 bits
Le microprocesseur peut être un cœur de processeur
embarqué dans le circuit
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
20
Hard Logic
FPGA
ARM-Based Processor
Serial / ParallelFPGA
Configurator
SRAM
JTAGLink
FPGAConfig-uration
Port
FPGA Array
Processor
ConfigurationUnit
Configuration centrée sur le FPGA
Le FPGA est esclave pour sa configuration
mais il est maître de la configuration du processeur
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
21
FPGA
Processor
ARM--Based Processor
ConfigurationUnit
EB
I16 or 8-Bit
FlashMemory
JTAGLink
SRAM
Hard Logic
Configuration centrée sur le Processeur
Le processeur est maître de la configuration du FPGA
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Les outils de CAO sont les points faibles de ces circuits. Si un circuit est très performant il ne se vendra pas si les outils qui lui sont associés ne sont pas performants !
Chez Xilinx 50% des ingénieurs de R&D se consacre à ces outils !
22
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
23
Tous les fabricants de FPGA proposent des outils de CAO, passage obligé pour configurer leurs circuits
pour Xilinx c’est ISE - Foundation
pour Altera c’est Quartus ou MAX + II
Avec ces outils on peut réaliser tout le flot de conception de la synthèse à la configuration. Pour certaines phases du flot ces outils font en fait appel à d’autres outils
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
24
Flot FPGA
Synthèse
Simulation
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
25
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Plan
Rappel
Programmation et configuration d’un FPGA
Soft core vs Hard core
Cibles mixtes SoC/ SoPC /rSoC
Flot de conception d’un SoC / codesign
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Soft core Un processeur softcore est un processeur implémenté sur un
système reprogrammable comme un FPGA. On parle alors de système sur puce programmable (System on Programmable Chip ou SoPC).
Architecture très flexible de par sa nature, une implémentation softcore peut être reconfigurée en tout temps.
Toutefois, ses performances sont inférieures à celles d'un processeur hardcore
Exemples: ▪ Propriétaires : MicroBlaze, PicoBlaze (Xilinx), NIOS , NIOS II (Altera)▪ Open source : LEON (Gaisler Research) OpenRISC (OpenCores.org),
OpenSPARC T1 (Sun), S1
Hard core Le cœur d’u processeur hardcore dispose de sa propre puce
qui ne peut être modifiée
26
Src: Wikipedia.com
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
27
Aujourd’hui les systèmes numériques font de plus en plus appel conjointement à des ressources logicielles micro-programmées (µP, µC, DSP) et des ressources matérielles re-configurables (FPGA)
D’où l’idée de mettre sur un même puce un cœur de microprocesseur et un cœur de logique configurable, les deux étant optimisés technologiquement
Le cœur de processeur peut prendre environ 10% de la surface totale de la puce
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Src: Nadia Khouja
28
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
29
Altera propose le circuit Excalibur contenant :
• une partie configurable :
type APEX 20K1000
• un cœur de processeur :
ARM9 (32 Bits) à 200MHz
8 K octets de cache Instructions
8 K octets de cache Données
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Matrice FPGA
Cœur ARM 922T
RAM simple portRAM double port
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
30
PLL
Timer
UART
InterruptControllerWatchdog
Timer
JTAG
128 Kbytes SRAM64 Kbytes DPRAM
32 Kbytes SRAM16 Kbytes DPRAM
256 Kbytes SRAM128 Kbytes DPRAM
Coeur de processeur
FPGA
DPRAM
XA1
XA4
XA10
TraceModule
ARM922T
SRAM SRAM SRAM
DPRAM DPRAM
ExternalMemory
InterfacesProcessor & Interfaces
I-CACHE D-CACHE
ARM 8K Bytes 8K Byte
LEs 4160
ESB Bytes 6.5K
LEs 16400
ESB Bytes 26K
LEs 38400
ESB Bytes 40K
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Xilinx propose aussi une version de son circuit Virtex II avec un cœur de processeur
le Virtex II-Pro comprenant : Un cœur Power-PC (RISC 32 bits) 125MHz Une matrice VIRTEX avec capacité de 900 mille portes
31
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Exemple Xilinx VirtexII Pro (XC2VP) une matrice configurable 1 500 000 de portes De 216 Kbits à 8 Mbits de
mémoires De 204 à 1164 I/Os 1, 2 (ou 4) cœurs de processeurPowerPC 405 (32 Bits) à400MHz
16 K octets de cache instructions
16 K octets de cache données Prix
~ 1 500 $ max
Src: Nadia Khouja
32
Notion de System on Programmable Chip
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
33
Src: Wikipedia.com
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Système sur puce reprogrammable en français
Un système complet embarqué sur une puce reprogrammable de type FPGA Un ou plusieurs processeurs softcores, Mémoire (data / code), Périphériques d'interface, Tout autre composant nécessaire à la réalisation de la
fonction attendue
34
Src: Wikipedia.com
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
35
Technique héritière direct des SOC : System On Chip
Différentes notations :
• SORC (Xilinx) : System On a Reconfigurable Chip
• SOPC (Altera) : System On a Programmable Chip
• CSOC : Configurable System On Chip
• rSOC : Reconfigurable System On Chip
L’utilisation des techniques de CoDesign est inévitable !
L’engouement pour les SORC est certain vue le nombre de cœur de processeurs (IP ou câblés) présents sur le marché
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
36
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Plan
Rappel
Programmation et configuration d’un FPGA
Soft core vs Hard core
Cibles mixtes SoC/ SoPC /rSoC
Flot de conception d’un SoC / codesign
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
38
1 Synthèse Système
2 Synthèse Architecturale
3 Synthèse RTL
4 Synthèse Logique
Domaine comportemental Domaine structurel
Domaine physique
SystèmeAlgorithme
Transfert de registresLogique
Fonction de transfert
Processeur, ASIC, ASIP, FPGA, etc.UAL, RAM, etc.
Portes, bascules, etc.Transistor
Partitions pysiques
Plan de masse
Dessin des modules
Dessin des cellules
Dessin des transistors
(1) Synthèse système
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
39
Action 1
Action 3
HDL (Hard Description Language)State Charts•••
ALU RAMNiveau Architectural
D Q
Spécification fonctionnelle de l’ASIC
HDLSchémaDiagramme d’états
Niveau FonctionnelAction 2
Niveau LogiqueHDLSchéma / NetlistEquation logique
Niveau Electrique et Physique
Modèle électriqueEquation différentielleModèle physique
Control
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Définition : Les méthodes de CoDesign sont des méthodes de développement simultané (de manière concurrente) des parties HW et SW (spécification, design, vérification)
SW = microprocesseur HW = FPGA ou ASIC
Buts :• Gérer au mieux l’hétérogénéité de la nature des fonctions
qui composent le système (du logiciel à l’architecture reconfigurable)
• Comparer les différents choix de partitionnement• Définir les interfaces entre le SW et le HW• Valider le système complet (co-vérification et co-
simulation)
40
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
41
SPECIFICATION HAUT NIVEAU DE L’APPLICATION
ESTIMATION SYSTEME
ESTIMATION LOGICIELLE ESTIMATION MATERIELLE
PARTITIONNEMENT
SYNTHESE LOGICIELLE SYNTHESE MATERIELLESYNTHESE INTERFACE
COSIMULATION
IMPLEMENTATIONHW et SW
TESTS
ordonnancement de l’applicationproposition de candidats HW et SW
Choix des réalisation HW ou SW
Retour d’expérience
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Estimation et Partitionnement
Synthèse
Implémentation
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
43
Technique héritière direct des SOC : System On Chip
Différentes notations :
• SORC (Xilinx) : System On a Reconfigurable Chip
• SOPC (Altera) : System On a Programmable Chip
• CSOC : Configurable System On Chip
• rSOC : Reconfigurable System On Chip
L’utilisation des techniques de CoDesign est inévitable !
L’engouement pour les SORC est certain vue le nombre de cœur de processeurs (IP ou câblés) présents sur le marché
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
44
Et plus encore !
ADPCM (u-law, a-law)
ATM Controller
CRC
Ethernet MAC (10/100/Gigabit)
HDLC Protocol Core
IMA Controller
SONET/SDH Framer
T3/E3 Framer
Packet Over SONET Processor
Telephony Tone Generator
Utopia Master & Slave
POS-PHY Interface
PCI Target
PCI Master-Target
PCI-X
CAN Bus
IIC Master & Slave
IEEE 1394
PowerPC Bus Arbiter
PowerPC Bus Master
PowerPC Bus Slave
USB Function Controller
USB Host Controller
Color Space Converter
Correlator
Digital Modulator
Discrete Cosine Transform
Fast Fourier Transform
FIR Compiler
IIR Filter
Image Processing Library
NCO
Reed Solomon Encoder/Decoder
Interleaver/Deinterleaver
Viterbi Decoder
Turbo Decoder
NiosTM Processor
Tensilica X-tensa Processor
PalmChip Bus
SDRAM Controller
DDR-SDRAM Controller
QDR-SDRAM Controller
8237 DMA Controller
8255 Peripheral Interface
8259 Interrupt Controller
8254 Timer/Counter
8051, 6502, Z80
Communications Bus InterfaceDigital Signal Processing
Processor,Peripheral
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Notion de IP reuse
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
45
NIOS : cœur de processeur RISC générique optimisé
Caractéristiques :
• données sur 16 ou 32 bits
• 128, 256 ou 512 registres
• registres à décalage rapide ( 1, 3, 7, 15 ou 31 bits/clock)
• possibilités de lui adjoindre des périphériques (UART, RAM, ROM)
APEX EP20K200E
Ici le reste de votre système
FLASH
SRAM
SerialPort
Timer
IRQ
UART
12% d’unEP20K200E
PBM CPU
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
46
Performance(MIPs)
20
50
100
200 ARMCore
OtherCores(Future)
0 Soft Core Hard Cores
CoreCore
PERFRORMANT
FLEXIBLE
IP ALTERA
Ref: Architecture, Conception et Utilisation des FPGA, Lilian BOSSUET, Bretagne Sud
Dr. Mohamed Wassim Youssef – Système sur Puce (SoC) L2SE - ISI 2009
Programmation et configuration d’un FPGA Flot de conception Différentes techniques de programmation
Soft core vs Hard core
Cibles mixtes SoC/ SoPC /rSoC
Flot de conception d’un SoC / codesign Etapes d’un flot de co design
Notion d’IP Ré-utilisation d’IP
47