Muutke küpsiste eelistusi

E-raamat: Reuse Methodology Manual for System-on-a-Chip Designs

Edited by , Edited by
  • Formaat: PDF+DRM
  • Ilmumisaeg: 08-May-2007
  • Kirjastus: Kluwer Academic Publishers
  • Keel: eng
  • ISBN-13: 9780306476402
  • Formaat - PDF+DRM
  • Hind: 110,53 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 08-May-2007
  • Kirjastus: Kluwer Academic Publishers
  • Keel: eng
  • ISBN-13: 9780306476402

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

"Reuse Methodology Manual for System-on-a-Chip Designs, Third Edition" outlines a set of best practices for creating reusable designs for use in an SoC design methodology. These practices are based on the authors' experience in developing reusable designs, as well as the experience of design teams in many companies around the world. Silicon and tool technologies move so quickly that many of the details of design-for-reuse will undoubtedly continue to evolve over time. But the fundamental aspects of the methodology described in this book have become widely adopted and are likely to form the foundation of chip design for some time to come. Development methodology necessarily differs between system designers and processor designers, as well as between DSP developers and chipset developers. However, there is a common set of problems facing everyone who is designing complex chips. 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, in adopting reuse-based design, design teams have run into a significant problem. Reusing blocks that have not been explicitly designed for reuse has often provided little or no benefit to the team. The effort to integrate a pre-existing block into new designs can become prohibitively high, if the block does not provide the right views, the right documentation, and the right functionality. From this experience, design teams have realized that reuse-based design requires an explicit methodology for developing reusable macros that are easy to integrate into SoC designs. This manual focuses on describing these techniques.
Foreword xiii
Preface to the Third Edition xv
Acknowledgements xvii
Introduction
1(8)
Goals of This Manual
2(2)
Assumptions
3(1)
Definitions
3(1)
Virtual Socket Interface Alliance
4(1)
Design for Reuse: The Challenge
4(2)
Design for Use
5(1)
Design for Reuse
5(1)
The Emerging Business Model for Reuse
6(3)
The System-on-Chip Design Process
9(14)
A Canonical SoC Design
9(2)
System Design Flow
11(6)
Waterfall vs. Spiral
11(4)
Top-Down vs. Bottom-Up
15(1)
Construct by Correction
15(1)
Summary
16(1)
The Specification Problem
17(2)
Specification Requirements
17(1)
Types of Specifications
18(1)
The System Design Process
19(4)
System-Level Design Issues: Rules and Tools
23(40)
The Standard Model
23(5)
Soft IP vs. Hard IP
25(2)
The Role of Full-Custom Design in Reuse
27(1)
Design for Timing Closure: Logic Design Issues
28(10)
Interfaces and Timing Closure
28(5)
Synchronous vs. Asynchronous Design Style
33(2)
Clocking
35(1)
Reset
36(1)
Timing Exceptions and Multicycle Paths
37(1)
Design for Timing Closure: Physical Design Issues
38(2)
Floorplanning
38(1)
Synthesis Strategy and Timing Budgets
39(1)
Hard Macros
39(1)
Clock Distribution
40(1)
Design for Verification: Verification Strategy
40(2)
System Interconnect and On-Chip Buses
42(9)
Basic Interface Issues
43(4)
Tristate vs. Mux Buses
47(1)
Synchronous Design of Buses
47(1)
Summary
47(1)
IP-to-IP Interfaces
48(3)
Design for Bring-Up and Debug: On-Chip Debug Structures
51(1)
Design for Low Power
52(5)
Lowering the Supply Voltage
53(1)
Reducing Capacitance and Switching Activity
54(2)
Sizing and Other Synthesis Techniques
56(1)
Summary
57(1)
Design for Test: Manufacturing Test Strategies
57(3)
System-Level Test Issues
57(1)
Memory Test
58(1)
Microprocessor Test
58(1)
Other Macros
59(1)
Logic BIST
59(1)
Prerequisites for Reuse
60(3)
Libraries
60(1)
Physical Design Rules
61(2)
The Macro Design Process
63(18)
Overview of IP Design
63(5)
Characteristics of Good IP
64(1)
Implementation and Verification IP
65(2)
Overview of Design Process
67(1)
Key Features
68(1)
Planning and Specification
69(4)
Functional Specification
69(2)
Verification Specification
71(1)
Packaging Specification
71(1)
Development Plan
71(1)
High-Level Models as Executable Specifications
72(1)
Macro Design and Verification
73(5)
Summary
77(1)
Soft Macro Productization
78(3)
Productization Process
78(1)
Activities and Tools
78(3)
RTL Coding Guidelines
81(56)
Overview of the Coding Guidelines
81(1)
Basic Coding Practices
82(15)
General Naming Conventions
82(2)
Naming Conventions for VITAL Support
84(1)
State Variable Names
85(1)
Include Informational Headers in Source Files
85(2)
Use Comments
87(1)
Keep Commands on Separate Lines
87(1)
Line Length
87(1)
Indentation
88(1)
Do Not Use HDL Reserved Words
89(1)
Port Ordering
89(3)
Port Maps and Generic Maps
92(1)
VHDL Entity, Architecture, and Configuration Sections
93(1)
Use Functions
93(1)
Use Loops and Arrays
94(2)
Use Meaningful Labels
96(1)
Coding for Portability
97(4)
Use Only IEEE Standard Types (VHDL)
97(1)
Do Not Use Hard-Coded Numeric Values
98(1)
Packages (VHDL)
98(1)
Constant Definition Files (Verilog)
98(1)
Avoid Embedding Synthesis Commands
99(1)
Use Technology-Independent Libraries
99(1)
Coding For Translation
100(1)
Guidelines for Clocks and Resets
101(7)
Avoid Mixed Clock Edges
102(1)
Avoid Clock Buffers
103(1)
Avoid Gated Clocks
103(1)
Avoid Internally Generated Clocks
104(1)
Gated Clocks and Low-Power Designs
105(1)
Avoid Internally Generated Resets
106(1)
Reset Logic Function
107(1)
Single-Bit Synchronizers
108(1)
Multiple-Bit Synchronizers
108(1)
Coding for Synthesis
108(17)
Infer Registers
109(1)
Avoid Latches
110(3)
If you must use a latch
113(1)
Avoid Combinational Feedback
113(1)
Specify Complete Sensitivity Lists
114(3)
Blocking and Nonblocking Assignments (Verilog)
117(2)
Signal vs. Variable Assignments (VHDL)
119(1)
Case Statements vs. if-then else Statements
120(2)
Coding Sequential Logic
122(2)
Coding Critical Signals
124(1)
Avoid Delay Times
124(1)
Avoid full case and parallel_case Pragmas
124(1)
Partitioning for Synthesis
125(10)
Register All Outputs
125(1)
Locate Related Combinational Logic in a Single Module
126(1)
Separate Modules That Have Different Design Goals
127(1)
Asynchronous Logic
128(1)
Arithmetic Operators: Merging Resources
128(2)
Partitioning for Synthesis Runtime
130(1)
Avoid Timing Exceptions
130(3)
Eliminate Glue Logic at the Top Level
133(1)
Chip-Level Partitioning
134(1)
Designing with Memories
135(1)
Code Profiling
136(1)
Macro Synthesis Guidelines
137(16)
Overview of the Synthesis Problem
137(1)
Macro Synthesis Strategy
138(6)
Macro Timing Constraints
139(1)
Subblock Timing Constraints
139(1)
Synthesis in the Design Process
140(1)
Subblock Synthesis Process
141(1)
Macro Synthesis Process
141(1)
Wire Load Models
142(1)
Preserve Clock and Reset Networks
142(1)
Code Checking Before Synthesis
143(1)
Code Checking After Synthesis
143(1)
Physical Synthesis
144(1)
Classical Synthesis
144(1)
Physical Synthesis
145(1)
Physical Synthesis Deliverables
145(1)
RAM and Datapath Generators
145(5)
Memory Design
146(1)
RAM Generator Flow
147(1)
Datapath Design
148(2)
Coding Guidelines for Synthesis Scripts
150(3)
Macro Verification Guidelines
153(26)
Overview of Macro Verification
153(6)
Verification Plan
154(1)
Verification Strategy
155(4)
Inspection as Verification
159(1)
Adversarial Testing
160(1)
Testbench Design
161(8)
Transaction-Based Verification
161(2)
Component-Based Verification
163(2)
Automated Response Checking
165(1)
Verification Suite Design
166(3)
Design of Verification Components
169(3)
Bus Functional Models
169(2)
Monitors
171(1)
Device Models
171(1)
Verification Component Usage
172(1)
Getting to 100%
172(5)
Functional and Code Coverage
172(1)
Prototyping
172(1)
Limited Production
173(1)
Property Checking
173(1)
Code Coverage Analysis
174(3)
Timing Verification
177(2)
Developing Hard Macros
179(28)
Overview
179(2)
Why and When to Use Hard Macros
180(1)
Design Process for Hard vs. Soft Macros
181(1)
Design Issues for Hard Macros
181(9)
Full-Custom Design
181(1)
Interface Design
182(1)
Design For Test
183(1)
Clock
184(1)
Aspect Ratio
185(1)
Porosity
186(1)
Pin Placement and Layout
187(1)
Power Distribution
187(1)
Antenna Checking
188(2)
The Hard Macro Design Process
190(1)
Productization of Hard Macros
190(4)
Physical Design
190(3)
Verification
193(1)
Model Development for Hard Macros
194(10)
Functional Models
194(5)
Timing Models
199(1)
Power Models
200(1)
Test Models
201(3)
Physical Models
204(1)
Porting Hard Macros
204(3)
Macro Deployment: Packaging for Reuse
207(10)
Delivering the Complete Product
207(7)
Soft Macro Deliverables
208(2)
Hard Macro Deliverables
210(2)
Software
212(1)
The Design Archive
213(1)
Contents of the User Guide
214(3)
System Integration with Reusable Macros
217(22)
Integration Overview
217(1)
Integrating Macros into an SoC Design
218(3)
Problems in Integrating IP
218(1)
Strategies for Managing Interfacing Issues
219(1)
Interfacing Hard Macros to the Rest of the Design
220(1)
Selecting IP
221(2)
Hard Macro Selection
221(1)
Soft Macro Selection
221(1)
Soft Macro Installation
222(1)
Soft Macro Configuration
223(1)
Synthesis of Soft Macros
223(1)
Integrating Memories
223(1)
Physical Design
224(15)
Design Planning and Synthesis
226(4)
Physical Placement
230(4)
Timing Closure
234(3)
Verifying the Physical Design
237(1)
Summary
238(1)
System-Level Verification Issues
239(26)
The Importance of Verification
239(1)
The Verification Strategy
240(1)
Interface Verification
241(3)
Transaction Verification
241(1)
Data or Behavioral Verification
242(2)
Standardized Interfaces
244(1)
Functional Verification
244(3)
Random Testing
247(2)
Application-Based Verification
249(4)
Software-Driven Application Testbench
250(1)
Rapid Prototyping for Testing
251(2)
Gate-Level Verification
253(3)
Sign-Off Simulation
253(1)
Formal Verification
254(1)
Gate-Level Simulation with Full Timing
255(1)
Specialized Hardware for System Verification
256(9)
Accelerated Verification Overview
258(1)
RTL Acceleration
259(1)
Software Driven Verification
260(1)
Traditional In-Circuit Verification
260(1)
Design Guidelines for Emulation
261(1)
Testbenches for Emulation
261(4)
Data and Project Management
265(6)
Data Management
265(4)
Revision Control Systems
265(2)
Bug Tracking
267(1)
Regression Testing
267(1)
Managing Multiple Sites
267(1)
Archiving
268(1)
Project Management
269(2)
Development Process
269(1)
Functional Specification
269(1)
Project Plan
270(1)
Implementing Reuse-Based SoC Designs
271(14)
Alcatel
272(2)
Atmel
274(2)
Infineon Technologies
276(2)
LSI Logic
278(2)
Philips Semiconductor
280(2)
STMicroelectronics
282(2)
Conclusion
284(1)
Bibliography 285(2)
Index 287