-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdata_types.sv
More file actions
executable file
·77 lines (72 loc) · 2.87 KB
/
data_types.sv
File metadata and controls
executable file
·77 lines (72 loc) · 2.87 KB
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
/*
Integer types can be signed or unsigned, thus can change the result of a
arthimetic operation. So care should be taken when declaring the data
types that may be have to do arthimetic operation on it. By default byte,
shortint, int, integer and longint default to signed and bit, reg, logic,
and wire defaults to unsigned.
*/
module data_types();
bit data_1bit;
byte data_8bit;
shortint data_16bit;
int data_32bit;
longint data_64bit;
integer data_integer;
bit unsigned data_1bit_unsigned;
byte unsigned data_8bit_unsigned;
shortint unsigned data_16bit_unsigned;
int unsigned data_32bit_unsigned;
longint unsigned data_64bit_unsigned;
integer unsigned data_integer_unsigned;
initial begin
data_1bit = {32{4'b1111}};
data_8bit = {32{4'b1111}};
data_16bit = {32{4'b1111}};
data_32bit = {32{4'b1111}};
data_64bit = {32{4'b1111}};
data_integer= {32{4'b1111}};
$display("data_1bit = %0d",data_1bit);
$display("data_8bit = %0d",data_8bit);
$display("data_16bit = %0d",data_16bit);
$display("data_32bit = %0d",data_32bit);
$display("data_64bit = %0d",data_64bit);
$display("data_integer = %0d",data_integer);
data_1bit = {32{4'bzx01}};
data_8bit = {32{4'bzx01}};
data_16bit = {32{4'bzx01}};
data_32bit = {32{4'bzx01}};
data_64bit = {32{4'bzx01}};
data_integer= {32{4'bzx01}};
$display("data_1bit = %b",data_1bit);
$display("data_8bit = %b",data_8bit);
$display("data_16bit = %b",data_16bit);
$display("data_32bit = %b",data_32bit);
$display("data_64bit = %b",data_64bit);
$display("data_integer = %b",data_integer);
data_1bit_unsigned = {32{4'b1111}};
data_8bit_unsigned = {32{4'b1111}};
data_16bit_unsigned = {32{4'b1111}};
data_32bit_unsigned = {32{4'b1111}};
data_64bit_unsigned = {32{4'b1111}};
data_integer_unsigned = {32{4'b1111}};
$display("data_1bit_unsigned = %d",data_1bit_unsigned);
$display("data_8bit_unsigned = %d",data_8bit_unsigned);
$display("data_16bit_unsigned = %d",data_16bit_unsigned);
$display("data_32bit_unsigned = %d",data_32bit_unsigned);
$display("data_64bit_unsigned = %d",data_64bit_unsigned);
$display("data_integer_unsigned = %d",data_integer_unsigned);
data_1bit_unsigned = {32{4'bzx01}};
data_8bit_unsigned = {32{4'bzx01}};
data_16bit_unsigned = {32{4'bzx01}};
data_32bit_unsigned = {32{4'bzx01}};
data_64bit_unsigned = {32{4'bzx01}};
data_integer_unsigned = {32{4'bzx01}};
$display("data_1bit_unsigned = %b",data_1bit_unsigned);
$display("data_8bit_unsigned = %b",data_8bit_unsigned);
$display("data_16bit_unsigned = %b",data_16bit_unsigned);
$display("data_32bit_unsigned = %b",data_32bit_unsigned);
$display("data_64bit_unsigned = %b",data_64bit_unsigned);
$display("data_integer_unsigned = %b",data_integer_unsigned);
#1 $finish;
end
endmodule