summaryrefslogtreecommitdiff
path: root/libraries/openieee/numeric_bit.v93
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/openieee/numeric_bit.v93')
-rw-r--r--libraries/openieee/numeric_bit.v9363
1 files changed, 39 insertions, 24 deletions
diff --git a/libraries/openieee/numeric_bit.v93 b/libraries/openieee/numeric_bit.v93
index cd35bb0..eb21bbc 100644
--- a/libraries/openieee/numeric_bit.v93
+++ b/libraries/openieee/numeric_bit.v93
@@ -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;