Subject: Integer types in BNF
From: Kevin Cameron (Kevin.Cameron@nsc.com)
Date: Mon Apr 15 2002 - 11:34:34 PDT
Currently 'integer_type' in the BNF covers 2-value and 4-value (per bit)
types. In my opinion this is bad semantically as it mixes value, strength
and certainity unnecessarily.
I would like to propose that we split the definition, e.g.:
bit_type - represents logic 1 or 0 only
certainty_type - X | bit_type
driven_type - Z | certainty type
bit_vector - vector of 1/0
driven_vector - vector of 0/1/X/Z
driven_vector ::= logic|reg
bit_vector ::= bit|byte|char|shortint|int|integer|longint
integer_type ::= bit_vector | driven_vector
- this formally introduces the concept of "masked" and "unmasked" into
the BNF, so statements can be restricted to 2-value logic if necessary.
This is important for cross-language definitions e.g. C/Verilog - where
C doesn't understand "driven" types.
Kev.
This archive was generated by hypermail 2b28 : Mon Apr 15 2002 - 11:36:33 PDT