- fixed renamed package inclusion

- fixed problems after fixed_pkg update: explicit set round and saturation mode in Cordic and CIC

git-svn-id: http://moon:8086/svn/vhdl/trunk@1325 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
2015-10-24 16:14:54 +00:00
parent b291a9f5a5
commit 47e7daee7d
62 changed files with 159 additions and 159 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -5,7 +5,7 @@ use IEEE.MATH_REAL.ALL;
use ieee.numeric_std.all;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -4,7 +4,7 @@ use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -5,7 +5,7 @@ use IEEE.MATH_REAL.ALL;
use ieee.numeric_std.all;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -4,7 +4,7 @@ use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
package fir_stage_pkg is
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -5,7 +5,7 @@ use IEEE.NUMERIC_STD.ALL;
use IEEE.MATH_REAL.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
package fixed_util_pkg is
+4 -4
View File
@@ -22,7 +22,7 @@ use IEEE.STD_LOGIC_1164.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -88,9 +88,9 @@ cordic_proc_pre_stage:
vld_out <= '1';
xi := resize(xin, xi);
yi := resize(yin, yi);
zi := resize(zin, zi);
xi := resize(xin, xi, fixed_wrap, fixed_truncate);
yi := resize(yin, yi, fixed_wrap, fixed_truncate);
zi := resize(zin, zi, fixed_wrap, fixed_truncate);
xo := resize(xi * gain_x, xo, cordic_saturate_mode, cordic_round_mode);
yo := resize(yi * gain_y, yo, cordic_saturate_mode, cordic_round_mode);
+9 -9
View File
@@ -22,7 +22,7 @@ use IEEE.STD_LOGIC_1164.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -63,8 +63,8 @@ end cordic_pipe_pre;
architecture Behavioral of cordic_pipe_pre is
constant pi_sfix : sfixed := to_sfixed(z_range, sproto(nbits_z, nbits_z_frac), fixed_wrap, fixed_round);
constant pi2_sfix : sfixed := to_sfixed(z_range/2.0, sproto(nbits_z, nbits_z_frac), fixed_wrap, fixed_round);
constant pi_sfix : sfixed(shi(nbits_z, nbits_z_frac) downto slo(nbits_z, nbits_z_frac)) := to_sfixed(z_range, sproto(nbits_z, nbits_z_frac), fixed_wrap, fixed_truncate);
constant pi2_sfix : sfixed(shi(nbits_z, nbits_z_frac) downto slo(nbits_z, nbits_z_frac)) := to_sfixed(z_range/2.0, sproto(nbits_z, nbits_z_frac), fixed_wrap, fixed_truncate);
------------------------------------------------------------
begin
@@ -97,13 +97,13 @@ cordic_proc_pre_stage:
zo := zi;
if (zi < -pi2_sfix) then
xo := resize(-xi, xo);
yo := resize(-yi, yo);
zo := resize(zi + pi_sfix, zo);
xo := resize(-xi, xo, fixed_wrap, fixed_truncate);
yo := resize(-yi, yo, fixed_wrap, fixed_truncate);
zo := resize(zi + pi_sfix, zo, fixed_wrap, fixed_truncate);
elsif (zi > pi2_sfix) then
xo := resize(-xi, xo);
yo := resize(-yi, yo);
zo := resize(zi - pi_sfix, zo);
xo := resize(-xi, xo, fixed_wrap, fixed_truncate);
yo := resize(-yi, yo, fixed_wrap, fixed_truncate);
zo := resize(zi - pi_sfix, zo, fixed_wrap, fixed_truncate);
end if;
xout <= xo after tpd;
+7 -7
View File
@@ -22,7 +22,7 @@ use IEEE.STD_LOGIC_1164.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -95,13 +95,13 @@ cordic_proc_stage:
yt := yi sra stage_num;
if zi(zi'high) = '1' then
xo := resize(xi + yt, xo);
yo := resize(yi - xt, yo);
zo := resize(zi + coeff, zo);
xo := resize(xi + yt, xo, fixed_wrap, fixed_truncate);
yo := resize(yi - xt, yo, fixed_wrap, fixed_truncate);
zo := resize(zi + coeff, zo, fixed_wrap, fixed_truncate);
else
xo := resize(xi - yt, xo);
yo := resize(yi + xt, yo);
zo := resize(zi - coeff, zo);
xo := resize(xi - yt, xo, fixed_wrap, fixed_truncate);
yo := resize(yi + xt, yo, fixed_wrap, fixed_truncate);
zo := resize(zi - coeff, zo, fixed_wrap, fixed_truncate);
end if;
xout <= xo after tpd;
+7 -7
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -194,13 +194,13 @@ signal post_vld : std_logic;
begin
pre_xin <= resize(xin, pre_xin);
pre_yin <= resize(yin, pre_yin);
pre_zin <= resize(zin, pre_zin);
pre_xin <= resize(xin, pre_xin, fixed_wrap, fixed_truncate);
pre_yin <= resize(yin, pre_yin, fixed_wrap, fixed_truncate);
pre_zin <= resize(zin, pre_zin, fixed_wrap, fixed_truncate);
stage_x(0) <= resize(pre_xout, stage_x(0));
stage_y(0) <= resize(pre_yout, stage_y(0));
stage_z(0) <= resize(pre_zout, stage_z(0));
stage_x(0) <= resize(pre_xout, stage_x(0), fixed_wrap, fixed_truncate);
stage_y(0) <= resize(pre_yout, stage_y(0), fixed_wrap, fixed_truncate);
stage_z(0) <= resize(pre_zout, stage_z(0), fixed_wrap, fixed_truncate);
post_xin <= resize(stage_x(nstages), post_xin, cordic_saturate_mode, cordic_round_mode);
post_yin <= resize(stage_y(nstages), post_yin, cordic_saturate_mode, cordic_round_mode);
+1 -1
View File
@@ -4,7 +4,7 @@ use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -22,7 +22,7 @@ USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+19 -19
View File
@@ -22,7 +22,7 @@ use IEEE.STD_LOGIC_1164.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -100,9 +100,9 @@ gen_direct: if reg_mode = none generate
else
ready_r <= '1';
valid_r <= ce;
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end process;
@@ -140,9 +140,9 @@ gen_reg_in: if (reg_mode = reg_mode_in) generate
ready_r <= '1';
valid_r <= ce;
if (ce = '1') then
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end if;
end process;
@@ -180,9 +180,9 @@ gen_reg_out: if (reg_mode = reg_mode_out) generate
else
ready_r <= '1';
valid_r <= ce;
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end process;
@@ -222,9 +222,9 @@ gen_reg_inout: if (reg_mode = reg_mode_inout) generate
ready_r <= '1';
valid_r <= ce;
if (ce = '1') then
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end if;
end process;
@@ -276,13 +276,13 @@ begin
y2 := xyz_in.y sra stage_count_r;
if (dir_cw_r = '1') then
xyz_out.x <= resize(xyz_in.x + y2, xyz_out.x'left, xyz_out.x'right) after tpd;
xyz_out.y <= resize(xyz_in.y - x2, xyz_out.y'left, xyz_out.y'right) after tpd;
xyz_out.z <= resize(xyz_in.z + coeff, xyz_out.z'left, xyz_out.z'right) after tpd;
xyz_out.x <= resize(xyz_in.x + y2, xyz_out.x'left, xyz_out.x'right, fixed_wrap, fixed_truncate) after tpd;
xyz_out.y <= resize(xyz_in.y - x2, xyz_out.y'left, xyz_out.y'right, fixed_wrap, fixed_truncate) after tpd;
xyz_out.z <= resize(xyz_in.z + coeff, xyz_out.z'left, xyz_out.z'right, fixed_wrap, fixed_truncate) after tpd;
else
xyz_out.x <= resize(xyz_in.x - y2, xyz_out.x'left, xyz_out.x'right) after tpd;
xyz_out.y <= resize(xyz_in.y + x2, xyz_out.y'left, xyz_out.y'right) after tpd;
xyz_out.z <= resize(xyz_in.z - coeff, xyz_out.z'left, xyz_out.z'right) after tpd;
xyz_out.x <= resize(xyz_in.x - y2, xyz_out.x'left, xyz_out.x'right, fixed_wrap, fixed_truncate) after tpd;
xyz_out.y <= resize(xyz_in.y + x2, xyz_out.y'left, xyz_out.y'right, fixed_wrap, fixed_truncate) after tpd;
xyz_out.z <= resize(xyz_in.z - coeff, xyz_out.z'left, xyz_out.z'right, fixed_wrap, fixed_truncate) after tpd;
end if;
end if;
end process;
+16 -16
View File
@@ -22,7 +22,7 @@ use IEEE.STD_LOGIC_1164.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -98,9 +98,9 @@ gen_direct: if reg_mode = none generate
else
ready_r <= '1';
valid_r <= ce;
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end process;
@@ -138,9 +138,9 @@ gen_reg_in: if (reg_mode = reg_mode_in) generate
ready_r <= '1';
valid_r <= ce;
if (ce = '1') then
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end if;
end process;
@@ -178,9 +178,9 @@ gen_reg_out: if (reg_mode = reg_mode_out) generate
else
ready_r <= '1';
valid_r <= ce;
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end process;
@@ -220,9 +220,9 @@ gen_reg_inout: if (reg_mode = reg_mode_inout) generate
ready_r <= '1';
valid_r <= ce;
if (ce = '1') then
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end if;
end process;
@@ -252,9 +252,9 @@ gen_reg_inout: if (reg_mode = reg_mode_inout) generate
cordic_post_stage: process(xyz_in, cordic_mode)
begin
xyz_out.x <= resize(xyz_in.x, xyz_out.x'left, xyz_out.x'right);
xyz_out.y <= resize(xyz_in.y, xyz_out.y'left, xyz_out.y'right);
xyz_out.z <= resize(xyz_in.z, xyz_out.z'left, xyz_out.z'right);
xyz_out.x <= resize(xyz_in.x, xyz_out.x'left, xyz_out.x'right, fixed_wrap, fixed_truncate);
xyz_out.y <= resize(xyz_in.y, xyz_out.y'left, xyz_out.y'right, fixed_wrap, fixed_truncate);
xyz_out.z <= resize(xyz_in.z, xyz_out.z'left, xyz_out.z'right, fixed_wrap, fixed_truncate);
case cordic_mode is
+31 -31
View File
@@ -22,7 +22,7 @@ use IEEE.STD_LOGIC_1164.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -101,9 +101,9 @@ gen_direct: if reg_mode = none generate
else
ready_r <= '1';
valid_r <= ce;
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end process;
@@ -141,9 +141,9 @@ gen_reg_in: if (reg_mode = reg_mode_in) generate
ready_r <= '1';
valid_r <= ce;
if (ce = '1') then
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end if;
end process;
@@ -181,9 +181,9 @@ gen_reg_out: if (reg_mode = reg_mode_out) generate
else
ready_r <= '1';
valid_r <= ce;
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end process;
@@ -223,9 +223,9 @@ gen_reg_inout: if (reg_mode = reg_mode_inout) generate
ready_r <= '1';
valid_r <= ce;
if (ce = '1') then
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right);
xyz_in.x <= resize(xin, xyz_in.x'left, xyz_in.x'right, fixed_wrap, fixed_truncate);
xyz_in.y <= resize(yin, xyz_in.y'left, xyz_in.y'right, fixed_wrap, fixed_truncate);
xyz_in.z <= resize(zin, xyz_in.z'left, xyz_in.z'right, fixed_wrap, fixed_truncate);
end if;
end if;
end process;
@@ -255,40 +255,40 @@ gen_reg_inout: if (reg_mode = reg_mode_inout) generate
cordic_proc_pre_stage: process(xyz_in, cordic_mode)
begin
xyz_out.x <= resize(xyz_in.x, xyz_out.x'left, xyz_out.x'right);
xyz_out.y <= resize(xyz_in.y, xyz_out.y'left, xyz_out.y'right);
xyz_out.z <= resize(xyz_in.z, xyz_out.z'left, xyz_out.z'right);
xyz_out.x <= resize(xyz_in.x, xyz_out.x'left, xyz_out.x'right, fixed_wrap, fixed_truncate);
xyz_out.y <= resize(xyz_in.y, xyz_out.y'left, xyz_out.y'right, fixed_wrap, fixed_truncate);
xyz_out.z <= resize(xyz_in.z, xyz_out.z'left, xyz_out.z'right, fixed_wrap, fixed_truncate);
case cordic_mode is
when cordic_mode_rotate =>
if (xyz_in.z < -pi2_in_sfix) then
xyz_out.x <= resize(-xyz_in.x, xyz_out.x'left, xyz_out.x'right);
xyz_out.y <= resize(-xyz_in.y, xyz_out.y'left, xyz_out.y'right);
xyz_out.z <= resize(xyz_in.z + pi_out_sfix, xyz_out.z'left, xyz_out.z'right);
xyz_out.x <= resize(-xyz_in.x, xyz_out.x'left, xyz_out.x'right, fixed_wrap, fixed_truncate);
xyz_out.y <= resize(-xyz_in.y, xyz_out.y'left, xyz_out.y'right, fixed_wrap, fixed_truncate);
xyz_out.z <= resize(xyz_in.z + pi_out_sfix, xyz_out.z'left, xyz_out.z'right, fixed_wrap, fixed_truncate);
elsif (xyz_in.z > pi2_in_sfix) then
xyz_out.x <= resize(-xyz_in.x, xyz_out.x'left, xyz_out.x'right);
xyz_out.y <= resize(-xyz_in.y, xyz_out.y'left, xyz_out.y'right);
xyz_out.z <= resize(xyz_in.z - pi_out_sfix, xyz_out.z'left, xyz_out.z'right);
xyz_out.x <= resize(-xyz_in.x, xyz_out.x'left, xyz_out.x'right, fixed_wrap, fixed_truncate);
xyz_out.y <= resize(-xyz_in.y, xyz_out.y'left, xyz_out.y'right, fixed_wrap, fixed_truncate);
xyz_out.z <= resize(xyz_in.z - pi_out_sfix, xyz_out.z'left, xyz_out.z'right, fixed_wrap, fixed_truncate);
end if;
when cordic_mode_vector =>
-- if (xyz_in.x < zero_in_sfix) then
-- xyz_out.x <= resize(-xyz_in.x, xyz_out.x'left, xyz_out.x'right);
-- xyz_out.y <= resize(-xyz_in.y, xyz_out.y'left, xyz_out.y'right);
-- xyz_out.z <= resize(xyz_in.z - pi_out_sfix, xyz_out.z'left, xyz_out.z'right);
-- xyz_out.x <= resize(-xyz_in.x, xyz_out.x'left, xyz_out.x'right, fixed_wrap, fixed_truncate);
-- xyz_out.y <= resize(-xyz_in.y, xyz_out.y'left, xyz_out.y'right, fixed_wrap, fixed_truncate);
-- xyz_out.z <= resize(xyz_in.z - pi_out_sfix, xyz_out.z'left, xyz_out.z'right, fixed_wrap, fixed_truncate);
-- end if;
if (xyz_in.y < zero_in_sfix) then
xyz_out.x <= resize(-xyz_in.y, xyz_out.x'left, xyz_out.x'right);
xyz_out.y <= resize(xyz_in.x, xyz_out.y'left, xyz_out.y'right);
xyz_out.z <= resize(xyz_in.z + pi2_out_sfix, xyz_out.z'left, xyz_out.z'right);
xyz_out.x <= resize(-xyz_in.y, xyz_out.x'left, xyz_out.x'right, fixed_wrap, fixed_truncate);
xyz_out.y <= resize(xyz_in.x, xyz_out.y'left, xyz_out.y'right, fixed_wrap, fixed_truncate);
xyz_out.z <= resize(xyz_in.z + pi2_out_sfix, xyz_out.z'left, xyz_out.z'right, fixed_wrap, fixed_truncate);
else
xyz_out.x <= resize(xyz_in.y, xyz_out.x'left, xyz_out.x'right);
xyz_out.y <= resize(-xyz_in.x, xyz_out.y'left, xyz_out.y'right);
xyz_out.z <= resize(xyz_in.z - pi2_out_sfix, xyz_out.z'left, xyz_out.z'right);
xyz_out.x <= resize(xyz_in.y, xyz_out.x'left, xyz_out.x'right, fixed_wrap, fixed_truncate);
xyz_out.y <= resize(-xyz_in.x, xyz_out.y'left, xyz_out.y'right, fixed_wrap, fixed_truncate);
xyz_out.z <= resize(xyz_in.z - pi2_out_sfix, xyz_out.z'left, xyz_out.z'right, fixed_wrap, fixed_truncate);
end if;
when others => null;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -149,7 +149,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -149,7 +149,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -17,7 +17,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -17,7 +17,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -17,7 +17,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -17,7 +17,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
--library altera;
+1 -1
View File
@@ -17,7 +17,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library altera;
+1 -1
View File
@@ -17,7 +17,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+4 -4
View File
@@ -22,7 +22,7 @@ USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -72,7 +72,7 @@ delay_pipe_proc:
-- word_pipe(i) <= (shi(max_width, max_width_frac) downto slo(max_width, max_width_frac) => '0');
-- end loop;
elsif vld_in = '1' then
word_pipe(1) <= resize(din, word_pipe(1));
word_pipe(1) <= resize(din, word_pipe(1), fixed_wrap, fixed_truncate);
for i in 2 to max_diff_delay loop
word_pipe(i) <= word_pipe(i-1);
end loop;
@@ -88,13 +88,13 @@ comb_proc:
begin
if rising_edge(clk) then
vld_out <= '0';
x0 := resize(din, x0);
x0 := resize(din, x0, fixed_wrap, fixed_truncate);
x1 := word_pipe(diff_delay);
if rst = '1' then
dout <= (shi(max_width, max_width_frac) downto slo(max_width, max_width_frac) => '0');
elsif vld_in = '1' then
vld_out <= '1';
dout <= resize(x0 - x1, shi(max_width, max_width_frac), slo(max_width, max_width_frac));
dout <= resize(x0 - x1, shi(max_width, max_width_frac), slo(max_width, max_width_frac), fixed_wrap, fixed_truncate);
end if;
end if;
end process;
@@ -17,7 +17,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -125,7 +125,7 @@ input_scale:
variable xsi : sfixed(shi(integ_nbits, integ_nbits_frac) downto slo(integ_nbits, integ_nbits_frac));
begin
if rising_edge(clk) then
x := resize(din, x);
x := resize(din, x, fixed_wrap, fixed_truncate);
xs := x sra scale_nbits;
word_i_pipe(0) <= xs;
vld_i_pipe(0) <= vld_in;
@@ -198,6 +198,6 @@ resampler_proc:
end if;
end process;
dout <= resize(word_c_pipe(nstages), shi(out_width, out_width_frac), slo(out_width, out_width_frac));
dout <= resize(word_c_pipe(nstages), shi(out_width, out_width_frac), slo(out_width, out_width_frac), fixed_wrap, fixed_truncate);
END;
@@ -17,7 +17,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -131,7 +131,7 @@ input_scale:
variable xsi : sfixed(shi(integ_nbits, integ_nbits_frac) downto slo(integ_nbits, integ_nbits_frac));
begin
if rising_edge(clk) then
x := resize(din, x);
x := resize(din, x, fixed_wrap, fixed_truncate);
xs := x sra min_gain_bits;
-- xsi := xs sra shift_in;
word_i_pipe(0) <= xs;
@@ -159,7 +159,7 @@ input_scale:
);
end generate;
word_c_pipe(0) <= resize(word_i_pipe(nstages), word_c_pipe(0));
word_c_pipe(0) <= resize(word_i_pipe(nstages), word_c_pipe(0), fixed_wrap, fixed_truncate);
vld_c_pipe(0) <= resample_vld;
vld_c <= vld_c_pipe(nstages);
@@ -205,6 +205,6 @@ resampler_proc:
end if;
end process;
dout <= resize(word_c_pipe(nstages), shi(out_width, out_width_frac), slo(out_width, out_width_frac));
dout <= resize(word_c_pipe(nstages), shi(out_width, out_width_frac), slo(out_width, out_width_frac), fixed_wrap, fixed_truncate);
END;
+4 -4
View File
@@ -22,7 +22,7 @@ USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -57,7 +57,7 @@ signal accu : sfixed(shi(max_width, max_width_frac) downto slo(max_width, max_
------------------------------------------------------------
begin
dout <= resize(accu, shi(max_width, max_width_frac), slo(max_width, max_width_frac));
dout <= resize(accu, shi(max_width, max_width_frac), slo(max_width, max_width_frac), fixed_wrap, fixed_truncate);
------------------------------------------------------------
integ_proc:
@@ -70,8 +70,8 @@ integ_proc:
accu <= (shi(max_width, max_width_frac) downto slo(max_width, max_width_frac) => '0');
elsif vld_in = '1' then
vld_out <= '1';
x := resize(din, x);
accu <= resize(x + accu, accu);
x := resize(din, x, fixed_wrap, fixed_truncate);
accu <= resize(x + accu, accu, fixed_wrap, fixed_truncate);
end if;
end if;
end process;
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
use work.fixed_util_pkg.all;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -5,7 +5,7 @@ use ieee.numeric_std.all;
use IEEE.MATH_REAL.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -18,7 +18,7 @@ USE ieee.numeric_std.ALL;
use std.textio.all; -- Imports the standard textio package.
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;
+1 -1
View File
@@ -23,7 +23,7 @@ use IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
library work;