The outsiding issue with the don't care is how do we specify the don't care state
and do we handle strength removal. That is making 'H' = '1' return TRUE. From
the July meeting in which we discussed this I needed to provide a list of
pro's and con's for having it done implicitly in the language vs. having
the use explicitly write the function. The attachment is my first cut at
these issues.
Regards,
John
-- -- mailto: johnr@model.com phone: (503)685-0864 -- http://www.model.com fax: (503)685-0921 --
What are the trade of using an explicitly defined "?=" operator in the case?
statement vs. using an implicitly defined operator.
For using explicitly define "?="
1) Maximum flexibility. Can handle strength remove like 'H' = '1'. Because
it is what ever the user codes up.
2) Simplicity in definition, doesn't require extra stuff in the type
declaration
or attributes.
3) Can be defined in a different scope or package.
Against using explicitly defined "?="
1) Meaning of case? can change depending on which packages are directly
visible. In some cases the case? may actually not compile because ?= could
be hidden.
2) Differs for the case statements behavior.
3) Computing mutual exclusiveness of choices must be deferred to elaboration
or runtime. Could be a performance impact and problems with delayed error
reporting.
4) User must code up function. There is no way to insure function behaves
correctly.
5) It wouldn't be possible to enforce no don't care in the selector. We
wouldn't know what it is.
6) To determine what matches requires either comments or understanding the
body of the "?=" function.
7) Need to define "?=" for arrays of a scalar type also. Just defining it
for the element type would do it.
For using an implicit definition of "?="
1) All checks can be done at compile time.
2) All case? for a type work the same. Unaffected by visibility and other
packages included.
3) Functionality is well defined and fixed.
4) Defining information on element type automatically defines the
information on the array of element type.
Against using implicit definition of "?=".
1) Definition of type requires definition of don't care value.
2) Strength removal either not possible or extensions to type definition
is required.
3) Can only do what we have already thing of.
Received on Mon Nov 15 16:35:48 2004
This archive was generated by hypermail 2.1.8 : Mon Nov 15 2004 - 16:35:49 PST