1 |
2 |
kavi |
------------------------------------------------------------------------------
|
2 |
|
|
-- Title : fixed_extensions (VHDL fixed-point arithmetic --
|
3 |
|
|
-- : extensions package). --
|
4 |
|
|
-- Author : Nikolaos Kavvadias --
|
5 |
|
|
-- Contact : nikolaos.kavvadias@gmail.com --
|
6 |
|
|
-- : http://www.nkavvadias.com --
|
7 |
|
|
-- Release Date : 25 July 2011 --
|
8 |
|
|
-- Version : 0.0.5 --
|
9 |
|
|
--------------------:---------------------------------------------------------
|
10 |
|
|
-- Revision history : --
|
11 |
|
|
-- v0.0.5 : 2011-07-25 --
|
12 |
|
|
-- : Initial release. --
|
13 |
|
|
------------------------------------------------------------------------------
|
14 |
|
|
|
15 |
|
|
|
16 |
|
|
1. INTRODUCTION
|
17 |
|
|
---------------
|
18 |
|
|
|
19 |
|
|
"fixed_extensions_pkg" is a fixed-point arithmetic package written in VHDL
|
20 |
|
|
according to the VHDL-2008 update of the standard. It uses VHDL-2008 back-
|
21 |
|
|
compatible libraries (by David Bishop) that are included in this distribution
|
22 |
|
|
for the sake of completeness.
|
23 |
|
|
|
24 |
|
|
Currently, the "fixed_extensions_pkg" package implements the following:
|
25 |
|
|
|
26 |
|
|
- ceil : round towards plus infinity.
|
27 |
|
|
- fix : round towards zero.
|
28 |
|
|
- floor : round towards minus infinity.
|
29 |
|
|
- round : round to nearest; ties to greatest absolute value.
|
30 |
|
|
- nearest : round to nearest; ties to plus infinity.
|
31 |
|
|
- convergent: round to nearest; ties to closest even.
|
32 |
|
|
- bitinsert : bit-field insertion to word
|
33 |
|
|
- bitextract: bit-field extraction from word
|
34 |
|
|
|
35 |
|
|
"fixed_extensions" is distributed along with a tool (gentestround) to generate
|
36 |
|
|
customized VHDL test designs.
|
37 |
|
|
|
38 |
|
|
|
39 |
|
|
2. FILE LISTING
|
40 |
|
|
---------------
|
41 |
|
|
|
42 |
|
|
The fixed_extensions distributions includes the following files:
|
43 |
|
|
|
44 |
|
|
/fixed_extensions-
|
45 |
|
|
/bench/vhdl
|
46 |
|
|
testrounding_tb.vhd Standard testbench file.
|
47 |
|
|
/doc
|
48 |
|
|
AUTHORS List of "fixed_extensions" authors.
|
49 |
|
|
BUGS Bug list.
|
50 |
|
|
ChangeLog A log for code changes.
|
51 |
|
|
COPYING.BSD The Modified BSD License.
|
52 |
|
|
README This file.
|
53 |
|
|
THANKS Acknowledgements.
|
54 |
|
|
TODO A list of future enhancements.
|
55 |
|
|
/gen/vhdl
|
56 |
|
|
testroundings.vhd Auto-generated test file for sfixed arithmetic.
|
57 |
|
|
testroundingu.vhd Auto-generated test file for ufixed arithmetic.
|
58 |
|
|
/rtl/vhdl
|
59 |
|
|
fixed_extensions_pkg_sim.vhd
|
60 |
|
|
The VHDL package for simulation-oriented use.
|
61 |
|
|
fixed_extensions_pkg_synth.vhd
|
62 |
|
|
The VHDL package for synthesis-oriented use.
|
63 |
|
|
/sim/rtl_sim/bin
|
64 |
|
|
run.sh A bash script for testing the package.
|
65 |
|
|
testroundings.do Modelsim macro script for testing sfixed arithmetic.
|
66 |
|
|
testroundings.sh Bash script for running an sfixed simulation.
|
67 |
|
|
testroundingu.do Modelsim macro script for testing ufixed arithmetic.
|
68 |
|
|
testroundingu.sh Bash script for running an ufixed simulation.
|
69 |
|
|
/sim/rtl_sim/src
|
70 |
|
|
fixed_float_types_custom.vhd
|
71 |
|
|
VHDL package with definitions for fixed-point arith.
|
72 |
|
|
fixed_pkg_c.vhd VHDL package implementing fixed-point arithmetic.
|
73 |
|
|
math_real.vhd VHDL package with some real arithmetic functions.
|
74 |
|
|
/sw
|
75 |
|
|
gentestround.c Test design generator written in ANSI C.
|
76 |
|
|
Makefile Makefile for compiling the test design generator.
|
77 |
|
|
|
78 |
|
|
|
79 |
|
|
3. FIXED_EXTENSIONS USAGE
|
80 |
|
|
-------------------------
|
81 |
|
|
|
82 |
|
|
The fixed_extensions package can be used as follows:
|
83 |
|
|
$./run.sh
|
84 |
|
|
|
85 |
|
|
|
86 |
|
|
4. PREREQUISITIES
|
87 |
|
|
-----------------
|
88 |
|
|
|
89 |
|
|
- Standard UNIX-based tools (tested on cygwin/x86)
|
90 |
|
|
make, bash
|
91 |
|
|
- [optional] Mentor Modelsim ("mti") (http://www.mentor.com)
|
92 |
|
|
Provides a simulation environment to run the tests.
|
93 |
|
|
|
94 |
|
|
|
95 |
|
|
5. CONTACT
|
96 |
|
|
----------
|
97 |
|
|
|
98 |
|
|
You may contact me for further questions/suggestions/corrections at:
|
99 |
|
|
|
100 |
|
|
Nikolaos Kavvadias
|
101 |
|
|
|
102 |
|
|
|
103 |
|
|
http://www.nkavvadias.com
|