RE: [sv-ec] Program Block / Reactive Region Use Cases & Requirements

From: Slater Rob-R53680 <R.Slater_at_.....>
Date: Thu Dec 07 2006 - 06:20:44 PST
Hi Cliff,

I'm not sure I understand the Use Cases.  In the past, it was necessary
to write test benches in PLIs because the Verilog language wasn't rich
enough to support proper verification needs.

The PLI had its own scheduling region, so the use of PLIs required
mastery of alternative scheduling techniques and the mastery of new
types of races; races difficult to detect and fix in practice because
they weren't centered in one language.

Vera (a model for SV program blocks) as well as e, and other languages
operate in a separate scheduling domain because when used as PLIs, they
have to.


But now with (System)Verilog rich enough for test bench needs, I don't
see the need for the separate regions for Verilog code.  The separate
domain was a necessary evil for verification, not a requirement.

Verilog code operating in an active/inactive region is not new.
Designers have had over a decade to get used to it and today tools even
exist to help find race conditions when designers forget.


Rob Slater
Freescale Semiconductor

-----Original Message-----
From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of
Clifford E. Cummings
Sent: Wednesday, December 06, 2006 10:04 PM
To: sv-ec@eda.org
Subject: Re: [sv-ec] Program Block / Reactive Region Use Cases &
Requirements

Hi, Rob -

I will take the first stab at discussing use cases and requirements 
and allow others to add their perspective.

First let me offer an editorial comment on programs and clocking 
blocks and programs. Due to the ambiguous descriptions in sections 15 
(clocking blocks) and 16 (programs) in the LRM, I believe you will 
find significant differences in current implementations of programs 
and clocking blocks. This is why we are having this rather urgent 
discussion to fix the ambiguities and to determine the perceived use 
models for programs and clocking blocks. I am not surprised that you 
having "challenges." You are not alone and I would be happy to 
compare usage notes with you off-line.

Use Models:
Largely based on Vera and the Vera interface (clocking block 
equivalent). Event scheduling is based on user experiences with Vera.

Program - execute testbench code in different event regions than RTL 
designs with the intent to eliminate DUT-testbench race conditions 
(this was the goal and I think we are close). Major implementers 
noted some of the troubles they had experienced integrating 
third-party HVLs (such as Vera and 'e') with Verilog simulations 
through the PLI.

PLI - make the need to use PLI in a testbench obsolete or near-obsolete.

Interaction with other languages was not well considered. Steve Sharp 
is off exploring those issues as related to event scheduling.

Did you see my PDF slides showing Verilog-2001 testbench strategies 
versus SystemVerilog strategies? The slides were used in our 
face-to-face meeting on November 6th.

Editorial Comment: I believe many of the examples in the clocking and 
program sections are much too terse to be instructive and I have 
requested permission to add more detailed examples to show correct 
usage and how interaction really takes place.

What we are seeking from you are your use examples and why they are 
causing you grief. If you mention that the implementations do not 
track, that is already known and will not be very useful. If you tell 
us how you tried to use the constructs and what you expected when you 
executed your examples, that will be immensely valuable, as it will 
show the ideas and misconceptions surrounding these new features and 
will give us a clue on how to improve the features or their
descriptions.

Regards - Cliff

At 05:14 AM 12/6/2006, Slater Rob-R53680 wrote:
>Hi,
>
>Sorry for the step backwards, but in light of the challenges program
>blocks are presenting us, I went looking for the Use Cases &
>Requirements that drove this particular design decision.
>
>Could someone point me to where they are documented?
>
>Thanks,
>
>Rob Slater
>Freescale Semiconductor

----------------------------------------------------
Cliff Cummings - Sunburst Design, Inc.
14314 SW Allen Blvd., PMB 501, Beaverton, OR 97005
Phone: 503-641-8446 / FAX: 503-641-8486
cliffc@sunburst-design.com / www.sunburst-design.com
Expert Verilog, SystemVerilog, Synthesis and Verification Training
Received on Thu Dec 7 06:21:14 2006

This archive was generated by hypermail 2.1.8 : Thu Dec 07 2006 - 06:21:45 PST