[sv-ec] dist operator should be removed from precedense table

From: Neil Korpusik <neil.korpusik@oracle.com>
Date: Fri Nov 02 2012 - 18:10:07 PDT
Forwarding bounced email from danielm@aldec.com

-------- Original Message --------
Date: Thu, 25 Oct 2012 01:33:29 -0700
From: Daniel Mlynek <danielm@aldec.com>


I do not understand why dist operator is in precedence table. From
reading LRM I come to conlusion that this cannot be used with other
operators in expressions anyway.
For constraints LRM says that :

"*dist *expressions cannot appear in other expressions"

this is redunand imho as even from reading BNF you can see that it can
be us ed only with if..else, foreach, ->
You cannot write :
randomize() with {*b ||*  (a dist{0:=9, 1:=1};)};

Same for  assertions you cannot have
a1:assume property ( @(posedge clk) a dist {0:=40, 1:=60} *||b*) ;

Having dist in precedence table one may think that below code is illegal:
randomize() with {*b ||*  a dist{0:=9, 1:=1};};
while it is the same as:
randomize() with {*(b ||*  a) dist{0:=9, 1:=1};};

summarizing i think that:
- dist should be removed from precedence table
- statement "*dist *expressions cannot appear in other expressions""
should be removed

DANiel



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Nov 2 18:11:21 2012

This archive was generated by hypermail 2.1.8 : Fri Nov 02 2012 - 18:11:36 PDT