Subject: RE: [sv-ac] final final proposal 19-- Novas vote
From: Bassam Tabbara (bassam@novas.com)
Date: Tue Jan 13 2004 - 10:14:09 PST
Novas votes to approve proposal 19 (the "final final final" version that is
:-)!).
John, you took the words out of my mouth on your comment about execution.
There is no need for us here to repeat any scheduling issues or mention of
regions (and add inaccuracies or things we need to update in the future). It
suffices to say they are executed as:
Func1;
Func2;
....
The suggestion Surrendra made is great: ordered list.
Thx.
-Bassam.
-- Dr. Bassam Tabbara Technical Manager, R&D Novas Software, Inc.http://www.novas.com (408) 467-7893
> -----Original Message----- > From: owner-sv-ac@server.eda.org > [mailto:owner-sv-ac@server.eda.org] On Behalf Of John Havlicek > Sent: Tuesday, January 13, 2004 8:48 AM > To: krolnik@lsil.com > Cc: Surrendra.Dudani@synopsys.com; sv-ac@server.eda.org > Subject: Re: [sv-ac] final final proposal 19 > > > Hi Adam and All: > > I am sorry not to be more familiar with the reference > scheduling algorithm and the language used to talk about it. > > For this example > > > a ##1 (b, do_this_func(a), lv = and_this_func(c)) > > > > function void do_this_func; > > input a; > > > > begin > > $display("The input here is %h.", a); > > end > > endfunction > > > > function int and_this_func; > > input c; > > and_this_func = c + 1; > > endfunction > > I think the following should happen in processing the Observe > region in the cycle that b is evaluated: > > 1. evaluate b; if true go on, else end. > 2. execute do_this_func. Evaluate the value parameter a to > the $display; > schedule the $display whenever it is appropriate; end > do_this_func and > go on. > 3. execute and_this_func; > 4. assign lv from the value returned by and_this_func. > > I think the void function cannot contain anything that > blocks; whether the the $display is scheduled or executes > during the evaluation of do_this_func doesn't matter to me, > but the arguments to the $display must be consistent with the > evaluation of the sequence. > > I think it is a good idea to say that the list is ordered and > each item in the list is processed in the order it appears. > > Best regards, > > John H. > > > > > > > Hi Surrendra; > > > > YOu suggested: > > > > ----------- > > "A call to a void function that is attached to a sequence > causes the > > void function to be executed immediately as a part of > evaluating the > > sequence" > > > > Also, would it better to explicitly state that the list is ordered, > > and each item in the list is processed in the order it > appears in the > > list? > > ------------ > > > > I don't believe this is correct. Consider a sequence > > > > a ##1 (b, do_this_func(a), lv = and_this_func(c)) > > > > function void do_this_func; > > input a; > > > > begin > > $display("The input here is %h.", a); > > end > > endfunction > > > > function int and_this_func; > > input c; > > and_this_func = c + 1; > > endfunction > > > > > > Does the function do_this_func block because the $display > statement is > > within it? Does that block the function and_this_func from > executing? > > > > > > Adam Krolnik > > Verification Mgr. > > LSI Logic Corp. > > Plano TX. 75074 > > Co-author "Assertion Based Design" > > >
This archive was generated by hypermail 2b28 : Tue Jan 13 2004 - 10:14:55 PST