6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf ·...
Transcript of 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf ·...
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 27
6. Solutions architecturales
ASIC
FPGA
DSP
Flex
ibili
té
Inefficacité
Reconfigurable Processor MOPS / Watt
6. Solutions architecturales
4.1. Cœurs de processeur
1. Processeurs RISC 2. Processeurs configurables 3. Processeurs DSP
4.2. Architectures reconfigurables 1. Solutions à base FPGA 2. Chemins de données reconfigurables
6. Solutions architecturales
1. Cœurs de processeur
Processeurs RISC Processeurs configurables
Processeurs DSP
e.g. ARM, TI, Xtensa, ST, …
EII3/M2R - 108
Cœurs de processeur
§ 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 • Infineon Carmel, Infineon TriCore • ARM • DSP Group OAK/PINE • ST D950, ST Lx • TI C64x, C55x
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 28
EII3/M2R - 109
1. ARM § 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 system-on-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 - 110
ARM9 Family § 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 - 111
CPU Core - ARM9TDMI
EII3/M2R - 112
ARM9 Family
Performance Characteristics
ARM920T 0.18µ
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
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 29
EII3/M2R - 113
Power Analysis of ARM9TDMI
EII3/M2R - 114
StrongArm
§ Intel SA-1110 ARM architecture
Intel StrongARM
EII3/M2R - 115
ARM’s Amba open standard
§ 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 - 116
2. Tensilica Xtensa § Synthesizable, configurable, embedded processor core § Software development tools (compiler, OS)
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 30
EII3/M2R - 117
Tensilica Xtensa
EII3/M2R - 118
Tensilica Xtensa
EII3/M2R - 119
Types of Configurability
§ Quantity, size, etc. • Often significant payback (e.g. cache size)
§ Options (sort of quantity 0 or 1) • e.g. FP or not, MMU or not, DSP or not, …
§ Parameters • e.g. addresses of vectors, memories, …
§ Target specifications • e.g. synthesize for area at the cost of speed • Many applications don’t need the maximum processor performance • Process, standard cell library, etc.
§ Extensibility • Adding things that the component supplier didn’t explicitly offer
EII3/M2R - 120
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
§ 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
• 4-32-entry write buffer
§ Debugging • No. inst addr breakpoints • No. data addr breakpoints • JTAG debugging • Trace port
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 31
EII3/M2R - 121
Example 0.25um Results
§ 55 to 141MHz § 28 to 84K gates § 62 to 191mW power § 2.0mm² to 8.3mm² including cache RAMs
EII3/M2R - 122
3. Cœurs de DSP
§ TI propose deux cœurs de DSP (fin 2001) § 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 - 123
C55x Architecture
§ C55x • 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 - 124
Very Long Instruction Word
§ 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)
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 32
EII3/M2R - 125
Texas Instruments TMS 320C6x Series - VelociTI ‘C6200 CPU
MPY ADD MPY ADD MV STW ADD ADD
MPY ADD SHL SUB STW STW ADDK B
ADD LDW SUB LDW B MVK NOP NOP
MPY ADD MPY ADD STW STW ADDK NOP
256
Functional Unit
.L1
Functional Unit
.S1
Functional Unit
.M1
Functional Unit
.D1
Functional Unit
.D2
Functional Unit
.M2
Functional Unit
.S2
Functional Unit
.L2
Register File A Register File B
Data Memory Controller
Internal Memory
Data Address 1 Data Address 2
Fetch
Dispatch Unit
32x8=256 bits
L:ALU S:Shift+ALU M:Multplier D:Address U
EII3/M2R - 126
Texas Instruments TMS 320C6x Series - Features
§ Advanced VLIW CPU with eight functional units (RISC-like code) § 1600 MIPS @ 200MHz, 0.25µ CMOS § 1M-bit on-chip memory (512kbit data / 512kbit program) § 32-bit external memory interface § Two enhanced-buffered serial ports (high bandwith telecom,
interprocessor com) § 16-bit host access port (Host processor access to on-chip data
memory) § Flexible PLL clock generator (Multiplies ext. clock rate for 2 or 4
for maximum CPU performance) § 352-lead ball grid array package § Price/1000: $135
EII3/M2R - 127
Texas Instruments 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 - 128
C64x
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 33
EII3/M2R - 129 Les architectures clusterisées
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 - 130
Architecture du cœur
EII3/M2R - 131
Architecture d’un Cluster
EII3/M2R - 132
ST200
300MHz in 0.25m technology (2. 5V) 400MHz in 0.18m technology (1. 8V)
21mm2
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 34
6. Solutions architecturales
4.3. Architectures reconfigurables
Solutions à base FPGA Chemins de données reconfigurables
EII3/M2R - 134
Architectures reconfigurables
§ Programmation du logiciel et du matériel § Accélération d'une application par des "ASIC on-the-
fly" § Architectures
• FPGA, Data Path (DP), Processeurs
§ Granularité • Grain fin (porte logique, LUT), grain moyen (DP)
§ Reconfiguration • Statique ou dynamique
EII3/M2R - 135
Architectures reconfigurables
Image
Music Demult. Multiple
Access Channel Decoder
Demodul. Equalizer
Source Decoder
Voice
Processeur Processeur
Coprocesseur Reconfigurable
temps
Chaîne de réception
EII3/M2R - 136
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
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 35
EII3/M2R - 137
Famille VIRTEX II (1.5 volts)
§ Schéma d’un CLB sur FPGA VirtexII
1 CLB=4 SLICES
Matrice d’interconnexion
EII3/M2R - 138
Famille VIRTEX II (1.5 volts) § Schéma d’un slice sur FPGA VirtexII
EII3/M2R - 139
Virtex 5 § 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 - 140
Famille VIRTEX II Pro
Architecture des Virtex II Pro
Bloc processeur des Virtex II Pro
§ Jusqu’à 4 blocs processeurs IBM PowerPC 405.
§ Fréquence de travail jusqu’à 300MHz.
§ Cœurs Rocket I/O Multi-Gigaset Tranceiver (transformation des données série-parallèle)
(Voir détail flot de conception en ANNEXE)
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 36
EII3/M2R - 141
Famille VIRTEX II Pro
Caractéristiques des Virtex II Pro
EII3/M2R - 142
Famille Stratix Altera
EII3/M2R - 143
Famille Stratix Altera
EII3/M2R - 144
Stratix : Logic Element (LE)
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 37
EII3/M2R - 145
Stratix : blocs DSP § Multiplieurs 9x9 – 18x18 § 2 GMAC/s par bloc § F = 250 MHz § Utilisation
• Rake • VoIP • OFDM • Multimédia
EII3/M2R - 146
Mémoires
4 ports 2 ports 1 port
EII3/M2R - 147
Stratix Altera
Feature EP1S10 EP1S20 EP1S25 EP1S30 EP1S40 EP1S60 EP1S80 EP1S120 Logic Elements (LEs)
10,570 18,460 25,660 32,470 41,250 57,120 79,040 114,140
Total RAM bits
920K 1,669K 1,944 K 3,317K 3,423 K 5,215K 7,427K 10,118K
DSP Blocks
6 10 10 12 14 18 22 28
Emb. Mult
48 80 80 96 112 144 176 224
PLLs 6 6 6 10 12 12 12 12
EII3/M2R - 148
Ctrl maison
DPR DPR DPR DPR DPR
DPR DPR DPR DPR DPR
Contrôleur de tâche
Ctrl maison
FPGA
DPR DPR DPR DPR DPR
DPR DPR DPR DPR DPR
Mémoire de donnée L2
Mémoire inst° L2
Mémoire de
config. L2
Ctrl E/S
cluster1
cluster3 Mem L1 Cluster4
cluster2
Architecture DART (IRISA/ENSSAT)
§ Collaboration ENSSAT/STMicroelectronics
§ DART • Haute performance • Faible consommation
o Peu d’instructions o Peu d’accès mémoire
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 38
EII3/M2R - 149
Ctrl Mem L1
FPGA
DPR
DPR
DPR
DPR
DPR
DPR
Ctrl DMA
Mem config.
L1
Contrôleur m
émoire
SB
SB
SB
SB
SB
Architecture d’un cluster de DART
EII3/M2R - 150
Architecture d’un DPR de DART
.
AG1
$D1
X
. . . . . . . . .
. . . . . . . . .
.
. . . . . . . . .
. . . . . . . . .
.
.
AG2
$D2
ALU
. . . . . . . . .
. . . . . . . . .
.
.
AG3
$D3
X
. . . . . . . . .
. . . . . . . . .
.
.
AG4
$D4
ALU
. . . . . . . . .
. . . . . . . . .
.
.
. . . . . . . . .
.
. . . . . . . . .
.
. . . . . . . . .
.
. . . . . . . . .
.
Bus globaux
. .
.
.
.
.
CB
EII3/M2R - 151
DART Architecture
§ 5-10 GOPS/[email protected]µ § 300 mW @ 5 GOPS § 16 MOPS/mW @ 5 GOPS § Delivered as an RTL model § Circuit (ST 130nm) june 2005
Config Mem. FPGA
Ctrl DMA
Ctrl
RDP1
RDP2
RDP3
RDP4
RDP5
RDP6
Data. Mem.
Segmented N
etwork
reg reg FU1 FU2 FU3 FU4
Fully Connected Network
Data mem1
Data mem2
Data mem3
Data mem4
AG1 AG2 AG3 AG4
Loop Managment
n 3G/UMTS Mobile Terminal n 802.11a (Channel Est.)
n STMicroelectronics n CEA LIST/LETI
EII3/M2R - 152
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
AHB
RAC
DART
EST
ARM9
TX
RX
ETH
RAM
Silicon prototype of DART § Complex SoC including DART accelerator § Collaboration between IRISA/Cairn on DART (architectural
design, synthesis, validation), CEA List (validation, integration), CEA Leti (integration, backend)
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 39
EII3/M2R - 153
Chameleon Systems Inc. § Architecture reconfigurable dynamiquement
• reconfiguration partielle du circuit • reconfiguration en 1 cycle • CS2112 : 0.25u, 24 GOPS, 3 GMACS, 10W
7. Métriques de comparaison
Flexibilité, Performance, Efficacité énergétique
ASIC
FPGA
DSP
Flex
ibili
té
Inefficacité
Reconfigurable Processor MOPS / Watt
EII3/M2R - 155
Métriques de comparaison (1)
§ 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)
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) 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
• Solution : Algorithm Kernel Benchmarking
EII3/M2R - 156
BDTIMARK http://www.bdti.com Function Description Application ExamplesReal block finite impulse response (FIR) filter FIR filter that operates on a block of
real (not complex) dataG.728 speech encoding, other speech processing
Complex block FIR filter FIR filter that operates on a block of complex data
Modem channel equalisation
Real single-sample FIR filter FIR filter that operates on a single sample of real data
Speech processing, general filtering
Least-mean-square adaptive FIR filter LMS adaptive FIR filter that operates on a single sample of real data
Channel equalisation, servo control, linear predictive encoding
Infinite inpulse response (IIR) filter IIR filter that operates on a single sample of real data
Audio processing, general filtering
Vector dot product Sum of the pointwise multiplication of two vectors
Convolution, correlation, matrix multiplication, multidimensional signal processing
Vector add Pointwise addition of two vectors producing a third vector
Graphics, combining audio signals or images, vector search
Vector maximum Discovery of the value and location of a vector's maximum value
Error-control coding, algorithms using block floating-point arithmetic
Convolutional encoder Application of convolutional forward error-correction code to a block of bits
North American digital cellular telephone equipment (IS-54 standard)
Finite-state machine (FSM) A contrived series of control operations (test, branch, push, pop) and bit manipulations
Control operations appear in nearly all digital signal processing applications
256-point, radix-2, in-place fast Fourier transform (FFT)
FFt conversion of a normal time-domain signal into the frequency domain
Radar, MPEG audio compression, spectral analysis
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 40
EII3/M2R - 157
BDTIMARK BDTImark
99
25
26
19
22
37
25
15
7
14
56
9
65
17
23
62
0 20 40 60 80 100 120
Texas Instruments TMS320C62x 200 MHz
Texas Instruments TMS320C54x 100 MHz
Texas Instruments TMS320C80 60 MHz
Analog device ADSP21xx 75 MHz
Lucent technologies DSP 16xx 120MHz
Lucent technologies DSP 16xxx 100MHz
Motorola DSP 563xx 100 MHz
Motorola DSP 566xx 60 MHz
ARM7 TDMI 80 MHz
ARM7 TDMI/picolo 70 MHz
Intel MMX Pentium 266 MHz
Texas Instruments TMS320C3x 80 MHz
Texas Instruments TMS320C67xx 167 MHz
Analog Device ADSP 2106x 60 MHz
Intel Pentium 200 MHz
Motorola - IBM PowerPC604e 333 MHz
Processeurs
Score EII3/M2R - 158
Métrique : performance/coût Algorithm Kernel Benchmarking (FFT [BDT June 1995])
0 10000 20000 30000 40000 50000 60000 70000
Cost-Time Product (µs$)
Analog Devices ADSP-2171
Analog Devices ADSP-21062
Lucent Technologies DSP 1627
Lucent Technologies DSP32C
Lucent Technologies DSP 3207
IBM MDSP2780
Motorola DSP56002
Motorola DSP56166
NEC µPD77015
Texas Instruments TMS320C209
Texas Instruments TMS320C31
Texas Instruments TMS320C44
Texas Instruments TMS320C52
Texas Instruments TMS320C541
Zoran ZR3800x
EII3/M2R - 159
Métrique : énergie
0
2
4
6
8
10
12
14
16
18
C549
C6201
DSP16210
ZSP16401
ADSP-21160
C6701
Virgule Fixe
Virgule Flottante
§ Filtrage numérique RIF
Wat
t-m
icro
seco
ndes
§ C549 • 100 MHz, 2.5V
§ C6201 • 200 MHz, 1.8V
§ DSP16210 • 100 MHz, 3.3V
§ ZSP16401 • 200 MHz, 2.5V
§ ADSP-21160 • 100 MHz, 2.5V
§ C6701 • 167 MHz, 1.8V
EII3/M2R - 160
Métriques de comparaison (2) § Performances (2)
• Efficacité énergétique = Op/J = MOPS/mW • MOPS Fclk.Nop 1 mW Nop.Aop.Csw.Fclk.Vdd2 Aop.Csw.Vdd2 • Efficacité par surface = MOPS/mm2
§ Figure de mérite [Chien00] • Transistors MOPS bits mm2 mW s
§ Flexibilité
= =
Nop: Number of Operators Aop: Average Area of Op Csw: Switch Cap. / mm2
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 41
EII3/M2R - 161
§ 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
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
§ CDMA/MUD [Brodersen01]
EII3/M2R - 162
Processeur MIPS MHz Vdd Pmoy MIPS/Watt CoolRisc 14 14 3V 2.8 mW 5000 TMS C54x 30-200 30-200 1.8V 460 mW 1500-3000 TMS C6x 1600 200 2.5V 2 W 800 StrongARM 200 200 1.5V 420 mW 500 a 21164 1200 300 3V 60 W 20 a 21364 4000 1000 1.5V 100 W 40
Processeurs § Performances
• 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
EII3/M2R - 163 [Ackland ISLPD98]
DSP vs GPP
§ Les DSPs sont efficaces en MIPS/mW et en MIPS/mm2
§ Cela se paye sur la flexibilité et la programmabilité
M68K $200
I286 $200 I386 $300
Pentium $500
Pentium MMX $700
DSP1 $150
DSP32C $250 DSP16A $15
DSP1600 $10 DSP16210 <$10
mW
/MIP
S
1
10
100
1000
10000
100000
1980 1985 1990 1995 2000
EII3/M2R - 164
Résumé des solutions DSP Core
RISC Core
FPGA Config. Cores
ASIC ASSP
Design Effort
B A D C A A+
Design Flexibility
E E B C A E
Run-time Flexibility
C B A C E E
Top Speed D E B C A A
Energy Efficiency
C D C B A A
A = Best, E = Worst
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 42
EII3/M2R - 165
En conclusion
§ Flexibilité vs performances en efficacité énergétique
Embedded Processors SA110 0.4 MIPS/mW
ASIPs DSPs 2 V DSP: 3 MOPS/mW
Dedicated HW
Flexibility (Coverage)
Ene
rgy
Eff
icie
ncy
MO
PS/m
W (o
r M
IPS/
mW
)
0.1
1
10
100
1000
Reconfigurable Processor/Logic
Pleiades/DART 10-50 MOPS/mW
ASIC
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). § Etudier la complexité globale et décider quel type de matériel à utiliser (ASIC, DSP, …) pour chaque bloc de cette chaîne de traitement.
EII3/M2R - 167
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 :
• 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.
∑−
=−=
1
0)()()( N
iinxihny
EII3/M2R - 168
WCDMA
§ Emetteur WCDMA
• 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.
Générateur de codes
Générateur de porteuse
Modulation Filtre DATA(n) x(n) y(n) s(n)
c(n) p(n)
Générateur de codes
Générateur de codes
Générateur de porteuse Générateur de porteuse
Modulation Modulation Filtre Filtre RIF
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
© Olivier Sentieys, ENSSAT-IRISA, 2011 43
EII3/M2R - 169
WCDMA
§ Récepteur WCDMA
• 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.
e’(n)
DATA’(n) Rake Receiver
Générateur de porteuse
Démodulation
Rake Receiver
Générateur de porteuse Générateur de porteuse
Démodulation Démodulation Filtre RIF
x’(n) y’(n)
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
WCDMA
§ Etude d’une solution architecturale pour le système émetteur-récepteur • 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 ; o pour les 3 architectures la puissance moyenne pour l’exécution du bloc.
WCDMA ASIC DSP C54x DSP C6x
FIR
MOD
RAKE
WCDMA ASIC DSP C54x DSP C6x
FIR
MOD
RAKE