diff options
Diffstat (limited to 'libraries/openieee/numeric_bit.v87')
-rw-r--r-- | libraries/openieee/numeric_bit.v87 | 63 |
1 files changed, 39 insertions, 24 deletions
diff --git a/libraries/openieee/numeric_bit.v87 b/libraries/openieee/numeric_bit.v87 index ee3b1e0..6a6dcc3 100644 --- a/libraries/openieee/numeric_bit.v87 +++ b/libraries/openieee/numeric_bit.v87 @@ -42,41 +42,41 @@ package NUMERIC_BIT is -- Result index range is NEW_SIZE - 1 downto 0 (unless null array). -- For SIGNED, the sign of the result is the sign of ARG. - function "=" (L : UNSIGNED; R : UNSIGNED) return BOOLEAN; + function "=" (L, R : UNSIGNED) return BOOLEAN; function "=" (L : UNSIGNED; R : NATURAL) return BOOLEAN; function "=" (L : NATURAL; R : UNSIGNED) return BOOLEAN; - function "/=" (L : UNSIGNED; R : UNSIGNED) return BOOLEAN; + function "/=" (L, R : UNSIGNED) return BOOLEAN; function "/=" (L : UNSIGNED; R : NATURAL) return BOOLEAN; function "/=" (L : NATURAL; R : UNSIGNED) return BOOLEAN; - function "<" (L : UNSIGNED; R : UNSIGNED) return BOOLEAN; + function "<" (L, R : UNSIGNED) return BOOLEAN; function "<" (L : UNSIGNED; R : NATURAL) return BOOLEAN; function "<" (L : NATURAL; R : UNSIGNED) return BOOLEAN; - function "<=" (L : UNSIGNED; R : UNSIGNED) return BOOLEAN; + function "<=" (L, R : UNSIGNED) return BOOLEAN; function "<=" (L : UNSIGNED; R : NATURAL) return BOOLEAN; function "<=" (L : NATURAL; R : UNSIGNED) return BOOLEAN; - function ">" (L : UNSIGNED; R : UNSIGNED) return BOOLEAN; + function ">" (L, R : UNSIGNED) return BOOLEAN; function ">" (L : UNSIGNED; R : NATURAL) return BOOLEAN; function ">" (L : NATURAL; R : UNSIGNED) return BOOLEAN; - function ">=" (L : UNSIGNED; R : UNSIGNED) return BOOLEAN; + function ">=" (L, R : UNSIGNED) return BOOLEAN; function ">=" (L : UNSIGNED; R : NATURAL) return BOOLEAN; function ">=" (L : NATURAL; R : UNSIGNED) return BOOLEAN; - function "=" (L : SIGNED; R : SIGNED) return BOOLEAN; + function "=" (L, R : SIGNED) return BOOLEAN; function "=" (L : SIGNED; R : INTEGER) return BOOLEAN; function "=" (L : INTEGER; R : SIGNED) return BOOLEAN; - function "/=" (L : SIGNED; R : SIGNED) return BOOLEAN; + function "/=" (L, R : SIGNED) return BOOLEAN; function "/=" (L : SIGNED; R : INTEGER) return BOOLEAN; function "/=" (L : INTEGER; R : SIGNED) return BOOLEAN; - function "<" (L : SIGNED; R : SIGNED) return BOOLEAN; + function "<" (L, R : SIGNED) return BOOLEAN; function "<" (L : SIGNED; R : INTEGER) return BOOLEAN; function "<" (L : INTEGER; R : SIGNED) return BOOLEAN; - function "<=" (L : SIGNED; R : SIGNED) return BOOLEAN; + function "<=" (L, R : SIGNED) return BOOLEAN; function "<=" (L : SIGNED; R : INTEGER) return BOOLEAN; function "<=" (L : INTEGER; R : SIGNED) return BOOLEAN; - function ">" (L : SIGNED; R : SIGNED) return BOOLEAN; + function ">" (L, R : SIGNED) return BOOLEAN; function ">" (L : SIGNED; R : INTEGER) return BOOLEAN; function ">" (L : INTEGER; R : SIGNED) return BOOLEAN; - function ">=" (L : SIGNED; R : SIGNED) return BOOLEAN; + function ">=" (L, R : SIGNED) return BOOLEAN; function ">=" (L : SIGNED; R : INTEGER) return BOOLEAN; function ">=" (L : INTEGER; R : SIGNED) return BOOLEAN; -- Issue a warning in case of non-logical value. @@ -89,10 +89,10 @@ package NUMERIC_BIT is -- Compute abs ARG. -- Result index range is Arg'length - 1 downto 0. - function "+" (L : UNSIGNED; R : UNSIGNED) return UNSIGNED; - function "+" (L : SIGNED; R : SIGNED) return SIGNED; - function "-" (L : UNSIGNED; R : UNSIGNED) return UNSIGNED; - function "-" (L : SIGNED; R : SIGNED) return SIGNED; + function "+" (L, R : UNSIGNED) return UNSIGNED; + function "+" (L, R : SIGNED) return SIGNED; + function "-" (L, R : UNSIGNED) return UNSIGNED; + function "-" (L, R : SIGNED) return SIGNED; -- Compute L +/- R. -- Result index range is max (L'Length, R'Length) - 1 downto 0. -- Issue a warning in case of non-logical value. @@ -111,8 +111,8 @@ package NUMERIC_BIT is -- Issue a warning in case of non-logical value. -- Issue a warning if value is truncated. - function "*" (L : UNSIGNED; R : UNSIGNED) return UNSIGNED; - function "*" (L : SIGNED; R : SIGNED) return SIGNED; + function "*" (L, R : UNSIGNED) return UNSIGNED; + function "*" (L, R : SIGNED) return SIGNED; -- Compute L * R -- Result index range is L'Length + R'Length - 1 downto 0. @@ -126,12 +126,12 @@ package NUMERIC_BIT is -- Compute L * R -- L is converted to a vector of length R'length - function "/" (L : UNSIGNED; R : UNSIGNED) return UNSIGNED; - function "/" (L : SIGNED; R : SIGNED) return SIGNED; - function "rem" (L : UNSIGNED; R : UNSIGNED) return UNSIGNED; - function "rem" (L : SIGNED; R : SIGNED) return SIGNED; - function "mod" (L : UNSIGNED; R : UNSIGNED) return UNSIGNED; - function "mod" (L : SIGNED; R : SIGNED) return SIGNED; + function "/" (L, R : UNSIGNED) return UNSIGNED; + function "/" (L, R : SIGNED) return SIGNED; + function "rem" (L, R : UNSIGNED) return UNSIGNED; + function "rem" (L, R : SIGNED) return SIGNED; + function "mod" (L, R : UNSIGNED) return UNSIGNED; + function "mod" (L, R : SIGNED) return SIGNED; -- Compute L op R -- Result index range is L'Length - 1 downto 0. -- Issue a warning in case of non-logical value. @@ -193,4 +193,19 @@ package NUMERIC_BIT is function rotate_right (ARG : UNSIGNED; COUNT: NATURAL) return UNSIGNED; function rotate_right (ARG : SIGNED; COUNT: NATURAL) return SIGNED; -- Result index range is ARG'Length - 1 downto 0. + +--function "sll" (ARG : UNSIGNED; COUNT: INTEGER) return UNSIGNED; +--function "sll" (ARG : SIGNED; COUNT: INTEGER) return SIGNED; +--function "srl" (ARG : UNSIGNED; COUNT: INTEGER) return UNSIGNED; +--function "srl" (ARG : SIGNED; COUNT: INTEGER) return SIGNED; + -- Result index range is ARG'Length - 1 downto 0. + +--function "rol" (ARG : UNSIGNED; COUNT: INTEGER) return UNSIGNED; +--function "rol" (ARG : SIGNED; COUNT: INTEGER) return SIGNED; +--function "ror" (ARG : UNSIGNED; COUNT: INTEGER) return UNSIGNED; +--function "ror" (ARG : SIGNED; COUNT: INTEGER) return SIGNED; + -- Result index range is ARG'Length - 1 downto 0. + + function rising_edge (signal s : bit) return boolean; + function falling_edge (signal s : bit) return boolean; end NUMERIC_BIT; |