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; |