forked from FPHDL/fphdl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
synopsys.html
51 lines (47 loc) · 2.49 KB
/
synopsys.html
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
<html><head><title>Synopsys packages</title>
<!-- Changed by: , 28-Aug-2009 -->
</head>
<p>
Tested with Synopsys 2006.06 sp4, you may be able to use earlier versions,
but if you do make sure that you are using the "Presto" compiler.
</p><p>
To load, The easiest way is to add the following lines into your compile script
(You need only load the packages you need):
<pre>
define_design_lib ieee_proposed -path ./ieee_proposed
analyze -w ieee_proposed -f vhdl standard_additions_c.vhdl
analyze -w ieee_proposed -f vhdl std_logic_1164_additions.vhdl
analyze -w ieee_proposed -f vhdl numeric_std_additions.vhdl
analyze -w ieee_proposed -f vhdl numeric_std_unsigned_c.vhdl
analyze -w ieee_proposed -f vhdl math_utility_pkg.vhdl
analyze -w ieee_proposed -f vhdl fixed_pkg_c.vhdl
analyze -w ieee_proposed -f vhdl float_pkg_c.vhdl
# analyze -w work -f vhdl float_synth.vhdl
</pre>
</p><p>
Included in this <a href="synopsys.zip">ZIP file</a> are the following packages (only include the ones you need):
<ul>library ieee_proposed;
<li>use ieee_proposed.standard_additions.all; -- Additions to packages standard.std
<li>use ieee_proposed.std_logic_1164_additions.all; -- Additions to std_logic_1164
<li>use ieee_proposed.numeric_std_additions.all; -- Additions to numeric_std
<li>use ieee_proposed.numeric_std_unsigned.all; -- Package to do unsigned math with std_logic_vectors, similar to the (sic) ieee.std_logic_unsigned package.
<li>use ieee_proposed.math_utiliti_pkg.all; -- Types for the fixed and float packages
<li>use ieee_proposed.fixed_pkg.all; -- Fixed point package
<li>use ieee_proposed.float_pkg.all; -- Floating point package
</ul>
The "README" file in the ZIP file will give you a list of the new functions.
</p>
<p>
See the README for an explination of the new functions in these packages.
You will also want to look at the
<a href="http://www.vhdl.org/fphdl/Fixed_ug.pdf">Fixed point docuementation</a> and the
<a href="http://www.eda.org/fphdl/Float_ug.pdf">Floating point docuementation</a>.
</p>
Notes:
<ul>
<li>Synopsys doesn't accept the 1076.6 "-- rtl_synthesis off" metacomment. I placed "-- pragma synthesis_off" metacomments around these.  
<li>When Synopsys sees fixed_pkg'instance_name it dies on elaboration.
Replaced with "fixed_pkg" (and "float_pkg") where necessary.
<li>Same problem with "integer'image" and "real'image" - commented out.
<li>I had to replace the "match_logic_table" and "no_match_logic_table" with a logical equivilent. This was done in "std_logic_1164_additions" and in "fixed_pkg_c".
</html>