summaryrefslogtreecommitdiffstats
path: root/vhdl_arithmetik/VHDL_arithmetic.csv
blob: aaf4bbcc24e2723586e96fe563a8e2be39a0c57c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
;min;max;;;;;;
signed n;-(2^(n-1));(2^(n-1))-1;;;;;;
signed 3;-4;3;;;;;;
signed 4;-8;7;;;;;;
unsigned n;0;(2^n)-1;;;;;;
unsigned 3;0;7;;;;;;
unsigned 4;0;15;;;;;;
;;;;;;;;
;;;;mathematical = Matlab;;;std_logic_arith;numeric_std
;OP;arg1;arg2;type;min;max;;
;+;signed n;signed m;signed max(n,m)+1;"min(arg1)+min(arg2) =
-(2^(n-1)) - (2^(m-1))";"max(arg1)+max(arg2) =
(2^(n-1)) + (2^(m-1))-2";signed max(n, m);signed max(n, m)
;;signed 3;signed 4;signed 5;-12;10;;
;;unsigned n;unsigned m;unsigned max(n,m)+1;min(arg1)+min(arg2) = 0;"max(arg1)+max(arg2) = 
(2^n)+(2^m)-2";unsigned max(n, m);unsigned max(n, m)
;;unsigned 3;unsigned 4;unsigned 5;0;22;;
;;signed n;unsigned m;signed max(n,m+1)+1;"min(arg1)+min(arg2) =
-(2^(n-1))";"max(arg1)+max(arg2) =
(2^(n-1)) + (2^m)-2";signed max(n, m+1);
;;signed 4;unsigned 3;signed 5;-8;14;;
;;signed 3;unsigned 4;signed 6;-4;18;;
;- (binary);signed n;signed m;signed max(n,m)+1;"min(arg1)-max(arg2) =
-(2^(n-1))-(2^(m-1))+1";"max(arg1)-min(arg2) =
(2^(n-1))-1 + (2^(m-1))";signed max(n, m);signed max(n, m)
;;signed 4;signed 3;signed 5;-11;11;;
;;signed 3;signed 4;signed 5;-11;11;;
;;unsigned n;unsigned m;signed max(n,m)+1;"min(arg1)-max(arg2) =
-(2^m)+1";"max(arg1)-min(arg2) =
(2^n)-1";unsigned max(n, m);unsigned max(n, m)
;;unsigned 4;unsigned 3;signed 5;-7;15;;
;;unsigned 3;unsigned 4;signed 5;-15;7;;
;;signed n;unsigned m;signed max(n,m+1)+1;"min(arg1)-max(arg2) =
-(2^(n-1))-(2^m)+1";"max(arg1)-min(arg2) =
2^(n-1))-1";signed max(n, m+1);
;;signed 4;unsigned 3;signed 5;-15;7;;
;;signed 3;unsigned 4;signed 6;-19;3;;
;;unsigned n;signed m;signed max(n+1,m)+1;"min(arg1)-max(arg2) =
-(2^(m-1))+1";"max(arg1)-min(arg2) =
(2^n)-1 + (2^(m-1))";signed max(n+1, m);
;;unsigned 4;signed 3;signed 6;-3;19;;
;;unsigned 3;signed 4;signed 5;-7;15;;
;- (unary);signed n;;signed (n+1);-max(arg1) = -(2^(n-1))+1;-min(arg1) = (2^(n-1));signed n;signed n
;;signed 4;;signed 5;-7;8;;
;;unsigned n;;signed (n+1);-max(arg1) = -((2^n)-1);-min(arg1) = 0;;
;;unsigned 4;;signed 5;-15;0;;
;*;signed n;signed m;signed (n+m);"n<=m:
min(arg1)*max(arg2) =
-(2^(n-1))*((2^(m-1))-1)
n>=m:
max(arg1)*min(arg2) =
-(2^(m-1))*((2^(n-1))-1)";"min(arg1)* min(arg2) =
(2^(n-1)) * (2^(n-1))";signed n+m;signed n+m
;;signed 3;signed 4;signed 7;-28;32;;
;;unsigned n;unsigned m;unsigned (n+m);min(arg1)*min(arg2) = 0;"max(arg1)*max(arg2) =
((2^n)-1)*((2^m)-1) =
2^(n+m)-2^n-2^m+1";unsigned (n+m);unsigned (n+m)
;;unsigned 3;unsigned 4;unsigned 7;0;105;;
;;signed n;unsigned m;signed (n+m);"min(arg1)*max(arg2) =
-(2^(n-1)) * ((2^m)-1)";"max(arg1)*max(arg2) =
(2^(n-1)-1) * ((2^m)-1)";signed n+m+1;
;;signed 4;unsigned 3;signed 7;-56;49;;
;;signed 3;unsigned 4;signed 7;-60;45;;
;/;signed n;signed m;signed n+1;;;;
;;signed 3;signed 4;signed 4;-4;4;;
;;signed 4;signed 3;signed 5;-8;8;;
;;unsigned n;unsigned m;unsigned n;;;;
;;unsigned 3;unsigned 4;unsigned 3;0;7;;
;;signed n;unsigned m;signed;;;;
;;unsigned m;signed m;signed;;;;
;abs;signed n;;signed n+1;-(2^(n-1))+1;2^(n-1);;
;;signed 3;;signed 4;-3;4;;
;;;;;;;;
Meaning:;range not sufficient;;;;;;;
;range larger than needed;;;;;;;
;example;;;;;;;
;function not available;;;;;;;
OpenPOWER on IntegriCloud