blob: 86d89e7de79e25ad7e5818e71afcbe52f8a1e35b (
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
78
79
|
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity ent is
port (
sgn : signed(7 downto 0) := x"f8";
uns : unsigned(7 downto 0) := x"07";
nat : natural := 15;
int : integer := -3;
mul_int_int : out integer;
mul_uns_uns : out unsigned(15 downto 0);
mul_uns_nat : out unsigned(15 downto 0);
mul_nat_uns : out unsigned(15 downto 0);
mul_sgn_sgn : out signed(15 downto 0);
mul_sgn_int : out signed(15 downto 0);
mul_int_sgn : out signed(15 downto 0);
div_int_int : out integer;
div_uns_uns : out unsigned(7 downto 0);
div_uns_nat : out unsigned(7 downto 0);
div_nat_uns : out unsigned(7 downto 0);
div_sgn_sgn : out signed(7 downto 0);
div_sgn_int : out signed(7 downto 0);
div_int_sgn : out signed(7 downto 0);
rem_int_int : out integer;
rem_uns_uns : out unsigned(7 downto 0);
rem_uns_nat : out unsigned(7 downto 0);
rem_nat_uns : out unsigned(7 downto 0);
rem_sgn_sgn : out signed(7 downto 0);
rem_sgn_int : out signed(7 downto 0);
rem_int_sgn : out signed(7 downto 0);
mod_int_int : out integer;
mod_uns_uns : out unsigned(7 downto 0);
mod_uns_nat : out unsigned(7 downto 0);
mod_nat_uns : out unsigned(7 downto 0);
mod_sgn_sgn : out signed(7 downto 0);
mod_sgn_int : out signed(7 downto 0);
mod_int_sgn : out signed(7 downto 0)
);
end;
architecture a of ent is
begin
mul_int_int <= int * int;
mul_uns_uns <= uns * uns;
mul_uns_nat <= uns * nat;
mul_nat_uns <= nat * uns;
mul_sgn_sgn <= sgn * sgn;
mul_sgn_int <= sgn * int;
mul_int_sgn <= int * sgn;
div_int_int <= int / int;
div_uns_uns <= uns / uns;
div_uns_nat <= uns / nat;
div_nat_uns <= nat / uns;
div_sgn_sgn <= sgn / sgn;
div_sgn_int <= sgn / int;
div_int_sgn <= int / sgn;
rem_int_int <= int rem int;
rem_uns_uns <= uns rem uns;
rem_uns_nat <= uns rem nat;
rem_nat_uns <= nat rem uns;
rem_sgn_sgn <= sgn rem sgn;
rem_sgn_int <= sgn rem int;
rem_int_sgn <= int rem sgn;
mod_int_int <= int mod int;
mod_uns_uns <= uns mod uns;
mod_uns_nat <= uns mod nat;
mod_nat_uns <= nat mod uns;
mod_sgn_sgn <= sgn mod sgn;
mod_sgn_int <= sgn mod int;
mod_int_sgn <= int mod sgn;
end;
|