PROGETTO DI SISTEMI ELETTRONICI DIGITALI Digital Systems Design Emiliano Sisinni [email protected] www.ing.unibs.it/~sisinni Ricevimento: Studio 23 1 ? E. Sisinni – Progetto di Sistemi Elettronici Digitali Timetable 2 E. Sisinni – Progetto di Sistemi Elettronici Digitali Goals & Objectives In this course, you will: • Learn how the hardware (HW) and software (SW) components of a microprocessor-based system work together to implement digital systems. • Learn both HW and SW aspects of integrating digital devices (memory, I/O interfaces, etc.) into microprocessor / microcontroller systems. • Get practical hands-on experience in system design and programming 3 E. Sisinni – Progetto di Sistemi Elettronici Digitali Goals and Objectives In the classroom lectures, you will learn more about the hardware architecture aspects of microprocessors and microcontrollers based system, their internal building blocks, operation principles, interfacing with other digital systems etc… In the laboratory sessions (ELE2), you will learn more about the programming and implementation of digital systems using state-of-the-art devices (DSP TIC6711, dsPIC33F, FPGA Altera Cyclone III…). 4 E. Sisinni – Progetto di Sistemi Elettronici Digitali Background Do you already know: • What are the main components of a microprocessor / microcontroller system ? • How does the microprocessor execute the instructions ? • How is the memory organized, and how do you access / use memory ? • How can you interface a microprocessor with other external components ? • How to write simple machine language code ? 5 E. Sisinni – Progetto di Sistemi Elettronici Digitali Grading • 50% Examinations (Theoretial aspects) – Up to 16 pts – HARDWARE SIDE • • • • • Main concepts of microprocessors GPP vs DSP Architecture & Instruction set ADCs and DACs Programmable Logic Device – SOFTWARE SIDE • Filter implementation, C & VHDL • 50% Lab Project (work in 2-3 people) on DSP/FPGA – Up to 16 pts – Possible “collaboration” with other courses • You need to pass both of them! 6 E. Sisinni – Progetto di Sistemi Elettronici Digitali Textbook • “The Scientist and Engineer's Guide to Digital Signal Processing” by Steven W. Smith, Ph.D. • http://www.dspguide.com/ • “Mixed-Signal and DSP Design Techniques,” edited by Walt Kester (Newnes, 2003) • http://www.analog.com/en/content/mixed_signal_ dsp_design_book • “Programming dsPIC MCU in C,” edited by Walt Kester (Newnes, 2003) • http://www.mikroe.com/products/view/266/progra mming-dspic-mcu-in-c/ 7 E. Sisinni – Progetto di Sistemi Elettronici Digitali Textbook • TMS320C6000 DSP Optimization Workshop • http://processors.wiki.ti.com/index.php/TMS320C 6000_DSP_Optimization_Workshop • “Digital Logic and Microprocessor Design with VHDL” by Enoch O. Hwang (Nelson, 2006) • http://faculty.lasierra.edu/~ehwang/digitaldesign/ • “The Art of Hardware Architecture - Design Methods and Techniques for Digital Circuits”, by Arora Mohit (Springer, 2012) • http://www.springer.com/engineering/circuits+%2 6+systems/book/978-1-4614-0396-8 8 E. Sisinni – Progetto di Sistemi Elettronici Digitali PSED – Electronic Digital System Design • (Electronic) Digital – Everything is performed in the digital way today! – Analog vs Digital – SN VS Cost ANALOG DIGITAL • Systems Design – We deal with (very) complex systems, not a single device! – Usually in the form of Embedded Systems 9 E. Sisinni – Progetto di Sistemi Elettronici Digitali PSED – Electronic Digital System Design • “Thus, although many signal processing will be most economically implemented with analog methods, it is the capability of digital system to achieve a guaranteed accuracy and essentially perfect reproducibility that is so appealing to engineers. • To summarize, the importance of the DSP should eventually surpass that of analog signal processing for the same reasons that digital computers have surpassed analog computers.” • p5, “Theory and Application of Digital Signal Processing” Prentice Hall, 1975, Lawrence Rabiner and Bernard Gold 10 E. Sisinni – Progetto di Sistemi Elettronici Digitali Embedded Systems • Invisible computers, inside most of the devices we use (music player, mobile phone, cars, trains, medical equipment,…). – An embedded system is a special-purpose computer system, part of a larger system which it controls • More than humans on the planet, already – 40 billion of such devices by 2020 – 99% of processors used in embedded systems • €113 billion global market in 2010, growth of 7% – Market size is about 100 times the desktop market 11 E. Sisinni – Progetto di Sistemi Elettronici Digitali Embedded systems are everywhere • From your bathroom… – Product: Sonicare Plus toothbrush. – Microprocessor: 8-bit Zilog Z8. • … to Mars – Product: NASA's Mars Sojourner Rover. – Microprocessor: 8-bit Intel 80C85. You need very different competences! 12 E. Sisinni – Progetto di Sistemi Elettronici Digitali Automotive Electronics Embedded systems: 90% future innovations 40% price 1970 13 1980 1990 E. Sisinni – Progetto di Sistemi Elettronici Digitali 2000 Automotive Electronics 14 E. Sisinni – Progetto di Sistemi Elettronici Digitali Evolution of handsets and technology 15 E. Sisinni – Progetto di Sistemi Elettronici Digitali Anatomy of a Smartphone 16 E. Sisinni – Progetto di Sistemi Elettronici Digitali Wireless Communication Systems App Data Upper Protocol Layers Packets Physical Layer (PHY) Baseband Processing 17 E. Sisinni – Progetto di Sistemi Elettronici Digitali “Air” Analog Front End Software Defined Radio – SDR – • Use software routines instead of (AS)ICs for the physical layer operations of wireless communication system • Both Analog Frontend and Digital Baseband are the scope of SDR 18 E. Sisinni – Progetto di Sistemi Elettronici Digitali SDR Levels 19 E. Sisinni – Progetto di Sistemi Elettronici Digitali SDR Levels <source:http://www.sdrforum.org> 20 Tier Name Description Tier 0 Hardware Radio (HR) Implemented using hardware components. Cannot be modified Tier 1 Software Controlled Radio (SCR) Only control functions are implemented in software: inter-connects, power levels, etc. Tier 2 Software Defined Radio (SDR) Software control of a variety of modulation techniques, wide-band or narrow-band operation, security functions, etc. Tier 3 Ideal Software Radio (ISR) Tier 4 Ultimate Software (Cognitive) Radio (USR) Programmability extends to the entire system with analog conversion only at the antenna. Not only does this form of software defined radio have full programmability, but it is also able to support a broad range of functions and frequencies at the same time. E. Sisinni – Progetto di Sistemi Elettronici Digitali Embedded systems… what are? CHARACTERISTICS: • Single-functioned – Dedicated to perform a single function • Complex functionality – Often have to run sophisticated algorithms or multiple algorithms. • Cell phone, laser printer. • Tightly-constrained – Low cost, low power, small, fast, etc. • Reactive and real-time – Continually reacts to changes in the system’s environment – Must compute certain results in real-time without delay • Safety-critical – Must not endanger human life and the environment 21 E. Sisinni – Progetto di Sistemi Elettronici Digitali Embedded systems design problems • Find an implementation that can perform the computation such that the requirements are satisfied. • Embedded systems perform computations (software) that are subject to physical constraints (hardware) – Reaction to a physical environment: deadline, throughput, jitter – Execution on a physical platform: processor speed, power, reliability • The need for an embedded systems design discipline – Computer science separates computation from physical constraints – Computer engineering ignores computation 22 E. Sisinni – Progetto di Sistemi Elettronici Digitali Determinism • A system is said to be real-time if the total correctness of an operation depends not only upon its logical correctness, but also upon the time in which it is performed. • The classical conception is that in a hard real-time or immediate real-time system, the completion of an operation after its deadline is considered useless - ultimately, this may cause a critical failure of the complete system. • A soft real-time system on the other hand will tolerate such lateness, and may respond with decreased service quality (e.g., omitting frames while displaying a video). 23 E. Sisinni – Progetto di Sistemi Elettronici Digitali Isochronous systems • Isochronous: it literally means to occur at the same time or at equal time intervals. In general English language, it refers to something that occurs at a regular interval, of the same duration; as opposed to synchronous which refers to more than one thing happening at the same time 24 E. Sisinni – Progetto di Sistemi Elettronici Digitali DSP ? • Definition: – DSP – Digital Signal Processing/Processor – It refers to: • Theoretical signal processing by digital means • Specialized hardware (processor) that can process signals in real-time • Signal – a detectable physical quantity or impulse (as a voltage, current, or magnetic field strength) by which messages or information can be transmitted (Webster Dictionary) • Signals generated via physical phenomenon are analog in that – Their amplitudes are defined over the range of real/complex numbers – Their domains are continuous in time or space. • Processing analog signal requires dedicated, special hardware. 25 E. Sisinni – Progetto di Sistemi Elettronici Digitali DSP ? • Signal Characteristics: – Signals are Physical Quantities: – Signals are Measurable – Signals are Analog – Signals Contain Information. • Examples: – – – – – – – – – Temperature Pressure Mass Speed Acceleration Torque Voltage Current Power [oC] [Newtons/m2] or [Pa] [kg] [m/s] [m/s2] [Newton*m] [Volts] [Amps] [Watts] • For us, analog signals are electrical. – Sensors: are devices that convert other physical quantities (temperature, pressure, etc.) to electrical signals. 26 E. Sisinni – Progetto di Sistemi Elettronici Digitali DSP ! • Digital signal processing concerns processing signals using digital computers. – A continuous time/space signal must be sampled to yield countable signal samples. – The real-(complex) valued samples must be quantized to fit into internal word length • Digital is “better” than Analog; analog cons: – – – – – Aging Sensitivity to the environment Uncertain performance in production units Variation in performance of units Sensitivity analog traces on PCBs • DSP doesn’t have these problems! 27 E. Sisinni – Progetto di Sistemi Elettronici Digitali Why Using DSP? • As a practical example of the power of DSP, consider the comparison between an analog and a digital lowpass filter, each with a cutoff frequency of 1kHz.Low-pass • The digital filter is implemented in a typical sampled data system and it is a FIR filter with 129 taps, while the Analog Filter is a Chebyshev of Type I and Order 6. • • • • • 28 Chebyshev Type I (Pass-Band Ripple) 6-Pole 1.0 dB Pass-Band Ripple Non-liner Phase MATLAB: fdatool – Order = 6 – Fs = 10,000 Hz – Fpass = 1,000 Hz – Apass = 1 [dB] • • • • • • FIR, 129-Tap, Less then 0.002 dB Pass Band Ripple Sharper roll-off Linear Phase It could not be realized using analog techniques! E. Sisinni – Progetto di Sistemi Elettronici Digitali Example of a 6-pole active low-pass filter 29 E. Sisinni – Progetto di Sistemi Elettronici Digitali DSP Implementation • It is assumed that an ADC/DAC combination is available with sufficient sampling frequency, resolution, and dynamic range to accurately process the signal. • The DSP is fast enough to complete all its calculations within the sampling interval, 1/fs. • Analog filters are still required at the ADC input and DAC output for antialiasing and anti-imaging, but the performance demands are not as great. 30 E. Sisinni – Progetto di Sistemi Elettronici Digitali Magnitude Response of Chebyshev Type I Order 6 31 E. Sisinni – Progetto di Sistemi Elettronici Digitali Pass-Band Ripple 1.0 dB 32 E. Sisinni – Progetto di Sistemi Elettronici Digitali FIR Filter Magnitude Response 33 E. Sisinni – Progetto di Sistemi Elettronici Digitali Less then 0.002 dB Pass-Band Ripple 34 E. Sisinni – Progetto di Sistemi Elettronici Digitali Analog vs. Digital Implementations Analog • Cons: – Approximate Filter Coefficients • Only standard components available – Environment Temperature dependent – Less accurate – Can be used only for designed purpose • Pros: – Operate in real-time Digital (DSP) • Cons: – Real-time operation is dependent on the speed of processor and the complexity of problem at hand. • Pros: – Accurate Filter implementation to desired precision – Operation independent on the environment. – Flexible • DSP’s can be reprogrammed. 35 E. Sisinni – Progetto di Sistemi Elettronici Digitali Real-Time DSP • Example: • Processor clocked @ 120 MHz and can perform 120MIPS ( 1 instruction per cycle) – Sampling rate = 8kSa/s (voice-band, telephony) number of instructions per sample = 15000. – Sampling rate = 48kSa/s (Digital Audio Tape - DAT) number of instructions per sample = (120 x 106)/(48 x 103) = 2500. – Sampling rate = 75MHz (CIF 360x288 Video at 30 frames per second) number of instructions per sample = 1.6. Digital Signal in Real-Time Digital Processing Digital Signal out Time-constrained Operation or Transformation performed on digital signals within a required period of time to maintain synchronization with occurring events. 36 E. Sisinni – Progetto di Sistemi Elettronici Digitali Embedded Systems Design • What are the FoM (Figure of Merit) of an embedded systems? • What are the trade-offs? E. Sisinni – Progetto di Sistemi Elettronici Digitali Back to design challenge - optimizing design metrics • Obvious design goal: – Construct an implementation with desired functionality • Key design challenge: – Simultaneously optimize numerous design metrics • Design metric – A measurable feature of a system’s implementation – Optimizing design metrics is a key challenge • Common metrics – Unit cost: the monetary cost of manufacturing each copy of the system, excluding NRE cost – NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of designing the system 38 E. Sisinni – Progetto di Sistemi Elettronici Digitali Back to design challenge - optimizing design metrics • Other Common metrics – – – – – – – – 39 Size: the physical space required by the system Performance: the execution time or throughput of the system Power: the amount of power consumed by the system Flexibility: the ability to change the functionality of the system without incurring heavy NRE cost Time-to-prototype: the time needed to build a working version of the system Time-to-market: the time required to develop a system to the point that it can be released and sold to customers Maintainability: the ability to modify the system after its initial release Correctness, safety, many more… E. Sisinni – Progetto di Sistemi Elettronici Digitali Metrics: improving one may worsen others • Expertise with both software and hardware is needed to optimize design metrics – Not just a hardware or software expert, as is common – A designer must be comfortable with various technologies in order to choose the best for a given application and constraints 40 E. Sisinni – Progetto di Sistemi Elettronici Digitali Time-to-market: a demanding design metric Revenues ($) • • • • Time required to develop a product to the point it can be sold to customers Market window – Period during which the product would have highest sales Average time-to-market constraint is about 8 months Delays can be costly Time (months) 41 E. Sisinni – Progetto di Sistemi Elettronici Digitali Losses due to delayed market entry • Simplified revenue model Peak revenue Revenues ($) Peak revenue from delayed entry On-time Market fall Market rise Delayed D On-time entry 42 W Delayed entry 2W Time – Product life = 2W, peak at W – Time of market entry defines a triangle, representing market penetration – Triangle area equals revenue • Loss – The difference between the on-time and delayed triangle areas E. Sisinni – Progetto di Sistemi Elettronici Digitali Losses due to delayed market entry (cont.) • Area = 1/2 * base * height – On-time = 1/2 * 2W * W – Delayed = 1/2 * (W-D+W)*(W-D) Peak revenue Revenues ($) Peak revenue from delayed entry • Percentage revenue loss = (D(3W-D)/2W2)*100% On-time Market fall Market rise • Try some examples Delayed D On-time entry 43 W Delayed entry 2W Time – Lifetime 2W=52 wks, delay D=4 wks – (4*(3*26 –4)/2*26^2) = 22% – Lifetime 2W=52 wks, delay D=10 wks – (10*(3*26 –10)/2*26^2) = 50% – Delays are costly! E. Sisinni – Progetto di Sistemi Elettronici Digitali NRE and unit cost metrics • Costs: – Unit cost: the monetary cost of manufacturing each copy of the system, excluding NRE cost – NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of designing the system – total cost = NRE cost + unit cost * # of units – per-product cost = total cost / # of units = (NRE cost / # of units) + unit cost • Example – NRE=$2000, unit=$100 – For 10 units – total cost = $2000 + 10*$100 = $3000 – per-product cost = $2000/10 + $100 = $300 Amortizing NRE cost over the units results in an additional $200 per unit 44 E. Sisinni – Progetto di Sistemi Elettronici Digitali NRE and unit cost metrics • Compare technologies by costs -- best depends on quantity – Technology A: NRE=$2,000, unit=$100 – Technology B: NRE=$30,000, unit=$30 – Technology C: NRE=$100,000, unit=$2 $200,000 B C $120,000 $80,000 A B $160 p er p rod uc t c ost $160,000 tota l c ost (x1000) $200 A $40,000 C $120 $80 $40 $0 $0 0 800 1600 2400 Numb er of units (volume) 0 800 1600 Numb er of units (volume) • But, must also consider time-to-market 45 2400 E. Sisinni – Progetto di Sistemi Elettronici Digitali The performance design metric • Widely-used measure of system, widely-abused – Clock frequency, instructions per second – not good measures – Digital camera example – a user cares about how fast it processes images, not clock speed or instructions per second • Latency (response time) – Time between task start and end – e.g., Camera’s A and B process images in 0.25 seconds • Throughput – Tasks per second, e.g. Camera A processes 4 images per second – Throughput can be more than latency seems to imply due to concurrency, e.g. Camera B may process 8 images per second (by capturing a new image while previous image is being stored). • Speedup of B over S = B’s performance / A’s performance – Throughput speedup = 8/4 = 2 46 E. Sisinni – Progetto di Sistemi Elettronici Digitali Three key embedded system technologies • Technology – A manner of accomplishing a task, especially using technical processes, methods, or knowledge • Three key technologies for embedded systems – Processor technology: The architecture of the computation engine used to implement a system’s desired functionality – IC technology: The manner in which an analog/digital implementation is mapped onto an IC – Design technology: The manner in which we convert our concept of desired system functionality into an implementation 47 E. Sisinni – Progetto di Sistemi Elettronici Digitali Processor technology • Processors vary in their customization for the problem at hand y[n] h[k ].x[n k ] Desired functionality Generalpurpose processor 48 y[n]=0; for (n=0; n<N;n++) { for (k = 0;k<N;k++) //inner loop y[n] = y[n] + h[k]*x[n-k]; } Application-specific processor E. Sisinni – Progetto di Sistemi Elettronici Digitali Singlepurpose processor General-purpose processors • Programmable device used in a variety of applications – Also known as “microprocessor” • Features – Program memory – General datapath with large register file and general ALU • User benefits – Low time-to-market and NRE costs – High flexibility Datapath Control logic and State register Register file IR PC Program memory • “Intel processors” the most wellknown, but there are hundreds of others 49 Controller E. Sisinni – Progetto di Sistemi Elettronici Digitali Assembly code for: total = 0 for i =1 to … General ALU Data memory Multiply and Accumulate - GPP R0 11 12 3 11 24 X R1 1 9 2 3 Loop 50 Clr A ;Clear Accumulator A Clr B ; Clear Accumulator B Mov *R0, Y0 ; Move data from memory location 1 to register Y0 Mov *R1,X0 ; Move data from memory location 2 to register X0 Mpy X0,Y0,A ;X0*Y0 ->A Add A,B ;A + B -> B Inc R0 ;R0 + 1 -> R0 Inc R1 ;R1 + 1 -> R1 Dec N ;Dec N (initially equals to 3) Tst N ;Test for the value Jnz Loop ;Different than zero loop again Mov B,*R2 ;Move result to memory E. Sisinni – Progetto di Sistemi Elettronici Digitali R2 44 Single-purpose processors • Digital circuit designed to execute exactly one program – a.k.a. coprocessor, accelerator or peripheral • Features – Contains only the components needed to execute a single program – No program memory • Benefits – Fast – Low power – Small size 51 E. Sisinni – Progetto di Sistemi Elettronici Digitali Controller Datapath Control logic index total State register + Data memory Application-specific processors • Programmable processor optimized for a particular class of applications having common characteristics Controller Control logic and State register – Compromise between general-purpose and single-purpose processors • Features – Program memory – Optimized datapath – Special functional units IR – Some flexibility, good performance, size and power 52 E. Sisinni – Progetto di Sistemi Elettronici Digitali Registers Custom ALU PC Program memory • Benefits Datapath Assembly code for: total = 0 for i =1 to … Data memory Multiply and Accumulate - ASP 11 12 3 11 24 X 1 R2 44 9 2 3 53 Clr A ;Clear Accumulator A Rep N ; Rep N times the next instruction MAC *(R0)+, *(R1)+, A ; Fetch the two memory locations pointed by R0 and R1, multiply them together and add the result to A, the final result is stored back in A Mov A, *R2 ; Move result to memory E. Sisinni – Progetto di Sistemi Elettronici Digitali IC technology • IC technologies: – IC: Integrated circuit, or “chip” – IC technologies differ in their customization to a design – IC’s consist of numerous layers (perhaps 10 or more); IC technologies differ with respect to who builds each layer and when • Three types of IC technologies – Full-custom/VLSI – Semi-custom ASIC (gate array and standard cell) – PLD (Programmable Logic Device) IC package IC gate oxide source channel drain Silicon substrate 54 E. Sisinni – Progetto di Sistemi Elettronici Digitali Full-custom/VLSI • All layers are optimized for an embedded system’s particular digital implementation – Placing transistors – Sizing transistors – Routing wires • Benefits – Excellent performance, small size, low power • Drawbacks – High NRE cost (e.g., $300k), long time-to-market 55 E. Sisinni – Progetto di Sistemi Elettronici Digitali Semi-custom • Lower layers are fully or partially built – Designers are left with routing of wires and maybe placing some blocks • Benefits – Good performance, good size, less NRE cost than a full-custom implementation (perhaps $10k to $100k) • Drawbacks – Still require weeks to months to develop 56 E. Sisinni – Progetto di Sistemi Elettronici Digitali PLD (Programmable Logic Device) • All layers already exist – Designers can purchase an IC – Connections on the IC are either created or destroyed to implement desired functionality – Field-Programmable Gate Array (FPGA) very popular • Benefits – Low NRE costs, almost instant IC availability • Drawbacks – Bigger, expensive (perhaps $30 per unit), power hungry, slower 57 E. Sisinni – Progetto di Sistemi Elettronici Digitali Design Technology • The manner in which we convert our concept of desired system functionality into an implementation Compilation/Synthesis: Automates exploration and insertion of implementation details for lower level. Libraries/IP: Incorporates pre-designed implementation from lower abstraction level into higher level. Test/Verification: Ensures correct functionality at each level, thus reducing costly iterations between levels. System specification Behavioral specification RTL specification Logic specification Compilation/ Libraries/ Synthesis IP Test/ Verification System synthesis Hw/Sw/ OS Model simulat./ checkers Behavior synthesis Cores Hw-Sw cosimulators RTL synthesis RTL HDL components simulators Logic synthesis Gates/ Cells To final implementation 58 E. Sisinni – Progetto di Sistemi Elettronici Digitali Gate simulators The HW design mimics the SW • Abstraction and clustering! IP Block Performance Inter IP Communication Performance Models abstract Transistor Model Capacity Load 1970’s 59 abstract Gate Level Model Capacity Load abstract abstract SDF (Standard Delay Format) Wire Load (the information to estimate wiring delays; area, resistance,capacitance,slope and fanout) IP Blocks RTL cluster RTL Clusters SW Models cluster cluster 1980’s 1990’s E. Sisinni – Progetto di Sistemi Elettronici Digitali Year 2000 + The co-design ladder • In the past: – Hardware and software design technologies were very different – Recent maturation of synthesis enables a unified view of hardware and software • Now: hardware/software “codesign” – The choice of hardware versus software for a particular function is simply a tradeoff among various design metrics, like performance, power, size, NRE cost, and especially flexibility; there is no fundamental difference between what hardware or software can implement. 60 Sequential program code (e.g., C, VHDL) Compilers (1960's,1970's) Behavioral synthesis (1990's) Register transfers Assembly instructions Assemblers, linkers (1950's, 1960's) Machine instructions RT synthesis (1980's, 1990's) Logic equations / FSM's Logic synthesis (1970's, 1980's) Logic gates Implementation Microprocessor plus program bits: “software” E. Sisinni – Progetto di Sistemi Elettronici Digitali VLSI, ASIC, or PLD implementation: “hardware” Independence of processor and IC technologies • Basic tradeoff – General vs. custom – With respect to processor technology or IC technology – The two technologies are independent General, providing improved: Generalpurpose processor ASP Singlepurpose processor Flexibility Maintainability NRE cost Time- to-prototype Time-to-market Cost (low volume) Power efficiency Performance Size Cost (high volume) PLD 61 Customized, providing improved: Semi-custom Full-custom E. Sisinni – Progetto di Sistemi Elettronici Digitali IC capacity • • • • Moore’s law The most important trend in embedded systems Predicted in 1965 by Intel co-founder Gordon Moore IC transistor capacity has doubled roughly every 18 months for the past several decades. • Something that doubles frequently grows more quickly than most people realize! – A 2002 chip can hold about 15,000 1981 chips inside itself 1981 1984 1987 1990 1993 1996 1999 10,000 transistors 150,000,000 transistors Leading edge chip in 1981 62 2002 E. Sisinni – Progetto di Sistemi Elettronici Digitali Leading edge chip in 2002 Design productivity gap • While designer productivity has grown at an impressive rate over the past decades, the rate of improvement has not kept pace with chip capacity! – 1981 leading edge chip required 100 designer months • 10,000 transistors / 100 transistors/month – 2010 leading edge chip requires 1,000,000 designer months • 1E10 transistors / 1E4 transistors/month • Designer cost increase from $1M to $1B 63 E. Sisinni – Progetto di Sistemi Elettronici Digitali Increasing complexity: HW vs SW • An example: 3G and 4G cellular systems. • Complexity demand of modern communication systems, particularly in the wireless domain, grows at an astounding rate, a rate so high that the available complexity and even worse the design productivity required to convert algorithms into silicon are left far behind. • This effect is commonly referred to as the design productivity crisis or simply the design gap 64 E. Sisinni – Progetto di Sistemi Elettronici Digitali The mythical man-month • The situation is even worse than the productivity gap indicates • • In theory, adding designers to team reduces project completion time In reality, productivity per designer decreases due to complexities of team management and communication In the software community, known as “the mythical man-month” (Brooks 1975) At some point, can actually lengthen project completion time! (“Too many cooks”) • • • • • 65 1M transistors, 1 designer=5000 trans/month Each additional designer reduces for 100 trans/month So 2 designers produce 4900 trans/month each 60000 50000 40000 30000 20000 10000 16 15 Team 16 19 18 23 24 Months until completion 43 Individual 0 10 Number of designers 20 E. Sisinni – Progetto di Sistemi Elettronici Digitali 30 40 What to use? 66 E. Sisinni – Progetto di Sistemi Elettronici Digitali
© Copyright 2024 ExpyDoc