Muutke küpsiste eelistusi

E-raamat: Debugging Systems-on-Chip: Communication-centric and Abstraction-based Techniques

  • Formaat: PDF+DRM
  • Sari: Embedded Systems
  • Ilmumisaeg: 14-Jul-2014
  • Kirjastus: Springer International Publishing AG
  • Keel: eng
  • ISBN-13: 9783319062426
  • 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
  • Sari: Embedded Systems
  • Ilmumisaeg: 14-Jul-2014
  • Kirjastus: Springer International Publishing AG
  • Keel: eng
  • ISBN-13: 9783319062426

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. 

This book describes an approach and supporting infrastructure to facilitate debugging the silicon implementation of a System-on-Chip (SOC), allowing its associated product to be introduced into the market more quickly. Readers learn step-by-step the key requirements for debugging a modern, silicon SOC implementation, nine factors that complicate this debugging task, and a new debug approach that addresses these requirements and complicating factors. The authors novel communication-centric, scan-based, abstraction-based, run/stop-based (CSAR) debug approach is discussed in detail, showing how it helps to meet debug requirements and address the nine, previously identified factors that complicate debugging silicon implementations of SOCs. The authors also derive the debug infrastructure requirements to support debugging of a silicon implementation of an SOC with their CSAR debug approach. This debug infrastructure consists of a generic on-chip debug architecture, a configurable autom

ated design-for-debug flow to be used during the design of an SOC, and customizable off-chip debugger software. Coverage includes an evaluation of the efficiency and effectiveness of the CSAR approach and its supporting infrastructure, using six industrial SOCs and an illustrative, example SOC model. The authors also quantify the hardware cost and design effort to support their approach.

Part I Introduction.- Introduction.- Part II The Complexity of debugging system chips.- Post-silicon debugging of a single building block.- Post-silicon debugging of multiple building blocks.- Part III The CSAR debug approach.- CSAR debug overview.- On-chip debug architecture.- Design-for-Debug flow.- Off-chip debugger software.- Part IV Case studies.- Case studies.- Part V Related work, conclusion, and future work.- Related work.- Conclusion and future work.
Part I Introduction
1 Introduction
3(24)
1.1 Overview
3(1)
1.2 System Chip Trends
4(10)
1.2.1 Process Technologies
4(2)
1.2.2 SOC Design Process
6(4)
1.2.3 SOC Verification and Validation
10(4)
1.3 Post-Silicon SOC Debug
14(6)
1.4 Problem Statement
20(1)
1.5 Proposed Approach and Book Organization
20(1)
1.6 Book Contributions
21(1)
1.7 Summary
22(1)
References
23(4)
Part II The Complexity of Debugging System Chips
2 Post-silicon Debugging of a Single Building Block
27(10)
2.1 Behavior of a Single Building Block
27(4)
2.1.1 Formal Definitions
27(3)
2.1.2 Execution Behavior
30(1)
2.2 Complicating Factors for Debugging
31(4)
2.2.1 Limited Observability and Controllability
31(1)
2.2.2 Undefined Substate and Outputs
32(1)
2.2.3 State Comparison
33(1)
2.2.4 Transient Errors
34(1)
2.3 Summary
35(1)
References
35(2)
3 Post-silicon Debugging of Multiple Building Blocks
37(30)
3.1 Communication Between Two Building Blocks
37(15)
3.1.1 Overview
37(4)
3.1.2 Synchronous Communication
41(2)
3.1.3 Asynchronous Communication
43(4)
3.1.4 SOC Communication Protocols
47(3)
3.1.5 Variable Communication Duration
50(2)
3.2 Resource Sharing Between Building Blocks
52(3)
3.3 Complicating Factors for Debugging
55(7)
3.3.1 Non-determinism at the Clock-Cycle, Handshake, and Transaction Level
56(2)
3.3.2 Uncertain Errors
58(2)
3.3.3 No Instantaneous, Distributed, Global Actions
60(2)
3.4 Summary
62(1)
References
63(4)
Part III The CSAR Debug Approach
4 CSAR Debug Overview
67(20)
4.1 Introduction
67(11)
4.1.1 Communication-Centric Debug
68(2)
4.1.2 Scan-Based Debug
70(3)
4.1.3 Abstraction-Based Debug
73(2)
4.1.4 Run/Stop-Based Debug
75(3)
4.2 CSAR Debug Analysis
78(3)
4.3 CSAR Debug Infrastructure Requirements
81(5)
4.3.1 Communication-Centric Debug
81(3)
4.3.2 Scan-Based Debug
84(1)
4.3.3 Abstraction-Based Debug
84(1)
4.3.4 Run/Stop-Based Debug
85(1)
4.3.5 Debug Requirements Overview
85(1)
4.4 Summary
86(1)
References
86(1)
5 On-Chip Debug Architecture
87(52)
5.1 Overview
87(3)
5.2 Debug Control and Status Interconnect
90(12)
5.2.1 Test Access Port and Associated Controller
91(3)
5.2.2 Test Control Block
94(2)
5.2.3 Global Mode Control
96(1)
5.2.4 Test Point Register
96(5)
5.2.5 TAP-DTL Bridge
101(1)
5.3 Monitoring the Communication
102(6)
5.3.1 Overview of a DTL Monitor
102(1)
5.3.2 DTL Front End
103(1)
5.3.3 Data Matcher
104(2)
5.3.4 Event Encoder
106(1)
5.3.5 Event Sequencer
106(2)
5.4 Controlling the Communication
108(8)
5.4.1 Overview of a DTL Protocol Specific Instrument
108(1)
5.4.2 DTL PSI Mask
109(3)
5.4.3 DTL PSI Test Point Register
112(2)
5.4.4 DTL PSI Event Generator
114(1)
5.4.5 Example DTL PSI Timing Diagram
114(2)
5.5 Event Distribution Interconnect
116(4)
5.5.1 Overview
116(1)
5.5.2 EDI Node
117(1)
5.5.3 EDI Clock Domain Crossing Module
118(1)
5.5.4 TAP-EDI Bridge
119(1)
5.6 Debug Wrapper
120(1)
5.7 Test Wrapper
121(7)
5.7.1 Overview
121(1)
5.7.2 Memory Test Wrapper
121(2)
5.7.3 Primary Input/Output Unit
123(2)
5.7.4 Scan Input Multiplexer
125(1)
5.7.5 Local Clock Gate
126(1)
5.7.6 Protocol-Specific Controller
127(1)
5.8 Clock and Reset Control
128(8)
5.8.1 Overview
128(3)
5.8.2 CRGU Test Control Block
131(1)
5.8.3 Clock Control Slices
132(3)
5.8.4 Reset Generation Unit
135(1)
5.9 Summary
136(1)
References
137(2)
6 Design-for-Debug Flow
139(18)
6.1 Overview
139(1)
6.2 DID Tool Architecture
140(7)
6.2.1 Overview
140(2)
6.2.2 Tool Architecture
142(1)
6.2.3 CSAR Configuration Classes
143(2)
6.2.4 CSAR Software Classes
145(1)
6.2.5 External Libraries
146(1)
6.3 Module Implementation or Generation
147(1)
6.4 Debug Wrapper Generation
148(6)
6.4.1 Tool Overview
148(1)
6.4.2 Debug Wrapper Configuration
148(3)
6.4.3 Debug Wrapper Generation Process
151(3)
6.4.4 Executing the Debug Wrapper Generation Process
154(1)
6.5 Other Tools in the DM Flow
154(1)
6.6 Summary
155(1)
References
155(2)
7 Off-Chip Debugger Software
157(34)
7.1 Overview
157(4)
7.1.1 CSARDE Requirements
157(1)
7.1.2 Software Architecture
158(1)
7.1.3 CSARDE Design Concepts
159(2)
7.2 The SOC Manager
161(7)
7.2.1 Overview
161(1)
7.2.2 SOC Environment Abstraction
162(2)
7.2.3 SOC Customization Support
164(1)
7.2.4 SOC Mode Model
165(2)
7.2.5 SOC State Access
167(1)
7.3 The Abstraction Manager
168(15)
7.3.1 Overview
168(2)
7.3.2 Structural Abstraction
170(4)
7.3.3 Data Abstraction
174(2)
7.3.4 Behavioral Abstraction
176(1)
7.3.5 Temporal Abstraction
177(6)
7.4 The Scripting Engine
183(1)
7.5 The User Interfaces
184(3)
7.6 Summary
187(1)
References
187(4)
Part IV Case Studies
8 Case Studies
191(44)
8.1 CSAR DfD in Industrial SOCs
191(9)
8.1.1 Co-Processor Array SOC
193(1)
8.1.2 PNX8525 and CODEC SOCs
194(3)
8.1.3 Xetal-II SOC
197(1)
8.1.4 En-II SOC
198(2)
8.2 CSAR SOC Overview
200(5)
8.2.1 CSAR SOC Application
200(1)
8.2.2 CSAR SOC Hardware Architecture
201(2)
8.2.3 CSAR SOC Clock Domains
203(2)
8.3 Application of the CSAR DfD Flow
205(4)
8.3.1 Overview
205(1)
8.3.2 DfD and Tool Configuration Effort
206(1)
8.3.3 DID Flow Execution Time
206(1)
8.3.4 CSARDE Configuration
207(2)
8.4 Evaluating the Complicating Factors for Debugging
209(16)
8.4.1 Silicon Area Cost
209(1)
8.4.2 CSAR SOC Observability and Controllability
210(6)
8.4.3 Undefined Substate and State Comparison
216(2)
8.4.4 Transient Errors
218(1)
8.4.5 Non-determinism at Clock-Cycle, Handshake, and Transaction Levels
218(5)
8.4.6 Uncertain Errors
223(1)
8.4.7 No Instantaneous, Distributed, Global Actions
224(1)
8.5 Use Cases
225(6)
8.5.1 Overview
225(1)
8.5.2 Debugging a Permanent, Certain Error
225(1)
8.5.3 Debugging a Transient, Certain Error
226(4)
8.5.4 Debugging a Transient, Uncertain Error
230(1)
8.6 Summary
231(1)
References
231(4)
Part V Related Work, Conclusion, and Future Work
9 Related Work
235(22)
9.1 Internal Observability and Controllability
235(7)
9.1.1 Intrinsic Physical and Optical Observability
235(1)
9.1.2 Intrinsic Functional Observability and Controllability
236(1)
9.1.3 DfD for Internal Observability and Controllability
237(5)
9.2 Execution Control
242(3)
9.2.1 Deterministic Architectures
242(1)
9.2.2 Deterministic Replay
243(1)
9.2.3 DfD for Execution Control
244(1)
9.3 Debug Standardization
245(1)
9.4 Debug Tool Support
246(3)
9.4.1 DfD Tool Support
246(1)
9.4.2 Debug Application Programmer's Interfaces
246(1)
9.4.3 Debugger Tools
247(2)
9.5 Debug Algorithms
249(1)
References
250(7)
10 Conclusion and Future Work
257(6)
10.1 Conclusions
257(2)
10.2 Future Work
259(2)
References
261(2)
Appendix A Design-for-Debug Flow (Continued) 263(22)
A.1 Test Wrapper Generation
263(5)
A.1.1 Tool Overview
263(1)
A.1.2 Test Wrapper Configuration
263(2)
A.1.3 Test Wrapper Generation Process
265(2)
A.1.4 Executing the Test Wrapper Generation Process
267(1)
A.2 Top-Level Integration
268(5)
A.2.1 Tool Overview
268(1)
A.2.2 Top-Level Configuration
269(1)
A.2.3 Top-Level Integration Process
270(2)
A.2.4 Executing the Top-Level Integration Process
272(1)
A.3 Chip-Level Integration
273(4)
A.3.1 Tool Overview
273(1)
A.3.2 Chip-Level Configuration
273(2)
A.3.3 Chip-Level Integration Process
275(2)
A.3.4 Executing the Chip-Level Integration Process
277(1)
A.4 Boundary-Scan Level Integration
277
A.4.1 Tool Overview
277(1)
A.4.2 Bofundary-Scan-Level Configuration
277(3)
A.4.3 Boundary-Scan-Level Integration Process
280(1)
A.4.4 Executing the Boundary-Scan-Level Integration Process
281
A.5 DfD Configuration Files
28(256)
References
284(1)
Appendix B CSAR SOC 285(8)
B.1 NoC Specification
285(2)
B.2 Producer Code
287(1)
B.3 Consumer Code
288(3)
B.4 Module Implementation Parameters
291(2)
Appendix C CSARDE Grammars and Scripts 293(12)
C.1 CSARDE Tool Control Language Grammar
293(2)
C.2 CSARDE Event Sequencer Grammar
295(1)
C.3 CSARDE Scripts
295(8)
References
303(2)
Glossary 305(2)
Index 307
Bart Vermeulen received his MSc and PhD degrees in Electrical Engineering from the Eindhoven University of Technology in respectively 1997 and 2013. He is currently a Senior Principal in the Central Research and Development organization of NXP Semiconductors, The Netherlands. His research interests include the design, validation and test of robust, distributed architectures for embedded systems. He published 40+ papers and 8 patents.

Kees Goossens received his PhD in Computer Science from the University of Edinburgh in 1993 on hardware verification using embeddings of formal semantics of hardware description languages in proof systems. He worked for Philips/NXP Research from 1995 to 2010 on networks on chip for consumer electronics. He is professor at the Eindhoven University of Technology, where his research focusses on composable, predictable, low-power embedded systems. He published 2 books, 100+ papers and 24 patents.