RE: [vhdl-200x-ft] What do you think of adding the possibility to pass a range to a function or via a generic?

From: Stephen A. Bailey <stephen_at_.....>
Date: Wed Apr 06 2005 - 09:35:02 PDT
All,
 
I think the concept of range-typed objects is a good one to follow-up on.
We probably cannot do so in the context of fast-track.  But, we can for the
revision planned after FT.
 
The context where I considered the ability to pass ranges as parameters is
for parameterized assertions and for constraints (assuming we add some form
of constrained-random stimulus generation capabilities to VHDL).
 
-Steve Bailey


  _____  

From: owner-vhdl-200x-ft@eda.org [mailto:owner-vhdl-200x-ft@eda.org] On
Behalf Of Farrell Ostler
Sent: Wednesday, April 06, 2005 9:40 AM
To: vhdl-200x-ft@eda.org
Subject: RE: [vhdl-200x-ft] What do you think of adding the possibility to
pass a range to a function or via a generic?



This triggered a feeling of déjà vu for me. In several instances I’ve had
the feeling that having a range as a “passable” object would have nicely
facilitated something that I was working on. I don’t remember details, as
one tends to do things another way and move on but I do like the idea of
considering this.

 

Farrell Ostler

 

 


  _____  


From: owner-vhdl-200x-ft@eda.org [mailto:owner-vhdl-200x-ft@eda.org] On
Behalf Of Yannick Grugni
Sent: Wednesday, April 06, 2005 2:37 AM
To: vhdl-200x-ft@eda.org
Subject: [vhdl-200x-ft] What do you think of adding the possibility to pass
a range to a function or via a generic?

 


Hi, 

Actually it's not possible in vhdl: 
- to pass a Range as a parameter of a function 
- to return a Range as a result of a function 
- to connect a Range to a generic 

This is for me a big limitation of the actual standard. And I think, if it's
not to complicate, it's something that must be supported in the next
standard. 

Take for example the functions Ufixed_high, Ufixed_low of the fixed_pkg,
they could be replace by a unique function Ufixed_range. 
Such that the following lines : 
    variable uin1din2 : ufixed (UFixed_high(in1'high, in1'low, '/',
in2'high, in2'low) downto
                               UFixed_low(in1'high, in1'low, '/', in2'high,
in2'low)); 
becomes 
    variable uin1din2 : ufixed (UFixed_range(in1'range, '/',in2'range)); 

Kind Regards,
Yannick

----------------------------------------------------------------------------
-----------------------------
Yannick Grugni                              Design Competence Center Leuven
VLSI Engineer                                       Interleuvenlaan 74-82
Tel: +(32)16.390.742                            3001 Leuven
yannick.grugni@philips.com           Belgium
----------------------------------------------------------------------------
------------------------------

 
Received on Wed Apr 6 09:35:11 2005

This archive was generated by hypermail 2.1.8 : Wed Apr 06 2005 - 09:35:19 PDT