[Fwd: Re: [vhdl-200x-ft] numeric_bit package]

From: Karl Eisenhofer <karl_at_.....>
Date: Tue Mar 01 2005 - 10:19:15 PST
I failed to send this to the reflector...

Karl

attached mail follows:


I believe that these functions *are* implicitly defined.  From section 
7.2.3 of LRM:
"The shift operators sll, srl, sla, sra, rol, and ror are defined for 
any one-dimensional array type whose element type is either of the 
predefined types BIT or BOOLEAN"

I am not sure that I understand your third paragraph.  Which type 
unsigned are we trying to match the implementation of?  Could you elaborate?

Thanks

Karl

Jim Lewis wrote:

> David,
>
>> In numeric_bit (SIGNED and UNSIGNED types using BIT_VECTOR logic) we
>> have the following functions:
>>
>>   -- Id: S.9
>>   function "sll" (ARG : UNSIGNED; COUNT: INTEGER) return UNSIGNED;
>>   -- Id: S.10
>>   function "sll" (ARG : SIGNED; COUNT: INTEGER) return SIGNED;
>>   -- Id: S.11
>>   function "srl" (ARG : UNSIGNED; COUNT: INTEGER) return UNSIGNED;
>>   -- Id: S.12
>>   function "srl" (ARG : SIGNED; COUNT: INTEGER) return SIGNED;
>>   -- Id: S.13
>>   function "rol" (ARG : UNSIGNED; COUNT: INTEGER) return UNSIGNED;
>>   -- Id: S.14
>>   function "rol" (ARG : SIGNED; COUNT: INTEGER) return SIGNED;
>>   -- Id: S.15
>>   function "ror" (ARG : UNSIGNED; COUNT: INTEGER) return UNSIGNED;
>>   -- Id: S.16
>>   function "ror" (ARG : SIGNED; COUNT: INTEGER) return SIGNED;
>>
>> These functions are in the original 1076.3 specification.  According to
>> our conversation in the telecon last night, they are implicit.  Should
>> I comment them out?
>
> The types signed and unsigned (although based on bit in numeric_bit)
> are distinct types and require these functions to be implemented, 
> otherwise,
> they are not defined.
>
> The only ones that are implicit are the ones that are of the form:
>    function "sll" (ARG : bit_vector; COUNT: INTEGER) return bit_vector;
>
> Further, my memory of the meeting is that we want to overload these in
> numeric_bit_unsigned to make the implementation the same as for type
> unsigned.   Per FT1, it is ok to create an explicit overload that 
> replaces
> an implicit overload.
>
>
>> Also, we have
>>   -- Id: E.1
>>   function RISING_EDGE (signal S: BIT) return BOOLEAN;
>>   -- Id: E.2
>>   function FALLING_EDGE (signal S: BIT) return BOOLEAN;
>>
>> Since we have moved these functions into std.standard there will be
>> a conflict if these are visible.  I will comment them out.
>
>
> Agree.
>
>
> If anyone has a conflicting memory of the meeting please speak up.
>
> Cheers,
> Jim
Received on Tue Mar 1 10:19:17 2005

This archive was generated by hypermail 2.1.8 : Tue Mar 01 2005 - 10:19:21 PST