- moved common functions to fixed_util_pkg

git-svn-id: http://moon:8086/svn/vhdl/trunk@160 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
2008-12-28 16:47:54 +00:00
parent 0e4e1b0fba
commit 4735454c40
+16 -22
View File
@@ -4,6 +4,7 @@ use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;
use IEEE.MATH_REAL.ALL;
use work.fixed_pkg.all;
use work.fixed_util_pkg.all;
-------------------------------------------------------------------------------
package nco_pkg is
@@ -11,9 +12,9 @@ package nco_pkg is
constant tpd : time := 0 ns;
-- Global set arithmetic rounding mode
constant pi : real := 3.141592653589793e+000;
constant sqrt2 : real := 1.414213562373095e+000;
constant sqrt2_inv : real := 7.071067811865475e-001;
-- constant pi : real := 3.141592653589793e+000;
-- constant sqrt2 : real := 1.414213562373095e+000;
-- constant sqrt2_inv : real := 7.071067811865475e-001;
type real_array_t is array (natural range <>) of real;
type natural_array_t is array (natural range <>) of natural;
@@ -27,13 +28,6 @@ package nco_pkg is
q_d : real;
end record;
type debug_mix_out_t is record
i_in : real;
q_in : real;
i_out : real;
q_out : real;
end record;
constant lfsr_poly : natural_array_t(3 to 24) :=
(
12, -- 3
@@ -66,10 +60,10 @@ package nco_pkg is
-------------------------------------------------------------
-- Constructor helpers
-- Use: variable v8u6 : ufixed_t(ufixed(8,6)'range);
function uproto (nbits : integer; nbits_frac : integer) return ufixed;
-- function uproto (nbits : integer; nbits_frac : integer) return ufixed;
-- Use: variable v8s6 : sfixed_t(sfixed(8,6)'range);
function sproto (nbits : integer; nbits_frac : integer) return sfixed;
-- function sproto (nbits : integer; nbits_frac : integer) return sfixed;
end; -- package nco_pkg;
@@ -107,18 +101,18 @@ package body nco_pkg is
-------------------------------------------------------------
-- Constuctor helpers
function uproto (nbits : integer; nbits_frac : integer) return ufixed is
constant result : ufixed (nbits-nbits_frac-1 downto -nbits_frac) := (others => '0');
begin
return result(nbits-nbits_frac-1 downto -nbits_frac);
end uproto;
-- function uproto (nbits : integer; nbits_frac : integer) return ufixed is
-- constant result : ufixed (nbits-nbits_frac-1 downto -nbits_frac) := (others => '0');
-- begin
-- return result(nbits-nbits_frac-1 downto -nbits_frac);
-- end uproto;
-------------------------------------------------------------
function sproto (nbits : integer; nbits_frac : integer) return sfixed is
constant result : sfixed (nbits-nbits_frac downto -nbits_frac+1) := (others => '0');
begin
return result(nbits-nbits_frac downto -nbits_frac+1);
end sproto;
-- function sproto (nbits : integer; nbits_frac : integer) return sfixed is
-- constant result : sfixed (nbits-nbits_frac downto -nbits_frac+1) := (others => '0');
-- begin
-- return result(nbits-nbits_frac downto -nbits_frac+1);
-- end sproto;
-------------------------------------------------------------------------------
end; -- package nco_pkg;