[sv-ac] RE: Mantis 1900 comments - Part 2

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Mon Jan 28 2008 - 01:20:30 PST
- Re the BNF of initial_check and always_check, I have a new thought.
Since these can appear only in checkers and the other initial and always
procedures can only appear outside checkers, why combine them in the
BNF?

Instead of 
checker_or_generate_item ::=
	 { attribute_instance } continuous_assign
	| checker_or_generate_item_declaration
	| initial_construct
	| always_construct
	| concurrent_assertion_item
	| checker_generate_item
initial_construct ::= initial_keyword statement_or_null
initial_keyword ::= initial2 | initial_check2
always_construct ::= always_keyword statement
always_keyword ::= always2 | always_comb2 | always_latch2 | always_ff2 |
always_check2

it might be simpler to do 

checker_or_generate_item ::=
	 { attribute_instance } continuous_assign
	| checker_or_generate_item_declaration
	| initial_check statement_or_null
	| always_check statement
	| concurrent_assertion_item
	| checker_generate_item

- "Action blocks of assertions within a checker will be referred to as
checker action blocks, and the rest of the checker will be referred to
as checker body."
Add "a" before "checker body".

- A checker body may contain the following elements:
*	Declaration of let, sequences, properties and functions.
*	Concurrent assertions. 
*	Checker variables and their assignments (see 16.18.6).
*	default clocking and default disable iff declarations.
*	initial_check and always_check procedures (see 16.18.5).
The first bullet should start "Declarations of let constructs",
The third bullet should be "Checker variable declarations"?
The fifth bullet has inconsistent font sizes (see the original).

- "Each formal argument used in this way may be assigned a value either
in a checker body or in checker action blocks. If a formal argument is
written in the checker body, its corresponding actual argument shall be
a checker variable or a formal argument in another checker."
The 2nd sentence quoted specifies "written in the checker body". Is the
intent that the following restriction does not apply to formal arguments
assigned in action blocks?

- "The output actual argument shall have a static lifetime." Below, it
says, "Checker actual arguments cannot reference automatic variables."
	("cannot" should be "shall not".) If so, then the first
restriction seems redundant.

- In 16.18.3: "Named port connections using a wildcard port name, see
22.3.2.4 for more information". The reference is not needed. The earlier
reference to 22.3.2 covers all four connection types. (Besides Mantis
1619 adds defaults, but not a new connection type. 22.3.2.4 already
exists.)

- In the example preceding 16.8.4, "end :m" should be "endmodule :m".

> Regards,
> Shalom
> 
> Shalom Bresticker
> Intel Jerusalem LAD DA
> +972 2 589-6582
> +972 54 721-1033
> 

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Jan 28 02:00:43 2008

This archive was generated by hypermail 2.1.8 : Mon Jan 28 2008 - 02:01:20 PST