alu/div: dision in hardwaregerechte art und weise
[hwmod.git] / src / alu_tb.vhd
index 33f4455ca6e38db881f4cc6759be877bf9ded21c..1b0d2f4ab3f3947b543e45c666c62fc7db20d33c 100644 (file)
@@ -62,16 +62,24 @@ begin
                type alu_testv_array is array (natural range 0 to 20) of alu_testv;
 
                variable testmatrix : alu_testv_array :=
-                       ( 0 => (7, ADD, 3, 10),
-                         1 => (7, SUB, 1, 6),
-                         2 => (7, DIV, 1, 7),
-                         3 => (7, DIV, 2, 3),
-                         4 => (7, ADD, 1, 8),
-                         5 => (7, MUL, 3, 21),
-                         6 => (-7, MUL, 3, -21),
-                         7 => (268435456, MUL, -2, -536870912),
-                         8 => (268435456, MUL, 2**5, 0), -- um fuenf nach links shiften
-                         9 => (268435456 + 5, MUL, 2**5, 160), -- = 5 * (2^5)
+                       ( 0 => (-5, DIV, 3, -1),
+                         1 => (7, ADD, 3, 10),
+                         2 => (7, SUB, 1, 6),
+                         3 => (7, DIV, 1, 7),
+                         4 => (7, DIV, 3, 2),
+                         5 => (7, ADD, 1, 8),
+                         6 => (7, MUL, 3, 21),
+                         7 => (-7, MUL, 3, -21),
+                         8 => (268435456, MUL, -2, -536870912),
+                         9 => (268435456, MUL, 2**5, 0), -- um fuenf nach links shiften
+                         10 => (268435456 + 5, MUL, 2**5, 160), -- = 5 * (2^5)
+                         11 => (100, DIV, 10, 10),
+                         12 => (100, DIV, 51, 1),
+                         13 => (100, DIV, 49, 2),
+                         14 => (153156, DIV, 3543, 43),
+                         15 => (-153156, DIV, 3543, -43),
+                         16 => (153156, DIV, -3543, -43),
+                         17 => (-153156, DIV, -3543, 43),
                          others => (0, ADD, 0, 0)
                        );