Download Advanced Techniques for RTL debug

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

JTAG wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Multidimensional empirical mode decomposition wikipedia , lookup

Transcript
1
Visibility Enhancement for
Silicon Debug
Yu-Chin Hsu, Furshing (Kevin) Tsai,
Wells Jong, Ying-Tsai Chang
Outline
 Motivation
 Design for Debug methodology
 Challenges in debug using silicon data
 Visibility Enhancement techniques
 Experimental results
 Summary
3
Bottleneck in Prototype-to-Volume Time
Concept
Volume
Silicon
Prototype
Design
Test/Debug
7 to 8 months
Decreasing
6 to 7 months
Increasing!
Data Quest (2002, 2004) report
 Smaller design margins – increasing chance of
performance failures
 Unmodeled defects – higher tester escapes
 More transistors – increasing time to isolate physical
defects
 Greater device complexity – requiring more time and
vectors to validate
4
Silicon Testing Issues
Test
APP
×
×
 Functional design errors not detected pre-silicon due to
constraints
 Structured tests (ATPG, BIST, etc.) do not replicate real-world
conditions, resulting in “over-testing” and “under-testing”,
examples:
– High power consumption - voltage drops - change in VTH: chip rejected
– Crosstalk effects - pattern sensitive – not targeted: chip passed
 Defects difficult to model escape detection by testers
 System-level testing is the ultimate environment where defects are found
5
On-chip Hardware - Design-for-Debug
 Debugging silicon in situ easier when
designed with “visibility” into
internal nodes
 Logic which brings out data from
the silicon while in the system is known as
“design-for-debug” (DFD) logic
– IJTAG – on top of DFT
– On chip trace buffer
 Most DFD today is proprietary, although DFD
commercial offerings are increasing
 DFD utilized when failures occur during
system validation
6
Design-for-Debug (DFD) on the Chip
- Example
DFD
 DFD is not the same as DFT:
Debug logic must function
during system-level operation
 Many DFD implementations
Real-time
Scan&
clock
control
reset
control
leverage DFT circuitry:
– IEEE 1149.1 controller
(boundary scan)
– Internal scan chains (full
scan)
Combinational
logic
 DFD is the access
mechanism that provides insitu scan register visibility
DFT
7
Complete System for Silicon Debug
pod
scan
data
APP
Visibility
enhancement
Debug
 On-chip DFD typically hooks up to a pod and is activated by a
separate software-based control program
 The pod is a device that makes the electrical characteristics between
the DFD port and the PC port compatible
 The DFD control program accesses data such as the internal register
 The limited data is then processed to maximize visibility into design
operation
8
Challenges in DFD Data Analysis
 Limited resource available – only a subset of
signals can be probed
 Limited visibility – only a subset of signals can
be extracted from silicon
 Low level of abstraction – unfamiliar design to
designer
9
Visibility Enhancement -- Overview
 Visibility Planning
– Analyze design (RTL, gate) and provide optimal
(minimal and sufficient) set of signals to be observed
– Provide visibility tradeoff information – “expansion
potential” of candidate signals
 Data Expansion
– Process limited data and expand (regenerate) missing
signal information for exploration and debug
– On-the-fly operation for optimal performance
 Abstraction Correlation
– Map gate-level signals and instances back to RTL
origin
– Translate gate-level signal information (waveform
data) to match RTL design for designer-level debug
10
Silicon debug with
DFD and Visibility Enhancement
Visibility Planning
Data Expansion &
Abstraction
Correlation
11
Visibility Analysis and Planning
 Visibility Analysis (VA) engine determines which set
of signals are essential for data expansion
 A signal value can be made visible if its parent
(preceding gate) is visible
 Primary inputs are considered visible
12
Data Expansion
0
1
1
0
0
1
?
?
?
?
?
?
1
1
1
?
?
Data
expansion
0
1
1
0
0
0
0
1
0
1
1
0
?
?
?
0
1
?
?
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
 Data expansion (DE) engine makes limited data useful – more visibility
 Boolean calculation of unobserved combinational network values
 Maximize value computation thru use of “Don’t Care” truth table results
 DE metric: signals-with-values/total-number-of-signals
 Performance optimized by expanding only the logic under investigation
and no simulation-like timing wheel
13
Data Expansion - Requirements
 Raw signal data obtained from chip is stream of 0’s
and 1’s
 Control application must make the data usable for
analysis applications
 Steps for the control application:
– Assign temporal information – relative cycle time must
be associated with each scan dump
– Map each value to an HDL signal
– Output the results in a usable format - VCD (IEEE
1364-2001) or FSDB (Novas)
14
On-the-fly Data Expansion
 Large volume of data to be generated if computed in
bath mode.
HDL
Source
Gate
Netlist
Silicon
w/DFD
Data
expansion
Netlist
Register
Values
Gate/RTL
Signal
Values
Debug
On-demand value
request
FSDB
15
Debug at Higher Level of Abstraction
To Transaction
To RTL
Systems
RTL
Gate
Gates
 Gate level design is
unfamiliar to designer
Silicon
0100101110010110
1101011000110110
1000011111000000
16
Abstraction Correlation
 Silicon signal data is usually
easy to assign to gate-level
signals
 Gate-level netlist and values are
difficult for RTL designers to
understand and debug
Correlation
 Data must be mapped to the
“designers world” for efficient
debug and collaboration
 One-to-one correspondence is
not always the case after
synthesis transformations
17
Abstraction Correlation - Mapping
 Name-based mapping
– Predefined rule mapping (delimiters, escaped name, naming
convention for register, etc.)
– Regular-expression-based user-defined renaming rule
 Structural dependency analysis
– Find structural bounding mappable signal set of nameunmappable signal.
– Find structural fanin/fanout intersect of the mapped signal set for
related circuit part.
– Important concept: granularity (fundamental limitation) and
relevance (heuristic).
– Name-based mapping should provide a certain percentage of
mapped signals for this to work. This could often be achieved
after setting some user-defined renaming rules because
synthesis tools typically preserve/transform quite well some of
the signal naming, especially registers
18
Abstraction Correlation - Mapping
19
Abstracting Signal Data to Transactions
A1
A2
A3
A…
Addresses sent
S1
M1
D11
D12
Data Extraction
D13
M2
Transaction visualization eases
understanding of
communication protocols
3X4
2X4
…
S2
S3
D22
D31
Signal
Data
AMBA AXI, AMBA AHB,
PCI Express, OCPIP,UART, DDR, MPEG
Data Extraction
M3
S4
Data Extraction
Open Transactor Interface
D21
nTX
20
Results - Correlation
Case #1
Case #2
total
990
952
Can be
mapped
1 statement
207
21%
180
19%
684
69%
307
32%
2-3
statements
More than 3
statements
Cannot be
mapped
54
5.4%
194
20%
21
2.1%
213
22%
24
2.5%
58
6%
21
Results - Data Expansion
# of
signals
# of
% essential/
essential
% visible
total
signals
Case #1
138842
13190
Case #2
6808801
992248 14.6%
100%
Case #3
4560874
173544 3.8%
100%
9.5%
100%
22
Summary
 Silicon debug/diagnosis is a bottleneck to
time-to-volume
 Emerging DFD techniques make data
accessible
 Silicon data must be expanded and
HDL
Debug
correlated in order for the
designer to debug
 The proposed method leverage
DFD data and make it
System
Validation
possible to effectively use
HDL-oriented tools for silicon debug
23