B33 - Parameter Type Declarations

From: Adam Krolnik (adamk@cyrix.com)
Date: Fri Dec 11 1998 - 08:21:11 PST


BAD MSG:
<HTML>
HEAD>
<TITLE> B33 </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
 
<BR>
<HR SIZE=5 NOSHADE>
 
<H2> B33 - Paarameter Type Declarations </H2>
X-Lines: 86
Content-Type: TEXT/plain; charset="us-ascii"
Content-Length: 2729
X-Status: $$$$
X-UID: 0000000751
Status: RO

<TABLE BORDER COLS=2 WIDTH="75%" >
<TR><TD>
Section: </TD><TD> TBD
</TD></TR><TR><TD>
Date Submitted: </TD><TD> 980312
</TD></TR><TR><TD>
Requestor: </TD><TD> Steve Meyer
</TD></TR><TR><TD>
Status: </TD><TD> Submitted
</TD></TR><TR><TD>
Analyzed by: </TD><TD> TBD
</TD></TR><TR><TD>
Synthesizable: </TD><TD> No
</TD></TR>
</TABLE>

<H3> Details </H3>

I propose changing parameter declaration statements to allow normal
reg range and signed declaration keywords. If feature has already been
proposed, just ignore this. Some examples (I am not sure if I am using latest
syntax):
<PRE>
 parameter signed [3:0] mux_selector = 0;
 paramater signed [0:3] mux_selector = 0; // only different if selects allowed
 parameter real r1 = 3.5e17;
 parameter p1 = 13'h7e;
 parameter [31:0] dec_const = 1'b1; // valued converted to 32 bits
</PRE>

Notes: <P>
 1) For backward compatibility, parameter declarations without range or type
    allowed using current width determined by right hand side expression
    width still permitted.

 2) Parameters declared with ranges can possibly be stored more efficiently.
    Solves problem when constants are assigned initial (or # param
    or defparam) values using small decimal constants.

 3) Makes Verilog 98 compatibible with Verilog-AMS.

 4) I think selects from parameters should be explicitly allowed by standard
    following XL. In fact, every simulator needs to support selects from
    parameters or else models in Thomas-Moorby book will not run
    (i.e. dec_const[9] or dec_const[13:5]).

/Steve
<PRE>

-- 
Steve Meyer				Phone: (415) 296-7017
Pragmatic C Software Corp.		Fax:   (415) 296-0946
220 Montgomery St., Suite 925		email: sjmeyer@crl.com
San Francisco, CA 94104
</PRE>
<pre>
-------------------------------------------------------------------
</pre>
<p> I propose this enhancement as described.

<p> Section 3.10 "Parameters" modify the syntax box (3-4) to the proposed BNF below. <p> Add the following sentence to the end of the first paragraph. <p> Parameters declared without the optional vector range declaration will be sized to the value assigned. The lsb of the parameter will be 0.

Add this example to the examples: <pre> parameter [3:0] mux_selector = 2; parameter [0:3] mux_sel = 3; parameter [31:0] limit = 4096; </pre>

Section 4.2.1 "Net and register bit-select and part-select addressing" <p> Replace "and register" with ", register and parameter" <p> Replace "or register" with ", register or parameter" <p> Replace "register" with "register or parameter"

For all text in this section.

<HR SIZE=5 NOSHADE> </BODY> </HTML>

<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:02 PDT and
sponsored by Boyd Technology, Inc.