*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, and is
believed to be clean.
Received on Mon Feb 21 10:21:24 2011
This archive was generated by hypermail 2.1.8 : Mon Feb 21 2011 - 10:21:45 PST