vmu4.in
6.02 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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; 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 $v1
reg_assign vT $v4
reg_assign vD $v7
reg_assign vDexp $v10
reg_assign vTemp $v13
reg_assign vAccL $v16
reg_assign vAccM $v19
reg_assign vAccH $v22
reg_assign vAccLexp $v25
reg_assign vAccMexp $v28
reg_assign vAccHexp $v31
reg_assign v4000 $v5
reg_assign v0001 $v2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; VMUDN
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmudn
element 6w
vS 0xe369 0xc6d3 0x8da7 0x1b4f 0x369e 0x6d3c 0xda78 0xb4f1
vT 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x78e0 0x0000
vAccL 0xe380 0xc700 0x8e00 0x1c01 0x3803 0x7007 0xe00f 0xc01e
vAccM 0x803c 0x0078 0x00f1 0x01e2 0x03c5 0x078b 0x0f16 0x1e2c
vAccH 0x3c59 0x78b3 0xf167 0xe2ce 0xc59c 0x8b38 0x1670 0x2ce1
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmudn
element 0h
vS 0xf01f 0xe03f 0xc07f 0x80fe 0x01fd 0x03fa 0x07f5 0x0feb
vT 0x1fd7 0x0000 0x0000 0x0000 0xfd79 0x0000 0x0000 0x0000
vAccL 0xd793 0xaf27 0x5e4e 0xbc9d 0x793a 0xf275 0xe4eb 0xc9d7
vAccM 0x93af 0x275e 0x4ebc 0x9d78 0x3af1 0x75e3 0xebc6 0xd78d
vAccH 0xaf1b 0x5e36 0xbc6c 0x78d9 0xf1b2 0xe364 0xc6c9 0x8d93
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmudn
element 1q
vS 0x917c 0x22f8 0x45f0 0x8be1 0x17c3 0x2f86 0x5f0c 0xbe19
vT 0x7c32 0x0000 0xf0c9 0x0000 0xc326 0x0000 0x0c9a 0x0000
vAccL 0x326b 0x64d7 0xc9ae 0x935c 0x26b8 0x4d71 0x9ae2 0x35c4
vAccM 0x6b89 0xd713 0xae26 0x5c4d 0xb89b 0x7137 0xe26f 0xc4df
vAccH 0x89bf 0x137f 0x26fe 0x4dfd 0x9bfb 0x37f6 0x6fed 0xdfda
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmudn
element vector
vS 0x0001 0x0000 0x0001 0x0001 0xffff 0x8001 0x7fff 0x8001
vT 0x0001 0x0001 0x0000 0xffff 0x0001 0x7fff 0x8001 0x8001
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x0000
vAccH 0x1234 0x5678 0x9abc 0xdef0 0xfedc 0xba98 0x7654 0x3210
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; VMUDM
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmudm
element 7w
vS 0xedd9 0xdbb3 0xb767 0x6ecf 0xdd9e 0xbb3c 0x7678 0xecf1
vT 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0xf11b
vAccL 0xe236 0xc46c 0x88d8 0x11b0 0x2360 0x46c1 0x8d83 0x1b06
vAccM 0x360d 0x6c1b 0xd837 0xb06e 0x60dc 0xc1b8 0x8371 0x06e3
vAccH 0x0dc6 0x1b8c 0x3718 0x6e30 0xdc60 0xb8c0 0x7180 0xe301
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmudm
op vmudm
element 1h
vS 0x1294 0x2528 0x4a50 0x94a0 0x2940 0x5280 0xa500 0x4a01
vT 0x0000 0x2807 0x0000 0x0000 0x0000 0x8070 0x0000 0x0000
vAccL 0x0384 0x0709 0x0e13 0x1c27 0x384f 0x709e 0xe13c 0xc279
vAccM 0x84f2 0x09e4 0x13c9 0x2792 0x4f25 0x9e4b 0x3c96 0x792c
vAccH 0xf259 0xe4b2 0xc965 0x92ca 0x2594 0x4b28 0x9650 0x2ca1
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmudm
element 0q
vS 0x159c 0x2b38 0x5670 0xace1 0x59c3 0xb387 0x670e 0xce1d
vT 0x9c3b 0x0000 0x70ec 0x0000 0xc3b3 0x0000 0x0ecd 0x0000
vAccL 0x3b35 0x766b 0xecd7 0xd9ae 0xb35d 0x66bb 0xcd76 0x9aed
vAccM 0x35da 0x6bb5 0xd76b 0xaed6 0x5dad 0xbb5a 0x76b5 0xed6a
vAccH 0xdad4 0xb5a8 0x6b50 0xd6a0 0xad40 0x5a80 0xb501 0x6a03
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Slice0: (1,8001)
;; Slice1: (8001,1)
;; Slice2: (7fff,7fff)
;; Slice3: (8000,0)
;; Slice4: (0,8000)
;; Slice5: (8000,1)
;; Slice6: (1,8000)
;; Slice7: (8000,8000)
;;
start
op vmudm
element vector
vS 0x0001 0x8001 0x7fff 0x8000 0x0000 0x8000 0x0001 0x8000
vT 0x8001 0x0001 0x7fff 0x0000 0x8000 0x0001 0x8000 0x8000
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x0000
vAccH 0x1234 0x5678 0x9abc 0xdef0 0xfedc 0xba98 0x7654 0x3210
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; VMUDL
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmudl
element 0w
vS 0xde03 0xbc07 0x780e 0xf01c 0xe038 0xc070 0x80e1 0x01c2
vT 0x0384 0x0709 0x0e13 0x1c27 0x384f 0x709e 0xe13c 0xc279
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x0000
vAccH 0x1234 0x5678 0x9abc 0xdef0 0xfedc 0xba98 0x7654 0x3210
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op vmudl
element 1h
vS 0x4f37 0x9e6e 0x3cdd 0x79ba 0xf375 0xe6eb 0xcdd7 0x9baf
vT 0x375e 0x6ebc 0xdd78 0xbaf1 0x75e2 0xebc4 0xd789 0xaf13
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x0000
vAccH 0x1234 0x5678 0x9abc 0xdef0 0xfedc 0xba98 0x7654 0x3210
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
start
op vmudl
element 1q
vS 0x0c8a 0x1914 0x3228 0x6450 0xc8a1 0x9143 0x2287 0x450e
vT 0x8a1d 0x143b 0x2876 0x50ec 0xa1d9 0x43b3 0x8766 0x0ecd
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x0000
vAccH 0x1234 0x5678 0x9abc 0xdef0 0xfedc 0xba98 0x7654 0x3210
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Slice0: (1,8001)
;; Slice1: (8001,1)
;; Slice2: (7fff,7fff)
;; Slice3: (8000,0)
;; Slice4: (0,8000)
;; Slice5: (8000,1)
;; Slice6: (1,8000)
;; Slice7: (8000,8000)
;;
start
op vmudl
element vector
vS 0x0001 0x8001 0x7fff 0x8000 0x0000 0x8000 0x0001 0x8000
vT 0x8001 0x0001 0x7fff 0x0000 0x8000 0x0001 0x8000 0x8000
vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x0000
vAccH 0x1234 0x5678 0x9abc 0xdef0 0xfedc 0xba98 0x7654 0x3210
end