Subject: RE: [sv-ac] An opinion on convenience requirements
From: Erich Marschner (erichm@cadence.com)
Date: Thu Sep 12 2002 - 13:26:39 PDT
Hi Prakash,
I'd like to turn your requirement around a bit. I'd suggest that the real, underlying requirement is that assertions should be easy to use, and should give obvious productivity gains. Ease of use will remove barriers to adoption, and productivity gains will encourage proliferation.
Now the question is, what does "easy to use" mean, and what kind of productivity gains can be shown?
One thing that would make assertions NOT easy to use, and NOT improve productivity, is if assertions written to verify the design are just as difficult to verify as the design itself. I claim that distributing the meaning of an assertion over the design makes it more likely that the assertion will be difficult to debug.
However, there are degrees of distribution that can be considered. Roughly speaking, we could identify the following cases:
Statements that affect the meaning of a given assertion are to be found:
1. Anywhere in the design
2. Anywhere in the single module
3. In (possibly several, but a small number of) specific places in a design or module
4. At exactly one place in a single module
I would argue that (1) raises significant risk for very little reward. (2) is much better, but still the "anywhere" aspect makes it difficult to figure out exactly what a given assertion means, because until you've read through all the code in the entire module, you don't know if there isn't yet another statement that affects the meaning of an assertion. (3) is more reasonable - in particular, it allows for default clocks and resets (say, specified at the top of the module, or even specified globally). (4) of course is most restricted.
I would argue that (3) is the best compromise between ease of use and risk of creating difficult to debug assertions.
Regards,
Erich
-------------------------------------------
Erich Marschner, Cadence Design Systems
Senior Architect, Advanced Verification
Phone: +1 410 750 6995 Email: erichm@cadence.com
Vmail: +1 410 872 4369 Email: erichm@comcast.net
| -----Original Message-----
| From: Prakash Narain [mailto:prakash@realintent.com]
| Sent: Thursday, September 12, 2002 3:33 PM
| To: sv-ac
| Subject: [sv-ac] An opinion on convenience requirements
|
|
| We are considering a number of requirements to make assertion writing
| more convenient. We are looking to make it easier to
| specify clocks/resets/
| etc. for assertions. We are looking to provide short forms
| of often used
| constructs.
|
| At the same time opinions have been expressed that such requirements,
| sometimes, conflict with other virtues like modularity etc.
|
| Just to have some more discussion on the matter, I will make
| a controversial
| statement:
|
| "We should vote for shortcuts, accept/reject from contexts out of
| assertions,
| convenient ways of specifying clocks/reset/etc., ability to
| refer to a
| group of
| assertions, etc. at the expense of sacrificing modularity.
| That is because
| convenience of writing assertions will play an important
| role in adoption."
|
| Best Regards,
|
| Prakash
|
|
This archive was generated by hypermail 2b28 : Thu Sep 12 2002 - 13:28:33 PDT