Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   VHDL (http://www.velocityreviews.com/forums/f18-vhdl.html)
-   -   predefined function/library (http://www.velocityreviews.com/forums/t21635-predefined-function-library.html)

Vincent 09-07-2003 06:02 PM

predefined function/library
 
Hello,

I tried to compile a vhdl file containing the function
addum(std_logic_vector,std_logic_vector)
Which library contain this function ?

thanks,

Vincent



Egbert Molenkamp 09-08-2003 07:47 AM

Re: predefined function/library
 
Vincent,

I know the function addum (ADD Unsigned Magnitued) from the Viewlogic
environment in the past.
If your design includes types like VLBIT, VLBIT_1D, indeed ViewLog BIT, you
probably need a package with the name pack1076.vhd to compile it in a VHDL
complaint environment.

With a google for "pack1976.vhd" I found this location
(http://www.inst.bnl.gov/~jack/htmls/behv/)
Be sure that NOT to use VHDL-1993 but use VHDL-1987. (This package is
already very old!).

This function addum used vlbit_1d (not std_logic_vector). It can be that
someone has used the same name but for type std_logic-vector.

Success,

Egbert Molenkamp

"Vincent" <vincent.bruyerenospam@nospam.enst-bretagne.fr> wrote in message
news:bjfrum$uur$1@news-reader3.wanadoo.fr...
> Hello,
>
> I tried to compile a vhdl file containing the function
> addum(std_logic_vector,std_logic_vector)
> Which library contain this function ?
>
> thanks,
>
> Vincent
>
>




Vincent 09-08-2003 05:04 PM

Re: predefined function/library
 
yes it is exactly what you mean !
it is used with types vlbit, vlbit_1d, ...
but it was said in the readme file it may be replaced by std_logic
so i replaced vlbit -> std_logic
vlbit_1d -> std_logic_vector
v1d2int( -> to_integer(unsigned(.
(the design is quite short, it is to design a PIC core)

but for the function, which one may i use to remplace addum, with the
std_logic library ?

Furthermore, i don't know if it was for the ViewLogic library but the
program use the following library :
-- library synth;
-- use synth.stdsynth.ALL;
i deleted it, is it useful ?

Thanks,

Vincent

"Egbert Molenkamp" <molenkam_remove_spam@cs.utwente.nl> a écrit dans le
message de news: bjhc6m$192$1@ares.cs.utwente.nl...
> Vincent,
>
> I know the function addum (ADD Unsigned Magnitued) from the Viewlogic
> environment in the past.
> If your design includes types like VLBIT, VLBIT_1D, indeed ViewLog BIT,

you
> probably need a package with the name pack1076.vhd to compile it in a

VHDL
> complaint environment.
>
> With a google for "pack1976.vhd" I found this location
> (http://www.inst.bnl.gov/~jack/htmls/behv/)
> Be sure that NOT to use VHDL-1993 but use VHDL-1987. (This package is
> already very old!).
>
> This function addum used vlbit_1d (not std_logic_vector). It can be that
> someone has used the same name but for type std_logic-vector.
>
> Success,
>
> Egbert Molenkamp
>
> "Vincent" <vincent.bruyerenospam@nospam.enst-bretagne.fr> wrote in message
> news:bjfrum$uur$1@news-reader3.wanadoo.fr...
> > Hello,
> >
> > I tried to compile a vhdl file containing the function
> > addum(std_logic_vector,std_logic_vector)
> > Which library contain this function ?
> >
> > thanks,
> >
> > Vincent
> >
> >

>
>




Egbert Molenkamp 09-08-2003 06:13 PM

Re: predefined function/library
 
"Vincent" <vincent.bruyerenospam@nospam.enst-bretagne.fr> schreef in bericht
news:bjicsp$aa2$1@news-reader4.wanadoo.fr...
> yes it is exactly what you mean !
> it is used with types vlbit, vlbit_1d, ...
> but it was said in the readme file it may be replaced by std_logic
> so i replaced vlbit -> std_logic
> vlbit_1d -> std_logic_vector
> v1d2int( -> to_integer(unsigned(.


At that time, ~1990, most CAE tools had their own logical type. The VHDL
standard had type BIT and the users also wanted tri-state etc.
VLBIT is a four value logic ('X','0','1','Z'). It maybe that you can do the
suggetsed transformation in the package pack1076.vhd but I guess a synthesis
nowadays does not recognize that ADDUM is addition and will produce to
much/slow logic?

> (the design is quite short, it is to design a PIC core)
>
> but for the function, which one may i use to remplace addum, with the
> std_logic library ?


Since it is short design would indeed consider change it in std_logic.
It is already clear that ADDUM performs an unsigned addition. So if the
vectors are added the shortes vector is zero-exented (the function ADD2C
performs a signed addition, in this the shortest vector in sign extended).
If you change your design I would suggest using the IEEE package NUMERIC_STD
(based on std_logic) (USE IEEE.NUMERIC_STD.ALL).
E.g.
variable a : unsigned (3 downto 0);
variable b,c : unsigned (5 downto 0);

c := a +b; performs the unsigned addition (due to the type 'unsigned').

Ok. the is the solution HOWEVER wait a moment .. If you add two vector you
may need an extra bit for the result! The function ADDUM generates a result
that is 1 bit longer then the longest vector (.e.g. in contrast to the "+"
form the package NUMERIC_STD (or STD_LOGIC_ARITH) ).
variable a : unsigned (3 downto 0);
variable b : unsigned (5 downto 0);
variable c : unsigned (6 downto 0);

c := ('0'&b) + a; -- behaviour of addum; extend the longest vector with
'0'.

However I remember that in most designs the extra bit was not needed. So
addum 'generated' it, and the user removed the extra bit. So maybe you can
simple perform an addition.

>
> Furthermore, i don't know if it was for the ViewLogic library but the
> program use the following library :
> -- library synth;
> -- use synth.stdsynth.ALL;
> i deleted it, is it useful ?
>


Yes .. at that time. When I remember ViewLogic's synthesis tool needed it.
But indeed you can delete it now.

Egbert Molenkamp





All times are GMT. The time now is 06:30 PM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57