Re: Requesting datatypes feedback

From: Daryl Stewart (daryl.stewart@tenison.com)
Date: Wed Jun 30 2004 - 06:33:20 PDT

  • Next message: Shalom Bresticker: "Re: Requesting datatypes feedback"

    Alec, Shalom,

    a few further comments:

    Alec Stanculesu wrote:

    >IV) Kind integer denotes an object of kind reg that is of type
    >integer, and that may or may not (depending how you interpret the LRM)
    >have some additional restrictions as to how it can be used.
    >
    >Note that signed and unsigned are just types.
    >
    >
    >
    The Cadence datatype donation says:
    [58] A vector type is characterized by its width, by its ranges, by its
    signed or unsigned properties, and by its underlying logic representation.

    Even if this were not adopted as definitive, signed and unsigned alone
    does not define a full type: rather, a subtype.

    Also, integer is used as a type, not kind e.g.:
    [159] The following are examples of logic net declarations:
    wire integer wint; // 32-bit signed logic vector

    remembering also that, as Steven said:

    >integer i; // This V2K is shorthand for...
    >reg integer i; // this new declaration
    >
    >
    So I would say that integer denotes a type with width of 32 or more,
    range [width-1:0], representation of 4-state logic, constrained to
    (represent the subtype) signed.

    Shalom Bresticker wrote:

    >> In V2K wires are of implicit types "full-strength" or
    >> "4-state" depending on their usage.
    >
    >
    >
    >I don't know what you mean by 'full-strength'.
    >In V2K, all wires are 4-state and all wires have a strength component
    >in addition to their value component.
    >
    >Even if you disagree with the statement that wires are 4-state because
    >you think that 4-state means no strength component, it is still true
    >that in V2K, there is only one type of wire.
    >
    >
    >
    >
    Rather than strength and value being different components, I've always
    thought of 0,1,x and z as an abstraction of strength values, ie all
    wires have (only) a strength, which can be modelled as a 2d coordinate
    on a graph whose axes both span the 16 strength values; and the wire's
    value is a projection from that to {0,1,x,z}. But maybe that's just my
    take from having written a formal model of strength resolution in a
    theorem prover many years ago ;)

    I think Alec's point is that an implementation may chose a most
    convenient internal form, but as Shalom says, the standard does not
    define two implicit types. The datatype donation (S. 3.3.4) certainly
    suggests Shalom's interpretation (not mine!)

    cheers
    Daryl

    -- 
    Tenison Technology
    System Emulation in Software
    

    Tel: +44 1223 706479 Fax: +44 1223 470030 Email: Daryl.Stewart@tenison.com Web: www.tenison.com



    This archive was generated by hypermail 2.1.4 : Wed Jun 30 2004 - 06:31:56 PDT and
    sponsored by Boyd Technology, Inc.