[sv-ac] comments on 3525

From: John Havlicek <johnh@cadence.com>
Date: Thu Jun 28 2012 - 07:50:51 PDT

Hi Folks:

I've looked quickly over Mantis 3525.

I think I understand the concern. When we created the current two-level syntax (property_expr and property_statement), we were trying to allow the user to write "if ... else" and "case" properties in a way that would look like procedural code. So, for example, we wanted to enable (and in some cases enforce) writing ";" to terminate a case item, and this would enable a property case to look like

   property foo;
      case (sel)
         a1: p1;
         a2: p2;
         default: p;
      endcase
   endproperty

From my understanding of 3525, this will now be illegal, both because of the missing ";" between "endcase" and "endproperty" and also because of the ";"s appearing after "p1", "p2", and "p". So in 3525 syntax, this would be rewritten as

   property foo;
      case (sel)
         a1: p1
         a2: p2
         default: p
      endcase;
   endproperty

My naïve conjecture is that everything legal in 3525 is already currently legal, but a lot of stuff that is currently legal becomes illegal in 3525. I realize that the cyclic syntax is very liberal and that a lot of the stuff that is legal now and that becomes illegal in 3525 is strange looking (like inserting ";" willy-nilly in property expressions, or gratuitously after "endcase", etc.). But there is also some not-so-strange looking stuff (like the first example above) that becomes illegal in 3525.

Can we find a better balance?

John Havlicek
johnh@cadence.com
Received on Thu, 28 Jun 2012 07:50:51 -0700

This archive was generated by hypermail 2.1.8 : Thu Jun 28 2012 - 07:51:00 PDT