vmu2.in
5.71 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
186
187
188
189
190
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; 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 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 0x0001
vT 0x0001 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF
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 0x0001 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF
vT 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 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 1h
vS 0xFFFF 0xFFFF 0x8000 0x0000 0x7FFF 0xFFFF 0x0000 0x0001
vT 0xFFFF 0xFFFF 0x8000 0x1001 0x7FFF 0xFFFF 0x0001 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 3h
vS 0x0000 0x0001 0xFFFF 0xFFFF 0x8000 0x0000 0x7FFF 0xFFFF
vT 0x8000 0x1001 0x7FFF 0xFFFF 0x0001 0x0011 0xFFFF 0xFFFF
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 0q
vS 0xFFFF 0xFFFF 0x8000 0x0000 0x7FFF 0xFFFF 0x0000 0x0001
vT 0x8000 0xFFFF 0x1000 0x1001 0x7FFF 0xFFFF 0xFFFF 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 1q
vS 0xFFFF 0xFFFF 0x8000 0x0000 0x7FFF 0xFFFF 0x0000 0x0001
vT 0x8000 0xFFFF 0x1000 0x1001 0x7FFF 0xFFFF 0xFFFF 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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; VMACU
;; also check accumulator
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmacu
element vector
vS 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF
vT 0x0001 0x0001 0x0001 0x0001 0x0001 0x0001 0x0001 0x0001
vAccL 0x0001 0x0001 0x0001 0x0001 0x0001 0x0001 0x0001 0x0001
vAccM 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF
vAccH 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmacu
element vector
vS 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF
vAccL 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vAccM 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vAccH 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmacu
element vector
vS 0x0055 0x0055 0x0055 0x0055 0x0055 0x0055 0x0055 0x0055
vT 0x0101 0x0101 0x0101 0x0101 0x0101 0x0101 0x0101 0x0101
vAccL 0xAAAB 0xAAAB 0xAAAB 0xAAAB 0xAAAB 0xAAAB 0xAAAB 0xAAAB
vAccM 0x7FFF 0x7FFF 0x7FFF 0x7FFF 0x7FFF 0x7FFF 0x7FFF 0x7FFF
vAccH 0x7FFF 0x7FFF 0x7FFF 0x7FFF 0x7FFF 0x7FFF 0x7FFF 0x7FFF
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmacu
element 3h
vS 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE
vT 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 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 vmacu
element 1q
vS 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE
vT 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 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 vmacu
element 5w
vS 0x0000 0x0001 0xFFFF 0x8000 0x8001 0x7FFF 0x0002 0xFFFE
vT 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 0x0001 0xFFFF 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