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

From: Jim Lewis <jim_at_.....>
Date: Tue Mar 01 2005 - 10:46:23 PST
All,
For types signed and unsigned in numeric_bit, we want the same
implementation we agreed upon for types signed and unsigned in
numeric_std.

Given that they are implicitly defined, we can still overload
them in numeric_bit. Worst case is we use the rules of FT01, but
perhaps this one does not require the new rules
since the types signed and unsigned will be both
created and overloaded in the same package, numeric_bit.

Regards,
Jim



> Jim is wrong on this issue.
> The LRM states that:
> "The shift operators ...are defined for any one-dimensional array type 
> whose element type is either of the predefined types BIT or
> BOOLEAN"
> 
> Therefore, they ARE implicitly defined for SIGNED and UNSIGNED types 
> declared in
> numeric_bit. David is right when he says that they are implicit and 
> should be commented out.
> 
> Chuck Swart
> 
> 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
> 
> 
> 
> 
> 
> 


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jim Lewis
Director of Training             mailto:Jim@SynthWorks.com
SynthWorks Design Inc.           http://www.SynthWorks.com
1-503-590-4787

Expert VHDL Training for Hardware Design and Verification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Received on Tue Mar 1 10:46:26 2005

This archive was generated by hypermail 2.1.8 : Tue Mar 01 2005 - 10:46:30 PST