Je m`excuse d`avance pour - Service central d`authentification

publicité
Méthodologies de conception des systèmes sur puce
Méthodologies, applications et perspectives
Olivier Sentieys
IRISA
ENSSAT - Université de Rennes 1
Tronc Commun
De l'algorithme au système sur puce
A la fin du cours vous …
 posséderez des notions générales sur :
• les systèmes sur puce (SoC)
o architecture, principaux composants, bus
o outils de conception système, compilation logicielle
o métriques (performance, énergie, coût)
• les nouvelles architectures des DSP et FPGA
 saurez modéliser un algorithme (signal) par un graphe
• métriques, transformations et optimisation
ISE
Méthodologie de conception
des systèmes intégrés
ENSSAT EII et M2R SISEA/SE
 saurez concevoir un composant ou un processeur spécialisé
depuis l'algorithme (notion de synthèse d’architecture)
 saurez concevoir et optimiser du code sur une architecture
spécialisée
EII3/M2R - 2
Je m’excuse d’avance pour
 les acronymes non définis
• en cas de problème, n’hésitez pas à m’en demander la
définition
 les transparents en anglais
• issus d’un autre cours fait en anglais
• et dont l’intérêt de les traduire me paraît assez faible
 les transparents en franglais
• same as au dessus
 tout le reste
PLAN
1.1. Évolutions technologiques
1.2. Évolution des applications
1.3. Systèmes sur Silicium
1.4. Méthodes de conception des SoC
1.5. Evolution des méthodologies
1.6. Solutions architecturales
1.7 Métriques de comparaison
EII3/M2R - 3
© Olivier Sentieys, ENSSAT-IRISA, 2009
1
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
Silicon Atom
Silicon Technology
1. Évolutions technologiques
5.43 A
(0.5 nm)
 0.35 µm in 1995, 0.25 µm in 1998, 0.18 µm in 2000
 130 nm in 2002, 90 nm in 2004, 65 nm in 2007
 45 nm in 2010 (first chip in 2008)
[ITRS 2009]
• • • • • • • • 11-15 metal levels, wafer 30cm
0.6-0.9 Volts
700 MHz (ASIC) - 9 GHz (on-chip 12 inverters) - 5 GHz (off-chip)
3-4 (MPU), 1 (DRAM) - 4-8 (ASIC) cm2
DRAM: 4Gbits, 4Gbits/cm2, 0.005 $/Mbits
300 (MPU) - 6000 (ASIC) MTr/cm2, 0.05-0.1 $/MTr (MPU)
SRAM: 1500MTr/cm2, 250Mbits/cm2
6000 RISC processors (e.g. ARM7)
 32 nm in 2013 (first chip in 2010)
 11 nm in 2019-2021 and then ?
• Post-Silicon Technologies (nanotechnologies)
EII3/M2R - 6
Silicon in 2012-2015
Technology Scaling
 Power Supply: 0.6-0.8 V
 Technology: 20-28 nm CMOS
 Scaling factor : s
• • • • • • (200 Ang.)
20 GTransistors, wafer 45 cm, 2-4 cm2, 13-17 metal levels
Inverter 2.5 ps, 0.6 Volt
33 GHz (on-chip 12 inverters) - 29 GHz (off-chip)
DRAM 16 GBits at 10ns, 0.006 $/Mbits
SRAM (cache) 1 GBits at 1.5ns
256-bit Bus
• Between two successive generations: s # 0.7
 More than 8500 Person.Month Design Cycle
 Software!
 Mask set is few M$US
EII3/M2R - 7
© Olivier Sentieys, ENSSAT-IRISA, 2009
130 nm
90 nm
65 nm
EII3/M2R - 8
2
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
Technology Evolution
Technology Evolution
 Chip area: x2 every 3 years
 Number of transistor:
 Scaling factor between two successive generations: s
• Logic : x2 every 3 years
• Memory : x4 every 3 years
 Speed:
 Processor performance
• 50% per year
Moore’s Law from last millennium to now
EII3/M2R - 9
 Gate and Interconnect Delay
EII3/M2R - 11
© Olivier Sentieys, ENSSAT-IRISA, 2009
s
Transistor area (W.L)
s2
Capacitance per unit area: Cox
• Logic : x2 every 3 years
• Memory : x4 every 10 years
Technology Evolution
W, L, H, tox (gate, interconnect)
1/s
C=WLCox
s
R=ρL/WH
1/s
Gate Delay (Vdd, Vt scaling)
s
Local Wire Delay (RC)
1
Constant Length (L) Wire Delay
1/s2
EII3/M2R - 10
[ITRS2002]
Power Supply Voltage Evolution
 Power and Substrate Noises
• Vdd scaling → SNR 
EII3/M2R - 12
[© R. Rutenbar, CMU]
3
Méthodologies de conception des systèmes sur puce
Interconnection Length
ENSSAT EII et M2R SISEA/SE
Reducing wire delay
Metal layers to reduce wire delay
in Intel's 65 nm CPUs
– Light Speed: 300µm/ps
– Diagonal : 30 mm (21mm side)
– 100 ps
– 1 clock cycle @ 10GHz
– In real 5-10 clock cycles
EII3/M2R - 13
 Height of wires
 Copper
 Repeaters
[Source : IBM]
[Source: INTEL]
Semiconductor market
 “The global semiconductor
market hit a new record in 2006
with a sales volume of $247.7
billion, up 8.9 percent from
2005”, the Semiconductor
Industry Association (SIA)
reported.
 “Sales growth was largely
driven by consumer products
such as cellphones, MP3
players and HDTV receivers.”
 SIA is forecasting that the
semiconductor market will grow
10 percent to $273.8 billion in
2007.
EII3/M2R - 14
[Source: Intel]
Bénéfices ?
 Aujourd'hui un jeu de masques de fabrication : $2M
• $10 DSP : 20% de bénéfice => 1M de pièces pour générer
du profit
• Exemple : NVIDIA chip [ST] (accélération vidéo)
o 15M gates
o $150M de coût total de conception/fabrication
 FPGA vs ASIC
 235 million units of PC were shipped in 2006,
 but more than 1 billion cellphones…
• Turn point en 0.18u : 15 000 pièces
• Turn point en 90nm : 500k – 1M pièces
• Market is in DSP, MCU and memory
EII3/M2R - 15
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 16
4
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
Ère post PC
2. Évolutions des applications
EII3/M2R - 18
Shannon beats Moore beats Chemists
Evolution des communications
30
6000 MOPS
2.5G
EDGE/GPRS
10km
10m
DECT
100m
GSM
1km
3GPP-LTE
UMTS
3G
4G
Bit/nJ
WiMax
802.16a
Bluetooth
802.11n/b
ZigBee
WLAN
Algorithmic
Complexity
Log Complexity
Mobility
Range
[After Rabaey]
Cellular generations
3G
Processor' Performance
Moore’s Law
2G
802.11g/a
0
ISDN/ADSL
Battery Capacity
ATM, SONET, …
Data Rate
EII3/M2R - 19
10kbs
2Mbs
100Mbs
© Olivier Sentieys, ENSSAT-IRISA, 2009
1G
1982
1992
2002
2012
Time
EII3/M2R - 20
5
Méthodologies de conception des systèmes sur puce
Évolution des applications
ENSSAT EII et M2R SISEA/SE
Terminal 3G (smartphone)
 Télécommunications mobiles de 3ème génération
Graphiques
• Fonctions multimédia
• Mobilité
• Grand public
Em. Radio
Vidéo
Rec. Radio
Voix
Interface
Satellite
Faible
portée
Local Area
EII3/M2R - 21
Grande mobilité
Faible mobilité
Multiplex
MPEG4
MP3/AC3
Internet access
Image
Voice
Multiple
Access
Channel
Coder
TDMA
W-CDMA
Turbo/
Viterbi
Codes
Multiple
Access
Channel
Decoder
• Reconnaissance vocale
• Stylo inertiel
• Cryptage, authentification
Terminal 3G Portable
Graphiques
Voice
 Interfaces
EII3/M2R - 22
Communications sans fil
Source
Coder
Image
• Audio, Vidéo
• Visioconférence
• Jeux 3D
 Mobilité
• UMTS, WLAN, bluetooth, …
2005 : mobilité et durée de
vie des batteries d'un agenda, • Internet (IP)
capacité multimédia d'un PC
Région
Grande
Portée
Large région
 Multimédia
Modulator
Power
Amplifier
Em. Radio
Vidéo
Rec. Radio
Voix
 Traitement
• 6-10 Milliards d’opérations/sec
 Autonomie : 10h
 Poids : 500g (batteries)
Interface
Smart
Antennas
500mW @ 6 GOPS
Demult.
Source
Decoder
EII3/M2R - 23
© Olivier Sentieys, ENSSAT-IRISA, 2009
Demodul.
Equalizer
12 GIPS/W @ 6 GOPS
RF
Filter
Avec les processeurs actuels
30 Kg ou 10 minutes !!!
EII3/M2R - 24
6
Méthodologies de conception des systèmes sur puce
Terminal 3G Nokia 6680
ENSSAT EII et M2R SISEA/SE
Inside the iPhone
 Ensemble de SoC dédiés
 Autonomie ?
Power Amplifier GSM
Power Amplifier WCDMA
RF Rx GSM/WCDMA (Hinku)
RF Tx GSM/WCDMA (Vinku)
Flash
Bluetooth
GSM, Audio, Video (Omap, TI)
Baseband Processing UMTS (RAP3G)
USB, Battery (TAHVO)
Audio, Sim (RETU)
SDRAM
EII3/M2R - 25
EII3/M2R - 26
Objets communicants
Véhicules intelligents
WWW
Services
Monitoring et contrôle
(W)LAN
Identification et sécurité
Température
Réseaux multimédia
Réseaux de données
Wifi, ZigBee, UWB
EII3/M2R - 27
© Olivier Sentieys, ENSSAT-IRISA, 2009
??
Moteur : Gestion du moteur, Boîte de vitesses automatique, Contrôle d’embrayage, 4WD
Châssis : ABS/ASR/DSC, Suspension, 4WS.
Sécurité : Air Bag, Prétensionneur, Système anti-collisions, Croisière.
Sécurité : Alarmes diverses, Fermeture avec ou sans clés
Agrément : Vitres, Sièges, Miroir, Chauffage, ...
Instrumentation : Affichage, Navigation, GPS, Audio, Téléphone, CAN.
EII3/M2R - 28
7
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
Unité de contrôle moteur
Véhicules intelligents
ECU
 Secteur où l’électronique est en hausse
Air Pressure
Air Temp.
• 25% (à 50%) du prix d’une automobile est (sera) du aux
sous systèmes électroniques !
• Prix de l’équipement : $350 (moyenne en Europe) -> $700
en 2000.
• Marché de 1900 M$ en 1995 -> 3300 M$ en 1999.
Sensors
Lambda Sensor
ECU
Throttle
A/D Bank
catalyst
Position
DSP Hw/Sw
Control
Actuation
Injector
 Secteur spécifique
Ignitor
• Volumes importants, bas coûts, haute fiabilité, peu de
maintenance, haute qualité, temps de mise sur le marché
court, contraintes physiques importantes (poids, taille).
EII3/M2R - 29
Engine
Power
Speed
Electronicxs
EII3/M2R - 30
 Computer Related
 Office Equipment
 Communications
• • • • • cellular phone
video phone
fax
modems
PBX
 Consumer Electronics
• • • • • • • HDTV
CD player
video games
video tape recorder
programmable TV
camera
music system
• • • • • smart copier
printer
smart typewriter
calculator
point-of-sale equipment
o credit-card validator
o UPC code reader
o cash register
 Medical Applications
• instruments: EKG, EEG
• scanning
• imaging
EII3/M2R - 31
© Olivier Sentieys, ENSSAT-IRISA, 2009
i
n
e
Actuators
Embedded Systems: Products
personal digital assistant
printer
disc drive
multimedia subsystem
graphics subsystem
graphics terminal
g
• Real Time
• DSP + MCU
Embedded Systems: Products
• • • • • • E
n
 Control Systems
• Automotive
o engine, ignition, brake system
• Manufacturing process control
o robotics
• Remote control
o satellite control
o spacecraft control
• Other mechanical control
o elevator control
EII3/M2R - 32
8
Méthodologies de conception des systèmes sur puce
Conclusions
Wireless, Wireless, Wireless !
ENSSAT EII et M2R SISEA/SE
3. Systèmes sur Silicium
System on Chip
Smart, Low-cost, Small Products
Automotive applications
 Communications : en réseaux, sans fil
 Faible consommation et haute performance
 De plus en plus de fonctionnalités multimédia
 Produits à coût faible : marché grand public
 Produit à la mode, compétitif, de durée de vie courte
 Systèmes "First Time Right" et évolutif
System on Chip
Solutions architecturales
Plateforme matérielle
EII3/M2R - 33
Gran’pa ASIC style
System-on-chip (SoC)
GPP core
IP
 Is this a SoC ?
 Analog
phone
RAM & ROM
ROM
Image
FIR filter circuit
1995
ES2 1µ
24 sqmm
Multiplier
DMA
CDMA
TDMA
RAM
Turbo
Equal.
A
D
digital
down
conv
Analog
EII3/M2R - 35
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 36
book
phone
book
keypad
interf.
control
protocol
• A/D, D/A
• RF, modulation
 µP/µC core
• Control
• User interface
speech
quality
enhancement
image
decoder
voice
recognition
speech
coder
decoder
DSP core
 DSP core
• Slow processing
 IP
 Memory
 On-chip bus
9
Méthodologies de conception des systèmes sur puce
SoC : challenge
ENSSAT EII et M2R SISEA/SE
Architectures dans un SoC
 Cœurs de processeurs programmables du commerce (ISP)
• • • • Processeurs généraux RISC, VLIW
Processeurs de Traitement du Signal (DSP)
Processeurs spécifiques à un domaine d'application (plateforme)
Microcontrôleurs
 Cœurs de processeurs programmables “maison” (ASIP)
[Après Rabaey]
• De type DSP ou µCtrl
 Cœurs de processeurs configurables
 Matériel reconfigurable
• FPGA enfouis, processeur reconfigurable
 Coprocesseurs, accélérateur (ASIC)
 Mémoire
 Bus d'interconnexions
EII3/M2R - 37
Architectures dans un SoC
EII3/M2R - 38
Ex. 1: 2G terminal
 Nombre de cœurs de processeurs dans un SoC
• Gateway : 5
• SetTopBox/HDTV : 68
• Handset (3G) : 10
• Network Processing Unit : >100
 Taille du logiciel embarqué
• SetTopBox/HDTV (STBox) : > 1.106
Old GSM
EII3/M2R - 39
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 40
10
Méthodologies de conception des systèmes sur puce
Ex. 1: 2G terminal
ENSSAT EII et M2R SISEA/SE
Ex. 1: 2G terminal
EII3/M2R - 41
EII3/M2R - 42
Ex. 2: Network Processor IXP1200 Intel
Ex. 3: Set Top Box STb STMicro.
®
6.5M Transistors
 STB Product is one chip solution for :
StrongARM Core
SRAM I/F
IX Bus
PCI
SDRAM I/F
• Dual H264-MPEG2-VC1 HD decoder, Triple TV display
o MPEG2 MP@HL
o ISO/IEC 14496-10/ITU Rec. H.264 Main profile level 4.1
o VC1
• Communications
o 4 external transport streams (and three playbacks/timeshift from
HDD or network)
o 2 MII Ethernet, 3 USB2.0 and 2 SATA ports
o Channel 3/4 mod
o HD digital HDMI, 1 HD analog, 2 SD analog I/F
o 1 Software modem including analog interface
6 Micro-RISC
EII3/M2R - 43
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 44
11
Méthodologies de conception des systèmes sur puce
Ex. 3: Set Top Box STb STMicro.
ENSSAT EII et M2R SISEA/SE
®
®
 Chip information
Flash
>8MBytes
• CMOS065 (65nm) process technology
//ATAPI
 Package:
16
3xUSB
4xTS IN
STB Product description
• PBGA 35x35, 708 + 89 (5 rows 1mm pitch), Lead Free
 Power supply:
1080p
HDMI
AUDIO IN
1080i/720p
1080p
VIDEO
IN
Blue Laser - ODD
VIDEO
OUT
2x16
• System architecture: host is assigning tasks to DSP’s according to
metadata read from stream
• Host CPU is performing playback control only:
SPDIF
2x16
DDR2
256
Mbytes
EII3/M2R - 45
o Total ~5 GMIPS
o 2 DSP’s dedicated to Video, 1 DSP dedicated for audio, 1 spare DSP
AUDIO OUT
Ethernet
Hub
DDR2
256
Mbytes
EII3/M2R - 46
STB Product
DDR2
dsp
dsp
dsp
USB2
DDR2
Host
SATA Codec
Clkgen A
dsp
MTP
HDMI
RFDAC
Clkgen
B
C
Audio
DAC
 Architecture
• Many digital processors dedicated to specific tasks
2xSATA
HDD
• 1V (core supply), 3.3V (digital interface), 2.5V (analogue interface), 1.8V
(DDR2 interface)
VideoDAC
© Olivier Sentieys, ENSSAT-IRISA, 2009
(65nm LP 7ML)
150Mtransistors
886 pads 50µm stag.
566 signals
o navigation, parsing, streaming,…
Block Diagram
Top+5 BE partitions
18 FE subsystems
128 Interrupt sources
73 initiators+96 targets
115 propagated clocks
(19 for interconnect)
Content:
36 soft IPs
2 hard blocks
16 analog IPs
19 IOLIBs
29 internal blocks/glues
140 memory cuts
12
Méthodologies de conception des systèmes sur puce
Host: 500DMIPs
DSP: 4x1000 DMIPs
DMA: 200 MIPs
controller: 100 MIPs
Distributed CPU power
PCM
input
DDR2 memory
256M/512M/
1Gbit
DDR2 memory
256M/512M/
1Gbit
32
Local
Memory
Debug
BTSC/Nicam
encoded for UHF
modulation
x2
Main 1st TV 2nd TV Stereo
SPDIF PCM PCM analogue
audio
out
out
out
Total: 5 Gips
MII/RMII
Main SD +
nd
Main 2 TVSD
Main
Video
HD
TVSD
TMDS Video
RF Video
MII/RMII
32
DCache
500
H-UDI
MMU
DMIPS*!
IntApplication!Timer
Cntllr
Processor! /RTC
Video/ System
Local
DDR2 Memory
Interface
ICache
VLIW!
Dual Audio decoder
2x1000
+ BTSC
encoder
(2
x ST231)
DMIPS*
!
SH4-202
(333MHz)
Dual
Audio
DAC
Ethernet
MAC & MII
2x
Dual DELTA controlle
Mu Video
r!
VLIW!
Decoder
CPXM
2x1000
(including
2 DMIPS*
x ST231)!
Ethernet
MAC & MII
Triple
Graphics
Display
Engine
RISC Based!
Compositor
(BlitterDMA!
+
Subpicture)
200 MIPS!
VHF
DAC
SD/HD
Video
DACs
Flash
Memory
InterfaceDual
(FMI) DENC
HDMI
VHF
¾ mod
Output Stage
BTSC/encoded audio
PCM
ENSSAT EII et M2R SISEA/SE
Core Headline Features
 Host
• • • • • • 16 bit ISA
FMax 450MHz
7 Stage Dual issue Pipeline
32K 2 way I Cache
32K 2 way D Cache
Ten Stage FP Pipe
 DSP
• • • • • 32 bit ISA
FMax 450MHz
6 stage 4 issue pipeline
32K Direct Mapped ICache
32K 4 way Dache
STBus Interconnect
2x!
controlle
r
TSMUX/ !
Stream Merger
4 x TS Input
Or 1394 out
RISC
Programmable
based
Transport
Block
2x!
controlle
3 x USB
r2.0
!
controller!
Desscrambling
2x100engine
MIPS!
Audio
SRC
IR TX/RX MAFE /V92
+
CODEC +
UHF RX x Si DAA i/f
2
2x! 2 x
FDMA
controlle
r!
DiSEqC
2.0
Digital
VCXOs
Parallel
I/O
2x smart
card i/f
USB
Peripherals
2 X
Serial ATA
4x
UART
EMI
NAND FLASH
ECC
//ATAPI
4x
SSC
Comms
Disk Drives
16
EII3/M2R - 50
Quoi de neuf dans un SoC ?
IP : composant virtuel
 Assemblage de composants virtuels
 Pourquoi un IP ?
• IP: Intellectual Properties
• « IP core »
 Partitionnement logiciel - matériel
 Interfaces entre IP
 Vérification
• Comment co-simuler du code C
tournant sur un « processor core »
modélisé en VHDL interfacé via un bus
modélisé en SystemC à un
coprocesseur matériel décrit en VHDL ?
EII3/M2R - 51
© Olivier Sentieys, ENSSAT-IRISA, 2009
• Réutiliser les blocs déjà conçus dans la société
• Acheter des blocs conçus hors de l’entreprise
• Utiliser des générateurs de macro-cellules (eg. mémoire)
 Une réalité et un business pour certains blocs
• Cœur de processeur (DSP, CPU)
• Mémoires
• Périphériques
 IP « Hard » ou « Soft »
IP1
IP3.2
IP2
EII3/M2R - 52
13
Méthodologies de conception des systèmes sur puce
Structure d’un IP
ENSSAT EII et M2R SISEA/SE
Interfaces entre IP
 De nombreux standards de bus
 VSIA : Virtual Socket Interface Alliance
I talk only PCI
• Ensemble de recommandations et normes
Modèle synthétisable
• http://www.vsi.org
I can talk any
PERIPH
Interconnect Bus
A/D
IP
D/A
P=>S
S=>P
µP
RAM
ROM
Paramètres
OK, let’s
talk PCI
Script de synthèse
Modules de test
EII3/M2R - 53
DSP1
DSP2
EII3/M2R - 54
I talk PIbus
and PCI
I talk PCI
and AMBA
I talk PIbus
and PCI
Interfaces entre IP
Plate-forme matérielle
 Approche VCI (Virtual Component Interface) VSIA ou OCP
(Open Communication Protocol)
 Notion de plate-forme matérielle
PERIPH
MEM
ASIC
Wrapper
Wrapper
Wrapper
AMBA
EII3/M2R - 55
CPU
DSP
DMA
OK, let’s
talk VCI
ASIC
Modèle simulable
Documentation et description
Modèles
réutilisables
+ Interfaces
MEM
Wrapper
Wrapper
Wrapper
DSP1
DSP2
CPU
© Olivier Sentieys, ENSSAT-IRISA, 2009
VCI
• {composants} prédéfinis (IP) spécifiques (coprocesseur)
ou programmables (processeur), reconfigurables (FPGA)
• Spécialisation de la plate-forme pour un domaine
d'applications
 Exemples
• TI's OMAP, Philips' Nexperia, Intel's PCA (Personal
Internet Communications Architecture), Infineon'
Bluetooth, Mgold (3G), ...
EII3/M2R - 56
14
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
10 000 000
1 000 000
100 000
Complexité
58% / an
10 000
Outils ?
1 000
100
2009
2007
2005
2003
2001
1997
1995
1993
1991
1989
1987
1985
1983
[SIA 97]
1999
Productivité
21% / an
10
1981
Conception conjointe matériel logiciel
Synthèse matérielle
Synthèse logicielle
K Transistors par puce
Le problème clé en conception
4. Méthodes de conception de
SoC
EII3/M2R - 58
Fossé Système - Silicium
Evolution des méthodologies
Concepteur Système
X(i) = FFT [4λ Y(k)]
•••
Evolution des méthodologies
C, SystemC
Matlab, ....
 Flot de conception continu des spécifications système
à l'implémentation
• Synthèse du logiciel embarqué
Spécification Systèmes
o Optimisation de code (détail en cours option ISE)
???
Anglais
• Synthèse architecturale
o De l'algorithme au circuit (détail en cours option ISE)
• Conception conjointe logicielle et matérielle
Architecture Système
o De l'application au SoC (plateforme) et aux logiciels embarqués
Composants élémentaires
VHDL, ....
• Co-simulation et co-vérification
o SystemC (conférence)
o Vérification (cours Emmanuel Casseau)
Concepteur Circuit
Flot de conception continu depuis les
spécifications systèmes jusqu'à l'implémentation
EII3/M2R - 59
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 60
15
Méthodologies de conception des systèmes sur puce
Exemple : codeur MPEG2
ENSSAT EII et M2R SISEA/SE
Exemple : codeur MPEG2
 Complexité
• DCT: 40 MIPS
• Estimation de mouvement: 500 MIPS
-
DCT
-
Entropy
Coding
Q
Q-1
Q-1
DCT-1
DCT-1
+
Image
Memory
Codeur Vidéo
Motion
Estimation
ASIC
RAM
1
ASIC
2
Processeur
DSP
Processeur
ARM
Motion
Estimation
EII3/M2R - 61
EII3/M2R - 62
Hardware/Software Codesign
Specifications
Software
Hardware
Algorithm i
C code
Algorithm j
DSP
VHDL/C code
RTL/HLS
Hardware
Synthesis
IP
© Olivier Sentieys, ENSSAT-IRISA, 2009
Library
Simulation, Verification
Hardware
Accelerators
Performance Estimation
Programmable
Processors
Codeur Vidéo
Besoins en Codesign
C/C++, Matlab, ...
Hardware / Software
Partitionning
Software
Compilation
EII3/M2R - 63
Entropy
Coding
Q
+
Image
Memory
Constraints
Time
Cost
Power
Test
Reliability
DCT
 Descriptions uniformes d'un système sans a-priori
matériel/logiciel
• Cohérences des descriptions à tous les niveaux
d'abstraction
• SystemC ?
• Preuve d'une spécification de bas niveau, par rapport à la
spécification initiale
 Exploration de différents modèles et découpages H/S
correspondant aux spécifications initiales
• Notion de partitionnement H/S
 Co-simulation et co-vérification
EII3/M2R - 64
16
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
Synthèse architecturale
5. Evolution des méthodologies
 Détail en cours option ISE
ENTITY fir IS!
! PORT (xn:IN INTEGER; yn:OUT INTEGER);!
END fir;!
ARCHITECTURE behavioral OF fir IS!
BEGIN!
! PROCESS!
! !
VARIABLE H,x: !vecteur;!
! !
VARIABLE tmp: !INTEGER;!
! BEGIN!
! !
tmp := xn * H(0);!
! !
FOR i IN 1 TO N-1 LOOP!
! !
!
tmp := tmp + x(i) * H(i);!
! !
END LOOP;!
! !
yn <= tmp;!
! !
FOR i IN N-1 DOWNTO 2 LOOP!
! !
!
x(i) := x(i-1);!
! !
END LOOP;!
! !
x(1) := xn;!
Simulation système
Flot de conception et de vérification
Outils de codesign
 E.g. N2C CoWare
1
2
3
4
5
! !
WAIT FOR cadence;!
! END PROCESS;!
END behavioral;!
EII3/M2R
- 65
Outils de spécification système
e.g. Ptolemy
 Environnement graphique permettant de spécifier
dans plusieurs domaines ou langages
• Ptolemy (UCB)
• Matlab/Simulink (Mathworks)
• SPW (Cadence/CoWare)
• CoCentric System Studio (Synopsys)
 Simulation système
 Génération de code
• Typiquement du C
 Estimation de performances
• Aide au partitionnement
EII3/M2R - 67
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 68
17
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
Flot système général
Flot système général (suite)
 Développement (actuel) d'applications (orientées
signal)
 Développement (actuel) d'applications (signal)
– Matlab/Simulink
– SPW, Ptolemy, CoCentric
Mise au point
de l'algorithme
Algorithme 1
– VCC
Algorithme 1
Code C
– Compilateur C pour DSP
– Simulation assembleur
Implantation
logicielle
Génération manuelle ou automatique
– Compilateur C, debugger
– Utilisation de vecteurs de test
issus de la simulation système
Code C
"flottant"
Génération manuelle
– Compilateur C, debugger
– Utilisation de vecteurs de test
issus de la simulation système
Code C
"fixe"
EII3/M2R - 69
Système d'Exploitation
Temps Réel
– Traduction en VHDL
– Synthèse du circuit
Implantation
Matérielle
Algorithme 2
Code C
– Simulation VHDL
Algorithme N
Code C
EII3/M2R - 70
Flot système : Matlab/C
Raffinement architectural
Functional block
diagram
Matlab chain
Matlab chain
C/SystemC chain
Matlab chain
Blocks
& interfaces
description
Matlab block
Matlab block
SystemC
block
Matlab block
Blocks
& interfaces
description
Blocks
& interfaces
description
1
Matlab block
2
Block in C
Matlab block
Block in C
with Matlab
interface
Block in C
with SystemC
interface
Matlab block
SystemC
block
Matlab block
1b
3b
Test bench & verification
Process definition
EII3/M2R - 71
3
[BenIsmail01]
© Olivier Sentieys, ENSSAT-IRISA, 2009
(verification : both blocks
should give same results)
4b
Test bench & verification
Process definition
4
3
Block in C
Block in C
with Matlab
interface
Matlab block
Matlab block
3b
(verification : both blocks
should give same results)
EII3/M2R - 72
18
Méthodologies de conception des systèmes sur puce
Raffinement architectural
ENSSAT EII et M2R SISEA/SE
Verification Simulink/VHDL
Block composition in the C/SystemC chain
Communication
Interface
in
SystemC
Core
in
Ansi-C
I/F
Core
Corein
ANSI-CCore in
ANSI-C
Inputs
Communication
Interface
in
SystemC
I/F
High-level behavior in
Simulink
Low-level behavior in
VHDL simulator
Outputs
[Brodersen 2001]
EII3/M2R - 73
EII3/M2R - 74
Design Flow - Verification
C
O
M
MCU
C
O
M
Bus
model
C
O
M
Design Flow - Verification
 Abstraction levels
• AL = Algorithm
DSP
o Prior to HW/SW partition
• TLM = Transaction-Level Model
RAM
Bus
model
C
O
M
o After HW/SW partition, models bit-true behavior, register bank, data
transfers, system synchronisation; no timing needed.
IP 2
• T-TLM
= Timed TLM
o TLM + timing annotation, refined communication model
• BCA = Bus Cycle Accurate
IP 1
[Courtesy of F. Rocheteau]
C
O
M
 SOC example
• MCU : Microcontroler Unit
• DSP : Digital Signal Proc.
• IP : Hardware Block
© Olivier Sentieys, ENSSAT-IRISA, 2009
o Models state at each clock edge
o e.g. Instruction Set Simulator (ISS) of a microprocessor
• RT= Register Transfer
o Synthesisable model
EII3/M2R - 76
19
Méthodologies de conception des systèmes sur puce
Architect issues in building up a SoC
C
O
M
MCU
ISS
C
O
M
C
O
M
Bus
TLM
model
Communication analysis
- Bus sizing
- Cache analysis
Designer issues in building up a SoC
RAM
TLM
C
O
M
MCU
DSP
C
O
M
Bus
BCA
model
RTL
IP 2
Manage complexity
- Early performance analysis
- Mixed abstraction levels
- Heterogeneous environment
C
O
M
Emulator
IP 1
ENSSAT EII et M2R SISEA/SE
[Courtesy of F. Rocheteau]
SW engineer issues in building up a SoC
C
O
M
Bus
model
IP 1
Throughput
Frequency
Size
C
O
M
C
O
M
DSP
RAM
Bus
model
C
O
M
IP 2
Focus on functionality
Simplified communication protocols
(no pagination, address generation)
Verifier issues in building up a SoC
- Rapid availability of test system with candidate ISSs
- Execute on ISS at reasonable speed (min 150 kHz)
C
O
M
MCU
ISS
C
O
M
MCU
C
O
M
DSP
Bus
model
IP 1
C
O
M
TLM
IP 11
IP
C
O
M
RTL
C
O
M
=
C
O
M
RAM
Bus
model
C
O
M
IP 2
Ability to easily plug generators
and probes to the system
© Olivier Sentieys, ENSSAT-IRISA, 2009
C
O
M
Bus
BCA
model
C
O
M
DSP
ISS
RAM
TLM
Bus
TLM
model
C
O
M
TLM
IP 2
Reduce verification bottleneck
- Continuous flow, parallel to design
process
- Maximum usage of abstraction /
formal techniques
20
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
CoWare N2C
CoWare N2C
 Spécification du système en C
 Cosimulation du système à
différents niveaux d’abstraction
 Un moyen rapide d’étude des
différents partitionnements
possibles,
 Développement parallèle des
parties matérielles et logicielles
 Untimed
• Description C, sans considérations temporelles
• Communication entre les blocs par RPC (Remote Procedure Call)
 BCA (Bus Cycle Accurate)
• Affinage de la spécification au niveau cycle d’horloge
• Modélisation d’un bloc matériel au niveau RTL (VHDL, RTC, SystemC)
• Communication entre les blocs définie par un protocole de bus
 BCASH (Bus Cycle Accurate Shell)
• Niveau intermédiaire
• Description au niveau cycle d’horloge autour d’une encapsulation
Untimed
EII3/M2R - 81
EII3/M2R - 82
CoWare N2C
CoWare N2C
 Encapsulation CoWare du codeur vidéo
 Architecture système
Bloc
SAD_MAC
Body
Complexité des fonctions du
système
BCA
Codage de 10 images selon la
séquence IBBPBBPBBP:
SAD_MAC
Interface
UT
BCASH
SAD_MAC
SAD_Macroblock représente
66% de la complexité du
codeur.
Bloc_body
Bloc_Interface
BCASH
Utilisation de c2vhdl:
Essentiellement une
transcription de
syntaxe de RTC vers
VHDL.
Mémoire
Mémoire_logcombi
BCA
Memoire_Body
BCA
SYSTEM
EII3/M2R - 83
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 84
21
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
CoWare N2C
CoWare N2C
 Diagramme de Gantt
 Analysis of Architectural
Changes
Chargement des blocs et de la fenêtre
de recherche
Durée variable de SAD_Macrobloc
• • • • • Bus latency calculation
Bus occupancy
# of initiators waiting
Processor loading
All while running real
software on fast cycleaccurate virtual platform
 Answers key questions
• • EII3/M2R - 86• EII3/M2R - 85
6. Solutions architecturales
How many buses of which type?
Which combination of masters and slaves should be on which
bus layer?
How much memory is needed?
6. Solutions architecturales
4.1. Cœurs de processeur
Flexibilité
1. Processeurs RISC
2. Processeurs configurables
3. Processeurs DSP
DSP
ASIC
FPGA
Reconfigurable
Processor
© Olivier Sentieys, ENSSAT-IRISA, 2009
MOPS / Watt
Inefficacité
4.2. Architectures reconfigurables
1. Solutions à base FPGA
2. Chemins de données reconfigurables
22
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
Cœurs de processeur
6. Solutions architecturales
1. Cœurs de processeur
Processeurs RISC
Processeurs configurables
Processeurs DSP
 Processeurs enfouis sur un SOC
 Délivré sous licence, modulaire, bloc IP
 Caractérisation d’un cœur
• foundry-captive, licenciable (code RTL)
 Contenu du cœur
• cœur (+ mémoire (+ périphériques ))
 Exemples
• • • • • e.g. ARM, TI, Xtensa, ST, …
Infineon Carmel, Infineon TriCore
ARM
DSP Group OAK/PINE
ST D950, ST Lx
TI C64x, C55x
EII3/M2R - 90
1. ARM
ARM9 Family
 Advanced RISC Machines
 ARM is the industry's leading provider of 16/32-bit
embedded RISC microprocessor solutions
 The company licenses its high-performance, low-cost,
power-efficient RISC processors, peripherals, and systemon-chip designs to leading international electronics
companies
 ARM provides comprehensive support required in
developing a complete system
 ten billion processors since the company was formed in
1990
 http://www.arm.com/
     EII3/M2R - 91
© Olivier Sentieys, ENSSAT-IRISA, 2009
    32-bit RISC processor core with ARM® and Thumb® instruction sets
5-stage integer pipeline achieves 1.1 MIPS/MHz
Up to 300 MIPS (Dhrystone 2.1) in a typical 0.13µm process
Single 32-bit AMBA bus interface
MMU supporting Windows CE, Symbian OS, Linux, Palm OS (ARM920T and
ARM922T)
Memory Protection Unit (MPU) supporting a range of Real Time Operating
Systems including VxWorks (ARM940T)
Integrated instruction and data caches
8-entry write buffer — avoids stalling the processor when writes to
external memory are performed
Portable to latest 0.18µm, 0.15µm, 0.13µm silicon processes
EII3/M2R - 92
23
Méthodologies de conception des systèmes sur puce
CPU Core - ARM9TDMI
ENSSAT EII et M2R SISEA/SE
ARM9 Family
Performance Characteristics
ARM920T
0.18µ
EII3/M2R - 93
Power Analysis of ARM9TDMI
ARM920T
0.13µ
ARM922T
0.18µ
ARM922T
0.13µ
Die Size (mm2)
11.8
4.7
8.1
3.2
Frequency (MHz) *
200
250
200
250
Power (mW/MHz) **
(inc. caches)
0.8
0.36
0.8
0.36
Power (mW/MHz) **
(ex. caches)
0.42
0.19
0.42
0.19
EII3/M2R - 94
StrongArm
 Intel SA-1110 ARM architecture
EII3/M2R - 95
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 96
24
Méthodologies de conception des systèmes sur puce
ARM’s Amba open standard
ENSSAT EII et M2R SISEA/SE
2. Tensilica Xtensa
 Synthesizable, configurable, embedded processor core
 Software development tools (compiler, OS)
 Advanced System Bus, (ASB) - high performance, CPU, DMA, external
 Advanced Peripheral Bus, (APB) - low speed, low power, parallel I/O,
UART’s
 External interface
 http://www.arm.com/products/solutions/AMBAHomePage.html
EII3/M2R - 97
Tensilica Xtensa
EII3/M2R - 99
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 98
Tensilica Xtensa
EII3/M2R - 100
25
Méthodologies de conception des systèmes sur puce
Xtensa Configurability
 Cost, Power, Performance
 ISA
• Endianness
• MUL16/MAC16
• Various miscellaneous
instructions
 Interrupts
• • • • Number of interrupts
Type of interrupts
Number of interrupt levels
Number of timers and their
interrupt levels
ENSSAT EII et M2R SISEA/SE
Example 0.25um Results
 Memories
• 32 or 64 entry regfile
• 32, 64, or 128b bus widths
• Inst Cache and Data Cache/
RAM
o 1KB to 16KB
o 16, 32, or 64B line size
    55 to 141MHz
28 to 84K gates
62 to 191mW power
2.0mm² to 8.3mm² including cache RAMs
• 4-32-entry write buffer
 Debugging
• • • • No. inst addr breakpoints
No. data addr breakpoints
JTAG debugging
Trace port
EII3/M2R - 102
EII3/M2R - 103
3. Cœurs de DSP
C55x Architecture
 TI propose deux cœurs de DSP (fin 2001)
 C55x
 C55x
• Jusqu'à 0.05 mW/MIPS (20 MIPS/mW)
• Consommation du C54x diminuée de 85%
• 5x les performances du C54x
 C64x
• Jusqu’à 1.1 GHz, 9 GOPS
• Six ALUs (32-/40-Bit), une 32-Bit, deux 16-Bit, ou quatre 8-Bit
opérations arithmétiques par cycle
• Deux multiplieurs, quatre 16x16-Bit ou huit 8x8-Bit multiplications par
cycle
• Coprocesseurs VCP (Viterbi) et TCP (Turbo)
• 'C6411: 300 MHz, $39, 1.0 V, 250mW, 2400 MIPS, 1200 MMACS
EII3/M2R - 104
© Olivier Sentieys, ENSSAT-IRISA, 2009
• Dual MAC
 C5510
• • • • • 160 MHz
320 MIPS
80mW
4000 MIPS/W
160 KW SRAM
 C5502
• 400 MIPS
• 160 mW
• 2.5 MIPS/mW
EII3/M2R - 105
26
Méthodologies de conception des systèmes sur puce
Very Long Instruction Word
ENSSAT EII et M2R SISEA/SE
Texas Instruments
TMS 320C6x Series - VelociTI ‘C6200 CPU
MPY
 Caractéristiques
• Plusieurs instructions par cycle, empaquetées dans une
"super-instruction" large
• Architecture plus régulière, plus orthogonale, plus proche
du RISC
• Jeu de registres uniforme, plus large
 Exemples
• TI TMS320 C6xx
• Infineon Carmel
• ADI TigerSHARC
• StarCore SC140 (Lucent + Motorola)
EII3/M2R - 106
Texas Instruments
TMS 320C6x Series - Features
ADD
MV
STW
ADD
MPY
SHL
ADD
SUB
STW
STW
ADDK
B
ADD
MPY
SUB
LDW
ADD
LDW
B
MVK
NOP
NOP
ADD
MPY
MPY
ADD
ADD
STW
STW
ADDK
NOP
Fetch
32x8=256 bits
Dispatch Unit
L:ALU
S:Shift+ALU
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
.L1
.S1
.M1
.D1
.D2
.M2
.S2
.L2
M:Multplier
D:Address U
Register File A
Register File B
Data Memory Controller
EII3/M2R - 107
Internal Memory
Texas Instruments
TMS 320C6x Series - CPU
 Two sets of functional units including:
• • • •     EII3/M2R - 108
© Olivier Sentieys, ENSSAT-IRISA, 2009
Two multipliers
Six aritmetich logic units (ALUs)
32 registers with 32-bit wordlength each
data-addressing units .D1 and .D2 exclusively responsible for data
transfers between memory and the register files
8-/16-/32-bit data support
40-bit arithmetic options (extra precision for vocoders...)
Saturation and normalisation
Bit-field manipulation and instruction: extract, set, clear, bit
counting.
EII3/M2R - 109
27
Méthodologies de conception des systèmes sur puce
C64x
ENSSAT EII et M2R SISEA/SE
Famille Lx (ST200)
 STmicroelectronics et Hewlett-Packard
 Famille Lx =
• un cœur VLIW clusterisé,
• un cœur configurable, personnalisable,
• une chaîne de développement basée sur un compilateur ILP.
 Personnalisable au niveau
• du nombre et des structures des Unités Fonctionnelles et
des registres, des mémoires (dont cache),
• du jeu d’instructions.
 Processus de développement hautement automatisé
pour la "customisation"
EII3/M2R - 110
Architecture du cœur
EII3/M2R - 112
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 111
Les architectures clusterisées
Architecture d’un Cluster
EII3/M2R - 113
28
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
ST200
6. Solutions architecturales
21mm2
4.3. Architectures reconfigurables
Solutions à base FPGA
Chemins de données reconfigurables
EII3/M2R - 114
300MHz in 0.25m technology (2. 5V)
400MHz in 0.18m technology (1. 8V)
Architectures reconfigurables
Architectures reconfigurables
Chaîne de réception
 Programmation du logiciel et du matériel
 Accélération d'une application par des "ASIC on-thefly"
 Architectures
Image
Music
Demult.
Multiple
Access
Channel
Decoder
Voice
Source
Decoder
• FPGA, Data Path (DP), Processeurs
 Granularité
Coprocesseur
Reconfigurable
• Grain fin (porte logique, LUT), grain moyen (DP)
 Reconfiguration
temps
• Statique ou dynamique
EII3/M2R - 116
© Olivier Sentieys, ENSSAT-IRISA, 2009
Demodul.
Equalizer
Processeur
Processeur
EII3/M2R - 117
29
Méthodologies de conception des systèmes sur puce
Famille VIRTEX II
       Nouveau design du CLB
Bancs mémoire de plus grande
taille
Multiplieurs intégrés (18x18
bits)
Gestion des horloges par DCM
(Digital Clock Manager)
Capacité de routage améliorée
(Active Interconnect
Technology)
Cryptage du bitstream →
sécurisation du système
1.5 volt
ENSSAT EII et M2R SISEA/SE
Famille VIRTEX II (1.5 volts)
 Schéma d’un CLB sur FPGA VirtexII
Matrice
d’interconnexion
1 CLB=4 SLICES
EII3/M2R - 118
Famille VIRTEX II (1.5 volts)
 Schéma d’un slice sur FPGA VirtexII
EII3/M2R - 120
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 119
Virtex 5
65 nm
550 MHz clocking
Performance-tuned IP blocks
1100 DMIPS PowerPC 440
processor blocks with highbandwidth, low-latency
interfaces
 528 GMACS from DSP48E
slices
 192 GFLOPS single-precision
and 68 GFLOPS doubleprecision floating point DSP
 1.25 Gbps LVDS I/O
    EII3/M2R - 121
30
Méthodologies de conception des systèmes sur puce
Famille VIRTEX II Pro
 Jusqu’à 4 blocs
processeurs IBM PowerPC
405.
 Fréquence de travail
jusqu’à 300MHz.
 Cœurs Rocket I/O MultiGigaset Tranceiver
(transformation des
données série-parallèle)
ENSSAT EII et M2R SISEA/SE
Famille VIRTEX II Pro
Caractéristiques des
Virtex II Pro
Architecture des
Virtex II Pro
Bloc processeur des
Virtex II Pro
(Voir détail flot de conception en ANNEXE)
EII3/M2R - 122
Famille Stratix Altera
EII3/M2R - 124
© Olivier Sentieys, ENSSAT-IRISA, 2009
EII3/M2R - 123
Famille Stratix Altera
EII3/M2R - 125
31
Méthodologies de conception des systèmes sur puce
Stratix : Logic Element (LE)
ENSSAT EII et M2R SISEA/SE
Stratix : blocs DSP
    Multiplieurs 9x9 – 18x18
2 GMAC/s par bloc
F = 250 MHz
Utilisation
• • • • EII3/M2R - 126
Rake
VoIP
OFDM
Multimédia
EII3/M2R - 127
Mémoires
Stratix Altera
Feature
Logic
Element
s (LEs)
Total
RAM
bits
DSP
Blocks
Emb.
Mult
PLLs
4 ports
2 ports
EII3/M2R - 128
© Olivier Sentieys, ENSSAT-IRISA, 2009
EP1S10 EP1S20
10,570 18,460
EP1S25
25,660
EP1S30
32,470
EP1S40
41,250
EP1S60
57,120
EP1S80
79,040
EP1S120
114,140
920K
1,669 K
1,944 K
3,317 K
3,423 K
5,215 K
7,427 K
10,118 K
6
10
10
12
14
18
22
28
48
80
80
96
112
144
176
224
6
6
6
10
12
12
12
12
1 port
EII3/M2R - 129
32
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
Architecture d’un cluster de DART
Architecture DART (IRISA/ENSSAT)
 DART
Contrôleur de tâche
Ctrl
maison
DPR
cluster2
DPR
DPR
DPR
DPR
DPR
DPR
DPR
DPR
Ctrl
maison
DPR
Cluster4
DPR
DPR
DPR
FPGA
DPR
DPR
DPR
DPR
Mémoire
inst°
L2
o Peu d’instructions
Ctrl o Peu d’accès mémoire
E/S
DPR
cluster3
DPR
Mémoire de donnée
L2
SB
DPR
SB
Ctrl
DPR
SB
Mem
L1
DPR
Mémoire
de
config.
L2
Ctrl DMA
SB
 Collaboration ENSSAT/STMicroelectronics
Mem
L1
DPR
Mem
config.
L1
EII3/M2R - 130
SB
FPGA
DPR
EII3/M2R - 131
Architecture d’un DPR de DART
AG1
..
..
..
..
..
..
..
..
..
..
.
.
X
..
..
..
..
..
.
..
..
..
..
..
ALU
..
..
..
..
..
..
..
..
..
..
.
X
RDP2
$D4
..
..
..
..
..
.
..
..
..
..
..
..
..
..
..
..
Ctrl
.. .. .. ..
.. .. .. ..
.. .. .. ..
.. .. .. ..
.. .. .. ..
RDP4
Ctrl
DMA
RDP5
Config
Mem.
FPGA
Data.
Mem.
 CEA
Loop Managment
reg
AG1
AG2
AG3
AG4
Data
mem1
Data
mem2
Data
mem3
Data
mem4
reg
FU1
 802.11a
FU2
FU3
Mobile Terminal
(Channel Est.)
 STMicroelectronics
RDP6
     Fully Connected Network
Bus
globaux
© Olivier Sentieys, ENSSAT-IRISA, 2009
RDP3
CB
ALU
EII3/M2R - 132
 3G/UMTS
RDP1
AG4
$D3
$D2
DART Architecture
Segmented Network
..
..
..
..
..
AG3
AG2
$D1
.
Contrôleur mémoire
cluster1
DPR
DPR
• Haute performance
• Faible consommation
LIST/LETI
5-10 GOPS/[email protected]µ
300 mW @ 5 GOPS
16 MOPS/mW @ 5 GOPS
Delivered as an RTL model
Circuit (ST 130nm) june 2005
FU4
EII3/M2R - 133
33
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
Silicon prototype of DART
Chameleon Systems Inc.
 Complex SoC including DART accelerator
 Collaboration between IRISA/R2D2 on DART (architectural
design, synthesis, validation), CEA List (validation,
integration), CEA Leti (integration, backend)
AHB
• reconfiguration partielle du circuit
• reconfiguration en 1 cycle
• CS2112 : 0.25u, 24 GOPS, 3 GMACS, 10W
TX
RAC
Fresh Circuit (CEA)
4G mobile terminals
Technology: ST 0.13µ
CPU core: ARM946
4.8 Mgates
Chip area = 80 mm2
Package: TBGA 420
Core power supply: 1.2 V
 Architecture reconfigurable dynamiquement
ARM9
RAM
ETH
EST
RX
DART
EII3/M2R - 134
EII3/M2R - 135
Métriques de comparaison (1)
7. Métriques de comparaison
 Performance (1) : temps requis pour réaliser un certain
nombre de traitements
• MIPS (Millions of Instructions Per Second)
• ou MOPS (Millions of Operations Per Second)
Flexibilité, Performance,
Efficacité énergétique
o Attention : le traitement réalisé par une instruction peut varier fortement
d’un processeur à un autre (instructions très spécialisées)
o Valable si les architectures à comparer sont très similaires (RISC)
Flexibilité
• MACS (Multiply-ACcumulate operations per Second)
o Plus réaliste dans le cas de DSP, il reste cependant à évaluer les
mouvements mémoire et les traitements avant et après l’instruction MAC
DSP
ASIC
FPGA
Reconfigurable
Processor
• Solution : Algorithm Kernel Benchmarking
MOPS / Watt
Inefficacité
EII3/M2R - 137
© Olivier Sentieys, ENSSAT-IRISA, 2009
34
Méthodologies de conception des systèmes sur puce
BDTIMARK
BDTIMARK
http://www.bdti.com
Function
Description
Real block finite impulse response (FIR) filter
FIR filter that operates on a block of
G.728 speech encoding, other speech processing
real (not complex) data
FIR filter that operates on a block of
Modem channel equalisation
complex data
FIR filter that operates on a single
Speech processing, general filtering
sample of real data
LMS adaptive FIR filter that operates on Channel equalisation, servo control, linear predictive
a single sample of real data
encoding
IIR filter that operates on a single
Audio processing, general filtering
sample of real data
Sum of the pointwise multiplication of Convolution, correlation, matrix multiplication,
two vectors
multidimensional signal processing
Pointwise addition of two vectors
Graphics, combining audio signals or images, vector
producing a third vector
search
Discovery of the value and location of a Error-control coding, algorithms using block floatingvector's maximum value
point arithmetic
Application of convolutional forward
North American digital cellular telephone equipment
error-correction code to a block of bits (IS-54 standard)
A contrived series of control operations Control operations appear in nearly all digital signal
(test, branch, push, pop) and bit
processing applications
manipulations
FFt conversion of a normal time-domain Radar, MPEG audio compression, spectral analysis
signal into the frequency domain
Real single-sample FIR filter
Least-mean-square adaptive FIR filter
Infinite inpulse response (IIR) filter
Vector dot product
Vector add
Vector maximum
Convolutional encoder
Finite-state machine (FSM)
256-point, radix-2, in-place fast Fourier
transform (FFT)
EII3/M2R - 138
Application Examples
BDTImark
Motorola - IBM PowerPC604e 333 MHz
62
Intel Pentium 200 MHz
23
Analog Device ADSP 2106x 60 MHz
17
Texas Instruments TMS320C67xx 167 MHz
65
Texas Instruments TMS320C3x 80 MHz
9
Intel MMX Pentium 266 MHz
Processeurs
Complex block FIR filter
ENSSAT EII et M2R SISEA/SE
56
ARM7 TDMI/picolo 70 MHz
14
ARM7 TDMI 80 MHz
7
Motorola DSP 566xx 60 MHz
15
Motorola DSP 563xx 100 MHz
25
37
Lucent technologies DSP 16xxx 100MHz
Lucent technologies DSP 16xx 120MHz
22
Analog device ADSP21xx 75 MHz
19
Texas Instruments TMS320C80 60 MHz
26
25
Texas Instruments TMS320C54x 100 MHz
Texas Instruments TMS320C62x 200 MHz
Métrique : performance/coût
99
0
EII3/M2R - 139
20
40
60
 Filtrage numérique RIF
© Olivier Sentieys, ENSSAT-IRISA, 2009
50000
60000
70000
EII3/M2R - 141
1
70
60
01
11
C6
40000
-2
30000
Cost-Time Product (µs$)
DS
20000
• 100 MHz, 2.5V
SP
C5
Analog Devices ADSP-2171
• 200 MHz, 2.5V
AD
49
Analog Devices ADSP-21062
 ADSP-21160
10
Lucent Technologies DSP 1627
4
2
0
64
Lucent Technologies DSP32C
• 100 MHz, 3.3V
 ZSP16401
P1
IBM MDSP2780
Lucent Technologies DSP 3207
• 200 MHz, 1.8V
8
6
ZS
Motorola DSP56002
 C6201
 DSP16210
1
NEC µPD77015
Motorola DSP56166
14
12
10
• 100 MHz, 2.5V
62
Texas Instruments TMS320C31
Texas Instruments TMS320C209
10000
120
 C549
Virgule Fixe
Virgule Flottante
20
Texas Instruments TMS320C44
P1
Watt-microsecondes
Texas Instruments TMS320C52
18
16
C6
Texas Instruments TMS320C541
0
100
Métrique : énergie
Zoran ZR3800x
EII3/M2R - 140
80
Score
 C6701
• 167 MHz, 1.8V
35
Méthodologies de conception des systèmes sur puce
Métriques de comparaison (2)
 Performances (2)
• Efficacité énergétique = Op/J = MOPS/mW
• MOPS
Fclk.Nop
1
= Aop.Csw.Vdd2
mW = Nop.Aop.Csw.Fclk.Vdd2
• Efficacité par surface = MOPS/mm2
Transistors
mm2
MOPS
mW
ASIC
 Implémentation la plus efficace
• Parallélisme, pipeline
 e.g. 0.13um
• multiplieur : 0.015mm2, 5pJ/Op@1V
• 50mm2 : 5000 add ou reg et 500 mult
 Filtre adapté WCDMA (8.Fc, 32 taps)
• UMC 0.18um: 12ns, 10GOPS, 80mW, 0.08mm2
 Figure de mérite [Chien00]
• ENSSAT EII et M2R SISEA/SE
 CDMA/MUD [Brodersen01]
bits
s
 Flexibilité
Nop: Number of Operators
Aop: Average Area of Op
Csw: Switch Cap. / mm2
EII3/M2R - 142
Four adaptive pilot correlators
Die size: 3.38mm x 4.58mm
Transistor Count: 0.4 million
1.2-2.4 GOP with 25 MHz clock
    EII3/M2R - 143
Processeurs
DSP vs GPP
 Performances
 Les DSPs sont efficaces en MIPS/mW et en MIPS/
mm2
 Cela se paye sur la flexibilité et la programmabilité
Processeur MIPS
CoolRisc
14
TMS C54x 30-200
TMS C6x
MHz
14
Vdd
3V
30-200 1.8V
Pmoy
2.8 mW
460 mW
MIPS/Watt
5000
1500-3000
1600
200
2.5V
2W
800
200
200
1.5V
420 mW
500
a 21164
1200
300
3V
60 W
20
a 21364
4000
1000
1.5V
100 W
40
StrongARM
EII3/M2R - 144
© Olivier Sentieys, ENSSAT-IRISA, 2009
100000
mW/MIPS
• C6411: 300 MHz, $39, 1.0 V, 250mW, 2400 MIPS, 1200
MMACS, 9600 MIPS/W
• C5510: 160 MHz, 320 MIPS, 80mW, 4000 MIPS/W
• C5502: 400 MIPS, 160 mW, 2500 MIPS/W
10000
1000
100
M68K $200
I286 $200
I386 $300
DSP1 $150
Pentium MMX $700
DSP32C $250
10
DSP16A $15
DSP16210 <$10
DSP1600 $10
1
1980
EII3/M2R - 145
Pentium $500
1985
1990
1995
2000
[Ackland ISLPD98]
36
Méthodologies de conception des systèmes sur puce
DSP
Core
RISC
Core
Design
Effort
B
A
D
C
A
A+
Design
Flexibility
E
E
B
C
A
E
Run-time
Flexibility
Top Speed
C
B
A
C
E
E
Energy
Efficiency
EII3/M2R - 146
FPGA
A = Best, E = Worst
Config. ASIC
Cores
ASSP
D
E
B
C
A
A
C
D
C
B
A
A
Exemple : émetteur récepteur
WCDMA
 Prototypage d’un émetteur-récepteur WCDMA utilisé
dans les télécommunications mobiles de troisième
génération (3G) de type UMTS, sur un système intégré
(SoC).
En conclusion
 Flexibilité vs performances en efficacité énergétique
Energy Efficiency
MOPS/mW (or MIPS/mW)
Résumé des solutions
ENSSAT EII et M2R SISEA/SE
1000
100
Dedicated
HW
10
ASIC
Reconfigurable
Processor/Logic
ASIPs
DSPs
1
Pleiades/DART
10-50 MOPS/mW
2 V DSP: 3 MOPS/mW
Embedded Processors
SA110
0.4 MIPS/mW
0.1
Flexibility (Coverage)
EII3/M2R - 147
WCDMA
 Caractéristiques générales :
• Le débit d’entrée des DATA est fixé à 3.84 106 échantillons par seconde. On
appellera cette fréquence la fréquence chip Fc.
• Le signal x'(n) en réception est suréchantillonné d’un facteur 4. On considérera
donc que le débit du flot de données vaut 4.Fc.
• Le signal d’entrée DATA est considéré comme complexe, composé d’une partie
réelle et imaginaire, respectivement I(n) et Q(n). Il en est de même pour les
codes c(n) et les porteuses p(n).
• Les filtres RIF d’émission et de réception sont de taille N=128 :
N −1
 Etudier la complexité globale et décider quel type de
matériel à utiliser (ASIC, DSP, …) pour chaque bloc de
cette chaîne de traitement.
y (n) = ∑i =0 h(i ) x(n − i )
• Les modulation et démodulation consistent à multiplier le signal y(n) par une
porteuse p(n). Ces algorithmes travaillent sur des données d’entrée avec un
débit à la fréquence chip Fc.
EII3/M2R - 149
© Olivier Sentieys, ENSSAT-IRISA, 2009
37
Méthodologies de conception des systèmes sur puce
ENSSAT EII et M2R SISEA/SE
WCDMA
WCDMA
 Emetteur WCDMA
 Récepteur WCDMA
DATA(n)
x(n)
Filtre
RIF
y(n)
c(n)
e’(n)
s(n)
Modulation
x’(n)
Filtre
RIF
y’(n)
Rake Receiver
p(n)
DATA’(n)
Générateur
de porteuse
Générateur
de porteuse
Générateur
de codes
Démodulation
• Donner la complexité en nombre d’additions et multiplications de
chaque bloc de traitement.
• En déduire la puissance de calcul en MOPS nécessaire à l’émetteur
WCDMA.
EII3/M2R - 150
• Le Rake Receiver est principalement constitué de L=6 corrélateurs.
Chaque corrélateur effectue une multiplication-accumulation sur le
signal y’(n) par un code complexe c’i(n) qui lui est propre.
• Donner la complexité en nombre d’additions et multiplications ainsi
qu’en MOPS d’un corrélateur et du Rake Receiver.
• En déduire la puissance de calcul en MOPS nécessaire au récepteur
WCDMA.
EII3/M2R - 151
WCDMA
WCDMA
 Etude d’une solution architecturale pour le système émetteurrécepteur
DSP C6x
DSP C54x
ASIC
FIR
• Pour les 3 blocs de filtre RIF complexe, Rake Receiver et modulationdémodulation, indiquer :
o pour un ASIC, le nombre d’opérateurs nécessaires ;
o pour chaque DSP, le nombre de processeurs nécessaires, indiquer si la
contrainte de temps peut être respectée ;
o pour les 3 architectures la puissance moyenne pour l’exécution du bloc.
Complexité des
opérations
Fréquence
Puissance
calcul
Consommation
1
ASIC 0.18u
⊗ : 4ns
⊕ : 3 ns
⊗ : 130pJ/opération
⊕ : 40pJ/opération
2
DSP C54x
⊗ : 1 cycle
⊕ : 1 cycle
200 MHz
200 MIPS
120 mW
3
DSP C6x
⊗ : 2 cycles (latence)
⊕ : 1 cycle
200 MHz
1600 MIPS
1W
© Olivier Sentieys, ENSSAT-IRISA, 2009
MOD
RAKE
38
Téléchargement