The Chip Design Crisis Univ.-Prof. Dr.-Ing. Markus Rupp May,4 2009 Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms Outline Why Mobile Communications? Problems in the Design of Wireless Systems Complexity Gap Design Productivity Gap Problems and Solutions Parallelism, IP-Reuse, Predictive Design Inconsistent Design, Lack of Tool Support, Refinement Techniques, Design Languages, Automatic HW/SW Partitioning Virtual Prototyping, Automatic Testing and Verification, Automatic Float to Fix Conversion Static Code Analysis, automatic DFG and CFG Generation, Code Understanding and Interpretation Low Power and Power aware Designs Software Defined Radio Conclusions Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 2 Why Mobile Communications? Communication is a deep, human requirement In particular in oral form We would like to speak with arbitrary persons any time at any location. Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 3 Mobile communication of the past C-Netz Autotelefonnetz C Start Nov.1984 First only in automobiles (later portable 10 kg) Starting price ca. 50.000 öS First fully automatic mobile cellular net (radius about 15 km) Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 4 How do we communicate today? GSM Developed to support speech only (intro Austria in 94) Although, today also SMS (in Austria 95) and with GPRS also data transmission possible. UMTS Supports equally speech and various data services Even Multimedia Application with Video Streaming WLAN Originally planned as pure data communication (Internet) Supports also speech services (VoIP) Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 5 Is Mobile Communication successful? Until selling of one Million units, it took… Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 6 Is Mobile Communication successful? http://www.rtr.at/en/tk/TeilnehmerstaendeMF2007 9,6 9,7 8,4 User in Austria in Millions 2005 Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms 2006 2006 slide 7 What makes Mobile Communications a difficult task? Limited Spectrum Most of Spectrum is used by ORF! Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 8 Spectrum UHF Band ISM TETRA IRIDIUM DECT GSM 1800 410 433.5 450 430 434.79 1621.35 470 MHz 1626.5 1710 1GHz 300 MHz GSM 1800 1785 1880 MHz 1805 2GHz 1900 3GHz EGSM UMTS Satellite D-Netz GSM 872 880 890 900 905 917 925 950 MHz 935 960 915 UMTS UMTS 1900 1980 2010 Quelle: ERO, European Radiocommunications Office, erstellt:T. Neubauer Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms 2110 2170 2200 MHz slide 9 What makes Mobile Communications a difficult task? Limited Spectrum Most of Spectrum is used by ORF! Limited Battery Power Battery increases with 2% per year Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 10 Power Handy requires only 0,000 000 000 000 1 Watt for reception! Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 11 What makes Mobile Communications a difficult task? Limited Spectrum Most of Spectrum is used by ORF! Limited Battery Power Battery increases with 2% per year Multi-path propagation Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 12 Multi Path Propagation Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 13 Multi Path Propagation Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 14 What makes Mobile Communications a difficult task? Limited Spectrum Most of Spectrum is used by ORF! Limited Battery Power Battery increases with 2% per year Multi-path propagation Complexity Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 15 Complexity Gap in 3rd G. Wireless Processor Performance (Moore) Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 16 Design Productivity Gap Transistors per Chip (M) Productivity Trans./Staff - Mo. 10,000 .10m 1,000 100 .35m 10,000,000 58%/Yr. compound Complexity growth rate 1,000,000 10 100,000 1 10,000 .1 2.5m 100,000,000 .01 x xx x x x x 1,000 x 21%/Yr. compound Productivity growth rate .001 Logic Tr./Chip Tr./S.M. Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms 100 10 Source: SEMATECH slide 17 Some Observations in 3rd Generation Wireless Today, about 70% of development time is verification. 90% of the product cost are predetermined by its detailed specification. Standards (UMTS R99 in Dec.1999, R4 in March 2001, R5 in March 2003, R6 (Dez 04), R7 (Sep 05), R8 (March 08). change faster than the product design cycle. (1.LTE rev-Dec08) The required time to market becomes decisive: launching six months early, triples profits, six months late results in breaking even. Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 18 Sematech‘s Answer (1999) For every $1 invested in EDA tools, an additional $2 to $5 are spent on integration into the design flow. No EDA vendor or using company can supply all the tools needed today. Promote rapid integration of new tools from industry and university research. Create Chip Hierarchical Design System technical standard (CHDStd) This has not happened until today! Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 19 Outline Why Mobile Communications? Problems in the Design of Wireless Systems Complexity Gap Design Productivity Gap Problems and Solutions Parallelism, IP-Reuse, Predictive Design Inconsistent Design, Lack of Tool Support, Refinement Techniques, Design Languages, Automatic HW/SW Partitioning Virtual Prototyping, Automatic Testing and Verification, Automatic Float to Fix Conversion Static Code Analysis, automatic DFG and CFG Generation, Code Understanding and Interpretation Low Power and Power aware Designs Software Defined Radio Conclusions Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 20 Problems and Solutions Solutions to the Complexity Problem: Predictive Design Parallelism Hardware Accelerators Re-using IP = “Classical Approaches” Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 21 Problems and Solutions Solutions to the Design Productivity Problem: No Solutions currently in Products Multitude of Problems exist: Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 22 Inconsistent Design System-Design Marketing Researc h Implementation Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 23 Lack in Tool Support High Level of abstraction Low Ptolemy Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 24 Lack in Tool Support A multitude of EDA Tools exists already . However, they all cover only a certain part of the design flow. Major disadvantage of existing EDA Tools: not compatible to each other! Basic lack exists in: HW/SW/FW partitioning Platform based designs Float-to-Fix conversion Power aware design at High Level description Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 25 Dream: Consistent Design Flow Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 26 Dream: Consistent Design Flow Can be achieved... Via a single design representation covering all design steps equally Via one-code paradigm Via refinement steps Via closing the tool gap... Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 27 Open Tool Integration Environment (OTIE) Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 29 Design Database (DBB) Internal View Module has Structure realized by Process Property has Process Instance has Alias hierarchy Properties BasicBlock Property has has Basic Block has Data has consists of For static code analysis property tables, process table, and basic block tables of the DDB are used. DataFlow Element connected by connected by BasicBlock Connection DataFlow Connection Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms specified by DataFlow Attribute Code slide 30 Automatic HW/SW Partitioning Example SCG Delay Profile Estimator (a UMTS receiver component) CCG Process Inputs, I,Q, Parameters Correlation Coherent Accu SqrAnd Sum NonCoh Accu Finger Placement Path Profiling Peak Detection Cost = ρ CostCC + (1- ρ) CostGC ρ = 0.68 .. 0.7 We basically achieved the same result as well-trained design group We needed about 6 seconds! Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms HW (M) SW (M) HW (A) SCG X CCG X Correlation X X CoherentAccu X X SqrAndSum X X NonCohAccu X SW (A) X X X PeakDetection X X PathProfiling X X FingerPlacem. X X slide 31 Outline Why Mobile Communications? Problems in the Design of Wireless Systems Complexity Gap Design Productivity Gap Problems and Solutions Parallelism, IP-Reuse, Predictive Design Inconsistent Design, Lack of Tool Support, Refinement Techniques, Design Languages, Automatic HW/SW Partitioning Virtual Prototyping, Automatic Testing and Verification, Automatic Float to Fix Conversion Static Code Analysis, automatic DFG and CFG Generation, Code Understanding and Interpretation Low Power and Power aware Designs Software Defined Radio Conclusions Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 32 Virtual Prototyping (1) Algorithmic Design Architectural Design HW Realisation SW Implementation FW Development Algorithmic Design Architectural Design VP Implementation HW Realisation SW Implementation FW Development Algorithmic Design Architectural Design VP Implementation HW Realisation SW Implementation FW Development Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 33 Virtual Prototyping (2) Virtual Prototype: Whole system behavior can be tested via simulation but not as fast as having a prototype available After HW is available, VP can be replaced SW/FW HW/SW Interface VP HW Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 34 Supporting Platform Based Designs in VP DMA DSP ... System bus RAM HA1 HA2 ... Direct I/O Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 35 Automatic VP Generation Environment HW/SW partitioning information table VP components for W,X,Y,Z COSSAP Project W X Z Y Fileset *.gc v_arc Bus Interface System Description Interface (SDI) for COSSAP v_ent Design Data Base (DDB) VPG C A B Scheduler COSSAPGuidelines Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 36 Results of Industrial Deployment Design effort for manual VP creation [Person-hours] Component Structural Functional Total DPE 8 25 33 SYNC 17 39 56 DUD 12 43 55 Total = 144 person-hours A matter of seconds!!! Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 37 Verification (1) Today, about 70% of development time is verification Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 38 Verification (2) With such high complexity, a complete verification on every level is not possible! The higher the design level, the faster the simulation time Run all but one module (DUT) on highest possible design levels. Generate test vectors automatically for all design levels. Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 39 Automatic Test Pattern Reuse Direct I/O Registers Memory HA1 HA2 Memory image … Bus DSP DMA C test program Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 40 Float/Fixed Conversion Environment Float SDI Generation Hybrid SSD Optimisation Evaluation Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 42 Float to Fix Conversion Results {8,16,32} Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms {16} slide 43 Float to Fix Conversion Results Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 44 Outline Why Mobile Communications? Problems in the Design of Wireless Systems Complexity Gap Design Productivity Gap Problems and Solutions Parallelism, IP-Reuse, Predictive Design Inconsistent Design, Lack of Tool Support, Refinement Techniques, Design Languages, Automatic HW/SW Partitioning Virtual Prototyping, Automatic Testing and Verification, Automatic Float to Fix Conversion Static Code Analysis, automatic DFG and CFG Generation, Code Understanding and Interpretation Low Power and Power aware Designs Software Defined Radio Conclusions Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 45 Process Graph Representation Process (CFG) Basic Block (DFG) a b c BB1 + BB2 BB3 BB4 * z BB5 Process is represented as CFG One Basic Block consists of a DFG Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 46 Control Flow Graph of an FIR Filter Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 47 CFG Example E.g. function of a Delay Profile Estimator Basic Blocks and function are annotated with properties Operations +,-,* Control if, jmp Loop counter Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 48 Power Aware Design POWER REDUCTION OPPORTUNITIES SYSTEM LEVEL 7 - 20X BEHAVIORAL LEVEL RT LEVEL 2 – 5X LOGIC LEVEL TRANSISTOR LEVEL 20 – 50 % LAYOUT LEVEL Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 49 Power Reduction Dynamic Methods Sleep modes Dynamic frequency scaling (DFS) Dynamic voltage scaling (DVS) Reducing Switching Activity Clock gating Minimization of glitches Reducing number of operations Adapting Process Technology Reducing capacitance Reducing leakage current Reducing supply voltage Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 50 Outline Why Mobile Communications? Problems in the Design of Wireless Systems Complexity Gap Design Productivity Gap Problems and Solutions Parallelism, IP-Reuse, Predictive Design Inconsistent Design, Lack of Tool Support, Refinement Techniques, Design Languages, Automatic HW/SW Partitioning Virtual Prototyping, Automatic Testing and Verification, Automatic Float to Fix Conversion Static Code Analysis, automatic DFG and CFG Generation, Code Understanding and Interpretation Low Power and Power aware Designs Software Defined Radio Conclusions Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 51 Software Defined Radio What is the next step in direction automatic chip design? Software design is cheaper than Hardware design (also faster). Why not designing a new and very flexible HW platform, so flexible that algorithmic descriptions can directly be run on it runtime reconfigurable HW? Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 52 Software Defined Radio Channel RF access (front-end) IF processing Baseband Modem Processin g Bitstream processin g Information Security Joint Control Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms Data Interface Speech CODEC & Interface Man Machine Interface slide 53 Software Defined Radio RF front-end in software form? Yes, in FM receiver for cars (100MHz) No, for low power Fascinating Research topic for the coming years! Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 54 Software Defined Radio One platform could support many different standards like GSM,UMTS,WLAN, Bluetooth, UWB… New standards would simply require a software download and then the terminal would already work… Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 55 Benefits SDR Manufacturer‘s view: Concentrate R&D on smaller HW platform Applicable to every cellular system Spread development cost not over one product but entire product family. Mass production at lower costs, SW can be updated/debugged in steps Operator‘s view: New services can be implemented later Differentiation from other operators All services available regardless of standards Multi-standard base stations User‘s view: Roaming in every cellular system Personal terminal configuration Increased HW lifetime Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 56 Software Defined Radio Activity already in this direction by www.sdrforum.org A forum to support Open Architecture Reconfigurable Wireless Technology With more than 130 members However, after some years of visionary ideas, now mode of practical applications… Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 57 Software Defined Radio SCA: Software Communication Architecture Standardization started 2002. Start-ups for flexible HW structures developed by Communication Research centre Canada (CRC), Harris Corporation and supported by SDR-Forum Open architecture Java (CRC) , C++ (Harris) based Experimental RTOS von Wind River (Posix compliant) The SCA can be seen as an operating environment responsible for deploying and interconnecting the signal processing objects of an SDR. Need to be power aware Need to be reprogrammed quickly RTOS for HW? Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 58 Conclusions Gap between algorithmic demands and design productivity increases. Not one tool suite from one vendor will be the single solution for an efficient design flow. A new design flow environment has to make manual tasks automatic has to provide the flexibility for the user to incorporate new tools, and has to give the freedom to adapt the flow to his specific needs. SDR technology emerges… Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 59 Contacts Markus Rupp: mrupp@nt.tuwien.ac.at Link: http://www.nt.tuwien.ac.at/cdlab/ Diplom- und Forschungsarbeiten… Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms slide 60