Subject: [sv-bc] Two new issues (problem with SV-BC73 and sequential function blo ck)
From: Jacobi, Dan (dan.jacobi@intel.com)
Date: Thu Mar 20 2003 - 00:50:27 PST
Hello All,
I’m editing the BNF update that will be sent to Stefen. During this process
I found two new issues.
1. The issue labeled as SV-BC73
(http://www.eda.org/sv-bc/hm/0508.html)
that was accepted on the 17th of March is problematic
The proposal was :
Under A.8.7
ADD
implicit_base_binary_number ::= '0 | '1 | 'X | 'x | 'Z |
'z
REPLACE
binary_number ::= [ size ] binary_base binary_value
WITH
binary_number ::= [ size ] binary_base binary_value
| implicit_base_binary_number
However The BNF (under A.8.4) already parses the ‘0 , ‘1 , ‘x , ‘z auto-fill
literals under the primary and constatnt_primary productions
constant_primary ::=
…
number
…
| ’0 | ’1 | ’z | ’Z | ’x | ’X
primary ::=
number
…
| ’0 | ’1 | ’z | ’Z | ’x | ’X
The BNF also adds the following production under A.8.7
number ::=
…
| binary_number
This means that there are two ways to parse the auto fill literals for
example the following statement can be parsed in two ways :
My_struct = ‘0;
Also the following cast can now be parsed
‘1 ‘ (a[10:0])
I suggest we cancel SV-BC73
2. function begin – end blocks
Section 8.7 in draft 3 reads:
“SystemVerilog allows a matching block name to be specified after the block
end”
The BNF A.6.3 Reads
par_block ::=
fork [ : block_identifier ] { block_item_declaration } { statement } join
join_keyword [ : block_identifier ]
seq_block ::=
begin [ : block_identifier ] { block_item_declaration } { statement } end [
: block_identifier ]
However function sequential blocks can not add a matching name
function_seq_block ::=
begin [ : block_identifier { block_item_declaration } ] { function_statement
} end
My suggestion (might be pushed to 3.2)
Under A.6.3
REPLACE
function_seq_block ::=
begin [ : block_identifier { block_item_declaration } ] { function_statement
} end
function_seq_block ::=
‘begin’ [ ‘:’ block_identifier { block_item_declaration } ] {
function_statement }
‘end’ [ ‘:’ block_identifier ]
This archive was generated by hypermail 2b28 : Thu Mar 20 2003 - 00:51:06 PST