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.
This archive was generated by hypermail 2.1.8 : Mon Feb 21 2011 - 23:00:31 PST