RE: CP-003


Subject: RE: CP-003
From: Peter Ashenden (peter@ashenden.com.au)
Date: Wed Feb 19 2003 - 19:38:09 PST


On Wed, 2003-02-19 at 21:00, Bert Molenkamp wrote:

> Although not relevant (at this time) would a user expect the
> proposed extension for math operators?
> Signal a : signed (3 downto 0);
> Signal b : unsigned( 3 downto 0);
>
> May be the user expects:
> a and '1' ==> a and "1111" sign extension since a is a signed
> b and '1' ==> b and "0001" since b is an unsigned
> (In 1076.3 for arithmetic operations a +'1' (and b + '1')
> is not supported)

I'm not sure how you should extend '0' or '1' to operate with signed or
unsigned operands. What does it mean to "and" two numbers together?
Certainly there is no interpretation in the algebra of integers. I can
only assume that a logical operator applied to a signed or unsigned
operand is a shorthand for a conversion to bit_vector or
std_ulogic_vector and operation upon the result. Thus, the semantics of
an array/scalar logic operation applied to a signed or unsigned operand
should be the same as applying the operation to the underlying
bit_vector or std_ulogic_vector representation.

In any case, I'd prefer to hand this argument over to the P1076.3
working group. Let's constrain ourselves to thinking about what makes
sense for std_lgic_1164.

Cheers,

PA

-- 
Dr. Peter J. Ashenden                        peter@ashenden.com.au
Ashenden Designs Pty. Ltd.                   www.ashenden.com.au
PO Box 640                                   Ph:  +61 8 8339 7532
Stirling, SA 5152                            Fax: +61 8 8339 2616
Australia                                    Mobile: +61 414 70 9106



This archive was generated by hypermail 2b28 : Wed Feb 19 2003 - 19:45:31 PST