Re: [sv-ec] Action Item 25


Subject: Re: [sv-ec] Action Item 25
From: Arturo Salz (Arturo.Salz@synopsys.com)
Date: Wed Oct 22 2003 - 14:42:44 PDT


Mike,

You are correct. Currently, SystemVerilog requires a default for a
parameter.
However, it does not need to be bit, it could be any other type
Nevertheless, I can think of an enhacement to not require a default type
parameter.

    Arturo

----- Original Message -----
From: "Michael Burns" <Michael.Burns@motorola.com>
To: <david.smith@synopsys.COM>
Cc: <sv-ec@eda.org>
Sent: Wednesday, October 22, 2003 2:18 PM
Subject: Re: [sv-ec] Action Item 25

Hi,

In the parameter declarations for classes D1, D2, and D3, the default
type for 'P' is missing; i.e., it should say, "parameter type P = bit"
or something similar.

Mike

>
>Greetings,
>
>Arturo generated the following proposal in response to AI-25.
>
>Add the following text at the end of Section 11.23:
>A parameterized class may extend another parameterized class. For
>example:
>
>
> class C #(parameter type T = bit); ... endclass // base
>class
>
> class D1 #(parameter type P) extends C; // T is bit (the
>default)
> class D2 #(parameter type P) extends C #(integer); // T is integer
> class D3 #(parameter type P) extends C #(P); // T is P
>
>Class D1 extends the base class C using the base class's default type
>(bit) parameter. Class D2 extends the base class C using an integer
>parameter. Class D3 extends the base class C using the parameterized
>type (P) with which the extended class is parameterized.
>
>
>Please review.
>
>Regards
>David
>
>------=_NextPart_000_003D_01C39888.A653F480
>Content-Type: text/html;
> charset="US-ASCII"
>Content-Transfer-Encoding: quoted-printable
>
><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
><HTML><HEAD>
>
><TITLE>Message</TITLE>
>
><META content=3D"MSHTML 6.00.2800.1264" name=3DGENERATOR>
><STYLE></STYLE>
></HEAD>
><BODY>
><DIV><FONT face=3DArial color=3D#0000ff size=3D2><SPAN=20
>class=3D750173617-22102003>Greetings,</SPAN></FONT></DIV>
><DIV><FONT face=3DArial color=3D#0000ff size=3D2><SPAN=20
>class=3D750173617-22102003></SPAN></FONT>&nbsp;</DIV>
><DIV><FONT face=3DArial color=3D#0000ff size=3D2><SPAN =
>class=3D750173617-22102003>Arturo=20
>generated the following proposal in response to =
>AI-25.</SPAN></FONT></DIV>
><DIV><FONT face=3DArial color=3D#0000ff size=3D2></FONT>&nbsp;</DIV>
><DIV><SPAN class=3D750173617-22102003><FONT face=3DArial =
>color=3D#0000ff size=3D2>Add=20
>the following text at the end of Section 11.23:</FONT></SPAN></DIV>
><DIV align=3Dleft><FONT size=3D2>
><P align=3Dleft></FONT><FONT size=3D2>A parameterized class may extend =
>another=20
>parameterized class. For example:</FONT></P></DIV>
><DIV><FONT size=3D2></FONT>&nbsp;</DIV>
><DIV><FONT face=3DArial size=3D2><STRONG><FONT face=3D"Courier =
>New">&nbsp;&nbsp;&nbsp;=20
></FONT></STRONG>&nbsp;<FONT face=3D"Courier New"><STRONG>class</STRONG> =
>C=20
>#(<STRONG>parameter</STRONG> <STRONG>type</STRONG> T =3D=20
><STRONG>bit</STRONG>);&nbsp; ...&nbsp;=20
>endclass&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // base=20
>class</FONT></FONT></DIV>
><DIV><FONT face=3D"Courier New" size=3D2></FONT>&nbsp;</DIV>
><DIV><FONT face=3D"Courier New" size=3D2><STRONG>&nbsp;&nbsp;&nbsp; =
>class=20
></STRONG>D1 #(<STRONG>parameter type </STRONG>P) =
><STRONG>extends</STRONG>=20
>C;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
>p; // T=20
>is bit (the default)</FONT></DIV>
><DIV><FONT face=3D"Courier New" size=3D2>&nbsp;&nbsp;&nbsp; =
><STRONG>class=20
></STRONG>D2 #(<STRONG>parameter type </STRONG>P) =
><STRONG>extends</STRONG> C=20
>#(<STRONG>integer</STRONG>);&nbsp;&nbsp;// T is integer</FONT></DIV>
><DIV><FONT face=3D"Courier New"><FONT face=3D"Courier New" =
>size=3D2>&nbsp;&nbsp;&nbsp;=20
><STRONG>class </STRONG>D3 #(<STRONG>parameter type </STRONG>P)=20
><STRONG>extends</STRONG> C =
>#(P);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // T=20
>is P<BR></FONT></DIV>
><DIV><FONT face=3D"Times New Roman" size=3D2>Class D1 extends the base =
>class C using=20
>the base class's default type&nbsp;(bit) parameter. Class D2 extends =
>the base=20
>class C using an integer parameter. Class&nbsp;D3 extends the base =
>class C using=20
>the parameterized type (P) with which the extended class is=20
>parameterized.</FONT></DIV>
><DIV><FONT face=3D"Times New Roman" size=3D2></FONT>&nbsp;</DIV>
><DIV><FONT face=3D"Times New Roman" size=3D2></FONT>&nbsp;</DIV>
><DIV><SPAN class=3D750173617-22102003><FONT face=3D"Times New Roman" =
>size=3D2>Please=20
>review.</FONT></SPAN></DIV>
><DIV><SPAN class=3D750173617-22102003><FONT face=3D"Times New Roman"=20
>size=3D2></FONT></SPAN>&nbsp;</DIV>
><DIV><SPAN class=3D750173617-22102003><FONT face=3D"Times New Roman"=20
>size=3D2>Regards</FONT></SPAN></DIV>
><DIV><SPAN class=3D750173617-22102003><FONT face=3D"Times New Roman"=20
>size=3D2>David</FONT></SPAN></DIV></FONT></BODY></HTML>
>
>------=_NextPart_000_003D_01C39888.A653F480--



This archive was generated by hypermail 2b28 : Wed Oct 22 2003 - 18:19:47 PDT