Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
S. Mancini ASIC vs FPGA Problématique Plan Introduction ASICs FPGA Modèles de coûts FPGA ou ASIC ? Méthodologie de conception Durcissement aux radiations SoC Bilan Sur quels critères fonder son choix ? Quels sont les points communs et différences des méthodes de conception ? 2- ASIC vs FPGA Introduction 1- ASIC vs FPGA S. Mancini Les familles Plan Les ASICs (Application Specific Integrated Circuit) se décomposent en plusieurs familles : Full Custom Introduction ASICs FPGA Modèles de coûts Les masques des transistors sont dessinés. Standard cells Le circuit est un assemblage de cellules placées/routées. Méthodologie de conception Durcissement aux radiations SoC Bilan Gate array Une “mer” de portes est routée. Embedded Gate array C’est un Gate array avec des macro-blocs complexes (RAM). 3- ASIC vs FPGA 4- ASIC vs FPGA Introduction- ASICs Process Generation Technology Trends Evolution des technologie 250nm 250nm • • 130nm 100nm 90nm • ASICs FPGA Modèles de coûts ′00 ITRS ′01 ITRS • ♦ Leading Foundry ♦ 65nm 1997 1997 1999 1999 2001 2001 UK Design Forum Technologie 90 nm 5- ASIC vs FPGA Introduction- ASICs Introduction ′99 ITRS (International Technology Roadmap for Semiconductors) • 180nm 180nm 1st April, 2003 Plan 2003 2003 Year 2005 2005 2007 2007 2009 2009 1 430 KPortes/mm2 SRAM 1.6 à 1.2 mm2 par Mbit DRAM 0.5 mm2 par Mbit 6 à 9 couches de métal 6 Méthodologie de conception Durcissement aux radiations SoC Bilan 6- ASIC vs FPGA S. Mancini S. Mancini Principe Technologies de programmation Proposer des circuits génériques reconfigurables à volonté. Ils sont constitués de matrices de cellules reconfigurables et d’un réseau d’interconnexion. Les trois principales technologies de programmation sont : Q SRAM Principaux vendeurs : Actel Altera Atmel Cypress Q’ RW Data Lattice Minc QuickLogic Xilinx Flash Les technologies diffèrent par : Anti-fusibles La technologie de mémorisation de la configuration Le type de cellules élémentaires 7- ASIC vs FPGA Introduction- FPGA S. Mancini Reconfigurable dynamiquement Technologie standard Perte de configuration à la mise hors tension 8- ASIC vs FPGA Introduction- FPGA S. Mancini Technologies de programmation Technologies de programmation Les trois principales technologies de programmation sont : Les trois principales technologies de programmation sont : Grille flottante SRAM Conserve la configuration Flash Anti−fusible SRAM Flash Circuit “autonome” Encombrement minimal Technologie non-standard Anti-fusibles Non reprogrammable Anti-fusibles Technologie spécifique Pr o A SI C P L U S F la s h F a m il y F P GA s Pr oA S I C PL U S A r c hi t e c t u r e PLUS The proprietary ProASIC architecture granularity comparable to gate arrays. the “Embedded Memory Configurations” section on page 21 for more information. provides Fla sh S wit ch The ProASICPLUS device core consists of a Sea-of-Tiles™ (Figure 1). Each tile can be configured as a 3-input logic function (e.g., NAND gate, D-Flip-Flop, etc.) by 9- ASIC vs programming the FPGA appropriate Flash switch interconnections (Figure FPGA 2 on page 6 and Figure 3 on Introductionpage 6). Tiles and larger functions are connected with any of the four levels of routing hierarchy. Flash switches are distributed throughout the device to provide nonvolatile, reconfigurable interconnect programming. Flash switches are programmed to connect signal lines to the appropriate logic cell inputs and outputs. Dedicated high-performance lines are connected as needed for fast, low-skew global signal distribution throughout the core. Maximum core utilization is possible for virtually any design. Unlike SRAM FPGAs, ProASICPLUS uses a live on power-up ISP Flash switch as its programming element. In the ProASICPLUS Flash switch, two transistors share the floating gate, which stores the programming information. One is the sensing transistor, which is only used for writing and verification of the floating gate voltage. The other is the switching transistor. It can be used in the architecture to connect/separate routing nets or to configure logic. It is also used to erase the floating gate (Figure 2 on page 6). S. Mancini Pr o A S I C P L U S F la s h F a m il y F P GA s Floating Gate Logi c Ti le Sensing The logic tile cell (Figure 3 on page 6) has three inputs (any or all of which can be inverted) and one output (which can connect to both ultra-fast local and efficient long-line routing resources). Any three-input, one-output logic function (except a three-input XOR) can be configured as one tile. The tile can be configured as a latch withFigure clear 2or• Flash Switch set or as a flip-flop with clear or set. Thus, the tiles can flexibly map logic and sequential gates of a design. Actel (ProAsic) ProASICPLUS devices also contain embedded two-port SRAM blocks with built-in FIFO/RAM control logic. Programming options include synchronous or asynchronous operation, two-port RAM configurations, user defined depth and width, and parity generation or checking. Please see 10- ASIC vs FPGA Introduction- FPGA S. Mancini Switch In Switching Actel (Axcelerator) Word A x c e le r a t o r F a m il y F P GA s Switch Out SuperCluster C C TX TX RX RX TX TX RX RX A x c e le r a t o r F a m il y F P G C R B C R Local Routing In 1 Efficient Long-Line Routing 4k RAM/ FIFO RAM Block In 2 (CLK) 256x9 Two-Port SRAM or FIFO Block 4k RAM/ FIFO In 3 (Reset) Switch in Figure 3 • Core Logic Tile I/Os Rou ti ng Res our ces Logic Tile RAM Block 1 Grille flottante PLUS The routing structure of ProASIC devices is designed to provide high performance through a flexible four-level hierarchy of routing resources: ultra-fast local resources, Test efficient long-line resources, high speed very long-line resources, and high performance global networks. The ultra-fast local resources are dedicated lines that allow the output of each tile to connect directly to every input of the eight Mot surrounding tiles (Figure 4 on page 7). 256x9 Two Port SRAM The efficient long-line resources provide routing for longer or FIFO Block Figure 1 • The ProASICPLUS Device Architecture distances and higher fanout connections. These resources vary in length (spanning 1, 2, or 4 tiles), run both vertically and horizontally, and cover the entire ProASICPLUS device (Figure 5 on page 7). Each tile can drive signals onto the efficient long-line resources, which can in turn, access every input of every tile. Active buffers are inserted automatically by routing software to limit the loading effects due to distance and fanout. 1 The high-performance global networks are low skew, high Switch fanout nets that are accessible from external pins or from internal logic (Figure 7 on page 9). These nets are typically used to distribute clocks, resets, and other high fanout nets requiring a minimum skew. The global networks are implemented as clock trees, and signals can be introduced at any junction. These can be employed hierarchically with signals accessing every input on all tiles. 11- ASIC vs FPGA Introduction- FPGA 6 5 PLL Clocks SC SC SC SC SC RD SC SC SC SC SC SC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC SC SC SC SC RAMC SC SC SC SC SC SC SC SC SC SC SC SC HD HD HD HD HD HD HD HD HD HD HD HD HD RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RD RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC SC SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC RAMC SC SC SC SC SC SC RD SC SC SC Core TileSC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC RAMC SC SC SC SC SC SC RD SC SC SC SC SC SC I/O Structure (See Figure 6) Figure 2 • Axcelerator Family Interconnect Elements Actel’s Axcelerator family provides two types of logic modules, the register cell (R-cell) and the combinatorial Figure 6 • AX Device Architecture (AX1000 shown) 1 cell (C-cell). The AX C-cell can implement more than 4,000 In addition, every SRAM block has an embedded FIFO Table 1 • Number of Core Tiles per Device combinatorial functions of up to 5 inputs (Figure 3 on control unit. The control unit allows the SRAM block to be Device Number of Core Tiles page 5). The C-cell contains carry logic for even more configured as a synchronous FIFO without using core logic efficient implementation of arithmetic functions. With its AX125 1 regular tile modules. The FIFO width and depth are programmable. The small size, the C-cell structure is extremely AX250 4 smaller tiles FIFO also features programmable ALMOST-EMPTY synthesis-friendly, simplifying the overall design as well as AX500 4 regular tiles (AEMPTY) and ALMOST-FULL (AFULL) flags in addition to reducing design time. AX1000 9 regular tiles the normal EMPTY and FULL flags. The embedded FIFO AX2000 16 regular tiles The R-cell contains control unit also contains the counters necessary for thea flip-flop featuring asynchronous clear, preset, generation of the read and write addressasynchronous pointers as well as and active-low enable control signals (Figure on page 5). The R-cell registers feature Embedded Memory control circuitry to prevent metastability and3 erroneous programmable clock polarity selectable on a operation. The embedded SRAM/FIFO blocks can be As mentioned earlier, each core tile has either three (in a cascaded to create larger configurations.register-by-register basis. This provides additional flexibility smaller tile) or four (in the regular tile) embedded SRAM (e.g., easy mapping of dual-data-rate functions into the blocks along the west side, and each variable-aspect-ratio FPGA) while conserving valuable clock resources. The clock SRAM block is 4,608 bits in size. Available memory source for the R-cell can be chosen from the hard-wired configurations are: 128x36, 256x18, 512x9, 1kx4, 2kx2 or 12- ASIC vs FPGA clocks, the routed clocks, or the internal logic. 4kx1 bits. The individual blocks have separate read and IntroductionTwo C-cells, a single R-cell, and two Transmit (TX) and two write ports thatFPGA can be configured with different bit widths Receive (RX) routing buffers form a Cluster, and two on each port. For example, data can be written in by 8 and Clusters comprise a SuperCluster (Figure 4 on page 5). read out by 1. The embedded SRAM blocks can be initialized Each SuperCluster contains an independent Buffer module, at power up via the device JTAG port (ROM emulation which supports automatic buffer insertion on high-fanout mode). nets by the place-and-route tool, minimizing system delays while improving logic utilization. Circuit AX2000 2 88 1 Logic Modules Circuit APA100 1 000 000 56 320 198 kBit 4k RAM/ FIFO SC RAMC Switch out Flash System Gates v3.1 Tiles (Registers) RAM Chip Layout The high-speed very long-line resources, which span the entire device with minimal delay, are used to route very long or very high fanout nets. (Figure 6 on page 8). 4k RAM/ FIFO RAMC System Gates R-Cells C-Cells v3.1 S. Mancini 6 2 000 000 10 752 21 504 RAM PLL Clocks 338 kBit 8 4 The logic modules within the SuperCluster are arrange that two combinatorial modules are side by side, givin C–C–R – C–C–R pattern to the SuperCluster. This C–C pattern enables efficient implementation (minimum de of 2-bit carry logic for improved arithmetic performa (Figure 5 on page 5). The AX architecture is fully fracturable, meaning that if or more of the logic modules in a SuperCluster are used particular signal path, the other logic modules are available for use by other paths. At the chip level, SuperClusters are organized into c tiles, which are arrayed to build up the full chip. Each c tile consists of an array of 336 SuperClusters and four SR blocks (176 SuperClusters and 3 SRAM blocks for AX250). The SRAM blocks are arranged in a column on west side of the tile (Figure 6 on page 6). For example, AX1000 is composed of a 3x3 array of 9 core t Surrounding the array of core tiles are blocks of I/O Clus and the I/O bank ring (Table 1 on page 6). S. Mancini Advanced v1.5 4 Advanced v1.5 tent of ured as alue in write Columns Blocks in Kb in Bits XC2VP2 Device 4 12 216 221,184 XC2VP4 4 28 504 516,096 XC2VP7 6 44 792 811,008 XC2VP20 8 88 1,584 1,622,016 XC2VP30 8 136 2,448 2,506,752 XC2VP40 10 192 3,456 3,538,944 XC2VP50 12 232 4,176 4,276,224 XC2VP70 14 328 5,904 6,045,696 XC2VP100 16 444 7,992 8,183,808 XC2VP125 18 556 10,008 R Functional Description: FPGA Configurable Logic Blocks (CLBs) 10,248,192 The Virtex-II Pro configurable logic blocks (CLB) are organized in an array and are used to build combinatorial and synchronous logic designs. Each CLB element is tied to a switch matrix to access the general routing matrix, as shown in Figure 23. Xilinx (Spartan 3/Virtex II) ge) Figure 43 shows the layout of the block RAM columns in the XC2VP4 device. 2_050901 DCM COUT RocketIO TM Functional Description: FPGA Serial Transceivers DCM TBUF TBUF Configurable Logic Blocks (CLBs) endent All conion. A CLB element comprises 4 similar slices, with fast local Slice feedback within the CLB. The four slices are split in two colX1Y0 umns of two slices with two independent carry logic chains COUT Switch and one common shift chain. The Virtex-II Pro configurable logic blocks (CLB) are organized in an array and are used to build combinatorial and synchronous logic designs. Each CLB element is tied to a CLBs switch matrix to access the general routing matrix, as shown in Figure 23. CLBs BRAM Multiplier Blocks Matrix Slice Description Slice CLBs CLBs Each slice includes two 4-input function generators, carry logic, arithmetic logic gates, wide function multiplexers and two storage elements. As shown in Figure 24, each 4-input function generator is programmable as a 4-input LUT, 16 bits of distributed SelectRAM+ memory, or a 16-bit variable-tap shift register element. COUT Matrix Slice X1Y0 CIN MUXFx SRL16 LUT G SRL16 ORCY LUT F MUXFx SRL16 Fast Connects to neighbors LUT G CY Figure 24: Virtex-II Pro Slice Configuration MUXF5 Figure 23: Virtex-II Pro CLB Element SRL16 LUT F CY Register/ Latch Arithmetic Logic DCM RocketIO TM Serial Transceivers DCM Figure 24: Virtex-II Pro Slice Configuration 1 Circuit Mult. (18x18) Clock man. µP 18-Bit x 18-Bit Multipliers Logic Cells 74 880 125 136 Slices 33080 55 616 A Virtex-II Pro multiplier block is an 18-bit by 18-bit 2’s comRAM signed multiplier. 2,5 MBit MBit plement Virtex-II Pro 11 devices incorporate Introduction many embedded multiplier blocks. These multipliers can be associated with an 18 Kb block SelectRAM+ resource or can be used independently. They are optimized for 13ASIC vs FPGA high-speed operations and have a lower power consumpIntroductionFPGA tion compared to an 18-bit x 18-bit multiplier in slices. 24 www.xilinx.com 1-800-255-7778 Circuit LEs RAM Mult. (9x9) PLL µP DS083-2_31_122001 DS083-2_11_010802 Figure 43: XC2VP4 Block RAM Column Layout 1 Circuit Spartan 3 VirtexII he total r each ks are ual-port Register/ Latch DS083-2_31_122001 RAM16 DS083-2_32_122001 ized in column Blocks, CY Arithmetic Logic Register/ Latch CIN NIT_xx egister serted ailable config- Register/ Latch MUXF5 CIN Slice X0Y0 CY RAM16 Figure 23: Virtex-II Pro CLB Element 1 RAM16 SHIFT Slice X0Y1 ute) ORCY RAM16 SHIFT DS083-2_32_122001 PPC405 CPU Switch CLBs Reset Slice X1Y1 Altera (Apex/Stratix) Slice Description Each slice includes X0Y1 two 4-input function generators, carry logic, arithmetic logic gates, wide function multiplexers and Slice two storage elements. As shown in Figure 24, each Fast 4-input function generator isX0Y0 programmable as a 4-input LUT, 16 Connects neighbors bits of distributed SelectRAM+ memory, or a to 16-bit variable-tap shift register element. CIN COUT TBUF TBUF R Slice X1Y1 A CLB element comprises 4 similar slices, with fast local feedback within the CLB. The four slices are split in two columns of two slices with two independent carry logic chains and one common shift chain. Spartan 3 104 4 0 VirtexII 556 12 4 PPC S. Mancini www.xilinx.com 1-800-255-7778 Apex II (EP2A70) 67 200 1 Mbit 4 Stratix (EP1S80) 79 040 7 Mbit 176 12 Excalibur (EPXA10) 38 400 3 Mbit ? ARM922T 14- ASIC vs FPGA Introduction- FPGA S. Mancini DS083-2 (v2.7) June 2, 2003 Advance Product Specification DS083-2 (v2.7) June 2, 2003 Advance Product Specification 24 www.xilinx.com 1-800-255-7778 DS083-2 (v2.7) June 2, 2003 Advance Product Specification Coûts des FPGAs Plan Exemple de prix unitaires pour de grandes quantités : Introduction ASICs FPGA Modèles de coûts Méthodologie de conception Durcissement aux radiations SoC Bilan 15- ASIC vs FPGA S’ajoute Société Altera Référence EP20K200 (Apex 20k) Prix 340 $ Altera Altera EP1S80 EPXA1 (Excalibur ARM) 800 $ 27 $ Xilinx XC3S1000 (Spartan 3) 200 $ Xilinx XC2V8000 (Virtex II) 8000 $ Xilinx XC2VP100 (Virtex II Pro) 11000 $ Actel APA1000 (ProAsic+) 400 $ Actel AX2000 (Axcelerator) 630 $ 16- ASIC vs FPGA Introduction- Modèles de coûts Outils de CAO EEPROMs externes S. Mancini Coût des ASICS Troix composantes : Coût de conception Ingénieurs Outils de CAO ≈ 500 000 $ par an. NRE (Non-Recurring Engineering Charges) Coûts de fabrication incompressibles (masques, . . . ) ≈ 50 000 $, jusqu’à 1,5 M$ pour wafer 300 mm techno 90 nm Coût unitaire Coût de fabrication unitaire ≈ 0.2 $ par mm2 Un wafer 300 mm (90000 mm2)= 300 $ Les gate-arrays réduisent les NRE. 18 17- ASIC vs FPGA Introduction- Modèles de coûts S. Mancini Total Unit Cost ( $400,000 FPGA Cost ASIC Cost $300,000 $200,000 $100,000 $5 10 50 100 150 # of Units Device + EDA Tools Estimate (ASIC includes NRE) FPGA EDA $ 82,000 Simulation+Synthesis+FPGA Place&Route ASIC EDAEach $ 343,000 Simulation+Synthesis+Timing+ATPG FPGA $ 3,200 Device Only Cost (ASIC includes NRE) Unit’s FPGA Cost ASIC Cost 5 $ 16,000 $ 350,150 ASIC includes NRE) 10 $ 32,000 $ 350,300 Cost ASIC Cost 50 $ 160,000 $ 351,500 320,000 $ 353,000 16,000 100 $ $ 350,150 480,000 $ 354,500 32,000 150 $ $ 350,300 - Comparaison ASIC Cost $ 693,300 $ 694,500 $ 696,000 $ 697,500 $ 699,000 $ 700,500 FPGA $ 351,500 353,000 354,500 NRE ($) Coût unitaire ($) 350 000 3 200 30 FPGA/ASIC Cost vs Units (250KGates) FPGA ASIC Total Unit Cost (US$) $600,000 $500,000 $400,000 FPGA/ASIC Cost vs Units (250KGates) Total Unit Cost (US$) $600,000 $500,000 $300,000 $1,000,000 $100,000 1 $5 $400,000 10 50 100 150 $800,000 $600,000 FPGA Cost $400,000 ASIC Cost # of Units $300,000 $200,000 $100,000 FPGA Cost $ 114,000 $ 242,000 $ 402,000 $ 562,000 $ 722,000 $ 882,000 # of Units ASIC Cost $ 693,300 $ 694,500 $ 696,000 $ 697,500 $ 699,000 $ 700,500 FPGA Cost ASIC Cost $200,000 $- Device + EDA Tools Estimate (ASIC includes NRE) $FPGA EDA $ 82,000 Simulation+Synthesis+FPGA Place&Route 50 100 150 ASIC EDA $ 5 343,000 10 Simulation+Synthesis+Timing+ATPG Unit’s 10 50 100 150 200 250 Plusieurs projets/circuits sont faits sur le même wafer pour partager les NRE. 30 Each 350,000 FPGA/ASIC Cost vs Units (250KGates) FPGA Cost ASIC Cost $200,000 - ASIC $ ASIC NRE $ Les circuits multi-projets 3,200 Each FPGA NRE $ Données : système de 250K portes $ $ $ Total Unit Cost (US$) 60,000 20,000 80,000 FPGA NRE $ ASIC $ Each Unit’s FPGA30Each Cost FPGA ASIC$NRE $3,200 350,000 114,000 FPGA NRE 10 $ $ ASIC 50 $ $ 30 242,000 Each $ 402,000 ASIC NRE100 $ 350,000 150 $ 562,000 200 $ 722,000 250 $ 882,000 10 50 100 150 200 250 # of Units FPGA $ 3,200 Each FPGA NRE $ - ASIC $ ASIC NRE $ Coût 1du circuit Europractice : AMI Semiconductor 0,35 µm CMOS 680 Euro/mm2 CMP : STMicroelectronics 0,18 µm CMOS HCMOS8D 990 Euro/mm2 30 Each . . . et1 la CAO 350,000 http ://www.altera.com/products/devices/cost/cst-cost_step1.jsp s Estimate (ASIC includes NRE) DA $ 82,000 Simulation+Synthesis+FPGA Place&Route FPGA/ASIC Cost vs Units (250KGates) DA $ 343,000 Simulation+Synthesis+Timing+ATPG $1,000,000 ASIC Cost 18- ASIC vs FPGA $800,000 $ 693,300 Introduction- Modèles de coûts $ 694,500 $600,000 $ 696,000 $400,000 $ 697,500 $200,000 $ 699,000 $ 700,500 $- FPGA $ Total Unit Cost (US$) 10 FPGA NRE $ ASIC $ ASIC NRE $ 50 100 150 3,200 Each 30 Each 350,000 200 FPGA Cost ASIC Cost S. Mancini 19- ASIC vs FPGA Méthodologie de conception S. Mancini 250 # of Units Plan Flot de conception FPGA/ASIC Cost vs Units (250KGates) $1,000,000 Total Unit Cost (US$) Cost 14,000 42,000 02,000 62,000 22,000 82,000 $800,000 Introduction Méthodologie de conception $600,000 FPGA Cost ASIC Cost $400,000 Spécification $200,000 $- 50 100 150 200 250 Méthodes communes # of Units Spécificité des ASICs Spécificité des FPGAs Le prototypage : FPGA vers ASIC Exemple de projet “multi-plateforme” : LEON 10 Vecteurs de test non VHDL (RTL) Synthèse Placement routage Simulation Simulation Simulation Validation oui Validation oui Validation Fabrication ASIC Durcissement aux radiations SoC Bilan 20- ASIC vs FPGA 21- ASIC vs FPGA Méthodologie de conception- Méthodes communes S. Mancini Synthèse directe Plan Introduction Méthodologie de conception Méthodes communes Spécificité des ASICs Spécificité des FPGAs Le prototypage : FPGA vers ASIC Exemple de projet “multi-plateforme” : LEON Durcissement aux radiations SoC Bilan 22- ASIC vs FPGA Programmation FPGA Les descriptions à un "haut" niveau d’abstraction des blocs fonctionnels sont transformées en cellules standards. VHDL Entity NETLIST Synthèse e 1 s e2 e3 Placement Routage LAYOUT Pas de circuits spécifiques de type RAM/CAM, PLL 23- ASIC vs FPGA Méthodologie de conception- Spécificité des ASICs S. Mancini Composants "précaractérisés"-IP Le “Back-End” Les circuits complexes sont proposés sous la forme de macro-blocs. VHDL NETLIST e1 e2 Entity Placement Insertion test Insertion arbre d’horloge Routage des horloges s e3 Les fondeurs proposent des modèles de simulation et des masques (vue abstraite). La synthèse se fait par instanciation de “boîte noire”. Le placement/routage se décompose en plusieurs étapes : RAM Routage complet Analyse de timing Vérification (DRC, LVS, simulation post placement/routage, ...) Application-Specific SOC Multiprocessors Les blocs fonctionnels peuvent être décomposés et placés/routés séparement LAYOUT MBS + VIP1 + VIP2 MPEG CAB chronously connected to the same clock in another chiplet, we phase-aligned these clocks and analyzed the signal paths to meet timing constraints. We achieved clock alignment by tweaking the clock insertion delays, using aligners in the clock module. Similarly, we made the clock trees as structurally identical as possible. As part of the physical design process, we met design completion and manufacturability goals by implementing techniques such as design rule checks, antenna fixes, track filling, and doubling of vias wherever possible. Figure 4 shows the layout plot for the Viper design’s initial version. Table 3 summarizes the major design parameters. ICP1 + ICP2 + MMI 1394 Conditional access (MSP1 + MSP2) T-PI MSP3 M-PI TM32 PR3940 WE HAVE LEARNED much from the Viper design experience and trust it will guide us in the future, particularly since the next-generation SOC designs are significantly more complex, calling for still higher levels of integration. Some of our current activities, in addition to regular chip-development tasks, are investigating more efficient on-chip bus architectures and better design-reuse methodologies. ■ Figure 4. Layout of Viper (PNX8500). PNX8500 (philips) 1 Table 3. Design statistics. IP Parameter Value Process technology TSMC 0.18 µm, six metal layers La physique des interconnexions doit être prise en compte. Transistors About 35 million 1.2 million instances, or 8 million gates Acknowledgments Memories 243 instances, 750-Kbit memory CPUs 2 (TriMedia TM32 and MIPS PR3940) We thank the Viper management and design teams for their hard work, particularly chief architects Gert Slavenburg and Lane Albanese, without whose foresight and leadership the project never would have been successful. Instances Peripherals 50 Clock domains 82 Clock speed TM32: 200 MHz; PR3940: 150 MHz; Power 4.5 W Supply voltage 1.8-V core and 3.3-V I/O Package BGA456 SDRAM: 143 MHz 24- ASIC vs FPGA Méthodologie de conception- Spécificité des ASICs S. Mancini References 1. S. Rathnam and G. Slavenburg, “An Architectural Overview of the Programmable Multimedia Processor, TM-1,’’ Proc. 41st IEEE Computer 25- ASIC vs FPGA Méthodologie de conception- Spécificité des ASICs Society Int’l Conf. (COMPCON 96), IEEE CS chiplet timing, clock matching, and I/O timing analysis. Press, Los Alamitos, Calif., 1996, pp. 319-326. S. Mancini 2. D. Paret and C. Fenger, The I2C Bus, John Wiley & Sons, New York, 1997. To achieve timing closure, we made engineering change orders to the netlist after routing. Following each manipulation step, formal verification ensured that the modified netlist was functionally equivalent to the one after test insertion. We aligned all clock domains having synchronous chiplet crossings. For example, if the memory interface clock in one chiplet was syn- 30 Santanu Dutta is a design engineering manager at Philips Semiconductors in Sunnyvale, California. His research interests include design of high-performance IEEE Design & Test of Computers Modèles d’entrées Plan Les vendeurs de FPGA proposent des outils “propriétaires” pour utiliser les FPGAs : Introduction Méthodologie de conception Saisie de schématique Langages de description spécifiques Méthodes communes Spécificité des ASICs Spécificité des FPGAs Le prototypage : FPGA vers ASIC Exemple de projet “multi-plateforme” : LEON AHDL - Altera ABEL - Xilinx La synthèse peut être réalisée par des outils tiers (Leonardo, Synplicity, Synopsys, etc ...). Durcissement aux radiations SoC Bilan 26- ASIC vs FPGA 27- ASIC vs FPGA Méthodologie de conception- Spécificité des FPGAs Placement/routage S. Mancini Utilisation des ressources Le placement/routage est réalisé par des outils propriétaires. Ces outils permettent : ? Comment utiliser les ressources des FPGAs ? Instanciation directe Primitives (macro-cells, RAM, etc ...) Bibliothèques de macrofonctions d’allouer les blocs fonctionnels d’extraire une analyse de timing Enveloppe Main Macro Synthèse Selon les outils de synthèse ces instances ne peuvent pas être synthétisées de façon classique L’acroissement de complexité des FPGA impose l’utilisation de méthodologies hiérarchiques. Enveloppe Placement Routage Description de haut niveau/ inférence Les synthétiseurs détectent les blocs complexes. Exemple : RAM, multiplieurs, etc ... 28- ASIC vs FPGA Méthodologie de conception- Spécificité des FPGAs S. Mancini 29- ASIC vs FPGA Méthodologie de conception- Spécificité des FPGAs S. Mancini Principe Plan On utilise des FPGAs pour valider la conception d’un ASIC. Introduction Méthodologie de conception Il existe des plateformes d’émulation génériques de Méthodes communes grandes complexité (Aptix, Quickturn, . . . ). Spécificité des ASICs Spécificité des FPGAs Accroissement de la vitesse de simulation Le prototypage : FPGA vers ASIC Exemple de projet “multi-plateforme” : LEON Solutions for Wireless Communications and Image Processing Pas de vérification temporelle Durcissement aux radiations SoC Bilan L’architecture de l’émulateur peut être inadaptée au projet User-controlled power supply voltage selection and monitoring to support advanced prototyping components today and tomorrow I/O cable connectors (20) with interleaved grounds provide flexible connection to target systems 31- ASIC vs FPGA Méthodologie de conception- Le prototypage : FPGA vers ASIC FPCB® user “freehole” area with 1,920 routable pins a wide variety 30- ASICaccommodates vs FPGA of prototyping components S. Mancini Modular low-skew clock circuits (8) Modular hard-wired buses for high-fanout bi-directional nets FPIC® Programmable Interconnect Components (3) provides software-controlled interconnect and diagnostic probing Exemple : Aptix Plan utions for Wireless Communications and Image Processing Microcontroller configures all programmable hardware, performs system self-test and stores data for stand-alone configuration User-controlled power supply voltage selection and monitoring to support advanced prototyping components today and tomorrow ular low-skew ck circuits (8) Introduction Méthodologie de conception Board-edge I/O I/O cable connectors (20) with interleaved grounds provide flexible connection to target systems freehole” area routable pins a wide variety g components System Explorer MP3CF hardware Modular hard-wired buses for high-fanout bi-directional nets e Interconnect provides softerconnect and nostic probing ler configures ble hardware, m self-test and or stand-alone configuration The System Explorer MP3CF is optimized for prototyping DSP-based pipelined designs with moderate requirements for Explorer MP3CF hardware interconnectSystem between prototyping components. The MP3CF architecture provides 1 maximum performance prototypes System Explorer for MP3CF interconnect architecture orer MP3CF is optimized incorporating fixed-pin prototyping comDSP-based pipelined derate requirements for ponents such as CPUs, DSPs, memory ween prototyping compoF architecture provides cards, etc. Use the MP3CF for building mance for prototypes ed-pin prototyping comhigh-speed prototypes of wireless commuCPUs, DSPs, memory nication and digital-imaging applications. e MP3CF for building Méthodes communes Spécificité des ASICs Spécificité des FPGAs Le prototypage : FPGA vers ASIC Exemple de projet “multi-plateforme” : LEON System Explorer MP3CF interconnect architecture Board-edge I/O USER COMPONENT HOLES FPGA FPGA FPGA REGION #1 FPGA FPGA FPGA REGION #2 FPGA FPGA FPGA REGION #3 FPGA FPGA FPGA USER COMPONENT HOLES FPGA FPGA FPGA REGION #1 FPGA types of wireless commutal-imaging applications. One-to-one connections between FPIC® Device and component pins FPIC #1 FPGA FPGA REGION #2 FPGA FPGA 140 / FPGA 140 FPIC #2 One-to-one connections between FPIC® Device and component pins FPGA All component pins in a given region connect through one FPIC® device / 140 FPIC #2 140 Component pins in different regions connect through two FPIC® devices / 2 1 ASIC vs FPGA r algorithms 32by testing actual voice transmission “Nokia made a commitment to create real-time prototypes of Méthodologie de conception- Le prototypage : FPGA vers ASIC opted the Aptix solution because it provides a 2 1 33- ASIC vs FPGA S. Mancini Version 1.0.19 all its new mobile phone designs. Prototypes are the only way bug environment while maintaining our objective 3 7 LEON-2 User’s 9 voice transmission to validate our Manual algorithms by testing actual erification. FPIC #3 / GLOBAL INTERCONNECT LINES 1 bile phone designs. Prototypes are the only way 140 All component pins in a given region connect through one FPIC® device Component pins in different regions connect through two FPIC® devices / a commitment to create real-time prototypes of FPIC #1 FPIC #3 / GLOBAL INTERCONNECT LINES 140 Durcissement aux radiations SoC Bilan FPGA REGION #3 FPGA 5 s al Staff, Nokia (San Diego, CA) quality. We adopted the Aptix solution because it provides a productive debug environment while maintaining our objective 4 1.4 Functional overview Architecture de LEON 3 6 of real-time verification. 7 A block diagram of LEON-2 can be seen in figure 1. Member of Technical Staff, ASIC Engineering, Nokia (San Diego, LEON CA) processor Local ram FPU 4 Integer unit Debug Support Unit PCI CP I-Cache D-Cache Local ram 8 Ethernet MMU AMBA AHB Debug Serial Link Cibles technologiques 5 Stelios Podimatis Timers Memory Controller AHB Controller IrqCtrl UARTS I/O port AHB/APB Bridge AMBA APB 8/16/32-bits memory bus PROM I/O SRAM 6 Technologie Modèle comportemental Xilinx VIRTEX/2 FPGA Atmel ATC18/25/35 UMC FS90A/B UMC 0.18 um CMOS TSMC 0.25 um w. Artisan rams Actel Proasic FPGA Actel AX anti-fuse FPGA RAM inférée instanciée instanciée instanciée instanciée instanciée instanciée instanciée PADS inférés inférés instanciés instanciés instanciés instanciés inférés inférés SDRAM Références : http ://www.gaisler.com 1 Figure 1: LEON-2 block diagram 34- ASIC vs FPGA Méthodologie de conception- Exemple de projet “multi-plateforme” : LEON 1.4.1 Integer unit S. Mancini The LEON integer unit implements the full SPARC V8 standard, including all multiply and divide instructions. The number of register windows is configurable within the limit of the SPARC standard (2 - 32), with a default setting of 8. To aid software debugging, up to four watchpoint registers can be configured. Each register can cause a trap on an arbitrary instruction or data address range. If the debug support unit is enabled, the watchpoints can be used to enter debug mode. 1.4.2 Floating-point unit and co-processor The LEON model does not include an FPU, but provides a direct interface to the Meiko FPU 35- ASIC vs FPGA Méthodologie de conception- Exemple de projet “multi-plateforme” : LEON S. Mancini Organisation du projet cache Exemple de code cachemem.vhd tech_map.vhd entity cachemem is entity syncram is ... ... dtags0 : syncram port map (... inf : if INFER_RAM generate ... u0 : generic_syncram generic map ( ... hb : if (not INFER_RAM) generate atc1 : if TARGET_TECH = atc18 generate u0 : atc18_dpram generic map (... ... virtex2_syncram RAMB16_S36 syncram proasic_syncram RAM256x9SST generic_syncram atc18_syncram Code VHDL hdss1_128x32cm4sw0 tech_act18.vhd – pragma translate_off entity hdss2_512x32cm4sw0 is ... architecture behavioral of hdss2_512x32cm4sw0 is ... – pragma translate_on Les mémoires instanciées sont à la fois : Des boîtes noires pour la synthèse Les entités sont considérées comme des cellules de la bibliothèque. Des descriptions comportementales pour la simulation Elles peuvent être fournies par le vendeur de RAM. 36- ASIC vs FPGA Méthodologie de conception- Exemple de projet “multi-plateforme” : LEON S. Mancini entity atc18_syncram is ... id0 : hdss1_128x32cm4sw port map (... ... 37- ASIC vs FPGA Durcissement aux radiations S. Mancini Single Event Upset (SEU) Plan Une particule peut faire changer d’état les éléments de mémorisation (Latch, registres, SRAM, . . . ) . Introduction Méthodologie de conception Durcissement aux radiations e gnd Durcissement des ASICs Durcissement des FPGAs N+ s Substrat N P P N vdd N P+ Caisson P SoC Bilan Select Select s 38- ASIC vs FPGA e 0 39- ASIC vs FPGA Durcissement aux radiations S. Mancini Single Event Transient (SET) Latchup La circuiterie combinatoire peut être altérée : Une erreur à l’instant d’échantillonnage peut être mémorisée L’arbre d’horloge génère des fronts parasites DQ gnd P+ Substrat P vdd N N P P N+ Caisson N Clk Clk D D Clk Q Q SET sur la donnée 40- ASIC vs FPGA Durcissement aux radiations SET sur l’horloge S. Mancini 41- ASIC vs FPGA Durcissement aux radiations S. Mancini Principales méthodes Plan Utilisation de technologies : Introduction Méthodologie de conception Durcissement aux radiations Sur-mesures Dissipation des charges (dimensionnement, capacités) Filtrage temporel (retard+vote) Isolation des transistors Cellules intra-redondantes Durcissement des ASICs Durcissement des FPGAs SoC Bilan Standards TMR Codes correcteurs d’erreur Auto-test 43- ASIC vs FPGA Durcissement aux radiations- Durcissement des ASICs 42- ASIC vs FPGA Les registres S. Mancini Les mémoires TMR : Triple Modular Redundancy SRAM Standard Des codes correcteurs d’erreurs protègent les données stockées. Des bits supplémentaires sont nécessaires. Spécifiques Les bits d’un mot sont spatialement séparés. La surface est accrue. Vote (S)DRAM CLK Les registres doivent être éloignés pour ne pas subir le même défaut. Il doivent être mis à jour par la valeur corrigée. 44- ASIC vs FPGA Durcissement aux radiations- Durcissement des ASICs S. Mancini Les SEU accélèrent la décharge des points mémoire. On peut accroître le taux de rafraîchissement. 45- ASIC vs FPGA Durcissement aux radiations- Durcissement des ASICs S. Mancini Introduire des technologies d’auto-test dans les circuits. Méthodologies de durcissement Méthodes automatiques Technologies spécifiques Les cellules durcies sont utilisées au lieu des cellules standards. Atmel propose ATC18RHA. la technologie durcie 0.18µ TMR la synthèse “classique” est suivie d’une modification de netlist. Cela peut être fait par des scripts des outils de synthèse ou par modification des fichiers résultats. Utilisation de gate-array durcis Par conception 46- ASIC vs FPGA Durcissement aux radiations- Durcissement des ASICs 49 S. Mancini Origine des disfonctionnements Plan Les éléments des FPGAs qui sont susceptibles de provoquer des disfonctionnements : Introduction Méthodologie de conception Durcissement aux radiations Registres des cellules RAM embarquée La configuration est sensible aux SEU Durcissement des ASICs Durcissement des FPGAs La SRAM peut être altérée (XC2VP125 : 43 Mbits de configuration) Les Anti-fusibles peuvent “claquer” Les EEPROM peuvent changer d’état SoC Bilan La logique générique génère des SET Logique d’interconnexion Arbre d’horloge 48- ASIC vs FPGA Durcissement aux radiations- Durcissement des FPGAs 47- ASIC vs FPGA S. Mancini Les éléments de configuration externe (pour les FPGAs de type SRAM) doivent aussi être protégés. Remèdes Les FPGAs sont plus délicats à durcir : Les registres et la RAM Ce sont les mêmes méthodes que les ASICs. La configuration Adopter des technologies moins sensibles aux SEUs Les anti-fusibles sont moins sensibles que les SRAM/EEPROM Vérifier la configuration Utilisation de la configuration partielle des FPGAs pour vérifier les cellules automatiquement. Insérer de l’auto-contrôle des calculs Insérer des séquences connues dans les calculs pour vérifier les résultats ROM de séquences et références LFSR Une détection de faute provoque la reconfiguration du FPGA. 49- ASIC vs FPGA Durcissement aux radiations- Durcissement des FPGAs 52 S. Mancini Composants spécifiques Méthodologie de durcissement Il est possible d’implanter des TMR de façon transparente. Pour les FPGAS d’Actel, Synplify permet d’implanter directement : Actel propose des circuits résistants aux radiations : Programmation par anti-fusibles résistants Sans registres R T 5 4 S X - S R a d To l e r a n t F PG A s f o r S p a c e A p p l i c a t i o n s To achieve the SEU requirements, the D flip-flop in the RT54SX-S R-cell is enhanced (Figure 3). Both the master and slave “latches” are actually implemented with three latches. The feedback path of each of the three latches is voted with the outputs of the other two latches. If one of the three latches is struck by an ion and starts to change state, the voting with the other two latches prevents the change from feeding back and permanently latching. Care was taken in the layout to ensure that a single ion strike could not affect more than one latch. Figure 4 is a simplified schematic of the test circuitry that has been added to test the functionality of all the components of the flip-flop. The inputs to each of the three latches are independently controllable so the voting circuitry in the feedback paths can be exhaustively tested. This testing is performed on an unprogrammed array during wafer sort, final test and post burn-in test. This test circuitry cannot be used to test the flip-flops once the device has been programmed. Les registres sont faits avec des éléments combinatoire des Flip-flop combinatoire des TMR des Flip-flop combinatoire avec TMR Avec des registres durcis Q D CLK CLK En VHDL, cela se fait à l’aide d’attributs : Voter Gate architecture top of top is attribute syn_radhardlevel of top : architecture is "tmr_cc" ; ... attribute syn_radhardlevel of counter_q : signal is "tmr" ; ... CLK CLK CLK CLK CLK CLK Les latchs sont séparées pour ne pas subir les mêmes rayonnements. Figure 3 • RT54SX-S R-Cell Implementation of D Flip-Flop Using Voter Gate Logic 1 Q D 50- ASIC vs FPGA Durcissement aux radiations- Durcissement des FPGAs S. Mancini 51- ASIC vs FPGA Durcissement aux radiations- Durcissement des FPGAs Tst1 Voter Gate Tst2 Tst3 Test Circuitry Figure 4 • R-Cell Implementation— Test Circuitry CLK S. Mancini Efficacité des durcissements Plan Quelques circuits d’Actel : LRH1280 0.8 µm ( A1280 ) Flip Flop Flip Flop (CC) TMR Introduction Méthodologie de conception Durcissement aux radiations SoC GEO SEU 10−6 10−7 10−10 RTAX 0.15 µm (AX 0.15 µm S-cell=TMR) Famille AX RTAX SRAM Registre LETTH GEO SEU LETTH GEO SEU 1, 4 3.10−7 3, 36 > .. > 2, 89 10−6 1, 4 10−10 (EDAC) > 37 < 10−10 Pas de SEL pour LET = 120 MeV-cm2/mg Rappels sur les SoCs Etude comparative Bilan LETTH en MeV-cm2/mg GEO SEU= erreur/bit/jour en orbite géostationnaire 52- ASIC vs FPGA SoC 53- ASIC vs FPGA S. Mancini Constituants des SoCs Un SoPC : Excalibur (Altera) Les technologies actuelles permettent de mettre sur un même circuit : ASIC Processeurs Mémoire (SRAM et DRAM) Bus systèmes Analogique SoC=System on Chip. Les circuit programmables permettent le même type de réalisation : les SoPC (System on Programmable Chip). 54- ASIC vs FPGA SoC- Rappels sur les SoCs S. Mancini 55- ASIC vs FPGA SoC- Rappels sur les SoCs S. Mancini Les microprocesseurs Plan Ils sont disponibles selon les besoins. Introduction Méthodologie de conception Durcissement aux radiations SoC ASIC Précaractérisés Optimisés par les fondeurs sous licence. Synthétisables Modèles disponibles de haut niveau pour la synthèse. Certaines parties doivent être adaptées à la technologies. Rappels sur les SoCs Etude comparative Bilan Paramétrables Les processeurs s’adaptent aux besoins de l’application : FPGA Taille et type des caches Mécanismes systèmes (TLB, adressage virtuel, . . . ) Co-processeurs Performances : MIPS 32 bits = 300 MHz 56- ASIC vs FPGA 57- ASIC vs FPGA SoC- Etude comparative S. Mancini Les microprocesseurs Les bus On trouve deux type de processeurs : Les technologies sont adaptées aux besoins. Synthétisables ASIC Modèles génériques (ex Leon) ou processeur fournis par vendeurs de FPGAs (ex : NIOS (Altera), MicroBlaze (Xilinx)). ASIC Esclave Esclave Esclave Esclave Esclave Esclave Ressources utilisées : RAM double port, CAM. Mux Performance ≈ 50 MHz La limitation des ressources impose des processeurs simples. Intégrés dans les FPGA Maître Maître Mux Mux Maître Maître Bus Trois-états Bus à multiplexeurs ExempleExcalibur ARM (Altera), Virtex II Pro (Xilinx) FPGA FPGA Performance ≈ 300 MH Leurs caractéristiques sont figées. et peuvent cohabiter dans un même circuit. 58- ASIC vs FPGA SoC- Etude comparative S. Mancini 59- ASIC vs FPGA SoC- Etude comparative Les bus S. Mancini La mémoire Avalon Bus Specification La technologie est imposée par les ressources Les bus trois-états sont peu recommandés (et même souvent impossibles). The Avalon bus module is generated automatically by the SOPC Builder, so that the system designer is spared the task of connecting the bus and peripherals together. The Avalon bus module is very rarely used as a discrete unit, because the SOPC Builder will almost always be used to automate the integration of processors and other Avalon bus peripherals into a system module. The designer’s view of the Avalon bus module usually is limited to the specific ports that relate to the connection of custom Avalon peripherals. ASIC Note that the Avalon bus module (an Avalon bus) is a unit of active logic that takes the place of passive, metal bus lines on a physical PCB. (See Example 2). In this context, the ports of the Avalon bus module could be thought of as the pin connections for all peripheral devices connected to a passive bus. The Avalon Bus Specification Reference Manual defines only the ports, logical behavior and signal sequencing that comprise the interface to the Avalon bus module. It does not specify any electrical or physical characteristics of a physical bus. Pour économiser la logique, l’arbitrage peut être fait au niveau de chaque esclave : les fils d’interconnexions Bus Avalon sontLes nombreux. CPUs embarqués imposent des bus sys- ASIC Figure 2. Avalon Bus Module Block Diagram - an example system FPGA 1 The Avalon bus module provides the following services to Avalon peripherals connected to the bus: 6 FPGA Altera Corporation tèmes. UMC propose des bibliothèque et générateurs de SRAM. http ://www.umc.com/english/design/b_1.asp 60- ASIC vs FPGA SoC- Etude comparative S. Mancini 61- ASIC vs FPGA SoC- Etude comparative La mémoire ASIC Les mémoires sont disponibles sous forme de blocs pré-caractérisés. ROM et RAM sont générées selon les besoins. Les technologies actuelles permettent la cohabitation de plusieurs types de mémoires (SRAM, SDRAM, associatives, . . . ). Les ROMs sont crées sur-mesures. Performances 0,13 µm : SRAM 1K x 16 access time = 1,1 ns S. Mancini Horloges multiples Les FPGAs fournissent des blocs de mémoire élémentaires (≈ 4 KOctets). Ils peuvent être assemblées pour former de grandes quantités. Les ROMs sont synthétisées en circuits combinatoires. Pas de SDRAMs. ASIC Les ASICs permettent des architectures de domaines d’horloges complexes. Des FIFOs asynchrones adaptées permettent les changements de domaines : les méta-stabilitées sont résolues. Chaque domaine d’horloge a son arbre d’horloge propre. Application-Specific SOC Multiprocessors CAB FPGA Xilinx XC2VP125 (Virtex II Pro) (0,13 µm ) 556 blocs de SRAM de 18Kbits = 10,008 Kbits Configurations ( Timings 62- ASIC vs FPGA SoC- Etude comparative 16K x 1 bit 8K x 2 bits SelectRAM CLB Setup 0,4 0,5 4K x 4 bits 2K x 9 bits Prop 1,5 1,8 ICP1 + ICP2 + MMI 1394 FPGA 1K x 18 bits 512 x 36 bits Clk min 1,3 1,4 S. Mancini MBS + VIP1 + VIP2 MPEG 63- ASIC vs FPGA SoC- Etude comparative Conditional access (MSP1 + MSP2) T-PI 82 horloges dans le PNX8500 (Philips). MSP3 M-PI TM32 chronously connected to the s another chiplet, we phase-aligne and analyzed the signal paths to constraints. We achieved clock tweaking the clock insertion dela ers in the clock module. Similarly clock trees as structurally identic As part of the physical design p design completion and manufact by implementing techniques such checks, antenna fixes, track filling of vias wherever possible. Figure 4 out plot for the Viper design’s init Table 3 summarizes the m parameters. PR3940 Figure 4. Layout of Viper (PNX8500). 1 Table 3. Design statistics. WE HAVE LEARNED much from th experience and trust it will gu future, particularly since the ne SOC designs are significantly m calling for still higher levels of inte of our current activities, in addit chip-development tasks, are inve efficient on-chip bus architectu design-reuse methodologies. S. Mancini Parameter Value Process technology TSMC 0.18 µm, six metal layers Transistors About 35 million Instances 1.2 million instances, or 8 million gates Acknowledgments Memories 243 instances, 750-Kbit memory CPUs 2 (TriMedia TM32 and MIPS PR3940) Peripherals 50 Clock domains 82 Clock speed TM32: 200 MHz; PR3940: 150 MHz; We thank the Viper manageme teams for their hard work, part architects Gert Slavenburg and L without whose foresight and lead ject never would have been succe SDRAM: 143 MHz Power 4.5 W Supply voltage 1.8-V core and 3.3-V I/O Package BGA456 References 1. S. Rathnam and G. Slavenburg, “A Overview of the Programmable M Processor, TM-1,’’ Proc. 41st IEE Society Int’l Conf. (COMPCON 96 chiplet timing, clock matching, and I/O timing analysis. Press, Los Alamitos, Calif., 1996, 2. D. Paret and C. Fenger, The I2C B & Sons, New York, 1997. Horloges multiples L’analogique R Functional Description: FPGA plexer buffer can also be driven by local interconnects. The DCM has clock output(s) that can be connected to global clock multiplexer buffer inputs, as shown in Figure 47. Each global clock multiplexer buffer can be driven either by the clock pad to distribute a clock directly to the device, or by the Digital Clock Manager (DCM), discussed in Digital Clock Manager (DCM), page 40. Each global clock multi- les arbres d’horloge sont déjà construits. Le nombre d’horloges est limité. Clock Pad CLKIN Clock Pad Local Interconnect DCM CLKOUT Les changements de domaines sont délicats. Clock Multiplexer ASIC I Clock Buffer ASIC O Clock Distribution DS083-2_43_122001 Figure 47: Virtex-II Pro Clock Multiplexer Buffer Configuration Global clock buffers are used to distribute the clock to some or all synchronous logic elements (such as registers in CLBs and IOBs, and SelectRAM+ blocks. macro bloc Apex 20k FPGA Xilinx propose des Digital Clock Manager Eight global clocks can be used in each quadrant of the Virtex-II Pro device. Designers should consider the clock distribution detail of the device prior to pin-locking and floorplanning. (See the Virtex-II Pro Platform FPGA User Guide.) les FIFOs asynchrones sont faites de cellules du FPGA : leur performances sont limitées. Figure 48 shows clock distribution in Virtex-II Pro devices. In each quadrant, up to eight clocks are organized in clock rows. A clock row supports up to 16 CLB rows (eight up and eight down). To reduce power consumption, any unused clock branches remain static. 8 BUFGMUX NE NW NW 8 BUFGMUX NE 8 8 8 max 16 Clocks 16 Clocks 8 SW 8 BUFGMUX SE 8 SE SW 8 BUFGMUX FPGA DS083-2_45_122001 Figure 48: Virtex-II Pro Clock Distribution 1 38 Horloges Virtex II Pro www.xilinx.com 1-800-255-7778 DS083-2 (v2.7) June 2, 2003 Advance Product Specification 64- ASIC vs FPGA SoC- Etude comparative S. Mancini L’analogique ASIC La plupart des technologies numériques sont compatibles avec l’analogique. Les blocs analogiques sont conçus à part et intégrés à l’assemblage. Les zones numériques/analogiques sont séparées pour réduire le bruit d’horloge. 65- ASIC vs FPGA SoC- Etude comparative S. Mancini Plan Pas d’analogique intégrée. Les circuit analogiques programmables existent mais ils sont peu performants. Introduction Méthodologie de conception Durcissement aux radiations SoC Bilan FPGA 67- ASIC vs FPGA 66- ASIC vs FPGA Bilan S. Mancini Comparaisons de performances Bilan Performances et complexité de la réalisation du microprocesseur LEON pour différentes cibles technologiques : Technologie Complexité Maîtrise complète du projet Fréquence ASIC Atmel 0.18 CMOS std-cell Atmel 0.25 CMOS std-cell UMC 0.25 CMOS std-cell Atmel 0.35 CMOS std-cell 35K gates + RAM 33K gates + RAM 35K gates + RAM 2 mm2 + RAM ASIC 165 MHz (pre-layout) 140 MHz (pre-layout) 130 MHz (pre-layout) 65 MHz (pre-layout)) Maîtrise de la résistance aux radiations Coûts réduits à grande échelle Fort taux d’intégration Performances maximum FPGA Xilinx XC2V500-6 (0.15 µm ) Altera 20K200C-7 (0.15 µm ) Actel AX1000-3 (0.15 µm ) 4,800 LUT + 14/32 block RAM 5,700 LCELLs + EAB RAM (52%) 7,600 cells + 14/36 RAM 65 MHz (post-layout) 49 MHz (post-layout) 48 MHz (post-layout) FPGA http ://www.gaisler.com/ 68- ASIC vs FPGA Bilan Les erreurs coûtent cher Connaissance approfondie de la technologie NRE S. Mancini 69- ASIC vs FPGA Bilan S. Mancini Bilan Conclusion Choisir entre un FPGA et un ASIC ? Temps de développement réduits ASIC FPGA Familles résistantes aux radiations Investissements réduits Contraintes d’architecture Méconnaissance des détails internes /caractéristiques Surface/coût Efficacité Fonctionnalité Souplesse Technologie Puissance de calcul Relachement de l’attention Accroissement des risques de pannes ? Réutilisabilité Temps de développement Débits Coûts unitaires élevées Complexité limitée Architecture mémoire Consommation ... ça dépend ... Performances limitées 70- ASIC vs FPGA Bilan S. Mancini 71- ASIC vs FPGA Bilan S. Mancini ASIC vs FPGA Références S. Mancini Plan Détaillé Introduction Problématique ASICs Les familles Evolution des technologie FPGA Principe Technologies de programmation Actel (ProAsic) Actel (Axcelerator) Xilinx (Spartan 3/Virtex II) Altera (Apex/Stratix) Modèles de coûts Coûts des FPGAs Coût des ASICS Comparaison Les circuits multi-projets Méthodologie de conception Méthodes communes Flot de conception Spécificité des ASICs Synthèse directe 72- ASIC vs FPGA Bilan S. Mancini Composants "précaractérisés"-IP Le “Back-End” Méthodologies de durcissement Durcissement des FPGAs Spécificité des FPGAs Origine des disfonctionnements Remèdes Méthodologie de durcissement Composants spécifiques Efficacité des durcissements Modèles d’entrées Placement/routage Utilisation des ressources Le prototypage : FPGA vers ASIC Principe Exemple : Aptix SoC Rappels sur les SoCs Exemple de projet “multi-plateforme” : LEON Architecture de LEON Cibles technologiques Organisation du projet Exemple de code Constituants des SoCs Un SoPC : Excalibur (Altera) Etude comparative Les microprocesseurs Les bus La mémoire Horloges multiples L’analogique Durcissement aux radiations Single Event Upset (SEU) Single Event Transient (SET) Latchup Durcissement des ASICs Principales méthodes Les registres Les mémoires Bilan Comparaisons de performances Bilan Conclusion Références