From: Adam Krolnik (adamk@cyrix.com)
Date: Fri Apr 23 1999 - 14:29:17 PDT
Here is the rewritten proposal based on the previous exchanges
on the reflector. It is based on Mac's proposal dated Nov 20, 1998.
[ Replaced constant difference with alternate base/width specification.]
<p><HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; SunOS 4.1.4 sun4m)
[Netscape]">
</HEAD>
<BODY>
<BR>
Section 4.2.1 "Net and register bit-select and part-select addressing"
2nd
<BR>paragraph, last sentence now reads:
A part-select of a vector register or net is given with the following syntax.
The new wording proposed would be:
There are two types of part-selects, a constant part-select and a indexed
part-select. A constant part-select of a vector register or net is given with the
following syntax.
<p>Add paragraph 4 listed below:
<p>An indexed part select of a vector register or net is given with the following
syntax:
<pre>
big_endian_vect[lsb_base_expr +: width_expr]
little_endian_vect[msb_base_expr +: width_expr]
big_endian_vect[msb_base_expr -: width_expr]
little_endian_vect[lsb_base_expr -: width_expr]
</pre>
The width_expr shall be a constant expression. It also shall not be
affected by run-time parameter assignments. The lsb_base_expr and
msb_base_expr can vary at run-time. The first two examples select bits
starting at the base and ascending the bit range. The number of bits
selected is equal to the width expression. The second two examples
select bits starting at the base and descending the bit range.
If the part-select is out of the address bounds completely or partially,
or the part-select is x or z, then the value returned shall be x. If
the part-select is being assigned a value, only addressable bits in
the defined range shall be modified.
Section 6, table 6.1 - "Legal left-hand side forms in assignment statements"
Delete the word "Constant" in the third line of the "Procedural assignment" row
currently stating:
"Constant part select of a vector register".
Section 9.2 "Procedural assignments" Third item in list. Delete the
sentence "Only constant expressions shall be legal for specifying the part-select
index."
BNF
Section A.8 reg_lvalue and net_lvalue, and primary:
reg_lvalue ::=
<BR>reg_identifier
<BR><FONT COLOR="#0000FF">| reg_identifier [ part_selection ]</FONT>
<BR>| reg_concatentation
<FONT COLOR="#0000FF">part_selection ::=</FONT>
<BR><FONT COLOR="#0000FF">expression /* degenerate case -> bit_select */</FONT>
<BR><FONT COLOR="#0000FF">| msb_constant_expression : lsb_constant_expression</FONT>
<BR><FONT COLOR="#0000FF">| base_expression +: width_constant_expression</FONT>
<BR><FONT COLOR="#0000FF">| base_expression -: width_constant_expression</FONT>
<p><P>primary ::=
<BR>number
<BR>| identifier
<BR><FONT COLOR="#0000FF">| identifier [ part_selection ]</FONT>
<BR>| concatenation
<BR>| multiple_concatenation
<BR>| function_call
<BR>| ( mintypemax_expression )
</BODY>
</HTML>
------------- End Forwarded Message -------------
<p><p> Adam Krolnik
Verification Engineer
Cyrix - NSC.
Richardson TX. 75085
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:53:26 PDT
and
sponsored by Boyd Technology, Inc.