vmu1.in
5.57 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; MULTIPLIER DATAPATH AND INSTRUCTION DECODE TEST: ;;
;; ;;
;; VMACQ, VMULU, VMULQ, VMUDN, VMULF, VMUDM, VMUDL,;;
;; VMUDHL, VMUDH, VMADN, VMADM, VMADHL, VMADL, ;;
;; VMADH, VMACU, VMACF ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
prog_name vmu
reg_assign vS $v0
reg_assign vT $v1
reg_assign vD $v2
reg_assign vDexp $v3
reg_assign vTemp $v4
reg_assign vAccL $v5
reg_assign vAccM $v6
reg_assign vAccH $v7
reg_assign vAccLexp $v8
reg_assign vAccMexp $v9
reg_assign vAccHexp $v10
reg_assign v4000 $v11
reg_assign v0001 $v12
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; VMULU
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element vector
vS 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE
vT 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element vector
vS 0xFFFE 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF 0x0002
vT 0x0002 0xFFFE 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element vector
vS 0x0002 0xFFFE 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF
vT 0x8001 0x7FFF 0x0002 0xFFFE 0x0000 0x0001 0xFFFF 0x8000
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element vector
vS 0x7FFF 0x0002 0xFFFE 0x0000 0x0001 0xFFFF 0x8000 0x8001
vT 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE 0x0000 0x0001
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element vector
vS 0x8001 0x7FFF 0x0002 0xFFFE 0x0000 0x0001 0xFFFF 0x8000
vT 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element vector
vS 0x8000 0x8001 0x7FFF 0x0002 0xFFFE 0x0000 0x0001 0xFFFF
vT 0x0002 0xFFFE 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element vector
vS 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE 0x0000 0x0001
vT 0x8001 0x7FFF 0x0002 0xFFFE 0x0000 0x0001 0xFFFF 0x8000
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element vector
vS 0x0001 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE 0x0000
vT 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE 0x0000 0x0001
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element 0w
vS 0x0001 0x0002 0x0003 0x0005 0x0007 0x000B 0x000D 0x0011
vT 0x0001 0x0002 0x0003 0x0005 0x0007 0x000B 0x000D 0x0011
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element 1w
vS 0x0013 0x0017 0x001D 0x001F 0x0021 0x0025 0x0027 0x0029
vT 0x0013 0x0017 0x001D 0x001F 0x0021 0x0025 0x0027 0x0029
vAccL 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccM 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
vAccH 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element 2w
vS 0x002B 0x002F 0x0035 0x003B 0x003D 0x0043 0x0047 0x0049
vT 0x002B 0x002F 0x0035 0x003B 0x003D 0x0043 0x0047 0x0049
vAccL 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
vAccM 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccH 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmulu
element 4w
vS 0x004F 0x0053 0x0059 0x005B 0x0061 0x0065 0x0067 0x006B
vT 0x004F 0x0053 0x0059 0x005B 0x0061 0x0065 0x0067 0x006B
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x1122
vAccH 0x3344 0x5566 0x7788 0x99aa 0xbbcc 0xddee 0xff00 0x1234
end