Re: EXTERNAL: Re: [vhdl-200x] RE: Modular types

From: <whygee@f-cpu.org>
Date: Sat Aug 09 2014 - 05:25:42 PDT
Le 2014-08-09 06:35, David Koontz a écrit :
> On 9 Aug 2014, at 1:42 am, Jim@synthworks.com wrote:
> 
>> Has anyone tested the performance of bit_vector?
> 
> I've looked through the source code of three VHDL and two Verilog
> implementations and found none of them had any bit packed vectors.
> They all treated them as purely arrays of objects other than for
> purposes of waveform dump files.  It's not surprising there is no
> better performance than std_logic_vector.
> 
> I did a literature search and could find no indication anyone has done
> so.  There's nothing prohibiting packing bits for arrays. There's just
> no evidence lying around anyone tried to do native rate arithmetic on
> them in the observable past.  If there had it would have had a
> disruptive influence that would likely have been noticed.

Thanks David. I was hoping I was wrong in thinking GHDL was one of the
few "not-performance oriented" simulators out there.
Can you say if the implementations you have examined are "big names"
or commercial ?

> I'd agree packed bit vectors are likely an evolutionary dead end. If
> you compare the effort to the incremental effort to implement Ada
> style modular integers modular integers would win.

That's my opinion as well. Nobody uses bit vectors anyway,
all the code I can see is std_(u)logic_vector.

> The point was not that bit vectors should be 'fixed', more that
> performance is not a goal to which to tool vendors have been aspiring
> and it's not a goal in the language definition either.

some big names claim "superior speed" but prevent you from
disclosing benchmark results.

One way to "fix" the overall situation is to add performance to
the goals of the modular type. We can't wish it, yet leave it out
of the spec, otherwise people in the future will say the same thing
as today : "oh, it's slow, but it's not our responsibility, VHDL
does not mention the word "speed" or "performance" in its definition."

> I'd also suggest you're unwise to count on native machine logical or
> shift operator performance on modular integers either.  While
> performance would be vastly superior to manipulating arrays of objects
> implementation would more likely avoid redesign where possible. It's
> mostly just another integer type.

I am not sure to understand, can you elaborate or give an example ?

YG

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Sat Aug 9 05:26:13 2014

This archive was generated by hypermail 2.1.8 : Sat Aug 09 2014 - 05:27:39 PDT