Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon...

12
Resource-Efficient Programmable Trigger Units for Post- Silicon Validation Ho Fai Ko and Nicola Nicolici Department of Electrical and Computer Engineering McMaster University, Hamilton, ON L8S 4K1, Canada Email: [email protected], [email protected] Reporter :PCLee 2012.12.17

Transcript of Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon...

Page 1: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

Resource-Efficient Programmable Trigger Units for Post-Silicon

ValidationHo Fai Ko and Nicola Nicolici

Department of Electrical and Computer EngineeringMcMaster University, Hamilton, ON L8S 4K1, Canada

Email: [email protected], [email protected]

Reporter :PCLee 2012.12.17

Page 2: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed into on-chip trigger units. In this paper, we investigate how to design trigger units that are both resource-efficient and runtime programmable. To achieve these two goals, we introduce new architectural features, as well as an algorithm for automatically mapping trigger events onto trigger units.

Abstract

Page 3: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

Related work [2, 3] scan-based

post silicon validation

This paper

Provide real-time observability

[4] on-chip trace buffer

[5] embedded breakpoint units

[6] on-chip programmable trigger engines

Improve the control on trace buffer, and reduce the amount of data

Achieve resource –efficient andrevert the false decision in real time

Page 4: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

What’s the problem: For a chip, we can only configure their register. How

many trigger units we need? How to reduce the number of trigger units to save

area? How to recover our data from false trigger?

Introduction

Page 5: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

Trigger unit

TS = xx10 => output = 1 (x is don’t care) event_reg = 0010 mask = 0011

2 ≤ TS ≤ 5 => ABCD = (0010, 0011, 0100, 0101)

=> TS = A’BC’ + A’B’C

=> mask1 = 1110 event_reg1 = 0100 mask2 = 1110 event_reg2 = 0010

Example of trigger unit and mechanism -1

AB/CD

00 01 11 10

00 1

01 1

11 1

10 1

Page 6: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

2 ≤ TS ≤ 5 and TS = 10 => ABCD = (0010, 0011, 0100, 0101, 1010)1. Add one more quality unit.

2. Under trigger

=> TS = A’BC’ + A’B’C + B’CD’

=> mask1 = 1110 event_reg1 = 0100

mask2 = 1110 event_reg2 = 0010

mask3 = 0111 event_reg3 = 0010

=> We need 3 trigger units to cover all conditions.

=> If we have k terms, we need k units.

Problem: If we just have 2 trigger units? (If we don’t have enough trigger units to cover all conditions?)

Example of trigger unit and mechanism - 2

AB/CD

00 01 11 10

00 1

01 1

11 1

10 1 1

Page 7: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

Under-triggering: Configure register next time to cover all conditions. It cannot work on asynchronous peripherals

Over-triggering:

=> TS = A’BC’ + B’C

=> mask1 = 1110 event_reg1 = 0100

mask2 = 0110 event_reg2 = 0010

Under-triggering and over-triggering

AB/CD

00 01 11 10

00 1

01 1

11 1 F

10 1 1 Off-prime will cause false triggering

Page 8: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

Proposed hardware architecture

Page 9: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

Debug flow1. Off-primes are computed Off-line.

2. Configure events to register and off-primes to trace buffer.

3. When events have been triggered, trace buffer starts trace data. And event buffers starts to record TS.

4. Event buffers compare off-sets sequentially.

5. When it found false-triggering, mark the segment of trace buffer for further reuse.

Problem: If the number off-primes is larger than the clock cycles between

consecutive events, analysis data will miss. Add more buffers will affect the area. So this paper introduce algorithm

for saving the area.

Debug flow and event buffer problem

m=2

Page 10: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

Purpose: Prevent early filling of event buffers. Prevent loss valid trigger events. Ensure trigger analysis can be done in a low number of clock cycles.

Algorithm for trigger event mapping

iterative until gain is highest

Perform minimization

Perform minimization

Revert choice

Record off-prime and replace

Perform minimization and return off-primes and value of mask and event register/

Page 11: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

The obvious different is if we use event sequencing or not. Because event buffer will have groups in event sequencing.

Experimental result

Page 12: Reporter :PCLee 2012.12.17. The decisions on when to acquire debug data during post-silicon validation are determined by trigger events that are programmed.

Conclusion of this paper This paper map the user-programmable trigger conditions

onto a lower number. The proposed algorithm found off-prime and than revert the

false triggering.

My conclusion How does this paper know the clock cycles between two

events. This paper present resource-efficient algorithm and

architecture. I can reference this paper for my reconfigurable hardware.

Conclusion