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> </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> </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 >– 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> </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> </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> </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'> &n >bsp; = > for (i =3D 0; i <=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'> &n >bsp; = > 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'> &n >bsp; = > &nb >sp; &= >nbsp; fifo_ena0[i] =3D (fifo_wrptr_mux =3D=3D i) >& = >push_fifo_array;   >; &nb= >sp; // >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'> &n >bsp; = > &nb >sp; &= >nbsp; fifo_ena1[i] =3D (fifo_wrptr_mux =3D=3D i) >& store_fifo_array; // = >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'> temp0 =3D = > = >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'> temp1 =3D = > = >fifo_ena1[fifo_wrptr_mux]; & >nbsp; = >; &n >bsp; = > &nb >sp; &= >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'> &n >bsp; = > 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> </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> </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> </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> </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> </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> </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> </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> </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’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> </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> </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> </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