[sv-bc] Errata in SV 3.1a LRM Section 9.2, 9.6 and 9.9: term "blocking statement" is not defined.

From: Stuart Sutherland <stuart@sutherland-hdl.com>
Date: Wed Sep 01 2004 - 23:17:55 PDT

In Section 9.2 Combinational logic, the last bullet in this sections says
"Statements in an always_comb shall not include those that block, have
blocking timing or event controls, or fork...join statements."

There is no definition anywhere in the SV 3.1a LRM or the 1364-2001 LRM of
what is meant by "statements that block". Is it any statement that delays
execution time? If so, does that include nonblocking assignments, since
they do not complete immediately? Are blocking statements the same ones as
those that are not allowed in functions? If so, then that would include
nonblocking assignments.

Section 9.6, last row of table 9-1, also refers to blocking statements. Are
these statements exactly the same ones referred to in section 9.2?

Section 9.9, second and third bullets also use the term "blocking statement"
in the context of process control. Does blocking statement mean the same
thing here as in 9.2 and/or 9.6?

Assuming that these three sections are referring to exactly the same types
of statements, then the term "blocking statement" needs to be defined, and
cross referenced from where it is used in 9.2, 9.6 and 9.9. If these
sections are not referring to exactly the same types of statements, then
that too needs to be defined.

Stu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stuart Sutherland Sutherland HDL Inc.
stuart@sutherland-hdl.com 22805 SW 92nd Place
phone: 503-692-0898 Tualatin, OR 97062

Sutherland HDL, Inc. -- Training Engineers to be Verilog, SystemVerilog
and VHDL Wizards! http://www.sutherland-hdl.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Received on Wed Sep 1 23:18:42 2004

This archive was generated by hypermail 2.1.8 : Wed Sep 01 2004 - 23:18:51 PDT