TWiki
>
Sandbox Web
>
FixedAndFloatingPointPackages
(2016-04-29,
DavidBishop
)
(raw view)
E
dit
A
ttach
---+ Title Fixed and Floating point packages -- %USERSIG{DavidBishop - 2016-04-29}% ---++ Comments %COMMENT% <p align="right"><font color="#cecece" face="Arial" size="6"> __VHDL-2008 Support Library__ </font></p> These packages were designed as a bridge between VHDL-93 and VHDL-2008. I replicated as many of the new functions as possible. Note that all of these packages are design to be *synthesizable* in VHDL-93. So, as long as you stick to the subsets defined in the "README" files for the various vendors you should be able to take your code through the entire flow. VHDL-2008 is finally getting some traction.   What started out as just a fixed and floating point package got merged into the VHDL LRM. On this page you will find definitions of the functions available in the VHDL-2008 libraries. You will also find VHDL-93 compatible code for those that do not yet have access to VHDL-2008 compilers. There is a [[Fixed_ug.pdf][Fixed Point user's guide]] and a [[Float_ug.pdf][Floating Point user's guide]]. Please check the [[fpfaq.html][Fixed and floating point FAQ]] (%RED%NEW!%ENDCOLOR%) if you have any quesiton. The VHDL-2008 packages will eventually be included in your vendor's environment. In some cases I have found that they may be encrypted due to [[http://ieee.org][IEEE]] rules. The packages available on this page are NOT the released packages, but VHDL-93 versions of those packages, which I published BEFORE the release of the LRM. They are free of copyright restrictions, and may be used for whatever purpose is needed. VHDL-93 versions of the VHDL-2008 packages * Additions to std.standard [[standard_additions_c.vhdl]] ( [[standard_additions.html][user's guide]]) * New package std.env [[env_c.vhdl]] * Additions to std.textio [[standard_textio_additions_c.vhdl]] ( [[std_textio_additions.html][user's guide]]) * Additions to ieee.std_logic_1164 [[std_logic_1164_additions.vhdl]] ( [[std_logic_1164_additions.html][user's guide]]) * Additions to ieee.numeric_std [[numeric_std_additions.vhdl]] ( [[numeric_std_additions.html][user's guide]]) * New package numeric_std_unsigned [[numeric_std_unsigned_c.vhdl]] ( [[numeric_std_unsigned.html][user's guide]]) * New package fixed_float_types [[fixed_float_types_c.vhdl]] * New package fixed_pkg [[fixed_pkg_c.vhdl]] ( [[Fixed_ug.pdf][Fixed Point user's guide]]) * New package float_pkg [[float_pkg_c.vhdl]] ( [[Float_ug.pdf][Floating Point user's guide]]) * [[vhdl2008c.zip][ZIP file of all the packages]] (updated 09/2010) I use this code in most of my designs. Many times I find that I have to modify the code slightly in some tools, so I made this list. Included in the "source code" section for each tool is source code specifically debugged for that particluar tool. Click on the "documentation" link to see what changes I had to make, and how to use this code in the specific tool. | *Vendor* | *Zip file* | *Notes* | | <a href="http://www.altera.com" target="_top">Altera</a> | <a href="altera.zip" target="_top">Source code</a> | <a href="altera.html" target="_top">Documentation</a> | | <a href="http://www.cadence.com" target="_top">Cadence ncvhdl</a> | <a href="cadence_ncvhdl.zip" target="_top">Source code</a> | <a href="cadence_ncvhdl.html" target="_top">Documentation</a> | | <a href="http://www.cadence.com" target="_top">Cadence RC (new)</a> | <a href="cadence_rc.zip" target="_top">Source code</a> | <a href="cadence_rc.html" target="_top">Documentation</a> | | <a href="http://www.model.com" target="_top">Modeltech</a> | <a href="modeltech.zip" target="_top">Source code</a> | <a href="modeltech.html" target="_top">Documentation</a> | | <a href="http://www.synopsys.com" target="_top">Synopsys</a> | <a href="synopsys.zip" target="_top">Source code</a> | <a href="synopsys.html" target="_top">Documentation</a> | | <a href="http://www.synplicity.com" target="_top">Synplicity</a> | <a href="synplicity.zip" target="_top">Source code</a> | <a href="synplicity.html" target="_top">Documentation</a> | | <a href="http://www.xilinx.com" target="_top">Xilinx 11.1</a> | <a href="xilinx_11.zip" target="_top">Source code</a> | <a href="xilinx_11.html" target="_top">Documentation</a> | | <a href="http://www.xilinx.com" target="_top">Xilinx 9.1</a> | <a href="xilinx.zip" target="_top">Source code</a> (old) | <a href="xilinx.html" target="_top">Documentation</a> | | <a href="http://www.synopsys.com" target="_top">VCS</a> | <a href="vcs.zip" target="_top">Source code</a> | <a href="vcs.html" target="_top">Documentation</a> | | <a href="http://www.mentor.com" target="_top">Spectrum 2009a</a> | <a href="leonardo.zip" target="_top">Source code</a> | <a href="leonardo.html" target="_top">Documentation</a> | | Do do:<a href="http://www.aldec.com" target="_top">Aldec</a> | <label> Some helpful code to go with these packages:</label> * [[fixed_noresize.vhdl]] Similar to "fixed_pkg", however this version uses the same rules that numeric_std does for the size of the result. This is done by calling the funciton in "fixed_pkg" and resizing the result. * [[float_noround_pkg.vhdl]] Similar to "float_pkg", however this version turns off all of the IEEE rounding and overflow, and defaults to a 26 bit floating point number. This package saves off 1/3 of the logic needed for full 32 bit floating point. * [[fixed_synth.vhdl]] Synthesis testcase for the fixed point package. [[test_fixed_synth.vhdl]] Testbench for the fixed point synthesis testcase. * [[float_synth.vhdl]] Synthesis testcase for the floating point package. [[test_float_synth.vhdl]] testbench for the floating point synthesis package * [[vhdl2008test.zip][Testbenches]] to verify an implimentation of VHDL-2008. * [[real_matrix_pkg.zip][Matrix Math package for type REAL]] which has a [[real_matrix_ug.pdf][user guide]] (Done in conjunction with [[http://www.eda-twiki.org/bin/view.cgi/P10761/][IEEE 1076.1 VHDL-AMS]]) Need some help with this code? Drop me an [[mailto:dbishopx@gmail.org][e-mail]], maybe I can help.<br /> _David W. Bishop [[mailto:dbishopx@gmail.org][dbishopx@gmail.org]]_.
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r1 - 2016-04-29 - 17:30:40 -
DavidBishop
Sandbox
Log In
or
Register
Sandbox Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
P1076
Ballots
LCS2016_080
P10761
P1647
P16661
P1685
P1734
P1735
P1778
P1800
P1801
Sandbox
TWiki
VIP
VerilogAMS
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback