2012.09.24 reporter: pclee. although assertions are a great tool for aiding debugging in the design...

10
Debug enhancements in assertion-checker generation M. Boule´ , J.-S. Chenard and Z. Zilic IET Comput. Digit. Tech 2012.09.24 Reporter: PCLee

Upload: melina-mccormick

Post on 01-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Debug enhancements in assertion-checker

generationM. Boule´ , J.-S. Chenard and Z. Zilic

IET Comput. Digit. Tech

2012.09.24 Reporter: PCLee

Although assertions are a great tool for aiding debugging in the design and implementation verification stages, their use in silicon debug has been limited so far. A set of techniques for debugging with the assertions in either pre-silicon or post-silicon scenarios are discussed. Presented are features such as assertion threading, activity monitors, assertion and cover counters and completion mode assertions. The common goal of these checker enhancements is to provide better and more diversified ways to achieve visibility within the assertion circuits, which, in turn, lead to more efficient circuit debugging. Experimental results show that such modifications can be done with modest checker hardware overhead.

Abstract

Related work[1]debugging hardware in

DUT

[3, 10, 11] MBAC: checker

generator

This paper

[6] 4 debugging features:1.Completion mode assertion 2.Activity monitors3.Assertion and cover counter4.Assertion threading

integrateadopt

Generate RTL from assertion language

What’s the problem: Convert high-level assertion language into RTL is difficult. Enhance assertion checker with several debug features.

The proposed method: MBAC – A tool for transforming PSL or SVA into RTL Enhance assertion checker by following to increase visibility

。Completion mode assertion。Activity monitors。Assertion and cover counter。Assertion threading

Introduction

Dependency graphs: All signal and parameter dependencies are listed in comment of assertion circuit. Pinpoint the cause of an error

Indicate assertion is complete and not trivially true.

Replace asserting when finding error by asserting when finding success.

The antecedent must occur. So the consequent determine if the assertion pass or fail.

Debug enhancements for assertion checkers – completion mode assertion

Observe whether the input stimulus work correctly in a portion of checker.

Check when consequent implication never occur, if the antecedent work correctly.

If the antecedent never trigger, the antecedent is vacuously true.

Debug enhancements for assertion checkers – activity monitors

Counting failure is straightforward, but counting cover directive require some modification.

Cover only trigger at the end of execution.

Debug enhancements for assertion checkers – assertion and cover counter

Counter numbers of sequence match

Debugging mechanism for a CPU pipeline.

Replicate sequence circuits for failure conditions to isolate from other activations.

Allow a violation condition to be separated from the other concurrent activations in the assertion circuit.

Example: 5 stage pipeline Check if memory/register write complete in correct stage.

Debug enhancements for assertion checkers – assertion threading

Metrics: Number of flip-flips and LUTs Maximum operating frequency for the worst clk-to-clk path

1. Assertion completion A little less LUTs than normal mode A little faster than normal mode

2. Activity monitoring Maximum operating frequency and FF are virtually not affected The effect of OR gate is visible

3. Assertion threading Resource utilisation scales linearly with the number of hardware threads

Experimental result

Author’s conclusion: This paper presents 4 enhancement debugging method in

assertion checker. They are suitable for complex temporal sequence of assertion

language.

My conclusion: The experimental result is lack of reason to explain why the

area is small in completion mode. This paper is about the deep utilization in hardware checker.

It is good at discuss the hardware’s correct or error.

Conclusion