0% ont trouvé ce document utile (0 vote)
10 vues38 pages

Conception des systèmes sur puce

Transféré par

ines abdellaziz
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues38 pages

Conception des systèmes sur puce

Transféré par

ines abdellaziz
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Méthodologie de conception A la fin du cours vous …


des systèmes intégrés  posséderez des notions générales sur :

Tronc Commun
• les systèmes sur puce (SoC)
De l'algorithme au système sur puce o architecture, principaux composants, bus
o outils de conception système, compilation logicielle
Méthodologies, applications et perspectives o métriques (performance, énergie, coût)
• les nouvelles architectures des DSP et FPGA
Olivier Sentieys
 saurez modéliser un algorithme (signal) par un graphe
IRISA • métriques, transformations et optimisation
ENSSAT - Université de Rennes 1  saurez concevoir un composant ou un processeur spécialisé

ISE
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


PLAN
 les acronymes non définis
• en cas de problème, n’hésitez pas à m’en demander la
définition
1.1. Évolutions technologiques
 les transparents en anglais 1.2. Évolution des applications
• issus d’un autre cours fait en anglais 1.3. Systèmes sur Silicium
• et dont l’intérêt de les traduire me paraît assez faible
1.4. Méthodes de conception des SoC
 les transparents en franglais
• same as au dessus 1.5. Evolution des méthodologies
 tout le reste 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 5.43 A


(0.5 nm)

1. Évolutions technologiques  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  Scaling factor : s
 Technology: 20-28 nm CMOS (200 Ang.) • Between two successive generations: s # 0.7
• 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

 More than 8500 [Link] Design Cycle 130 nm 90 nm 65 nm

 Software!
 Mask set is few M$US
EII3/M2R - 7 EII3/M2R - 8

© Olivier Sentieys, ENSSAT-IRISA, 2009 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  Scaling factor between two successive generations: s
 Number of transistor:
• Logic : x2 every 3 years W, L, H, tox (gate, interconnect) s
• Memory : x4 every 3 years Transistor area (W.L) s2
 Speed:
• Logic : x2 every 3 years
Capacitance per unit area: Cox 1/s
• Memory : x4 every 10 years C=WLCox s
 Processor performance R=ρL/WH 1/s
• 50% per year
Gate Delay (Vdd, Vt scaling) s
Moore’s Law from last millennium to now Local Wire Delay (RC) 1
Constant Length (L) Wire Delay 1/s2
EII3/M2R - 9 EII3/M2R - 10

[ITRS2002]

Technology Evolution Power Supply Voltage Evolution


 Power and Substrate Noises
 Gate and Interconnect Delay
• Vdd scaling → SNR 

[© R. Rutenbar, CMU]
EII3/M2R - 11 EII3/M2R - 12

© Olivier Sentieys, ENSSAT-IRISA, 2009 3


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Interconnection Length Reducing wire delay


Metal layers to reduce wire delay  Height of wires
in Intel's 65 nm CPUs
 Copper
 Repeaters

– Light Speed: 300µm/ps


– Diagonal : 30 mm (21mm side)
– 100 ps
– 1 clock cycle @ 10GHz
– In real 5-10 clock cycles [Source : IBM]

EII3/M2R - 13 [Source: INTEL] EII3/M2R - 14 [Source: Intel]

Semiconductor market Bénéfices ?


 “The global semiconductor
market hit a new record in 2006  Aujourd'hui un jeu de masques de fabrication : $2M
with a sales volume of $247.7 • $10 DSP : 20% de bénéfice => 1M de pièces pour générer
billion, up 8.9 percent from du profit
2005”, the Semiconductor
Industry Association (SIA) • Exemple : NVIDIA chip [ST] (accélération vidéo)
reported. o 15M gates
 “Sales growth was largely o $150M de coût total de conception/fabrication
driven by consumer products
such as cellphones, MP3
players and HDTV receivers.”  FPGA vs ASIC
 SIA is forecasting that the • Turn point en 0.18u : 15 000 pièces
semiconductor market will grow
10 percent to $273.8 billion in
 235 million units of PC were shipped in 2006, • Turn point en 90nm : 500k – 1M pièces
 but more than 1 billion cellphones…
2007. • Market is in DSP, MCU and memory

EII3/M2R - 15 EII3/M2R - 16

© Olivier Sentieys, ENSSAT-IRISA, 2009 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

Evolution des communications Shannon beats Moore beats Chemists


[After Rabaey]

Mobility 30 6000 MOPS Algorithmic


Range Complexity

Log Complexity
3G Cellular generations
EDGE/GPRS

10km
3GPP-LTE
GSM

UMTS
2.5G

1km 3G 4G Bit/nJ
Processor' Performance
WiMax
802.16a
Moore’s Law
100m
DECT

Bluetooth 802.11n/b 2G
10m ZigBee WLAN
802.11g/a

0
ISDN/ADSL ATM, SONET, … Battery Capacity
1G
Data Rate
10kbs 2Mbs 100Mbs
1982 1992 2002 2012 Time
EII3/M2R - 19 EII3/M2R - 20

© Olivier Sentieys, ENSSAT-IRISA, 2009 5


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Évolution des applications Terminal 3G (smartphone)


 Télécommunications mobiles de 3ème génération  Multimédia
Graphiques • Audio, Vidéo
• Fonctions multimédia • Visioconférence
Em. Radio Vidéo
• Mobilité • Jeux 3D
• Grand public Rec. Radio Voix  Interfaces
• Reconnaissance vocale
Interface
Satellite • Stylo inertiel
Faible
portée
• Cryptage, authentification
Région  Mobilité
Grande
Portée 2005 : mobilité et durée de • UMTS, WLAN, bluetooth, …
vie des batteries d'un agenda, • Internet (IP)
Local Area
capacité multimédia d'un PC
Large région
Grande mobilité Faible mobilité
EII3/M2R - 21 EII3/M2R - 22

Communications sans fil Terminal 3G Portable


 Traitement
Graphiques
Source
• 6-10 Milliards d’opérations/sec
Coder Em. Radio Vidéo  Autonomie : 10h
Image
Multiplex Multiple
Access
Channel
Coder Modulator Power
Amplifier Rec. Radio
 Poids : 500g (batteries)
Voice Voix

Interface
MPEG4 TDMA Turbo/ Smart
MP3/AC3 W-CDMA Viterbi Antennas
Internet access Codes
500mW @ 6 GOPS
Image 12 GIPS/W @ 6 GOPS
Multiple Channel Demodul. RF
Demult. Access Decoder Filter
Equalizer
Voice
Avec les processeurs actuels
Source
Decoder 30 Kg ou 10 minutes !!!
EII3/M2R - 23 EII3/M2R - 24

© Olivier Sentieys, ENSSAT-IRISA, 2009 6


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Terminal 3G Nokia 6680 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é Moteur : Gestion du moteur, Boîte de vitesses automatique, Contrôle d’embrayage, 4WD
Température Châssis : ABS/ASR/DSC, Suspension, 4WS.
Réseaux multimédia
Réseaux de données
?? 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, ...
Wifi, ZigBee, UWB
Instrumentation : Affichage, Navigation, GPS, Audio, Téléphone, CAN.

EII3/M2R - 27 EII3/M2R - 28

© Olivier Sentieys, ENSSAT-IRISA, 2009 7


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Véhicules intelligents Unité de contrôle moteur


ECU
Air Pressure Sensors
 Secteur où l’électronique est en hausse
Lambda Sensor
Air Temp.
ECU
• 25% (à 50%) du prix d’une automobile est (sera) du aux A/D Bank

sous systèmes électroniques ! Throttle catalyst


E
Position DSP Hw/Sw
• Prix de l’équipement : $350 (moyenne en Europe) -> $700 n
g
en 2000. Control
i
• Marché de 1900 M$ en 1995 -> 3300 M$ en 1999. n
Injector Actuation
 Secteur spécifique Ignitor
e

Engine Power
• Volumes importants, bas coûts, haute fiabilité, peu de Speed Electronicxs
maintenance, haute qualité, temps de mise sur le marché
court, contraintes physiques importantes (poids, taille). Actuators
• Real Time
• DSP + MCU
EII3/M2R - 29 EII3/M2R - 30

Embedded Systems: Products Embedded Systems: Products


 Computer Related  Consumer Electronics  Office Equipment  Control Systems
• personal digital assistant • HDTV
• smart copier • Automotive
• CD player
• printer • printer o engine, ignition, brake system
• video games
• disc drive • smart typewriter • Manufacturing process control
• video tape recorder
• multimedia subsystem • programmable TV • calculator o robotics
• graphics subsystem • camera • point-of-sale equipment • Remote control
• graphics terminal • music system o credit-card validator o satellite control
 Communications o UPC code reader o spacecraft control
• cellular phone  Medical Applications o cash register • Other mechanical control
• video phone • instruments: EKG, EEG o elevator control
• scanning
• fax
• imaging
• modems
• PBX

EII3/M2R - 31 EII3/M2R - 32

© Olivier Sentieys, ENSSAT-IRISA, 2009 8


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Conclusions 3. Systèmes sur Silicium


Wireless, Wireless, Wireless ! System on Chip

Smart, Low-cost, Small Products


Automotive applications
 Communications : en réseaux, sans fil
 Faible consommation et haute performance System on Chip
 De plus en plus de fonctionnalités multimédia Solutions architecturales
 Produits à coût faible : marché grand public Plateforme matérielle
 Produit à la mode, compétitif, de durée de vie courte
 Systèmes "First Time Right" et évolutif
EII3/M2R - 33

Gran’pa ASIC style System-on-chip (SoC)


IP GPP core
 Is this a SoC ?
phone
 Analog
phone
book
book
keypad
interf.
• A/D, D/A
RAM & ROM DMA
• RF, modulation
ROM Image
control protocol
 µP/µC core
FIR filter circuit • Control
1995 CDMA
TDMA Turbo
Equal.
• User interface
ES2 1µ speech voice

 DSP core
quality recognition
24 sqmm enhancement

RAM
Multiplier A digital
down
image
decoder
speech • Slow processing
conv coder
D decoder

 IP
Analog DSP core  Memory
EII3/M2R - 35 EII3/M2R - 36  On-chip bus

© Olivier Sentieys, ENSSAT-IRISA, 2009 9


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

SoC : challenge 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 EII3/M2R - 38

Architectures dans un SoC 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 EII3/M2R - 40

© Olivier Sentieys, ENSSAT-IRISA, 2009 10


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Ex. 1: 2G terminal Ex. 1: 2G terminal

EII3/M2R - 41 EII3/M2R - 42

Ex. 2: Network Processor IXP1200 Intel Ex. 3: Set Top Box STb STMicro.
®

 STB Product is one chip solution for :


• Dual H264-MPEG2-VC1 HD decoder, Triple TV display
StrongARM Core PCI
o MPEG2 MP@HL
6.5M Transistors

o ISO/IEC 14496-10/ITU Rec. H.264 Main profile level 4.1


o VC1
SRAM I/F SDRAM I/F • 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
IX Bus 6 Micro-RISC o HD digital HDMI, 1 HD analog, 2 SD analog I/F
o 1 Software modem including analog interface

EII3/M2R - 43 EII3/M2R - 44

© Olivier Sentieys, ENSSAT-IRISA, 2009 11


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Ex. 3: Set Top Box STb STMicro. STB Product description


®
®

Flash  Chip information


>8MBytes
//ATAPI • CMOS065 (65nm) process technology
16
 Package:
3xUSB
4xTS IN • PBGA 35x35, 708 + 89 (5 rows 1mm pitch), Lead Free
 Power supply:
1080p
AUDIO IN HDMI • 1V (core supply), 3.3V (digital interface), 2.5V (analogue interface), 1.8V
1080i/720p
(DDR2 interface)
1080p
VIDEO
IN
VIDEO
OUT
 Architecture
Blue Laser - ODD
2xSATA • Many digital processors dedicated to specific tasks
HDD
AUDIO OUT o Total ~5 GMIPS
Ethernet
o 2 DSP’s dedicated to Video, 1 DSP dedicated for audio, 1 spare DSP
• System architecture: host is assigning tasks to DSP’s according to

SPDIF
2x16 2x16
Hub metadata read from stream
DDR2
256
DDR2
256
• Host CPU is performing playback control only:
EII3/M2R - 45 Mbytes Mbytes EII3/M2R - 46 o navigation, parsing, streaming,…

STB Product
(65nm LP 7ML) Block Diagram
Clkgen A DDR2 150Mtransistors
886 pads 50µm stag.
SATA Codec

Host dsp 566 signals


dsp
Top+5 BE partitions
18 FE subsystems
DDR2

dsp 128 Interrupt sources


USB2

73 initiators+96 targets
115 propagated clocks
dsp
(19 for interconnect)

MTP Content:
36 soft IPs
2 hard blocks
HDMI 16 analog IPs
19 IOLIBs
Clkgen Audio 29 internal blocks/glues
RFDAC B C DAC VideoDAC 140 memory cuts

© Olivier Sentieys, ENSSAT-IRISA, 2009 12


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Host: 500DMIPs

Distributed CPU power


DSP: 4x1000 DMIPs

Core Headline Features


DMA: 200 MIPs
controller: 100 MIPs
Total: 5 Gips
BTSC/Nicam
PCM
encoded for UHF
input Main SD +
modulation
x2
 Host  DSP
Local MII/RMII MII/RMII Main 2 TVSD
nd
DDR2 memory DDR2 memory Main
Memory Main 1st TV 2nd TV Stereo HD Video
256M/512M/ 256M/512M/ TVSD
SPDIF PCM PCM analogue
1Gbit 1Gbit Debug TMDS Video RF Video
• 16 bit ISA • 32 bit ISA
out out out audio

32 32

• FMax 450MHz • FMax 450MHz


VLIW!
• 7 Stage Dual issue Pipeline • 6 stage 4 issue pipeline
Dual Audio decoder Dual Ethernet Ethernet SD/HD VHF
2x1000
+ BTSC encoder Audio MAC & MII MAC & MII HDMI Video DAC
(2 x ST231)
DMIPS* ! DAC DACs
• 32K 2 way I Cache • 32K Direct Mapped ICache
2x Flash
DCache
500 MMU
DMIPS*! H-UDI Memory
Video/ System Dual DELTA controlle Graphics
Triple
InterfaceDual VHF
Local IntApplication!Timer Display
• 32K 2 way D Cache • 32K 4 way Dache
Mu Video r! Engine (FMI) DENC ¾ mod
DDR2 Memory Cntllr
Processor! /RTC VLIW!
Decoder
RISC Based!
Compositor
Interface CPXM (BlitterDMA!
+
SH4-202 2x1000
(including Output Stage
• Ten Stage FP Pipe
ICache
(333MHz)
Subpicture)
200 MIPS!
2 DMIPS*
x ST231)!
BTSC/encoded audio
PCM
STBus Interconnect
2x! 2x!
controlle controlle
3 x USB Audio Digital
RISC 2x! 2 x 2 X
r Programmable r2.0 SRC
TSMUX/ ! ! VCXOs Serial ATA
based
Transport Block FDMA
controlle
Stream Merger
controller! r!
Desscrambling IR TX/RX MAFE /V92 EMI
2x100engine DiSEqC Parallel 2x smart 4x 4x
NAND FLASH
+ CODEC + 2.0 I/O card i/f UART SSC
MIPS! UHF RX x Si DAA i/f ECC
2 Comms //ATAPI

4 x TS Input
Or 1394 out USB Disk Drives 16
Peripherals
EII3/M2R - 50

Quoi de neuf dans un SoC ? IP : composant virtuel


 Assemblage de composants virtuels  Pourquoi un IP ?
• IP: Intellectual Properties • Réutiliser les blocs déjà conçus dans la société
• « IP core » • Acheter des blocs conçus hors de l’entreprise
 Partitionnement logiciel - matériel • Utiliser des générateurs de macro-cellules (eg. mémoire)
 Interfaces entre IP  Une réalité et un business pour certains blocs
 Vérification • Cœur de processeur (DSP, CPU)
• Comment co-simuler du code C • Mémoires IP1

tournant sur un « processor core » • Périphériques


modélisé en VHDL interfacé via un bus
 IP « Hard » ou « Soft »
IP3.2
modélisé en SystemC à un IP2

coprocesseur matériel décrit en VHDL ?

EII3/M2R - 51 EII3/M2R - 52

© Olivier Sentieys, ENSSAT-IRISA, 2009 13


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Structure d’un IP Interfaces entre IP


 VSIA : Virtual Socket Interface Alliance  De nombreux standards de bus
I talk only PCI
• Ensemble de recommandations et normes I can talk any
• [Link] Modèle synthétisable PERIPH MEM ASIC

Documentation et description Modèle simulable

A/D
Interconnect Bus
D/A IP
Modèles P=>S
I talk PCI
réutilisables S=>P µP RAM ROM
Paramètres OK, let’s and AMBA
+ Interfaces talk PCI DSP1 DSP2 CPU
DMA DSP

Script de synthèse I talk PIbus I talk PIbus


EII3/M2R - 53 Modules de test EII3/M2R - 54
and PCI 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
• {composants} prédéfinis (IP) spécifiques (coprocesseur)
PERIPH MEM ASIC ou programmables (processeur), reconfigurables (FPGA)
• Spécialisation de la plate-forme pour un domaine
d'applications
Wrapper Wrapper Wrapper

AMBA
 Exemples
OK, let’s • TI's OMAP, Philips' Nexperia, Intel's PCA (Personal
talk VCI Wrapper Wrapper Wrapper Internet Communications Architecture), Infineon'
VCI
Bluetooth, Mgold (3G), ...

DSP1 DSP2 CPU


EII3/M2R - 55 EII3/M2R - 56

© Olivier Sentieys, ENSSAT-IRISA, 2009 14


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

4. Méthodes de conception de Le problème clé en conception


SoC
10 000 000

K Transistors par puce


Conception conjointe matériel logiciel 1 000 000

Synthèse matérielle 100 000


Complexité
Synthèse logicielle 10 000
58% / an Outils ?
1 000
100 Productivité
10 21% / an

1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
[SIA 97]

EII3/M2R - 58

Evolution des méthodologies Evolution des méthodologies


Concepteur Système X(i) = FFT [4λ Y(k)] C, SystemC
 Flot de conception continu des spécifications système
Fossé Système - Silicium

••• Matlab, ....


à l'implémentation
Spécification Systèmes • Synthèse du logiciel embarqué
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)
Architecture Système • Conception conjointe logicielle et matérielle
o De l'application au SoC (plateforme) et aux logiciels embarqués
Composants élémentaires
VHDL, .... • Co-simulation et co-vérification
Concepteur Circuit o SystemC (conférence)
o Vérification (cours Emmanuel Casseau)
Flot de conception continu depuis les
spécifications systèmes jusqu'à l'implémentation
EII3/M2R - 59 EII3/M2R - 60

© Olivier Sentieys, ENSSAT-IRISA, 2009 15


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Exemple : codeur MPEG2 Exemple : codeur MPEG2


 Complexité
• DCT: 40 MIPS
• Estimation de mouvement: 500 MIPS

- Entropy - ASIC ASIC


DCT Q DCT Q
Entropy
RAM
Coding Coding
1 2
Q-1 Q-1
Processeur
DCT-1 DCT-1
DSP

Processeur
+ +
Image Image ARM
Memory Codeur Vidéo Memory

Motion Motion
Estimation Estimation

EII3/M2R - 61 EII3/M2R - 62 Codeur Vidéo

Hardware/Software Codesign Besoins en Codesign


Specifications C/C++, Matlab, ...
 Descriptions uniformes d'un système sans a-priori
matériel/logiciel
Performance Estimation

Constraints
Simulation, Verification

Time
Hardware / Software
Cost • Cohérences des descriptions à tous les niveaux
Power Partitionning d'abstraction
Test
Programmable Hardware
Reliability Processors Accelerators • SystemC ?
Software Hardware • Preuve d'une spécification de bas niveau, par rapport à la
Algorithm i Algorithm j
spécification initiale
C code VHDL/C code
RTL/HLS  Exploration de différents modèles et découpages H/S
correspondant aux spécifications initiales
Software Hardware Library • Notion de partitionnement H/S
Compilation Synthesis
 Co-simulation et co-vérification
EII3/M2R - 63 DSP IP EII3/M2R - 64

© Olivier Sentieys, ENSSAT-IRISA, 2009 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;! Simulation système
ARCHITECTURE behavioral OF fir IS!

Flot de conception et de vérification


BEGIN!
! PROCESS!
! ! VARIABLE H,x: !vecteur;!
! ! VARIABLE tmp: !INTEGER;!
! BEGIN!
! !
! !
tmp := xn * H(0);!
FOR i IN 1 TO N-1 LOOP! Outils de codesign
 E.g. N2C CoWare
! ! ! tmp := tmp + x(i) * H(i);!
! ! END LOOP;!
! ! yn <= tmp;!
! ! FOR i IN N-1 DOWNTO 2 LOOP!
! ! ! x(i) := x(i-1);! 1 3
! ! END LOOP;! 2 4
! ! x(1) := xn;! 5

! ! WAIT FOR cadence;!


! END PROCESS;!
EII3/M2R - 65
END behavioral;!

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 EII3/M2R - 68

© Olivier Sentieys, ENSSAT-IRISA, 2009 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  Développement (actuel) d'applications (signal)
signal)
– Matlab/Simulink – Compilateur C pour DSP
Mise au point Algorithme 1 Implantation
Algorithme 1 – SPW, Ptolemy, CoCentric – Simulation assembleur
de l'algorithme Code C logicielle
– VCC

Génération manuelle ou automatique


– Compilateur C, debugger Système d'Exploitation – Traduction en VHDL
Code C Implantation
– Utilisation de vecteurs de test Temps Réel – Synthèse du circuit
"flottant" issus de la simulation système Matérielle
Algorithme 2 – Simulation VHDL
Code C
Génération manuelle
– Compilateur C, debugger
Code C
– Utilisation de vecteurs de test Algorithme N
"fixe" issus de la simulation système Code C
EII3/M2R - 69 EII3/M2R - 70

Flot système : Matlab/C Raffinement architectural


Functional block
diagram Matlab chain Matlab chain C/SystemC chain Matlab chain
Blocks
& interfaces Matlab block Matlab block SystemC Matlab block
description block

Blocks 1 2 3 Block in C Block in C 3 Block in C


4
& interfaces Matlab block Block in C with Matlab Matlab block with SystemC Block in C with Matlab Matlab block
description interface interface interface

Blocks
SystemC
& interfaces Matlab block Matlab block Matlab block
block
description

1b 3b 3b
4b
Test bench & verification (verification : both blocks (verification : both blocks
Test bench & verification
Process definition should give same results) should give same results)
Process definition

EII3/M2R - 71 [BenIsmail01] EII3/M2R - 72

© Olivier Sentieys, ENSSAT-IRISA, 2009 18


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Raffinement architectural Verification Simulink/VHDL

Block composition in the C/SystemC chain

Communication Core Communication


Interface in Interface
in Ansi-C in
SystemC SystemC
High-level behavior in
Simulink
Low-level behavior in
Inputs I/F Core
Corein
ANSI-CCore in
I/F Outputs VHDL simulator
ANSI-C

[Brodersen 2001]

EII3/M2R - 73 EII3/M2R - 74

Design Flow - Verification Design Flow - Verification

C  Abstraction levels
C
MCU O
DSP
• AL = Algorithm
M O
M o Prior to HW/SW partition
• TLM = Transaction-Level Model
o After HW/SW partition, models bit-true behavior, register bank, data
C transfers, system synchronisation; no timing needed.
O RAM C
Bus Bus O IP 2 • T-TLM = Timed TLM
model M model M o TLM + timing annotation, refined communication model
• BCA = Bus Cycle Accurate
o Models state at each clock edge
o e.g. Instruction Set Simulator (ISS) of a microprocessor
IP 1
C
O
 SOC example • RT= Register Transfer
M • MCU : Microcontroler Unit o Synthesisable model
• DSP : Digital Signal Proc.
• IP : Hardware Block
[Courtesy of F. Rocheteau] EII3/M2R - 76

© Olivier Sentieys, ENSSAT-IRISA, 2009 19


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Architect issues in building up a SoC Designer issues in building up a SoC

C C C C
MCU
ISS O MCU O
M O DSP M O DSP
M M

C C C C
Communication analysis Bus O RAM
TLM Bus O RTL
IP 2 Bus O RAM Bus O IP 2
TLM M BCA M
- Bus sizing model model M model model M
- Cache analysis

C Manage complexity C
- Early performance analysis Focus on functionality
Emulator
IP 1 O IP 1 O Simplified communication protocols
M - Mixed abstraction levels M
- Heterogeneous environment Throughput (no pagination, address generation)
Frequency
Size
[Courtesy of F. Rocheteau]

SW engineer issues in building up a SoC 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 C
MCU
ISS O
M O DSP
ISS
M
C C
MCU O
O DSP Bus
M C BCA C C
M TLM
IP 11
IP model O RAM
TLM
O Bus O TLM
IP 2
M M TLM
Bus model M
model =
C
C C RTL O
O RAM C M Reduce verification bottleneck
IP 1 O Bus O IP 2
M M model M - Continuous flow, parallel to design
process
Ability to easily plug generators - Maximum usage of abstraction /
and probes to the system formal techniques

© Olivier Sentieys, ENSSAT-IRISA, 2009 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  Untimed
 Cosimulation du système à • Description C, sans considérations temporelles
différents niveaux d’abstraction • Communication entre les blocs par RPC (Remote Procedure Call)
 Un moyen rapide d’étude des  BCA (Bus Cycle Accurate)
différents partitionnements • Affinage de la spécification au niveau cycle d’horloge
possibles, • Modélisation d’un bloc matériel au niveau RTL (VHDL, RTC, SystemC)
 Développement parallèle des • Communication entre les blocs définie par un protocole de bus
parties matérielles et logicielles  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
Complexité des fonctions du SAD_MAC SAD_MAC Bloc_body Utilisation de c2vhdl:
système Body Interface
UT Essentiellement une
BCA BCASH transcription de
Codage de 10 images selon la Bloc_Interface
SAD_MAC BCASH syntaxe de RTC vers
séquence IBBPBBPBBP:
VHDL.
SAD_Macroblock représente
Mémoire
66% de la complexité du
codeur. Mémoire_logcombi

BCA

Memoire_Body
BCA

SYSTEM

EII3/M2R - 83 EII3/M2R - 84

© Olivier Sentieys, ENSSAT-IRISA, 2009 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
• Bus latency calculation
• Bus occupancy
• # of initiators waiting
• Processor loading
• All while running real
Chargement des blocs et de la fenêtre
de recherche software on fast cycle-
accurate virtual platform
Durée variable de SAD_Macrobloc
 Answers key questions
• How many buses of which type?
• Which combination of masters and slaves should be on which
bus layer?
EII3/M2R - 85 EII3/M2R - 86• How much memory is needed?

6. Solutions architecturales 6. Solutions architecturales

4.1. Cœurs de processeur


1. Processeurs RISC
2. Processeurs configurables
3. Processeurs DSP
Flexibilité

ASIC DSP 4.2. Architectures reconfigurables


1. Solutions à base FPGA
Reconfigurable 2. Chemins de données reconfigurables
FPGA
Processor MOPS / Watt
Inefficacité

© Olivier Sentieys, ENSSAT-IRISA, 2009 22


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Cœurs de processeur
6. Solutions architecturales  Processeurs enfouis sur un SOC
 Délivré sous licence, modulaire, bloc IP
1. Cœurs de processeur  Caractérisation d’un cœur
• foundry-captive, licenciable (code RTL)
 Contenu du cœur
Processeurs RISC • cœur (+ mémoire (+ périphériques ))
Processeurs configurables  Exemples
Processeurs DSP • Infineon Carmel, Infineon TriCore
• ARM
• DSP Group OAK/PINE
e.g. ARM, TI, Xtensa, ST, … • ST D950, ST Lx
• TI C64x, C55x

EII3/M2R - 90

1. ARM ARM9 Family


 Advanced RISC Machines  32-bit RISC processor core with ARM® and Thumb® instruction sets
 ARM is the industry's leading provider of 16/32-bit  5-stage integer pipeline achieves 1.1 MIPS/MHz
embedded RISC microprocessor solutions  Up to 300 MIPS (Dhrystone 2.1) in a typical 0.13µm process
 The company licenses its high-performance, low-cost,  Single 32-bit AMBA bus interface
power-efficient RISC processors, peripherals, and system-  MMU supporting Windows CE, Symbian OS, Linux, Palm OS (ARM920T and
on-chip designs to leading international electronics ARM922T)
companies
 Memory Protection Unit (MPU) supporting a range of Real Time Operating
 ARM provides comprehensive support required in Systems including VxWorks (ARM940T)
developing a complete system
 Integrated instruction and data caches
 ten billion processors since the company was formed in
1990  8-entry write buffer — avoids stalling the processor when writes to
external memory are performed
 [Link]
 Portable to latest 0.18µm, 0.15µm, 0.13µm silicon processes

EII3/M2R - 91 EII3/M2R - 92

© Olivier Sentieys, ENSSAT-IRISA, 2009 23


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

CPU Core - ARM9TDMI ARM9 Family

Performance Characteristics
ARM920T ARM920T ARM922T ARM922T
0.18µ 0.13µ 0.18µ 0.13µ

Die Size (mm2) 11.8 4.7 8.1 3.2


Frequency (MHz) * 200 250 200 250
Power (mW/MHz) ** 0.8 0.36 0.8 0.36
(inc. caches)

Power (mW/MHz) ** 0.42 0.19 0.42 0.19


(ex. caches)

EII3/M2R - 93 EII3/M2R - 94

Power Analysis of ARM9TDMI StrongArm


 Intel SA-1110 ARM architecture

EII3/M2R - 95 EII3/M2R - 96

© Olivier Sentieys, ENSSAT-IRISA, 2009 24


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

ARM’s Amba open standard 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
 [Link]
EII3/M2R - 97 EII3/M2R - 98

Tensilica Xtensa Tensilica Xtensa

EII3/M2R - 99 EII3/M2R - 100

© Olivier Sentieys, ENSSAT-IRISA, 2009 25


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Xtensa Configurability Example 0.25um Results


 Cost, Power, Performance  Memories
 ISA • 32 or 64 entry regfile
 55 to 141MHz
• Endianness • 32, 64, or 128b bus widths
• MUL16/MAC16 • Inst Cache and Data Cache/  28 to 84K gates
RAM
• Various miscellaneous
o 1KB to 16KB
 62 to 191mW power
instructions
o 16, 32, or 64B line size  2.0mm² to 8.3mm² including cache RAMs
 Interrupts
• 4-32-entry write buffer
• Number of interrupts
 Debugging
• Type of interrupts
• No. inst addr breakpoints
• Number of interrupt levels
• No. data addr breakpoints
• Number of timers and their
interrupt levels • 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 • Dual MAC
• Jusqu'à 0.05 mW/MIPS (20 MIPS/mW)  C5510
• Consommation du C54x diminuée de 85% • 160 MHz
• 5x les performances du C54x • 320 MIPS
 C64x • 80mW
• Jusqu’à 1.1 GHz, 9 GOPS • 4000 MIPS/W
• Six ALUs (32-/40-Bit), une 32-Bit, deux 16-Bit, ou quatre 8-Bit • 160 KW SRAM
opérations arithmétiques par cycle
• Deux multiplieurs, quatre 16x16-Bit ou huit 8x8-Bit multiplications par  C5502
cycle • 400 MIPS
• Coprocesseurs VCP (Viterbi) et TCP (Turbo) • 160 mW
• 'C6411: 300 MHz, $39, 1.0 V, 250mW, 2400 MIPS, 1200 MMACS • 2.5 MIPS/mW

EII3/M2R - 104 EII3/M2R - 105

© Olivier Sentieys, ENSSAT-IRISA, 2009 26


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Texas Instruments
Very Long Instruction Word TMS 320C6x Series - VelociTI ‘C6200 CPU

MPY MPY ADD ADD MV STW ADD ADD

 Caractéristiques MPY
ADD
SHL
SUB
ADD
LDW
SUB
LDW
STW
B
STW
MVK
ADDK
NOP
B
NOP
Fetch

• Plusieurs instructions par cycle, empaquetées dans une MPY MPY ADD ADD STW STW ADDK NOP
32x8=256 bits
"super-instruction" large
• Architecture plus régulière, plus orthogonale, plus proche Dispatch Unit

du RISC
• Jeu de registres uniforme, plus large
L:ALU
 Exemples
Functional Functional Functional Functional Functional Functional Functional Functional
Unit Unit Unit Unit Unit Unit Unit Unit

S:Shift+ALU .L1 .S1 .M1 .D1 .D2 .M2 .S2 .L2

• TI TMS320 C6xx M:Multplier


D:Address U
• Infineon Carmel Register File A Register File B
• ADI TigerSHARC Data Memory Controller
• StarCore SC140 (Lucent + Motorola)
EII3/M2R - 106 EII3/M2R - 107 Internal Memory

Texas Instruments Texas Instruments


TMS 320C6x Series - Features TMS 320C6x Series - CPU

 Two sets of functional units including:


• 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 - 108 EII3/M2R - 109

© Olivier Sentieys, ENSSAT-IRISA, 2009 27


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

C64x 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 EII3/M2R - 111 Les architectures clusterisées

Architecture du cœur Architecture d’un Cluster

EII3/M2R - 112 EII3/M2R - 113

© Olivier Sentieys, ENSSAT-IRISA, 2009 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

300MHz in 0.25m technology (2. 5V)


EII3/M2R - 114 400MHz in 0.18m technology (1. 8V)

Architectures reconfigurables Architectures reconfigurables


Chaîne de réception
 Programmation du logiciel et du matériel Image
Demult. Multiple Channel Demodul.
Access Decoder Equalizer
 Accélération d'une application par des "ASIC on-the- Music

fly" Voice

 Architectures Source
Decoder
• FPGA, Data Path (DP), Processeurs
 Granularité Coprocesseur
• Grain fin (porte logique, LUT), grain moyen (DP) Reconfigurable
temps
 Reconfiguration
• Statique ou dynamique Processeur Processeur

EII3/M2R - 116 EII3/M2R - 117

© Olivier Sentieys, ENSSAT-IRISA, 2009 29


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Famille VIRTEX II Famille VIRTEX II (1.5 volts)


Nouveau design du CLB

 Schéma d’un CLB sur FPGA VirtexII
 Bancs mémoire de plus grande
taille
 Multiplieurs intégrés (18x18
bits)
 Gestion des horloges par DCM
(Digital Clock Manager) Matrice
 Capacité de routage améliorée d’interconnexion
(Active Interconnect
Technology)
 Cryptage du bitstream →
sécurisation du système
 1.5 volt

1 CLB=4 SLICES
EII3/M2R - 118 EII3/M2R - 119

Famille VIRTEX II (1.5 volts) Virtex 5


 Schéma d’un slice sur FPGA VirtexII  65 nm
 550 MHz clocking
 Performance-tuned IP blocks
 1100 DMIPS PowerPC 440
processor blocks with high-
bandwidth, low-latency
interfaces
 528 GMACS from DSP48E
slices
 192 GFLOPS single-precision
and 68 GFLOPS double-
precision floating point DSP
 1.25 Gbps LVDS I/O

EII3/M2R - 120 EII3/M2R - 121

© Olivier Sentieys, ENSSAT-IRISA, 2009 30


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Famille VIRTEX II Pro Famille VIRTEX II Pro


 Jusqu’à 4 blocs
processeurs IBM PowerPC
405.
 Fréquence de travail Caractéristiques des
jusqu’à 300MHz. Virtex II Pro
 Cœurs Rocket I/O Multi-
Gigaset Tranceiver
(transformation des Bloc processeur des
données série-parallèle) Architecture des Virtex II Pro

Virtex II Pro

(Voir détail flot de conception en ANNEXE)


EII3/M2R - 122 EII3/M2R - 123

Famille Stratix Altera Famille Stratix Altera

EII3/M2R - 124 EII3/M2R - 125

© Olivier Sentieys, ENSSAT-IRISA, 2009 31


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Stratix : Logic Element (LE) Stratix : blocs DSP


 Multiplieurs 9x9 – 18x18
 2 GMAC/s par bloc
 F = 250 MHz
 Utilisation
• Rake
• VoIP
• OFDM
• Multimédia

EII3/M2R - 126 EII3/M2R - 127

Mémoires Stratix Altera

Feature EP1S10 EP1S20 EP1S25 EP1S30 EP1S40 EP1S60 EP1S80 EP1S120


Logic 10,570 18,460 25,660 32,470 41,250 57,120 79,040 114,140
Element
s (LEs)
Total 920K 1,669 K 1,944 K 3,317 K 3,423 K 5,215 K 7,427 K 10,118 K
RAM
bits
DSP 6 10 10 12 14 18 22 28
Blocks
Emb. 48 80 80 96 112 144 176 224
Mult
PLLs 6 6 6 10 12 12 12 12

4 ports 2 ports 1 port

EII3/M2R - 128 EII3/M2R - 129

© Olivier Sentieys, ENSSAT-IRISA, 2009 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 DPR
Contrôleur de tâche
• Haute performance SB
Ctrl
DPR DPR
cluster1
maison
cluster2 • Faible consommation DPR
DPR DPR
o Peu d’instructions

Contrôleur mémoire
DPR DPR SB
DPR DPR Ctrl o Peu d’accès mémoire Ctrl
DPR DPR DPR
Ctrl
E/S Mem
DPR DPR SB
Mem
L1
maison
cluster3
DPR Cluster4
DPR L1

DPR DPR Mémoire DPR


Mémoire Ctrl DMA
DPR DPR de SB
inst° FPGA
DPR DPR config.
L2 Mémoire de donnée L2
DPR
L2 Mem SB

config. FPGA
DPR
 Collaboration ENSSAT/STMicroelectronics L1
EII3/M2R - 130 EII3/M2R - 131

Architecture d’un DPR de DART


DART Architecture
3G/UMTS Mobile Terminal
RDP1
AG1 AG2 AG3 AG4 
RDP2

Segmented Network
$D1 $D2 $D3 $D4 Ctrl RDP3
Data.
 802.11a (Channel Est.)
.. .. .. .. .. .. .. .. .. .. .. .. .. .. CB
RDP4
Mem.

.. .. .. .. .. .. .. .. .. .. .. .. .. ..
Ctrl
DMA
RDP5

.. .. .. .. .. .. .. .. .. .. .. .. .. .. Config
Mem.
FPGA
RDP6
 STMicroelectronics
.. .. .. .. .. .. .. .. .. .. .. .. .. ..  CEA LIST/LETI
.. .. .. .. .. .. .. .. .. .. .. .. .. ..
Loop Managment

AG1 AG2 AG3 AG4


 5-10 GOPS/cluster@0.13µ
 300 mW @ 5 GOPS
. . X ALU X ALU
Data
mem1
Data
mem2
Data
mem3
Data
mem4
 16 MOPS/mW @ 5 GOPS
. . . . Fully Connected Network
 Delivered as an RTL model
Bus  Circuit (ST 130nm) june 2005
reg reg
globaux FU1 FU2 FU3 FU4

EII3/M2R - 132 EII3/M2R - 133

© Olivier Sentieys, ENSSAT-IRISA, 2009 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
 Architecture reconfigurable dynamiquement
 Collaboration between IRISA/R2D2 on DART (architectural
• reconfiguration partielle du circuit
design, synthesis, validation), CEA List (validation, • reconfiguration en 1 cycle
integration), CEA Leti (integration, backend) • CS2112 : 0.25u, 24 GOPS, 3 GMACS, 10W

RAC TX
Fresh Circuit (CEA)
4G mobile terminals ARM9
AHB RAM
Technology: ST 0.13µ
CPU core: ARM946
EST ETH
4.8 Mgates
RX
Chip area = 80 mm2
Package: TBGA 420
Core power supply: 1.2 V
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)
Flexibilité, Performance, • ou MOPS (Millions of Operations Per Second)
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)
• MACS (Multiply-ACcumulate operations per Second)
DSP o Plus réaliste dans le cas de DSP, il reste cependant à évaluer les
Flexibilité

ASIC mouvements mémoire et les traitements avant et après l’instruction MAC


• Solution : Algorithm Kernel Benchmarking
Reconfigurable
FPGA
Processor MOPS / Watt
Inefficacité

EII3/M2R - 137

© Olivier Sentieys, ENSSAT-IRISA, 2009 34


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

BDTIMARK [Link] BDTIMARK


Function Description Application Examples BDTImark
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 Motorola - IBM PowerPC604e 333 MHz 62

Complex block FIR filter FIR filter that operates on a block of Modem channel equalisation Intel Pentium 200 MHz 23
complex data Analog Device ADSP 2106x 60 MHz 17
Real single-sample FIR filter FIR filter that operates on a single Speech processing, general filtering
Texas Instruments TMS320C67xx 167 MHz 65
sample of real data
Least-mean-square adaptive FIR filter LMS adaptive FIR filter that operates on Channel equalisation, servo control, linear predictive Texas Instruments TMS320C3x 80 MHz 9

a single sample of real data encoding


Infinite inpulse response (IIR) filter IIR filter that operates on a single Audio processing, general filtering Intel MMX Pentium 266 MHz 56
sample of real data

Processeurs
ARM7 TDMI/picolo 70 MHz 14
Vector dot product Sum of the pointwise multiplication of Convolution, correlation, matrix multiplication,
two vectors multidimensional signal processing ARM7 TDMI 80 MHz 7

Vector add Pointwise addition of two vectors Graphics, combining audio signals or images, vector Motorola DSP 566xx 60 MHz 15
producing a third vector search Motorola DSP 563xx 100 MHz 25
Vector maximum Discovery of the value and location of a Error-control coding, algorithms using block floating-
Lucent technologies DSP 16xxx 100MHz 37
vector's maximum value point arithmetic
Convolutional encoder Application of convolutional forward North American digital cellular telephone equipment Lucent technologies DSP 16xx 120MHz 22

error-correction code to a block of bits (IS-54 standard) Analog device ADSP21xx 75 MHz 19
Finite-state machine (FSM) A contrived series of control operations Control operations appear in nearly all digital signal Texas Instruments TMS320C80 60 MHz 26
(test, branch, push, pop) and bit processing applications
Texas Instruments TMS320C54x 100 MHz 25
manipulations
256-point, radix-2, in-place fast Fourier FFt conversion of a normal time-domain Radar, MPEG audio compression, spectral analysis Texas Instruments TMS320C62x 200 MHz 99

transform (FFT) signal into the frequency domain 0 20 40 60 80 100 120


EII3/M2R - 138 EII3/M2R - 139 Score

Métrique : performance/coût Métrique : énergie


 Filtrage numérique RIF
Zoran ZR3800x
 C549
Texas Instruments TMS320C541 18 • 100 MHz, 2.5V
Texas Instruments TMS320C52 16  C6201

Watt-microsecondes
Texas Instruments TMS320C44 Virgule Fixe
14
Texas Instruments TMS320C31 Virgule Flottante • 200 MHz, 1.8V
12
Texas Instruments TMS320C209

NEC µPD77015 10
 DSP16210
Motorola DSP56166
8 • 100 MHz, 3.3V
Motorola DSP56002

IBM MDSP2780
6  ZSP16401
Lucent Technologies DSP 3207 4 • 200 MHz, 2.5V
Lucent Technologies DSP32C

Lucent Technologies DSP 1627


2  ADSP-21160
0 • 100 MHz, 2.5V
Analog Devices ADSP-21062

01

60
49

10
1

1
Analog Devices ADSP-2171
 C6701

20

70
64

11
C5

62
C6

C6
P1

-2
P1
0 10000 20000 30000 40000 50000 60000 70000
• 167 MHz, 1.8V

SP
ZS
DS

AD
Cost-Time Product (µs$)
EII3/M2R - 140 EII3/M2R - 141

© Olivier Sentieys, ENSSAT-IRISA, 2009 35


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Métriques de comparaison (2) ASIC


 Performances (2)
 Implémentation la plus efficace
• Efficacité énergétique = Op/J = MOPS/mW • Parallélisme, pipeline
• MOPS [Link] 1  e.g. 0.13um
mW = [Link].Vdd2 = [Link].Vdd2
• multiplieur : 0.015mm2, 5pJ/Op@1V
• Efficacité par surface = MOPS/mm2 • 50mm2 : 5000 add ou reg et 500 mult
 Filtre adapté WCDMA ([Link], 32 taps)
• UMC 0.18um: 12ns, 10GOPS, 80mW, 0.08mm2
 Figure de mérite [Chien00]  CDMA/MUD [Brodersen01]
• Transistors MOPS bits
 Four adaptive pilot correlators
mm2 mW s  Die size: 3.38mm x 4.58mm
 Flexibilité  Transistor Count: 0.4 million
Nop: Number of Operators  1.2-2.4 GOP with 25 MHz clock
Aop: Average Area of Op
EII3/M2R - 142 Csw: Switch Cap. / mm2 EII3/M2R - 143

Processeurs DSP vs GPP


 Performances  Les DSPs sont efficaces en MIPS/mW et en MIPS/
• C6411: 300 MHz, $39, 1.0 V, 250mW, 2400 MIPS, 1200 mm2
MMACS, 9600 MIPS/W
 Cela se paye sur la flexibilité et la programmabilité
• C5510: 160 MHz, 320 MIPS, 80mW, 4000 MIPS/W
100000
• C5502: 400 MIPS, 160 mW, 2500 MIPS/W M68K $200
10000

mW/MIPS
I286 $200
Processeur MIPS MHz Vdd Pmoy MIPS/Watt I386 $300
1000
DSP1 $150 Pentium $500
CoolRisc 14 14 3V 2.8 mW 5000
Pentium MMX $700
TMS C54x 30-200 30-200 1.8V 460 mW 1500-3000 100
DSP32C $250
TMS C6x 1600 200 2.5V 2W 800 10 DSP16A $15
StrongARM 200 200 1.5V 420 mW 500 DSP16210 <$10
1 DSP1600 $10
a 21164 1200 300 3V 60 W 20
1980 1985 1990 1995 2000
a 21364 4000 1000 1.5V 100 W 40
EII3/M2R - 144 EII3/M2R - 145 [Ackland ISLPD98]

© Olivier Sentieys, ENSSAT-IRISA, 2009 36


Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

Résumé des solutions A = Best, E = Worst En conclusion


DSP RISC FPGA Config. ASIC ASSP
 Flexibilité vs performances en efficacité énergétique
Core Core Cores
Design B A D C A A+ 1000

MOPS/mW (or MIPS/mW)


Dedicated
Effort ASIC
HW
Design E E B C A E 100
Reconfigurable Pleiades/DART

Energy Efficiency
Flexibility Processor/Logic 10-50 MOPS/mW
10
Run-time C B A C E E ASIPs
Flexibility DSPs 2 V DSP: 3 MOPS/mW
1
Top Speed D E B C A A SA110
Embedded Processors 0.4 MIPS/mW
0.1
Energy C D C B A A Flexibility (Coverage)
Efficiency
EII3/M2R - 146 EII3/M2R - 147

Exemple : émetteur récepteur WCDMA


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.
 Prototypage d’un émetteur-récepteur WCDMA utilisé • 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 [Link].
dans les télécommunications mobiles de troisième • Le signal d’entrée DATA est considéré comme complexe, composé d’une partie
génération (3G) de type UMTS, sur un système intégré 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).
(SoC). • Les filtres RIF d’émission et de réception sont de taille N=128 :
N −1
y (n) = ∑i =0 h(i ) x(n − i )
 Etudier la complexité globale et décider quel type de • Les modulation et démodulation consistent à multiplier le signal y(n) par une
matériel à utiliser (ASIC, DSP, …) pour chaque bloc de porteuse p(n). Ces algorithmes travaillent sur des données d’entrée avec un
débit à la fréquence chip Fc.
cette chaîne de traitement.
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
Filtre y’(n)
e’(n) x’(n)
DATA(n) x(n) Filtre y(n) s(n) Démodulation RIF
Modulation
RIF Rake Receiver DATA’(n)

c(n) p(n) Générateur


de porteuse
Générateur Générateur
de codes de porteuse
• 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 de
chaque bloc de traitement. • Donner la complexité en nombre d’additions et multiplications ainsi
• En déduire la puissance de calcul en MOPS nécessaire à l’émetteur qu’en MOPS d’un corrélateur et du Rake Receiver.
WCDMA. • En déduire la puissance de calcul en MOPS nécessaire au récepteur
WCDMA.

EII3/M2R - 150 EII3/M2R - 151

WCDMA WCDMA
DSP C6x DSP C54x ASIC
 Etude d’une solution architecturale pour le système émetteur-
récepteur FIR
• Pour les 3 blocs de filtre RIF complexe, Rake Receiver et modulation-
dé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 ; MOD
o pour les 3 architectures la puissance moyenne pour l’exécution du bloc.
Complexité des Fréquence Consommation
opérations Puissance
calcul
1 ASIC 0.18u ⊗ : 4ns ⊗ : 130pJ/opération RAKE
⊕ : 3 ns ⊕ : 40pJ/opération

2 DSP C54x ⊗ : 1 cycle 200 MHz 120 mW


⊕ : 1 cycle 200 MIPS
3 DSP C6x ⊗ : 2 cycles (latence) 200 MHz 1W
⊕ : 1 cycle 1600 MIPS

© Olivier Sentieys, ENSSAT-IRISA, 2009 38

Vous aimerez peut-être aussi