Re: [sv-ac] clocking blocks without identifiers

From: John Havlicek <john.havlicek_at_.....>
Date: Mon Feb 06 2006 - 13:02:10 PST
Hi Arturo:

It makes sense to me to allow property and sequence declarations 
in an unnamed clocking block.  However, the declared items must 
be referenced outside the clocking block in order for them to be 
evaluated.

In your example, you need something like

   interface ifc( ... )
   ...

       clocking @(posedge clk);
           property P1; ... endpropery
           property P2; ... endproperty
       endclocking
     
       a1: assert property (P1);
       a2: assert property (P2);

   endinterface

Here I have assumed that I can refer to P1, P2 in the
body of the interface.  I have not found evidence in the LRM
to say that such a reference is legal or illegal.

In Clause 15, the examples look like the following:

   interface ifc( ... )
   ...

       clocking foo @(posedge clk);
           property P1; ... endpropery
           property P2; ... endproperty
       endclocking
     
       a1: assert property (foo.P1);
       a2: assert property (foo.P2);

   endinterface


Best regards,

John H.

> X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0
> Content-class: urn:content-classes:message
> Date: Mon, 6 Feb 2006 12:42:05 -0800
> Thread-Topic: [sv-ac] clocking blocks without identifiers
> Thread-Index: AcYrSw7llBc5cDInQFKs3Ni//KrxugAEdzyA
> From: "Arturo Salz" <Arturo.Salz@synopsys.com>
> X-OriginalArrivalTime: 06 Feb 2006 20:42:06.0833 (UTC) FILETIME=[CB3C7E10:01C62B5D]
> 
> This is a multi-part message in MIME format.
> 
> ------_=_NextPart_001_01C62B5D.CB49CF3E
> Content-Type: text/plain;
> 	charset="us-ascii"
> Content-Transfer-Encoding: quoted-printable
> 
> John,
> 
> =20
> 
> I seem to recall that the intent for unnamed clocking blocks was to
> provide concurrent=20
> 
> assertions with a clock without necessarily having to name the clocking,
> as in:
> 
> =20
> 
> interface ifc( ... )
> 
>     ...
> 
>                 clocking @(posedge clk);
> 
>                     property P1; ... endpropery
> 
>                     property P2; ... endproperty
> 
>                 endclocking
> 
>             endintreface
> 
> =20
> 
> In the example above, the clocking identifier is not needed.
> 
> =20
> 
>             Arturo
> 
> =20
> 
> -----Original Message-----
> From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of John
> Havlicek
> Sent: Monday, February 06, 2006 10:22 AM
> To: sv-ac@eda.org
> Subject: [sv-ac] clocking blocks without identifiers
> 
> =20
> 
> All:
> 
> =20
> 
> A clocking block can be declared without a clocking_identifier.
> 
> If there are items declared within such a block, how are they
> 
> referenced?
> 
> =20
> 
> I have skimmed Clause 15 and haven't found a definitive answer.
> 
> =20
> 
> Best regards,
> 
> =20
> 
> John H.
> 
> =20
> 
> 
> ------_=_NextPart_001_01C62B5D.CB49CF3E
> Content-Type: text/html;
> 	charset="us-ascii"
> Content-Transfer-Encoding: quoted-printable
> 
> <html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
> xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
> xmlns=3D"http://www.w3.org/TR/REC-html40">
> 
> <head>
> <META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
> charset=3Dus-ascii">
> <meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
> <style>
> <!--
>  /* Style Definitions */
>  p.MsoNormal, li.MsoNormal, div.MsoNormal
> 	{margin:0in;
> 	margin-bottom:.0001pt;
> 	font-size:12.0pt;
> 	font-family:"Times New Roman";}
> a:link, span.MsoHyperlink
> 	{color:blue;
> 	text-decoration:underline;}
> a:visited, span.MsoHyperlinkFollowed
> 	{color:purple;
> 	text-decoration:underline;}
> p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
> 	{margin:0in;
> 	margin-bottom:.0001pt;
> 	font-size:10.0pt;
> 	font-family:Arial;}
> @page Section1
> 	{size:8.5in 11.0in;
> 	margin:1.0in 116.0pt 1.0in 116.0pt;}
> div.Section1
> 	{page:Section1;}
> -->
> </style>
> 
> </head>
> 
> <body lang=3DEN-US link=3Dblue vlink=3Dpurple>
> 
> <div class=3DSection1>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>John,<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>I seem
> to recall that the intent for unnamed clocking blocks was to provide =
> concurrent
> <o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>assertions
> with a clock without necessarily having to name the clocking, as =
> in:<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
> face=3DArial><span
> style=3D'font-size:10.0pt'>interface ifc( ... =
> )<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
> face=3DArial><span
> style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp; =
> &#8230;<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
> p;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
> clocking @(posedge clk);<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
> p;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> property P1; &#8230; endpropery<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
> p;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> property P2; &#8230; endproperty<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
> p;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
> endclocking<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
> p;&nbsp;&nbsp;&nbsp; endintreface<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>In
> the example above, the clocking identifier is not =
> needed.<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
> p;&nbsp;&nbsp;&nbsp; Arturo<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>-----Original
> Message-----<br>
> From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of John
> Havlicek<br>
> Sent: Monday, February 06, 2006 10:22 AM<br>
> To: sv-ac@eda.org<br>
> Subject: [sv-ac] clocking blocks without identifiers</span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>All:<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>A
> clocking block can be declared without a =
> clocking_identifier.<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>If
> there are items declared within such a block, how are =
> they<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>referenced?<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>I
> have skimmed Clause 15 and haven't found a definitive =
> answer.<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>Best
> regards,<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'>John
> H.<o:p></o:p></span></font></p>
> 
> <p class=3DMsoPlainText><font size=3D2 face=3DArial><span =
> style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>
> 
> </div>
> 
> </body>
> 
> </html>
> 
> ------_=_NextPart_001_01C62B5D.CB49CF3E--
Received on Mon Feb 6 13:02:29 2006

This archive was generated by hypermail 2.1.8 : Mon Feb 06 2006 - 13:03:31 PST