vmu2.in
5.72 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 $v13
reg_assign vT $v14
reg_assign vD $v15
reg_assign vDexp $v16
reg_assign vTemp $v17
reg_assign vAccL $v18
reg_assign vAccM $v19
reg_assign vAccH $v20
reg_assign vAccLexp $v21
reg_assign vAccMexp $v22
reg_assign vAccHexp $v23
reg_assign v4000 $v24
reg_assign v0001 $v25
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; 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