[sv-bc] Question on support of a construct for Verilog - 2001

From: Maidment, Matthew R <matthew.r.maidment_at_.....>
Date: Wed Mar 08 2006 - 21:19:47 PST
Non-member submission.

>-----Original Message-----
>Subject: Question on support of a construct for Verilog - 2001
>Date: Wed, 8 Mar 2006 12:54:05 -0700
>Message-ID: 
><28CF4EE84FBF61419DFF495222DB13DB029E8169@XCO-EXCHVS1.xlnx.xilinx.com>
>X-MS-Has-Attach: yes
>X-MS-TNEF-Correlator: 
>Thread-Topic: Question on support of a construct for Verilog - 2001
>Thread-Index: AcZC6g4l7OLDJ4SCSoq9RU2Av4XaxQ==
>From: "Premduth Vidyanandan" <premduth.vidyanandan@xilinx.com>
>To: <sv-bc@server.eda.org>
>
>This is a multi-part message in MIME format.
>
>------_=_NextPart_001_01C642EA.0EFC9D4C
>Content-Type: multipart/alternative;
>	boundary="----_=_NextPart_002_01C642EA.0EFC9D4C"
>
>
>------_=_NextPart_002_01C642EA.0EFC9D4C
>Content-Type: text/plain;
>	charset="us-ascii"
>Content-Transfer-Encoding: quoted-printable
>
>Hi Everyone,
>
>=20
>
>I was wondering if I can run a query by everyone here.
>
>=20
>
>Here in Xilinx we have the following code - see attached.
>
>=20
>
>The interesting part in here is the following:
>
>=20
>
>=20
>
>// FIFO enables for each word
>
>always @*
>
>            for (i =3D 0; i <=3D FIFO_DEPTH-1; i =3D i +1)
>
>            begin
>
>                        fifo_ena0[i] =3D (fifo_wrptr_mux =3D=3D i) &
>push_fifo_array;                    // enable for array lock bit
>
>                        fifo_ena1[i] =3D (fifo_wrptr_mux =3D=3D i) &
>store_fifo_array;        // enable for array lock_next bit
>
>      temp0 =3D      fifo_ena0[fifo_wrptr_mux];
>
>      temp1 =3D      fifo_ena1[fifo_wrptr_mux];
>
>
>            end
>
>=20
>
>What has been done here is that the @* construct is used. This 
>will work
>perfectly under most circumstances, except here is the tricky part.
>
>=20
>
>One of the elements in the sensitivity list is an array. Which means it
>is the same as saying=20
>
>=20
>
>always @(fifo_ena0)
>
>=20
>
>Now if you change it to be that form, then it is illegal in the verilog
>LRM as you have to specify each of the subelements in the sensitivity
>list.
>
>=20
>
>We tried this code on a variety of EDA tools and it seems almost all
>tools allow you do this using the @* although when you change it to:
>
>=20
>
>always @(fifo_ena0)
>
>=20
>
>it does not work.
>
>=20
>
>That said, we have two questions
>
>
>
>*	Shouldn't these two be consistent?
>*	Should we be supporting this construct?
>
>=20
>
>Thanks a lot for the help
>
>Duth
>
>=20
>
>=20
>
>
>------_=_NextPart_002_01C642EA.0EFC9D4C
>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;}
>span.EmailStyle17
>	{mso-style-type:personal-compose;
>	font-family:Arial;
>	color:windowtext;}
>@page Section1
>	{size:8.5in 11.0in;
>	margin:1.0in 1.25in 1.0in 1.25in;}
>div.Section1
>	{page:Section1;}
> /* List Definitions */
> @list l0
>	{mso-list-id:1044673439;
>	mso-list-type:hybrid;
>	mso-list-template-ids:-997947620 67698689 67698713 
>67698715 67698703 =
>67698713 67698715 67698703 67698713 67698715;}
>@list l0:level1
>	{mso-level-number-format:bullet;
>	mso-level-text:\F0B7;
>	mso-level-tab-stop:.5in;
>	mso-level-number-position:left;
>	text-indent:-.25in;
>	font-family:Symbol;}
>@list l1
>	{mso-list-id:1779566443;
>	mso-list-type:hybrid;
>	mso-list-template-ids:-1622269074 67698703 67698713 
>67698715 67698703 =
>67698713 67698715 67698703 67698713 67698715;}
>@list l1:level1
>	{mso-level-tab-stop:.5in;
>	mso-level-number-position:left;
>	text-indent:-.25in;}
>ol
>	{margin-bottom:0in;}
>ul
>	{margin-bottom:0in;}
>-->
></style>
>
></head>
>
><body lang=3DEN-US link=3Dblue vlink=3Dpurple>
>
><div class=3DSection1>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>Hi Everyone,<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>I was wondering if I can run a query by everyone =
>here.<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>Here in Xilinx we have the following code 
>&#8211; see =
>attached.<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>The interesting part in here is the =
>following:<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>// FIFO enables for each =
>word<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>always @*<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
>bsp;&nbsp;=
>&nbsp;&nbsp; for (i =3D 0; i &lt;=3D FIFO_DEPTH-1; i =3D i =
>+1)<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
>bsp;&nbsp;=
>&nbsp;&nbsp; begin<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
>bsp;&nbsp;=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
>sp;&nbsp;&=
>nbsp;&nbsp; fifo_ena0[i] =3D (fifo_wrptr_mux =3D=3D i)
>&amp; =
>push_fifo_array;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
>;&nbsp;&nb=
>sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 
>enable for =
>array lock bit<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
>bsp;&nbsp;=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
>sp;&nbsp;&=
>nbsp;&nbsp; fifo_ena1[i] =3D (fifo_wrptr_mux =3D=3D i)
>&amp; store_fifo_array;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // =
>enable for array lock_next bit<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp0 =3D =
>&nbsp;&nbsp;&nbsp;&nbsp; =
>fifo_ena0[fifo_wrptr_mux];<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp1 =3D =
>&nbsp;&nbsp;&nbsp;&nbsp; =
>fifo_ena1[fifo_wrptr_mux];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&
>nbsp;&nbsp=
>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
>bsp;&nbsp;=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
>sp;&nbsp;&=
>nbsp;&nbsp;&nbsp; <o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
>bsp;&nbsp;=
>&nbsp;&nbsp; end<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>What has been done here is that the @* 
>construct is =
>used.
>This will work perfectly under most circumstances, except here is the =
>tricky
>part.<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>One of the elements in the sensitivity list is an =
>array.
>Which means it is the same as saying <o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>always @(fifo_ena0)<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>Now if you change it to be that form, then it is =
>illegal in
>the verilog LRM as you have to specify each of the subelements in the
>sensitivity list.<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>We tried this code on a variety of EDA 
>tools and it =
>seems
>almost all tools allow you do this using the @* although when 
>you change =
>it to:<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>always @(fifo_ena0)<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>it does not work.<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>That said, we have two questions<br>
><br>
><o:p></o:p></span></font></p>
>
><ul style=3D'margin-top:0in' type=3Ddisc>
> <li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><font 
>size=3D2 =
>face=3DArial><span
>     
>style=3D'font-size:10.0pt;font-family:Arial'>Shouldn&#8217;t these =
>two be
>     consistent?<o:p></o:p></span></font></li>
> <li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><font 
>size=3D2 =
>face=3DArial><span
>     style=3D'font-size:10.0pt;font-family:Arial'>Should we be =
>supporting this
>     construct?<o:p></o:p></span></font></li>
></ul>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>Thanks a lot for the =
>help<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'>Duth<o:p></o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
><p class=3DMsoNormal><font size=3D2 face=3DArial><span =
>style=3D'font-size:10.0pt;
>font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>
>
></div>
>
></body>
>
></html>
>
>------_=_NextPart_002_01C642EA.0EFC9D4C--
>
>------_=_NextPart_001_01C642EA.0EFC9D4C
>Content-Type: application/octet-stream;
>	name="test.v"
>Content-Transfer-Encoding: base64
>Content-Description: test.v
>Content-Disposition: attachment;
>	filename="test.v"
>
>LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio
>qKioqKioqKioq
>KioqKioqKioqKioqKioqKioqKioKICogCiAqIAogKiBYaWxpbnggQ29uZmlkZW5
>0aWFsCiAqIENv
>cHlyaWdodCAyMDA2IFhpbGlueCwgSW5jLkFsbCByaWdodHMgcmVzZXJ2ZWQKICo
>KICogRmlsZTps
>b2NrX2N0bC52CiAqIE93bmVyOiBKZWZmIEFwcGVsYmF1bQogKiAKICoKICoKICo
>KICogRGVzY3Jp
>cHRpb246CiAqIFBMQiBsb2NrIGNvbnRyb2wgZm9yIEZhYnJpYyBQTEIKICoKICo
>KICoKICoKICoq
>KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio
>qKioqKioqKioq
>KioqKioqKioqKioqKioqKioKICoKICoJIE1vZGlmaWNhdGlvbiBIaXN0b3J5Ogo
>gKgkgCiAqICAg
>ICAgIAogKiAgICAgIAogKiAgICAgICAKICoKICogICAgICAKICogICAgICAKICo
>KICogICAgIAog
>KiAgICAgIAogKgogKgkKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio
>qKioqKioqKioq
>KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKLy9gaW5jbHV
>kZSAicHBjX3Rp
>bWVzY2FsZS5pbmMiCiAKLy9tb2R1bGUgbG9ja19jdGwgKAptb2R1bGUgdGVzdCA
>oCi8vIG91dHB1
>dHMgCmJ1c2xvY2tfb3V0LAppbmplY3Rfbm9sb2NrLAovLyBpbnB1dHMKY2xrLAp
>yZXNldCwKY2xr
>X2VuLApwdXNoX3NsaW5jcSwKcG9wX3NsaW5jcSwKYnVzbG9ja19pbiwJCmxvY2t
>fZW4sCmNscl9m
>aWZvLApjbHJfZXJyCik7CgpwYXJhbWV0ZXIgRklGT19ERVBUSCA9IDg7CnBhcmF
>tZXRlciBGSUZP
>X0RFUFRIX0JJVCA9IDI7CgoKb3V0cHV0CQkJYnVzbG9ja19vdXQ7CQkJCS8vIGx
>vY2sgcmVxdWVz
>dCB0byBvdXRwdXQgcGxiCm91dHB1dAkJCWluamVjdF9ub2xvY2s7CQkJCS8vIHN
>0ZWFsIGEgY3lj
>bGUgdG8gaW5qZWN0IG5vIGxvY2sgYmVmb3JlIG5leHQgcmVxdWVzdCB0byBhcmJ
>pdGVyCgppbnB1
>dAkJCQljbGs7IAkJCQkJCQkvLyBnYXNrZXQgY2xvY2sKaW5wdXQJCQkJcmVzZXQ
>7CSAJCQkJLy8g
>Z2Fza2V0IHJlc2V0CQppbnB1dAkJCQljbGtfZW47CQkJCQkJLy8gc3luY2hyb25
>pemluZyBzaWdu
>YWwgZm9yIFBMQiBpbnB1dCBidXMgY2xvY2sKaW5wdXQJCQkJcHVzaF9zbGluY3E
>7CQkJCS8vIHB1
>c2ggaW5wdXQgY29tbWFuZCBxdWV1ZQppbnB1dAkJCQlwb3Bfc2xpbmNxOwkJCQk
>JLy8gcG9wIGlu
>cHV0IGNvbW1hbmQgcXVldWUKaW5wdXQJCQkJYnVzbG9ja19pbjsJCQkJCS8vIGl
>ucHV0IHBsYiBy
>ZXF1ZXN0cyBsb2NrCmlucHV0CQkJCWxvY2tfZW47CQkJCQkJLy8gdHJhbnNmZXI
>gb2YgbG9jayBy
>ZXF1ZXN0IHRvIGdhc2tldCBhcmJpdGVyIGlzIGVuYWJsZWQuCmlucHV0CQkJCWN
>scl9maWZvOwkJ
>CQkJLy8gY2xlYXIgZmlmbyBwb2ludGVycwppbnB1dAkJCQljbHJfZXJyOwkJCQk
>JCS8vIGNsZWFy
>IGZpZm8gZXJyb3JzCgpyZWcJCQkJCQkJZmlmbzBbMDpGSUZPX0RFUFRIIC0xXTs
>JCQkvLyBmaWZv
>IG1lbW9yeSBhcnJheQpyZWcJCQkJCQkJZmlmbzFbMDpGSUZPX0RFUFRIIC0xXTs
>JCQkvLyBmaWZv
>IG1lbW9yeSBhcnJheQpyZWdbMDpGSUZPX0RFUFRIX0JJVF0gCWZpZm9fcmRwdHI
>7CQkJCQkJCS8v
>IGZpZm8gcmVhZCBwb2ludGVyCnJlZ1swOkZJRk9fREVQVEhfQklUXSAJZmlmb19
>3cnB0cjsJCQkJ
>CQkJLy8gZmlmbyB3cml0ZSBwb2ludGVyCnJlZwkJCQkJCQlmaWZvX2VuYTBbMDp
>GSUZPX0RFUFRI
>IC0gMV07CS8vIGVuYWJsZXMgZm9yIGVhY2ggZW50cnkgb2YgdGhlIGZpZm8KcmV
>nCQkJCQkJCWZp
>Zm9fZW5hMVswOkZJRk9fREVQVEggLSAxXTsJLy8gZW5hYmxlcyBmb3IgZWFjaCB
>lbnRyeSBvZiB0
>aGUgZmlmbwpyZWdbMDpGSUZPX0RFUFRIX0JJVCsxXQlmaWZvX2NvdW50OwkJCQk
>JCQkvLyAjIG9m
>IGVudHJpZXMgdXNlZCBpbiBmaWZvCnJlZwkJCQkJCQlpbmplY3Rfbm9sb2NrX2R
>lbGF5OwkJCQkv
>LyBkZXRlY3QgdGhhdCBhdCBzYW1lIHRpbWUgYXMgbm8gbG9jayBpbmplY3RlZCw
>gcHVzaF9zbGlu
>Y3EgYXNzZXJ0ZWQuCnJlZwkJCQkJCQlidXNsb2NrX291dDsJCQkJCQkvLyBsb2N
>rIHJlcXVlc3Qg
>dG8gb3V0cHV0IHBsYgpyZWcJCQkJCQkJYnVzbG9ja19vdXRfbmV4dDsJCQkJCS8
>vIGxvY2sgcmVx
>dWVzdCBuZXh0IHRvIGJ1c2xvY2tfb3V0CnJlZwl0ZW1wMTsKcmVnCXRlbXAwOwo
>KCmludGVnZXIg
>aTsKaW50ZWdlciBqOwoKd2lyZQkJCQlwdXNoX2ZpZm9fYXJyYXk7CQkJLy8gcHV
>zaF9zbGluY3Eg
>YW5kIHF1ZXVlIG5vdCBlbXB0eQp3aXJlCQkJCXN0b3JlX2ZpZm9fYXJyYXk7CQk
>JLy8gc3RvcmUg
>CndpcmUJCQkJcG9wX2ZpZm9fYXJyYXk7CQkJLy8gcG9wIHRoZSBmaWZvIGFycmF
>5CndpcmUJCQkJ
>cHVzaF9zbGluY3Ffc3luYzsJCQkvLyBwdXNoX3NsaW5jcV9zeW5jIHN5bmNkIHR
>vIGNsa19lbgp3
>aXJlCQkJCXB1c2hfaGVhZG9mcTsJCQkJLy8gd3JpdGUgdG8gaGVhZCBvZiBxdWV
>1ZQp3aXJlCQkJ
>CXBvcF9oZWFkb2ZxOwkJCQkvLyBwb3AgdGhlIGhlYWQgb2YgcXVldWUKd2lyZQk
>JCQlpbmplY3Rf
>bm9sb2NrOwkJCQkvLyAgc3RlYWwgYSBjeWNsZSB0byBpbmplY3Qgbm8gbG9jayB
>iZWZvcmUgbmV4
>dCByZXF1ZXN0IHRvIGFyYml0ZXIKd2lyZVswOkZJRk9fREVQVEhfQklUXQlmaWZ
>vX3dycHRyX3Bs
>dXMxOyAvLyBmaWZvX3dycHRyICsgMQp3aXJlWzA6RklGT19ERVBUSF9CSVRdCWZ
>pZm9fd3JwdHJf
>bXV4OyAgLy8gbXV4IG9mIGZpZm9fd3JwdHIgYW5kIGZpZm9fd3JwdHJfcGx1czE
>Kd2lyZQkJCQlh
>cnJheV9sb2NrOwkJCQkJLy8gb3V0cHV0IG9mIGFycmF5IGZvciBsb2NrCndpcmU
>JCQkJYXJyYXlf
>bG9ja19uZXh0OwkJCS8vIG91dHB1dCBvZiBhcnJheSBmb3IgbG9jayBuZXh0Cnd
>pcmUJCQkJcWVt
>cHR5Owp3aXJlCQkJCXFlbXB0eXBsdXMxOwp3aXJlCQkJCXFlbXB0eXBsdXMyOwo
>KYXNzaWduIHB1
>c2hfc2xpbmNxX3N5bmMgPSBwdXNoX3NsaW5jcSAmIGNsa19lbjsKYXNzaWduIHB
>1c2hfZmlmb19h
>cnJheSA9IHB1c2hfc2xpbmNxX3N5bmMgJiAhcHVzaF9oZWFkb2ZxOwphc3NpZ24
>gc3RvcmVfZmlm
>b19hcnJheSAgPSBwdXNoX2ZpZm9fYXJyYXkgfCAoIWJ1c2xvY2tfaW4gJiAhcWV
>tcHR5ICYgIXFl
>bXB0eXBsdXMxKTsKYXNzaWduIHBvcF9maWZvX2FycmF5ID0gKHBvcF9zbGluY3E
>gJiAhcWVtcHR5
>cGx1czEgJiAhcWVtcHR5KTsKCi8qaW5pdGlhbApiZWdpbgpmb3JjZSB0ZXN0YmV
>uY2gudG9wLmZw
>Z2Ffc3lzLnBsYl9wcGNzMF9idXNsb2NrID0gMSdiMTsKIyA4MDUuMSBmb3JjZSB
>0ZXN0YmVuY2gu
>dG9wLmZwZ2Ffc3lzLnBsYl9wcGNzMF9idXNsb2NrID0gMSdiMDsKIyA3IGZvcmN
>lIHRlc3RiZW5j
>aC50b3AuZnBnYV9zeXMucGxiX3BwY3MwX2J1c2xvY2sgPSAxJ2IxOwojMTAwIGZ
>vcmNlIHRlc3Ri
>ZW5jaC50b3AuZnBnYV9zeXMucGxiX3BwY3MwX2J1c2xvY2sgPSAxJ2IwOwplbmQ
>gKi8KCi8vIEZJ
>Rk8gZW5hYmxlcyBmb3IgZWFjaCB3b3JkCmFsd2F5cyBAKgoJZm9yIChpID0gMDs
>gaSA8PSBGSUZP
>X0RFUFRILTE7IGkgPSBpICsxKQoJYmVnaW4KCQlmaWZvX2VuYTBbaV0gPSAoZml
>mb193cnB0cl9t
>dXggPT0gaSkgJiBwdXNoX2ZpZm9fYXJyYXk7CQkvLyBlbmFibGUgZm9yIGFycmF
>5IGxvY2sgYml0
>CgkJZmlmb19lbmExW2ldID0gKGZpZm9fd3JwdHJfbXV4ID09IGkpICYgc3RvcmV
>fZmlmb19hcnJh
>eTsJLy8gZW5hYmxlIGZvciBhcnJheSBsb2NrX25leHQgYml0CiAgICAgIHRlbXA
>wID0gCWZpZm9f
>ZW5hMFtmaWZvX3dycHRyX211eF07CiAgICAgIHRlbXAxID0gCWZpZm9fZW5hMVt
>maWZvX3dycHRy
>X211eF07CQkJCgllbmQKCi8vICBmaWZvIGRhdGFfb3V0IG11eAphc3NpZ24ge2F
>ycmF5X2xvY2ss
>IGFycmF5X2xvY2tfbmV4dH0gPSB7ZmlmbzBbZmlmb19yZHB0cl0sIGZpZm8xW2Z
>pZm9fcmRwdHJd
>fTsKCgovLyBGSUZPIHdyaXRlCQkJCQkJCQkJCQkJCQkJCmFsd2F5cyBAKHBvc2V
>kZ2UgY2xrKQoJ
>YmVnaW4KCQlmb3IgKGogPSAwOyBqIDw9IEZJRk9fREVQVEgtMTsgaiA9IGogKzE
>pCgkJICAgaWYg
>KHJlc2V0IHwgY2xyX2ZpZm8pCgkJCSAgZmlmbzBbal0gPD0gMDsJCQkKCQkJZWx
>zZSBpZiAoZmlm
>b19lbmEwW2pdKQoJCQkgIGZpZm8wW2ZpZm9fd3JwdHJfbXV4XSA8PSBidXNsb2N
>rX2luOwkvLyB3
>cml0ZSB0byBhcnJheSBsb2NrIGJpdAoJZW5kCQkgIAphbHdheXMgQChwb3NlZGd
>lIGNsaykKCWJl
>Z2luCgkJZm9yIChqID0gMDsgaiA8PSBGSUZPX0RFUFRILTE7IGogPSBqICsxKQo
>JCSAgIGlmIChy
>ZXNldCB8IGNscl9maWZvKQoJCQkgIGZpZm8xW2pdIDw9IDA7CQkJCgkJCWVsc2U
>gaWYgKGZpZm9f
>ZW5hMVtqXSkKCQkJICBmaWZvMVtmaWZvX3dycHRyX211eF0gPD0gYnVzbG9ja19
>pbjsJLy8gd3Jp
>dGUgdG8gYXJyYXkgbG9jayBuZXh0IGJpdAoJZW5kCQkgIAoKICAgCi8vIGZpZm8
>gd3JpdGUgcG9p
>bnRlcgkJIAphbHdheXMgQChwb3NlZGdlIGNsaykKCWlmIChyZXNldCB8IGNscl9
>maWZvIHwgcWVt
>cHR5cGx1czEgfCBxZW1wdHkpCgkJZmlmb193cnB0ciA8PSAnaDA7CgllbHNlIGl
>mIChwdXNoX2Zp
>Zm9fYXJyYXkpCgkJZmlmb193cnB0ciA8PSBmaWZvX3dycHRyX3BsdXMxOwoJCQp
>hc3NpZ24gZmlm
>b193cnB0cl9wbHVzMSA9IGZpZm9fd3JwdHIgKyAxJ2IxOwphc3NpZ24gZmlmb19
>3cnB0cl9tdXgg
>PSAocHVzaF9maWZvX2FycmF5ICYgIXFlbXB0eXBsdXMxKSA/ICBmaWZvX3dycHR
>yX3BsdXMxICA6
>ICBmaWZvX3dycHRyOwoKLy8gZmlmbyByZWFkIHBvaW50ZXIgIAphbHdheXMgQCh
>wb3NlZGdlIGNs
>aykKCWlmIChyZXNldCB8IGNscl9maWZvIHwgcWVtcHR5cGx1czEgfCBxZW1wdHk
>pCgkJZmlmb19y
>ZHB0ciA8PSAnaDA7CgllbHNlIGlmIChwb3BfZmlmb19hcnJheSkKCQlmaWZvX3J
>kcHRyIDw9IGZp
>Zm9fcmRwdHIgKyAxJ2IxOwoKLy8gZmlmb19jb3VudC4gICMgb2YgZW50cmllcyB
>vY2N1cGllZC4g
>ICAKYWx3YXlzIEAocG9zZWRnZSBjbGspCglpZiAocmVzZXQgfCBjbHJfZmlmbyk
>KCQlmaWZvX2Nv
>dW50IDw9ICdoMDsKCWVsc2UgaWYgKHB1c2hfc2xpbmNxX3N5bmMgJiAhcG9wX3N
>saW5jcSkKCQlm
>aWZvX2NvdW50IDw9IGZpZm9fY291bnQgKyAxJ2IxOwkKCWVsc2UgaWYgKCFwdXN
>oX3NsaW5jcV9z
>eW5jICYgcG9wX3NsaW5jcSkKCQlmaWZvX2NvdW50IDw9IGZpZm9fY291bnQgLSA
>xJ2IxOwoJCQph
>c3NpZ24gcWVtcHR5ID0gCShmaWZvX2NvdW50ID09ICdkMCk7CmFzc2lnbiBxZW1
>wdHlwbHVzMSA9
>IChmaWZvX2NvdW50ID09ICdkMSk7CQphc3NpZ24gcWVtcHR5cGx1czIgPSAoZml
>mb19jb3VudCA9
>PSAnZDIpOwkKCi8vYXNzaWduIHB1c2hfaGVhZG9mcSA9IHB1c2hfc2xpbmNxX3N
>5bmMgJiBxZW1w
>dHk7CmFzc2lnbiBwb3BfaGVhZG9mcSA9IHBvcF9zbGluY3EgJiBxZW1wdHlwbHV
>zMTsKLy9hc3Np
>Z24gaW5qZWN0X25vbG9jayA9IGJ1c2xvY2tfb3V0ICYgIWJ1c2xvY2tfb3V0X25
>leHQgJiBwb3Bf
>aGVhZG9mcTsgIC8vIHN0ZWFsIGEgY3ljbGUgdG8gaW5qZWN0IG5vIGxvY2sgYmV
>mb3JlIG5leHQg
>cmVxdWVzdCB0byBhcmJpdGVyCmFzc2lnbiBpbmplY3Rfbm9sb2NrID0gYnVzbG9
>ja19vdXQgJiAh
>YnVzbG9ja19vdXRfbmV4dCAmIHBvcF9zbGluY3E7ICAvLyBzdGVhbCBhIGN5Y2x
>lIHRvIGluamVj
>dCBubyBsb2NrIGJlZm9yZSBuZXh0IHJlcXVlc3QgdG8gYXJiaXRlcgphc3NpZ24
>gcHVzaF9oZWFk
>b2ZxID0gcWVtcHR5IHwgKHB1c2hfc2xpbmNxX3N5bmMgJiBwb3BfaGVhZG9mcSA
>mICFpbmplY3Rf
>bm9sb2NrKTsgLy8gd3JpdGUgaWYgZW1wdHkgb3IgKGVtcHR5cGx1czEgd2l0aCB
>ib3RoIHB1c2gg
>YW5kIHBvcCwgYnV0IG5vdCBpbmplY3Rfbm9sb2NrKQphbHdheXMgQChwb3NlZGd
>lIGNsaykKCWlm
>IChyZXNldCB8ICFsb2NrX2VuKQoJCSBidXNsb2NrX291dCA8PSAxJ2IwOwoJZWx
>zZSBpZiAocHVz
>aF9oZWFkb2ZxKSAvLyB3cml0ZSBpZiBlbXB0eSBvciAoZW1wdHlwbHVzMSB3aXR
>oIGJvdGggcHVz
>aCBhbmQgcG9wLCBidXQgbm90IGluamVjdF9ub2xvY2spCgkJIGJ1c2xvY2tfb3V
>0IDw9IGJ1c2xv
>Y2tfaW47CgllbHNlIGlmIChwb3BfaGVhZG9mcSB8IGluamVjdF9ub2xvY2spIAo
>JCSBidXNsb2Nr
>X291dCA8PSBidXNsb2NrX291dF9uZXh0OwkJICAgICAgICAgICAgICAKCWVsc2U
>gaWYgKHBvcF9m
>aWZvX2FycmF5IHwgaW5qZWN0X25vbG9ja19kZWxheSkKCQkgYnVzbG9ja19vdXQ
>gPD0gYXJyYXlf
>bG9jazsJCSAgICAgICAgICAgICAgCQovLyBidXNsb2NrX291dF9uZXh0IGlzIHN
>0YXRlIG9mIGJ1
>c2xvY2sgb24gZmFicmljIHBsYiBmcm9tIGNvbW1hbmQgYWNrIGZyb20gZmNiIHV
>udGlsIChidXQg
>bm90IGluY2x1ZGluZykgdGhlIG5leHQgYWNrLiAgSWYgdGhlIGJ1c2xvY2sgc3R
>hdGUgaXMgZXZl
>ciAwLCB0aGlzIHN0YXRlIGlzIHJldGFpbmVkLiAgU3Vic2VxdWVudCAxJ3MgaGF
>2ZSBubyBhZmZl
>Y3QuICBTbyBpZiB0aGVyZSBldmVyIHdhcyBhIDAsIGFmdGVyIHRoZSBhY2ssIHR
>oZSBsb2NrIHJl
>cXVlc3QgdG8gdGhlIGFyYml0ZXIgd2lsbCBiZSByZW1vdmVkIGFmdGVyIHRoZSB
>hcmJpdGVyIGlz
>c3VlcyB0aGUgYWRyX2FjayB0byB0aGUgZmNiLgkKYWx3YXlzIEAocG9zZWRnZSB
>jbGspCglpZiAo
>cmVzZXQgfCAhbG9ja19lbikKCQkgYnVzbG9ja19vdXRfbmV4dCA8PSAxJ2IwOwo
>JZWxzZSBpZiAo
>KCFidXNsb2NrX2luICYgcWVtcHR5cGx1czEpIHwgcWVtcHR5IHwgcG9wX2hlYWR
>vZnEpIC8vIGlm
>IGJ1c2xvY2tfaW4gaXMgMCwga2VlcCBuZXh0ID0gMC4KCQkgYnVzbG9ja19vdXR
>fbmV4dCA8PSBi
>dXNsb2NrX2luOwoJZWxzZSBpZiAocG9wX2ZpZm9fYXJyYXkpIAoJCWlmICghYnV
>zbG9ja19pbiAg
>JiBxZW1wdHlwbHVzMikgIC8vIGxvY2tfaW4gY2hhbmdlcyB0byAwIGF0IHNhbWU
>gdGltZSBhcyBw
>b3AgbXVzdCBjYXB0dXJlLiAgbG9ja19pbiBjb3VsZCBnbyB0byAxIGF0IG5leHQ
>gY2xvY2sKCQkJ
>YnVzbG9ja19vdXRfbmV4dCA8PSAxJ2IwOwkKCQllbHNlCQoJCQlidXNsb2NrX29
>1dF9uZXh0IDw9
>IGFycmF5X2xvY2tfbmV4dDsJCgphbHdheXMgQChwb3NlZGdlIGNsaykKCWlmICh
>yZXNldCB8IGNs
>cl9maWZvKQoJCWluamVjdF9ub2xvY2tfZGVsYXkgPD0gMSdiMDsKCWVsc2UKIAk
>JaW5qZWN0X25v
>bG9ja19kZWxheSA8PSBpbmplY3Rfbm9sb2NrOwkgICAgICAgICAgICAgIAoJCSA
>KZW5kbW9kdWxl
>CgoJCQoJCQo=
>
>------_=_NextPart_001_01C642EA.0EFC9D4C--
>
Received on Wed Mar 8 21:27:40 2006

This archive was generated by hypermail 2.1.8 : Wed Mar 08 2006 - 21:28:46 PST