Presentation on theme: "JET 2006TKT-9627 Digital and Computer Systems Seminar1 Closing the Gap Between ASIC & Custom."— Presentation transcript:
JET 2006TKT-9627 Digital and Computer Systems Seminar1 Closing the Gap Between ASIC & Custom
JET 2006TKT-9627 Digital and Computer Systems Seminar2 Course content n Literature: David Chinney and Kurt Keutzer: “Closing the Gap Between ASIC & Custom” Kluwer 2002, 407 p., ISBN – Tools and Techniques for High-Performance ASIC Design n Topics – Improving performance through microarchitecture – Timing-driven floorplanning – Controlling and exploiting clock skew – High performance latch-based design in an ASIC methodology – Automatically identifying and synthesizing complex logic gates – Automatic cell sizing to increase performance and reduce power – Controlling process variation
JET 2006TKT-9627 Digital and Computer Systems Seminar3 Course Info and Requirements n Time and place: Wed 14-16, TC165 n Instructors: Jouni Tomberg and Olli Vainio n Requirements: – Presentation of the course book topic – Active participation (>60%) – Exam
JET 2006TKT-9627 Digital and Computer Systems Seminar4 Table of Contents (Book chapters) 1. Introduction and Overview of the Book (32 p.) Contributing Factors 2. Improving Performance through Microarchitecture (24 p.) 3. Reducing the Timing Overhead (44 p.) 4. High Speed Logic, Circuits, Libraries and Layout (44 p.) 5. Finding Peak Performance in a Process (24 p.)
JET 2006TKT-9627 Digital and Computer Systems Seminar5 Table of Contents … Design Techniques 6. Physical Prototyping Plans for High Performance (19 p.) 7. Automatic Replacement of Flip-Flops by Latches in ASICs (22 p.) 8. Useful-Skew Clock Synthesis Boosts ASIC Performance (16 p.) 9. Faster and Lower Power Cell-Based Designs with Transistor-Level Cell Sizing (16 p.) 10. Design Optimization with Automated Flex-Cell Creation (28 p.) 11. Exploiting Structure and Managing Wires to Increase Density and Performance (20 p.) 12. Semi-Custom Methods in a High-Performance Microprocessor Design (16 p.) 13. Controlling Uncertainty in High Frequency Designs (18 p.) 14. Increasing Circuit Performnace through Statistical Design Techniques (22 p.)
JET 2006TKT-9627 Digital and Computer Systems Seminar6 Table of Contents … Design Examples 15. Achieving 550MHz in a Standard Cell ASIC Methodolgy (16 p.) 16. The iCORE 520MHz Synthesizable CPU Core (22 p.) 17. Creating Synthesizable ARM Processor with Near Custom Performance (25 p.)
JET 2006TKT-9627 Digital and Computer Systems Seminar7 Introduction (Book chapter 1) n Why are custom circuits so much faster? – Routinely 3x to 8x faster when fabricated in the same same process generation. – The first aim is to explain this disparity in performance. – The second aim is to understand practical ways in which the performance gap can be bridged. n Who should care? – ASIC and ASSP designers seeking high performance – Custom designers seeking higher productivity – EDA tool developers and researchers n Definitions in this book – ASIC design methodology, standard cell library based design, netlist handoff – Custom-design methodology, layout handoff
JET 2006TKT-9627 Digital and Computer Systems Seminar8 A Quick Comparison … Process technologies vary in a number of ways: the channel legth, interconnect density and material, etc.
JET 2006TKT-9627 Digital and Computer Systems Seminar9 …Based on These Figures Most of the custom designs use dynamic logic on critical paths and more pipeline stages to achieve higher speeds.
JET 2006TKT-9627 Digital and Computer Systems Seminar10 Adding Up the Numbers
JET 2006TKT-9627 Digital and Computer Systems Seminar11 Improving Areas n Microarchitecture n Timing overhead: clock tree design and registers n Logic style n Logic design n Cell design and wire sizing n Layout: Floorplanning and placement to manage wires n Process variation and improvement
JET 2006TKT-9627 Digital and Computer Systems Seminar12 Microarchitecture (1) n Organization of functional units; number, hierarchy, interfaces, pipeline, number of computational clock cycles, logic for branch prediction and data forwarding n What’s the problem? – Pipelining in ASICs is limited by the larger timing overhead for the registers in the pipeline. – Custom designs may show superior logic-level design of regular structures such as adders, multipliers etc. Achieving fewer levels of logic and combining logic with registers. – In custom designs the pipeline stage balancing can be done more effectively. – ASIC microprocessors tend to have simpler implementations of speculative executions to reduce the design time. – It is difficult to estimate the precise performance improvement with microarchitectural changes. – The overheads for pipelining are the register delays, larger impact of clock skew and clock jitter and unbalanced pipeline stages leading to about 30% overhead for an ASIC design.
JET 2006TKT-9627 Digital and Computer Systems Seminar13 Microarchitecture (2) n What can be done? – Use the best pipelining practices. – ASICs are unable to have the same tight control of the combinational delay and the timing overhheads. Thus the estimation is a factor of 1.3x between best ASIC and custom implementations. n In the book – Chapter 2 provides a tutorial intro to microarchitecture of ASICs – The design examples in chapters give examples of developing efficient microarchitecture for ASICs
JET 2006TKT-9627 Digital and Computer Systems Seminar14 Timing Overhead: Clock Tree Design and Registers (1) n The timing overhead is the additional delay associated with pipeline registers and the arrival of the clock edge. – It consists of the delay through the registers, the setup time of the registers, the clock skew between arrival of the same clock edge at the different points of the chip and the jitter between the arrival of the consecutive clock edges at the same point of the chip. n What’s the problem? – ASICs have larger clock skew and clock jitter and slower registers than custom designs. – ASIC designers try to avoid races and increase tolerance to noise, as they have far less control of variation. Thus they design the circuitry to work for the range of possible conditions. – ASICs primarly use edge-triggered flip-flops and high speed registers are not supported in the cell libraries. – Tight control of the layout allows hold time violations and noise to be avoided. Also custom designs may run long wires with shielding wires or use low-swing signaling to reduce the effects of noise. – ASICs don’t use level-sensitive latches because there is a larger window for hold time violations. ASICs can not use multi-phase clocking schemes with time borrowing in skew tolerant domino logic for a variety of tool-flow related reasons.
JET 2006TKT-9627 Digital and Computer Systems Seminar15 Timing Overhead: Clock Tree Design and Registers (2) n What can be done? – Current EDA tools can verify that hold times are not violated and insert delay elements to avoid races on short paths. – Slack passing is possible with level-sensitive latches or cycle stealing, by carefully scheduling of the arrival of the clock edges at different registers. – Multi-phase clocking is not a viable solution in the deep submicron, because of signal integrity issues and the increasing difficulty of distributing several clocks across the chip. – As ASICs have large clock skew, latches have substantial benefits for reducing the clock period. – Level sensitive latches reduce the impact of inaccuracy of wire load models and process variation. The clock period is not limited by the delay of the slowest pipelining stage, because of slack passing. – The clock skew can be reduced by using better clock tree synthesis tools or manually. – Latches and typical ASIC clocking techniques are slower than custom techniques leading still to 1.1x faster custom design.
JET 2006TKT-9627 Digital and Computer Systems Seminar16 Timing Overhead: Clock Tree Design and Registers (3) n In the book – Clock related timing issues are tutorially reviewed in chapter 3. – Chapter 7 describes a prototype tool that automatically converts a gate netlist with flip-flops to use latches leading to 10-20% speed improvements. It also discusses the timing overhead in the Xtensa mircoprocessor. – Chapter 8 considers issues associated with clock-tree synthesis and use of carefully adjusted clock skew in clock-tree design for cycle stealing. – Chapter 15 discusses a very high speed ASIC design, where reduction of the timing overhead was essential. Clock trees were manually routed and both latches and high speed pulsed flip-flops were used.
JET 2006TKT-9627 Digital and Computer Systems Seminar17 Logic Style (1) n Dynamic logic can be used to speed up critical paths within the circuitry by reducing gate delays. – It significantly faster than static CMOS logic and has smaller area, but is much more sensitive to noise and consumes more power. n What’s the problem? – To be useful in an ASIC design methodology a logic style must be robust in a variety of circuit conditions, and supported by tools for static timing analysis and manufacturing testing. – Dynamic logic requires careful design of the power and clock distribution. – For these reasons dynamic logic libraries are not available it is not supported for ASIC designs.
JET 2006TKT-9627 Digital and Computer Systems Seminar18 Logic Style (2) n What can be done? – There has been some progress in dynamic logic circuit synthesis, but it is not yet commercially available and it is not likely that the methodological obstacles will be overcome to enable dynamic logic synthesis in ASIC designs. – However, the gap between static CMOS and dynamic logic can be reduced by using custom designed static logic with pulsed inputs. In this case the dynamic logic may only be 1.2x faster than highly optimized static logic. n In the book – Chapter 4 quantifies the performance improvement by using dynamic logic and includes an example of a high speed 64 bit adder using static logic. Also the limitations on future use of domino logic is examined and some alternative high speed logic styles are discussed.
JET 2006TKT-9627 Digital and Computer Systems Seminar19 Logic Design (1) n Logic design describes the topology or interconnectivity of the gates. – It determines the choice of adder algorithm (e.g. ripple carry vs. carry look- ahead). Instead, the choice to pipeline the multiplier is a microarchitectural decision. n What’s the problem? – For random logic both ASIC and custom designers are likely to use logic synthesis but ASIC designers are not typically as aware of logical design alternatives as custom designers. – For example, Wallace tree multipliers have a triangular layout – if not carefully constrained, layout tools will try and fit gates to a rectangular region, which is sub-optimal and leads to longer wire lengths.
JET 2006TKT-9627 Digital and Computer Systems Seminar20 Logic Design (2) n What can be done? – For datapath designs use the existing pre-designed libraries (e.g. DesignWare) to get the optimized implementation. – ASIC logic design can come to parity with custom logic design. n In the book – Chapter 4 considers logic design with an example of a 64 bit adder and looks for relative performance impact of good logic design.
JET 2006TKT-9627 Digital and Computer Systems Seminar21 Cell Design and Wire Sizing (1) n In ideal circuit, each gate is optimally crafted from transistors and each transistor and wire is individually sized to meet the drive requirements. n What’s the problem? – One element of the performance degradation of ASIC design is the poverty of standard cell libraries including limited number of discretely-sized cells. – Many ASICs still not use good standard cell libraries with varied drive strengths. – A richer library also reduces circuit area. – Custom designs can achieve a factor of 1.4x speed improvement over poor ASIC design.
JET 2006TKT-9627 Digital and Computer Systems Seminar22 Cell Design and Wire Sizing (2) n What can be done? – ASIC designs should use rich standard cell libraries with dual gate polarities and several drive strengths for each gate. – Several tools are available for automating the creation of cells that are optimized for a design. – Tools of optimizing the widths of individual wires are currently not commercially available. – By using continuous cell sizing and by using wire sizing custom designs can achieve speeds about 1.1x faster than the best ASIC designs. n In this book – Chapter 4 gives a tutorial overview of issues in libraries. – Chapter 9 looks at commercial prototype tool for providing continuous cell sizing for an ASIC flow. – Chapter 10 considers automatically finding macro-cells in logic. – Chapter 12 introduces a cell-sizing tool for custom designs.
JET 2006TKT-9627 Digital and Computer Systems Seminar23 Layout: Floorplanning and Placement to Manage Wires (1) n Wire delays associated with global wires between physical modules are dominant in the sub-micron technologies. – The primary factor in the wire delay is wire length. – Routing congestion and the position of cells in the layout affect the wire length. – Noise and cross-coupling capacitance between wires must also be considered. n What’s the problem? – Traditionally the load of gate drives is estimated using “wire-load models” that estimates the capacitive load as function of block size and fanout. – This is a poor and inaccurate method in wire dominating delays. – Both over- and underestimating the wire loads leads to poor timing. – Carefully partitioned design can increase the speed by factor 1.4x compared to an ASIC design that has large blocks of gates and uses inaccurate wire load models in synthesis.
JET 2006TKT-9627 Digital and Computer Systems Seminar24 Layout: Floorplanning and Placement to Manage Wires (2) n What can be done? – Accurate wire-load models, good design partitioning, careful floorplanning and resynthesis should improve the speed. – Custom ICs are typically manually floorplanned. – Physical synthesis (e.g. Physical Compiler) is one tool improve the placement. – ASIC designs should be able to achieve parity with custom designs with respect to floorplanning and detailed placement. n In the book – Chapter 4 discusses the impact of wire-load models, partitioning and layout tools. – Chapter 6 describes floorplanning techniques for ASICs. – Chapter 11 gives an example where manual layout improves the performance.
JET 2006TKT-9627 Digital and Computer Systems Seminar25 Process Variation and Improvement (1) n Traditionally, the semiconductor process is represented as being fully determined by a given technology generation, identical implementations, different plants and at different times. – The semiconductor process is also described through a set of worst-case numbers that abstract the complexity of the actual manufacturing. – ASICs fabricated on a typical process can be 60-70% faster than the worst case speeds quoted by ASIC library estimates. n In the same nominal process technology, the speed varies significantly for the same ASIC design synthesized to different libraries and different plant processes. n For custom ICs, additional improvements to the process or the design are possible. n The semiconductor process can not be perfectly controlled, which leads to statistical variation of many process variables. – Batch-to-batch, wafer-to-wafer, die-to-die and intra-die – This variation decreases as the process matures.
JET 2006TKT-9627 Digital and Computer Systems Seminar26 Process Variation and Improvement (2) n What’s the problem? – The ASIC design and manufacturing industry is organized around a “handoff” point. Golden toolset and libraries guarantee for the customer the product speed. – This traditional approach to worst-case timing analysis leaves significant performance potential of semiconductor processes unharvested. – Sticking to worst-case process numbers and lacking the ability to exploit the process improvements will lead to 1.6x – 2.2x speed difference between ASICs and custom ICs. n What can be done? – As a result of relying on pre-characterized cell libraries, ASICs are typically easy to migrate between technology generations. Thus synthesizable ASICs can be easily switched to use the best fabrication plants available for ASIC production. The custom ICs are more technology dependent.
JET 2006TKT-9627 Digital and Computer Systems Seminar27 Process Variation and Improvement (3) n What else can be done? – New ASIC libraries should be available from the ASIC vendor when process improvements are done. – At-speed testing to harvest the worst-case ASICs are not usually available from the ASIC vendors (commercial reasons). – Due to process variation ASICs will lose a factor of 1.2x performance to custom designs. n In the book – Chapter 5 gives a tutorial overview of process related issues. – Chapter 13 describes a very practical way to manage the impact of process variation. – Chapter 14 gives more speculative approach to exploiting processing.
JET 2006TKT-9627 Digital and Computer Systems Seminar28 Summary and Conclusions n There is a significant (3x to 8x) performance difference between ASICs and custom ICs. – Influence of the factors of floorplanning and circuit design, while significant, are relatively overstated in their importance. – The two factors of equal or greater significance are pipelining and process variation. – The use of dynamic-logic families is a third significant influence. n ASIC designers must become familiar with microarchitecture, physical design, clocking schemes, and sources of semiconductor process variation.