(Kluwer) reuse methodology manual for system on a chip designs (3rd ed )

312 488 0
(Kluwer) reuse methodology manual for system on a chip designs (3rd ed )

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Foreword Preface to the Third Edition Acknowledgements Introduction Goals of This Manual Assumptions Definitions Virtual Socket Interface Alliance Design for Reuse: The Challenge Design for Use Design for Reuse The Emerging Business Model for Reuse The SystemonChip Design Process A Canonical SoC Design System Design Flow Waterfall vs. Spiral TopDown vs. BottomUp Construct by Correction Summary 2.3 2.4 2.3.1 2.3.2 The Specification Problem Specification Requirements Types of Specifications The System Design Process 3 SystemLevel Design Issues: Rules and Tools 3.1 The Standard Model 3.1.1 3.1.2 Soft IP vs. Hard IP The Role of FullCustom Design in Reuse 3.2 Design for Timing Closure: Logic Design Issues 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 Interfaces and Timing Closure Synchronous vs. Asynchronous Design Style Clocking Reset Timing Exceptions and Multicycle Paths 3.3 3.3.1 3.3.2 3.3.3 3.3.4 Design for Timing Closure: Physical Design Issues Floorplanning Synthesis Strategy and Timing Budgets Hard Macros Clock Distribution 3.4 3.5 Design for Verification: Verification Strategy System Interconnect and OnChip Buses 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 Basic Interface Issues Tristate vs. Mux Buses Synchronous Design of Buses Summary IPtoIP Interfaces 3.6 3.7 Design for BringUp and Debug: OnChip Debug Structures Design for Low Power 3.7.1 3.7.2 3.7.3 3.7.4 Lowering the Supply Voltage Reducing Capacitance and Switching Activity Sizing and Other Synthesis Techniques Summary 3.8 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 Design for Test: Manufacturing Test Strategies SystemLevel Test Issues Memory Test Microprocessor Test Other Macros Logic BISTPrerequisites for Reuse Libraries Physical Design Rules The Macro Design Process Overview of IP Design Characteristics of Good IP Implementation and Verification IP Overview of Design Process Key Features Planning and Specification Functional Specification Verification Specification Packaging Specification Development Plan HighLevel Models as Executable Specifications Macro Design and Verification Summary Soft Macro Productization Productization Process Activities and Tools RTL Coding Guidelines Overview of the Coding Guidelines Basic Coding Practices General Naming Conventions Naming Conventions for VITAL Support State Variable Names Include Informational Headers in Source Files Use Comments Keep Commands on Separate Lines Line Length Indentation Do Not Use HDL Reserved Words Port Ordering Port Maps and Generic Maps VHDL Entity, Architecture, and Configuration Sections Use Functions Use Loops and Arrays Use Meaningful Labels 5.3 Coding for Portability 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4 Use Only IEEE Standard Types (VHDL) Do Not Use HardCoded Numeric Values Packages (VHDL) Constant Definition Files (Verilog) Avoid Embedding Synthesis Commands Use TechnologyIndependent Libraries Coding For Translation Guidelines for Clocks and Resets 5.4.1 5.4.2 5.4.3 5.4.4 5.4.5 5.4.6 5.4.7 5.4.8 5.4.9 Avoid Mixed Clock Edges Avoid Clock Buffers Avoid Gated Clocks Avoid Internally Generated Clocks Gated Clocks and LowPower Designs Avoid Internally Generated Resets Reset Logic Function SingleBit Synchronizers MultipleBit Synchronizers 5.5 Coding for Synthesis 5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 5.5.6 5.5.7 5.5.8 5.5.9 5.5.10 5.5.11 5.5.12 Infer Registers Avoid Latches If you must use a latch Avoid Combinational Feedback Specify Complete Sensitivity Lists Blocking and Nonblocking Assignments (Verilog) Signal vs. Variable Assignments (VHDL) Case Statements vs. ifthenelse Statements Coding Sequential Logic Coding Critical Signals Avoid Delay Times Avoid full_case and parallel_case Pragmas 5.6 Partitioning for Synthesis 5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 5.6.6 5.6.7 5.6.8 5.6.9 Register All Outputs Locate Related Combinational Logic in a Single Module Separate Modules That Have Different Design Goals Asynchronous Logic Arithmetic Operators: Merging Resources Partitioning for Synthesis Runtime Avoid Timing Exceptions Eliminate Glue Logic at the Top Level. ChipLevel PartitioningDesigning with Memories Code Profiling acro Synthesis Guidelines Overview of the Synthesis Problem Macro Synthesis Strategy 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.2.8 6.2.9 Macro Timing Constraints Subblock Timing Constraints Synthesis in the Design Process Subblock Synthesis Process Macro Synthesis Process Wire Load Models Preserve Clock and Reset Networks Code Checking Before Synthesis Code Checking After Synthesis Physical Synthesis 6.3.1 6.3.2 6.3.3 RAM and Datapath Generators Memory Design Classical Synthesis Physical Synthesis Physical Synthesis Deliverables 6.4.1 6.4.2 6.4.3 RAM Generator Flow Datapath Design Coding Guidelines for Synthesis Scripts acro Verification Guidelines Overview of Macro Verification 7.1.1 7.1.2 7.4.1 7.4.2 7.4.3 7.4.4 7.5.1 7.5.2 Verification Plan Verification Strategy Inspection as Verification Adversarial Testing Testbench Design TransactionBased Verification ComponentBased Verification Automated Response Checking Verification Suite Design Design of Verification Components Bus Functional Models Monitors7.5.3 7.5.4 7.6.1 7.6.2 7.6.3 7.6.4 7.6.5 .6 .7 8.1 8.2 8.1.1 8.1.2 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.2.7 8.2.8 8.2.9 8.3 8.4 8.5 8.6 8.4.1 8.4.2 8.5.1 8.5.2 8.5.3 8.5.4 8.5.5 9.1 9.1.1 Device Models Verification Component Usage Getting to 100% Functional and Code Coverage Prototyping Limited Production Property Checking Code Coverage Analysis Timing Verification Overview Why and When to Use Hard Macros Design Process for Hard vs. Soft Macros Design Issues for Hard Macros FullCustom Design Interface Design Design For Test Clock Aspect Ratio Porosity Pin Placement and Layout Power Distribution Antenna Checking The Hard Macro Design Process Productization of Hard Macros Physical Design Verification Model Development for Hard Macros Functional Models Timing Models Power Models Test Models Physical Models Porting Hard Macros Macro Deployment: Packaging for Reuse Delivering the Complete Product Soft Macro Deliverables Developing Hard Macros 9.1.2 9.1.3 9.1.4 Hard Macro Deliverables Software The Design Archive 2 .1 .2 .3 .4 .5 10.2.1 10.2.2 10.2.3 10.3.1 10.3.2 10.3.3 10.3.4 10.3.5 10.5.1 10.5.2 10.5.3 10.5.4 10.5.5 1 .2 3 4 5 6 Contents of the User Guide Integration Overview Integrating Macros into an SoC Design Problems in Integrating IP Strategies for Managing Interfacing Issues Interfacing Hard Macros to the Rest of the Design Selecting IP Hard Macro Selection Soft Macro Selection Soft Macro Installation Soft Macro Configuration Integrating Memories Physical Design Design Planning and Synthesis Physical Placement Timing Closure Verifying the Physical Design Summary SystemLevel Verification Issues The Importance of Verification The Verification Strategy Interface Verification 11.3.1 11.3.2 11.3.3 Transaction Verification Data or Behavioral Verification Standardized Interfaces Functional Verification Random Testing ApplicationBased Verification 11.6.1 11.6.2 SoftwareDriven Application Testbench Rapid Prototyping for Testing System Integration with Reusable Macros Synthesis of Soft Macros1.7 GateLevel Verification 11.7.1 SignOff Simulation 11.7.2 Formal Verification 11.7.3 GateLevel Simulation with Full Timing 1.8 Specialized Hardware for System Verification 11.8.1 Accelerated Verification Overview 11.8.2 RTL Acceleration 11.8.3 Software Driven Verification 11.8.4 Traditional InCircuit Verification 11.8.5 Design Guidelines for Emulation 11.8.6 Testbenches for Emulation Data and Project Management 2.1 Data Management 12.1.1 Revision Control Systems 12.1.2 Bug Tracking 12.1.3 Regression Testing 12.1.4 Managing Multiple Sites 12.1.5 Archiving 2.2 Project Management 12.2.1 Development Process 12.2.2 Functional Specification 12.2.3 Project Plan Implementing ReuseBased SoC Designs 3.1 Alcatel 3.2 Atmel 3.3 Infineon Technologies 3.4 LSI Logic 3.5 Philips Semiconductor 3.6 STMicroelectronics 3.7 Conclusion Bibliography Index Foreword The electronics industry has entered the era of multimilliongate chips, and there’s no turning back. By the year 2001, Sematech predicts that stateoftheart ICs will exceed 12 million gates and operate at speeds surpassing 600 MHz. An engineer designing 100 gatesday would require a hypothetical 500 years to complete such a design, at a cost of 75 million in today’s dollars. This will never happen, of course, because the time is too long and the cost is too high. But 12million gate ICs will hap pen, and soon. How will we get there? Whatever variables the solution involves, one thing is clear: the ability to leverage valuable intellectual property (IP) through design reuse will be the invariable cornerstone of any effective attack on the productivity issue. Reusable IP is essential to achieving the engineering quality and the timely completion of mul timilliongate ICs. Without reuse, the electronics industry will simply not be able to keep pace with the challenge of delivering the “better, faster, cheaper” devices con sumers expect. Synopsys and Mentor Graphics have joined forces to help make IP reuse a reality. One of the goals of our Design Reuse Partnership is to develop, demonstrate, and doc ument a reusebased design methodology that works. The Reuse Methodology Man ual (RMM) is the result of this effort. It combines the experience and resources of Synopsys and Mentor Graphics. Synopsys’ expertise in design reuse tools and Mentor Graphics’ expertise in IP creation and sourcing resulted in the creation of this manual that documents the industry’s first systematic reuse methodology. The RMM describes the design methodology that our teams have found works best for designing reusable blocks and for integrating reusable blocks into large chip designs.It is our hope that this manual for advanced IC designers becomes the basis for an industrywide solution that accelerates the adoption of reuse and facilitates the rapid development of tomorrow’s large, complex ICs.Preface to the Third Edition The world of chip design has changed significantly since the second edition was pub lished three years ago. In that time, silicon technology has gone through two genera tions, multimillion gate chips have gone from fringe to mainstream, and SoC has gone from the exotic to commonplace. At the same time, the world of reuse has changed as well, prompting us to develop the third edition. From the perspective of 2002, many of the statements we made in 1999 now seem dated. Upon rereading the second edition, it was obvious that the RMM needed to be updated with the many of the lessons learned in the last few years. In one sense, though, the biggest change we have made in the RMM is also the biggest change we have seen in reuse in the last three years. Basically, we have changed the tense from future to present. Reuse is no longer a proposal; it is a solution practiced today by many, many chip designers. Likewise, the RMM is no longer aimed at pro moting reuse, but describing changes in methodology for practising it. The RMM is now a chronicle of the best practices used by the best teams to develop reusable IP, and to use IP in SoC designs. Alas, the change of tense was not as trivial a task as it sounds. In order to bring the RMM up to date, we have rewritten significant portions of the first eight chapters. Chapter 3 and Chapter 8 in particular have undergone significant revision. Chapter 5 has remained basically the same, with the addition of several important guidelines, and the modification of some existing guidelines to reflect current stateoftheart. Chapters 9 through 12 have had more modest updates to reflect current methodology. In particular, a full description of system level design and verification is beyond thescope of this book. Chapter 13 has been updated to include some comments from the design community on their perspective on reuse and SoC design. In addition to the change in content, we have made one major editorial change. We have dramatically reduced the number of references to specific tools. Over the brief life of this book, we have found that tool names, tool vendors, and tool capabilities change so quickly that specific references quickly become out of date. Instead, we have focused on design and language issues, referencing the generic capabilities of current tools as appropriate. We hope that readers will find the third edition a significant improvement over earlier editions.

[...]... logically robust designs that can be fabricated on deep submicron technologies and that, when fabricated, will meet the requirements for clock speed, power, and area SoC designs have a significant software component in addition to the hardware itself However, this manual focuses primarily on the creation and reuse of reusable hardware macros This focus on hardware reuse should not be interpreted as an attempt... Methodology Manual Verified to a high level of confidence – This usually means very rigorous verification as well as building a physical prototype that is tested in an actual system running real software Fully documented in terms of appropriate applications and restrictions – In particular, valid configurations and parameter values must be documented Any restrictions on configurations or parameter values... people who made substantial contributions to the ideas and content of the first two editions of the Reuse Methodology Manual: Warren Savage, Ken Scott, Shiv Chonnad, Guy Hutchison, Chris Kopetzky, Keith Rieken, Mark Noll, and Ralph Morgan Glenn Dukes, John Coffin, Ashwini Mulgaonkar, Suzanne Hayek, Pierre Thomas, Alain Pirson, Fathy Yassa, John Swanson, Gil Herbeck, Saleem Haider, Martin Lampard, Larry Groves,... include embedded processor cores, and thus a significant software component, which leads to additional methodology, process, and organizational challenges In response to these problems, design teams have adopted a block-based design approach that emphasizes design reuse Reusing macros (sometimes called “cores ) that have already been designed and verified helps to address all of the problems above However,... products and the huge capacity of today’s silicon technology have moved System- on- Chip (SoC) designs from leading edge to mainstream design practice These chips have one, and often several, processors on chip, as well as large amounts of memory, bus-based architectures, peripherals, coprocessors, and I/O channels These chips are true systems, far more similar to the boards designed ten years ago than to... criticizing In particular, we would like to express appreciation for the efforts of David Flynn, John Biggs, and Simon Bates of ARM xviii Reuse Methodology Manual A special thanks goes to Anwar Awad, Han Chen, Alan Gibbons, and Steve Peltan of Synopsys for their technical contributions, and to Jeff Peek for his great help in coordinating and editing this third edition We would like to thank the following... ASIC (a typical 1990s design), this means 1000 designer-days, or a 5 person team for about a year For a 10M gate design, this would mean 100,000 designer-days, or a 500 person team for one year Even with a 2-3x improvement because of casual reuse, this is a prohibitive cost for most chips Introduction 7 For this reason, companies have turned to explicit reuse as the solution to SoC design The second... 11.7.2 Formal Verification 11.7.3 Gate-Level Simulation with Full Timing 11.8 Specialized Hardware for System Verification 11.8.1 Accelerated Verification Overview 11.8.2 RTL Acceleration 11.8.3 Software Driven Verification 11.8.4 Traditional In-Circuit Verification 11.8.5 Design Guidelines for Emulation 11.8.6 Testbenches for Emulation 253 253 254 255 256 258 259 260 260 261 261 12 Data and Project Management... software or by specialized computational units This convergence of chip designs is reminiscent of the early days of the personal computer, when a large number of different architectures eventually reduced to two This convergence of hardware platforms enabled a whole industry for software and for specialized plug-in hardware It is likely that the convergence of chip architectures using reuse- based design... blocks, and assemble them into a fabricated chip contains all the basic elements and challenges of an SoC design Real SoC designs are, of course, much more complex than this canonical example A real design would typically include several sets of IP interfaces and data transformations Many SoC designs today include multiple processors, and combinations of processors and DSPs The memory structures of SoC designs . joined forces to help make IP reuse a reality. One of the goals of our Design Reuse Partnership is to develop, demonstrate, and doc- ument a reuse- based design methodology that works. The Reuse Methodology. reusable blocks and for integrating reusable blocks into large chip designs. xiv Reuse Methodology Manual It is our hope that this manual for advanced IC designers becomes the basis for an industry-wide. class="bi x0 y0 w0 h1" alt="" REUSE METHODOLOGY MANUAL FOR SYSTEM -ON-A-CHIP DESIGNS THIRD EDITION Trademark Information Synopsys and DesignWare are a registered trademarks of Synopsys, Inc. Design

Ngày đăng: 28/06/2014, 18:01

Từ khóa liên quan

Mục lục

  • Reuse Methodology Manual for System-on-a-Chip Designs (3rd Ed.)

    • Copyright

    • Table of Contents

    • Foreword

    • Preface to the 3rd Edition

    • Acknowledgements

    • Ch1 Introduction

    • Ch2 System-on-Chip Design Process

    • Ch3 System-Level Design Issues: Rules & Tools

    • Ch4 Macro Design Process

    • Ch5 RTL Coding Guidelines

    • Ch6 Macro Synthesis Guidelines

    • Ch7 Macro Verification Guidelines

    • Ch8 Developing Hard Macros

    • Ch9 Macro Deployment: Packaging for Reuse

    • Ch10 System Integration with Reusable Macros

    • Ch11 System-Level Verification Issues

    • Ch12 Data & Project Management

    • Ch13 Implementing Reuse-Based SoC Designs

    • Bibliography

    • Index

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan