OpenCores
URL https://opencores.org/ocsvn/common_pkg/common_pkg/trunk

Subversion Repositories common_pkg

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /common_pkg
    from Rev 8 to Rev 9
    Reverse comparison

Rev 8 → Rev 9

/trunk/common_lfsr_sequences_pkg.vhd
1,6 → 1,6
--------------------------------------------------------------------------------
--
-- Copyright (C) 2009
-- Copyright (C) 2019
-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
-- JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/>
-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
19,6 → 19,15
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
--------------------------------------------------------------------------------
 
-- Author:
-- . Eric Kooistra
-- Purpose:
-- . Linear Feedback Shift Register based pseudo random sequence generation.
-- Interface:
-- . [n/a]
-- Description:
-- . Based on Xilinx application note xapp052.
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
/trunk/common_pkg.vhd
1,7 → 1,6
 
-------------------------------------------------------------------------------
--
-- Copyright (C) 2009
-- Copyright (C) 2019
-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
--
20,6 → 19,16
--
-------------------------------------------------------------------------------
 
-- Author:
-- . Eric Kooistra
-- Purpose:
-- . Collection of commonly used base funtions
-- Interface:
-- . [n/a]
-- Description:
-- . This is a package containing generic constants and functions.
-- . More information can be found in the comments near the code.
 
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;
381,6 → 390,16
FUNCTION u_round( vec : STD_LOGIC_VECTOR; n : NATURAL; clip : BOOLEAN) RETURN STD_LOGIC_VECTOR; -- idem round up for unsigned values
FUNCTION u_round( vec : STD_LOGIC_VECTOR; n : NATURAL) RETURN STD_LOGIC_VECTOR; -- idem round up for unsigned values
 
FUNCTION u_to_s(u : NATURAL; w : NATURAL) RETURN INTEGER; -- interpret w bit unsigned u as w bit signed, and remove any MSbits
FUNCTION s_to_u(s : INTEGER; w : NATURAL) RETURN NATURAL; -- interpret w bit signed s as w bit unsigned, and remove any MSbits
FUNCTION u_wrap(u : NATURAL; w : NATURAL) RETURN NATURAL; -- return u & 2**w-1 (bit wise and), so keep w LSbits of unsigned u, and remove MSbits
FUNCTION s_wrap(s : INTEGER; w : NATURAL) RETURN INTEGER; -- return s & 2**w-1 (bit wise and), so keep w LSbits of signed s, and remove MSbits
FUNCTION u_clip(u : NATURAL; max : NATURAL) RETURN NATURAL; -- if s < max return s, else return n
FUNCTION s_clip(s : INTEGER; max : NATURAL; min : INTEGER) RETURN INTEGER; -- if s <= min return min, else if s >= max return max, else return s
FUNCTION s_clip(s : INTEGER; max : NATURAL ) RETURN INTEGER; -- if s <= -max return -max, else if s >= max return max, else return s
FUNCTION hton(a : STD_LOGIC_VECTOR; w, sz : NATURAL) RETURN STD_LOGIC_VECTOR; -- convert endianity from host to network, sz in symbols of width w
FUNCTION hton(a : STD_LOGIC_VECTOR; sz : NATURAL) RETURN STD_LOGIC_VECTOR; -- convert endianity from host to network, sz in bytes
FUNCTION hton(a : STD_LOGIC_VECTOR ) RETURN STD_LOGIC_VECTOR; -- convert endianity from host to network, for all bytes in a
1910,8 → 1929,58
BEGIN
RETURN u_round(vec, n, FALSE); -- no round clip
END;
 
FUNCTION u_to_s(u : NATURAL; w : NATURAL) RETURN INTEGER IS
VARIABLE v_u : STD_LOGIC_VECTOR(31 DOWNTO 0) := TO_UVEC(u, 32); -- via 32 bit word to avoid NUMERIC_STD.TO_SIGNED: vector truncated warming
BEGIN
RETURN TO_SINT(v_u(w-1 DOWNTO 0));
END;
FUNCTION s_to_u(s : INTEGER; w : NATURAL) RETURN NATURAL IS
VARIABLE v_s : STD_LOGIC_VECTOR(31 DOWNTO 0) := TO_SVEC(s, 32); -- via 32 bit word to avoid NUMERIC_STD.TO_SIGNED: vector truncated warming
BEGIN
RETURN TO_UINT(v_s(w-1 DOWNTO 0));
END;
 
FUNCTION u_wrap(u : NATURAL; w : NATURAL) RETURN NATURAL IS
VARIABLE v_u : STD_LOGIC_VECTOR(31 DOWNTO 0) := TO_UVEC(u, 32); -- via 32 bit word to avoid NUMERIC_STD.TO_SIGNED: vector truncated warming
BEGIN
RETURN TO_UINT(v_u(w-1 DOWNTO 0));
END;
FUNCTION s_wrap(s : INTEGER; w : NATURAL) RETURN INTEGER IS
VARIABLE v_s : STD_LOGIC_VECTOR(31 DOWNTO 0) := TO_SVEC(s, 32); -- via 32 bit word to avoid NUMERIC_STD.TO_SIGNED: vector truncated warming
BEGIN
RETURN TO_SINT(v_s(w-1 DOWNTO 0));
END;
FUNCTION u_clip(u : NATURAL; max : NATURAL) RETURN NATURAL IS
BEGIN
IF u > max THEN
RETURN max;
ELSE
RETURN u;
END IF;
END;
FUNCTION s_clip(s : INTEGER; max : NATURAL; min : INTEGER) RETURN INTEGER IS
BEGIN
IF s < min THEN
RETURN min;
ELSE
IF s > max THEN
RETURN max;
ELSE
RETURN s;
END IF;
END IF;
END;
FUNCTION s_clip(s : INTEGER; max : NATURAL) RETURN INTEGER IS
BEGIN
RETURN s_clip(s, max, -max);
END;
 
FUNCTION hton(a : STD_LOGIC_VECTOR; w, sz : NATURAL) RETURN STD_LOGIC_VECTOR IS
VARIABLE v_a : STD_LOGIC_VECTOR(a'LENGTH-1 DOWNTO 0) := a; -- map a to range [h:0]
VARIABLE v_b : STD_LOGIC_VECTOR(a'LENGTH-1 DOWNTO 0) := a; -- default b = a
/trunk/common_str_pkg.vhd
1,6 → 1,6
-------------------------------------------------------------------------------
--
-- Copyright (C) 2012
-- Copyright (C) 2019
-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
--
19,12 → 19,21
--
-------------------------------------------------------------------------------
 
-- Author:
-- . Daniel van der Schuur
-- Purpose:
-- . Collection of commonly used string funtions
-- Interface:
-- . [n/a]
-- Description:
-- . None
 
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;
USE STD.TEXTIO.ALL;
USE IEEE.STD_LOGIC_TEXTIO.ALL;
USE work.common_pkg.ALL;
USE common_pkg_lib.common_pkg.ALL;
 
PACKAGE common_str_pkg IS
 
203,7 → 212,6
END hex_nibble_to_slv;
 
FUNCTION int_to_str(int: INTEGER) RETURN STRING IS
-- CONSTANT c_max_len_int : NATURAL := 20;
VARIABLE v_line: LINE;
VARIABLE v_str: STRING(1 TO nof_digits_int(int)):= (OTHERS => ' ');
BEGIN
/trunk/tb_common_pkg.vhd
1,6 → 1,6
-------------------------------------------------------------------------------
--
-- Copyright (C) 2011
-- Copyright (C) 2019
-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
-- JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/>
-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
20,6 → 20,15
--
-------------------------------------------------------------------------------
 
-- Author:
-- . Eric Kooistra
-- Purpose:
-- . Collection of commonly used base funtions for simulations
-- Interface:
-- . [n/a]
-- Description:
-- . More information can be found in the comments near the code.
 
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.