RE: [sv-ac] Minutes from SV-AC Meeting 2/15/2011

From: Kulshrestha, Manisha <Manisha_Kulshrestha@mentor.com>
Date: Mon Feb 21 2011 - 22:59:37 PST

Hi Erik,
 
Attaching the document with my comments.
 
Thanks.
Manisha

________________________________

From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of ben cohen
Sent: Monday, February 21, 2011 11:50 PM
To: thomas.thatcher@oracle.com
Cc: sv-ac >> "sv-ac@eda.org"
Subject: Re: [sv-ac] Minutes from SV-AC Meeting 2/15/2011

2476: Need clarification about system functions $onehot, etc
..
Ben: Will review proposal.
Manisha: Will review proposal
Updated file See http://www.eda-stds.org/svdb/view.php?id=2476 with tracking of corrections.
 Proposal2476_etc_2011_03.docx [^] (35,266 bytes) 2011-02-21 10:11
 Proposal2476_etc_2011_03.pdf [^] (613,371 bytes) 2011-02-21 10:12

20.9 Bit Vector System Functions
A useful function provided for dealing with bit vectors is $countbits, to count the number of bits having a specific value.
[Ben] LRMs specify the functionalies and are typically more formal. To add that this is a "useful function" is nice, but does not sound LRMish. I suggest that we change it to some more conformal to the other function descriptions. Specifically:
The function $countbits counts the number of bits that have a specific set of values (e.g., 0, 1, X, Z) in a bit vector.

--
.  For the purpose of calculating the return value,  the argument
[Ben] Use single space after the comma
--
// One-cold function, looking for a vec of all 1s except one 0.
[Ben] // One-cold function, looking for a vector of all 1s except one 0.
---
my_one_cold = ($countbits(myvec,1’b0) == 1) &&
                  ($countbits(myvec,2’bzx) == 0);
[Ben] my_one_cold_known = ($countbits(myvec,1’b0) == 1) &&
                  ($countbits(myvec,2’bzx) == 0);
---
Here is an example of using a variable for this value:
[Ben] Wordings are not very formal for an LRM.  Isuggest: 
The following example uses a variable for this value:
---
// Z allowed during init,
[Ben] "init" was not addressed before, and it is not a variable by that name. Use the full word. 
// Z allowed during initialization
----
In addition, the function $isunknown is provided to check 
[Ben] "In addition" is not needed. Also, simplify the sentence. 
The function $isunknown is provided checks ..
--
$isunknown takes a single expression as an argument, following the same rules as the expression argument to $countbits. 
[Ben] $isunknown takes a single expression as an argument, and follows the same rules as the expression argument to $countbits.  
 
Ben Cohen SystemVerilog.us  
On Tue, Feb 15, 2011 at 10:30 AM, Thomas J Thatcher <thomas.thatcher@oracle.com> wrote:
	Minutes of SV-AC Meeting
	Date:  2011-02-08
	Time:  16:30 UTC (8:30 PST)
	Duration: 1.5 hours
	
	Dial-in information:
	--------------------
	Meeting ID:             38198
	
	Phone Number(s):
	1-888-813-5316          Toll Free within North America
	
	Live Meeting: https://webjoin.intel.com/?passcode=5602554
	
	
	Agenda:
	-------
	- Reminder of IEEE patent policy.
	See: http://standards.ieee.org/board/pat/pat-slideset.ppt
	
	- Minutes approval
	
	- F2F
	
	- Email ballot results
	2412, 3113, 3135 passed. There were friendly amendments.
	
	- New issues
	Functions in action blocks of deferred assertions (discussion).
	
	- Issue resolution/discussion
	
	Addressing champions¿ feedback
	2804: Need to clarify rule (b) in 16.15.6 to allow inferred clock when expression appears in procedural assertion
	2839: Contradictory statement of increment/decrement operators usage
	2557: Rules for passing automatic variables to sequence subroutines are not clear
	2476: Need clarification about system functions $onehot, etc
	
	
	- Enhancement progress update
	2328: Review and relax restrictions on data types in assertions
	3295: need a way to control only asserts/covers/assume directives
	
	- Opens
	
	Attendance Record:
	------------------
	        Legend:
	                x = attended
	                - = missed
	                r = represented
	                . = not yet a member
	                v = valid voter (2 out of last 3 or 3/4 overall)
	                n = not a valid voter
	                t = chair eligible to vote only to make or break a tie
	
	Attendance re-initialized on 2010-07-06:
	
	 v[-xxx...........................] Ashok Bhatt (Cadence)
	 v[xxxx-xxx-xxxxxxxxx-x-xxxxx--xxx] Laurence Bisht (Intel)
	 v[xxx-xxxxxxxxxxxx-xxxxxxxxxxxxx-] Eduard Cerny (Synopsys)
	 n[x---xxx--x-xxxxxxx-xxxxx-xxxxxx] Ben Cohen
	 n[------------xx-x-xxx-x--xxxxxxx] Surrendra Dudani (Synopsys)
	 n[-x----x-x-x--xx---xxxx---x-xxxx] Dana Fisman (Synopsys)
	 n[----------xxxxx-xxxx-x-xxxxxxxx] John Havlicek (Freescale)
	 v[xxxxxxxxxxxxxx-xxx-xxxxxxxxxxxx] Tapan Kapoor (Cadence)
	 n[x------------------------------] Jacob Katz (Intel)
	 t[xxxxxxxxxxxxxx--xxxxxxxxxxxxxxx] Dmitry Korchemny (Intel ¿ Chair)
	 v[xxxxxxxxxxxxxx--xxxxxx-xxxxxxxx] Scott Little (Freescale)
	 v[xxxxxxxxxxxxx-xxxxxxxxx-xxxxxxx] Manisha Kulshrestha (Mentor Graphics)
	 v[xxxxxxxxxxx-xxxxxxxxxxxxxxxxxxx] Anupam Prabhakar (Mentor Graphics)
	 v[x-xxx--x-xx-xxx-xx--xxxxxxx-xxx] Erik Seligman (Intel)
	 v[-xxx-xxxx-xxxx--xxxxxx-xxxxxxx.] Samik Sengupta (Synopsys)
	 v[xxxxxxxxxxxxx-xxxxxxxxxxxxx-xxx] Tom Thatcher (Oracle ¿ Co-Chair)
	 n[xx-------x.....................] Srini Venkataramanan  (CVC Pvt Ltd)
	   |- attendance on 2011-02-15
	 |--- voting eligibility on 2011-02-15
	
	
	Minutes:
	--------
	
	- Reminder of IEEE patent policy.
	See: http://standards.ieee.org/board/pat/pat-slideset.ppt
	Participants were reminded of the policy.
	
	- Minutes approval
	Erik    : Move to approve minutes
	Scott   : Second:
	       Vote Results:  8y, 0n, 0a
	
	- F2F
	       Should be able to meet on Thursday at the Doubletree.
	       Need to e-mail dmitry if you will attend
	       Second day (Friday) will be at Intel.
	
	       Proposed Agenda:
	       Dmitry has sent proposed schedule to the reflector.
	Erik:   Suggested that the agenda include the Mantis items corresponding to
	       each issue.
	
	- Email ballot results
	2412, 3113, 3135 passed. There were friendly amendments.
	
	3135    Erik Suggested replacing "then" with a comma.
	       (no objections)
	2412    Dmitry had some typesetting suggestions.
	       (no objections)
	
	       (authors will make the changes for friendly amendments, and Dmitry
	        will send on to Champions).
	
	- Issue resolution/discussion
	
	Addressing champions' feedback
	2804: Need to clarify rule (b) in 16.15.6 to allow inferred clock when expression appears in procedural assertion
	Anupam: Finds the new rules confusing.
	       Why not have separate rule for checkers instead.
	Anupam: Will try to think of something simpler.
	
	2839:  Contradictory statement of increment/decrement operators usage
	Ed:     Has implemented friendly amendment.
	
	Erik:   Move to approve proposal
	Scott:  Second
	       Vote Results:  8y, 0n, 0a
	
	2386:   Rename 16.9 to "Local variables"?
	Scott:  Deleted the line "Suggested Resolution", as requested by Champions
	       in their friendly amendment.
	Erik:   Move to approve proposal
	Tom:    Second
	       Vote Results:  8y, 0n, 0a
	
	2557:   Rules for passing automatic variables to sequence subroutines are
	       not clear
	Erik:   Shalom requested change of "can" to "may"
	Manisha:        Looks fine.
	Scott:  Move to accept proposal
	Erik:   Second
	       Vote results:  8y, 0n, 0a
	
	2476:   Need clarification about system functions $onehot, etc
	Erik:   Moved system function definitions to Ch 20
	       Deleted "bit-shot" function
	       Only have the count-bits function.
	       Examples show how to use count-bits functions to acheive one-hot
	       functions.
	       Added new functions to table in 20.1.
	Ben:    Will review proposal.
	Manisha:        Will review proposal
	
	- Enhancement progress update
	2328:   Review and relax restrictions on data types in assertions
	Scott:  Proposal would allow assertions to reference  dynamic variables
	       If variable doesn't exist when referenced, that will be an error.
	Ed:     Still some issues with sampling.
	Ed:     If you assigned a variable from $realtype
	       Then assertion checked the variable, it would get the sampled value.
	       Whereas if you reference $realtime directly, you would get current
	       time
	Dmitry: Why not state that variable of type realtime is not sampled.
	Ed:     That would be a possibility.
	Scott:  Data types defined in 6.12.
	       LRM says realtime declaration synonomous with real and can be
	       used interchaneably.
	Anupam: Couldn't you use const to get current values?
	Scott:  Another way is to use a local variable.
	Ed:     But this has to be done within assertion.
	Anupam: Could use Dmitry's proposed definition of sampled value to
	       handle this.
	Scott:  Proposal should be ready for review next week.
	
	3295: need a way to control only asserts/covers/assume directives
	Manisha:        Has modified draft due to comments from Ed, Erik.
	       Now has new tasks for controlling assertions.  They allow user to
	       control what types of assertions are affected.
	Ed:     Could you define an enum type for the types of assertions?
	Ed:     Appendix G defines standard package.
	       could define enum type for "directive type" here.
	Manisha:        Will ask about this.
	
	Erik:   Add some examples.
	Manisha:        The old functions:  $asserton $assertoff $assertkill:
	       OK to call them "legacy" functions?
	       OK to deprecate them?
	Ed:     Deprecating them would be difficult.  They are used everywhere.
	       These functions are also simpler than the new added functions
	       Just keep them there.
	Anupam: Couldn't we have default argument which defaults to all types?
	Erik:   Problem is that last argument is a list.
	Anupam: What about severity?
	Manisha:        Severity is not defined in the LRM.
	
	3069:   Relax rules for $global_clock resolution
	Jacob:  Would be more flexible to allow multiple global clocking expressions.
	       Proposal contains a global clock resolution procedure to allow
	       a call to $global_clock to find the correct global clock
	Tom:    Doesn't this then become just a "default clocking"
	Jacob:  But default clocking is local to the scope it is defined in.
	       
	
	3191:   Allow sequence methods with sequence expressions
	Jacob:  Would allow passing sequence expressions as actual arguments
	Ben:    On one hand it could be convenient.
	       on the other hand it could lead to bad coding style.
	
	Meeting Adjourned.
	
	-- 
	This message has been scanned for viruses and
	dangerous content by MailScanner, and is
	believed to be clean.
	
	
-- 
This message has been scanned for viruses and 
dangerous content by MailScanner <http://www.mailscanner.info/> , and is 
believed to be clean. 
-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

Received on Mon Feb 21 23:00:20 2011

This archive was generated by hypermail 2.1.8 : Mon Feb 21 2011 - 23:00:31 PST