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