vmu5.in 5.87 KB
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;							;;
;;  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         $v31
reg_assign vT         $v0
reg_assign vD         $v30
reg_assign vDexp      $v1
reg_assign vTemp      $v29
reg_assign vAccL      $v2
reg_assign vAccM      $v28
reg_assign vAccH      $v3
reg_assign vAccLexp   $v27
reg_assign vAccMexp   $v4
reg_assign vAccHexp   $v26
reg_assign v4000      $v5
reg_assign v0001      $v25
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; VMUDH
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmudh
element 1w

vS    0x16a6 0x2d4c 0x5a99 0xb532 0x6a65 0xd4ca 0xa994 0x5329
vT    0x0000 0x4ca5 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x52fc 0xa5f9 0x4bf3 0x97e7 0x2fcf 0x5f9e 0xbf3c 0x7e79
vAccM 0xfcf2 0xf9e5 0xf3cb 0xe797 0xcf2f 0x9e5f 0x3cbe 0x797c
vAccH 0xf2f8 0xe5f1 0xcbe3 0x97c7 0x2f8f 0x5f1f 0xbe3f 0x7c7f

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmudh
element 1h

vS    0x047d 0x08fb 0x11f6 0x23ec 0x47d9 0x8fb3 0x1f66 0x3ecd
vT    0x0000 0xfb35 0x0000 0x0000 0x0000 0xb35d 0x0000 0x0000

vAccL 0x9aed 0x35da 0x6bb5 0xd76b 0xaed6 0x5dad 0xbb5a 0x76b5
vAccM 0xed6a 0xdad5 0xb5aa 0x6b55 0xd6ab 0xad57 0x5aaf 0xb55e
vAccH 0x6abc 0xd578 0xaaf0 0x55e0 0xabc0 0x5781 0xaf03 0x5e06

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmudh
element 1q

vS    0x9519 0x2a32 0x5465 0xa8ca 0x5195 0xa32a 0x4655 0x8cab
vT    0x0000 0x32ac 0x0000 0xcab2 0x0000 0x2acb 0x0000 0xab2c

vAccL 0x5659 0xacb3 0x5966 0xb2cd 0x659a 0xcb35 0x966a 0x2cd4
vAccM 0x59a9 0xb353 0x66a7 0xcd4e 0x9a9c 0x3539 0x6a73 0xd4e7
vAccH 0xa9ce 0x539d 0xa73b 0x4e77 0x9cee 0x39dc 0x73b8 0xe771

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmudh
element vector

vS    0xf957 0xf2af 0xe55f 0xcabe 0x957d 0x2afa 0x55f4 0xabe9
vT    0x57d3 0xafa7 0x5f4e 0xbe9c 0x7d39 0xfa72 0xf4e5 0xe9cb

vAccL 0xd397 0xa72f 0x4e5e 0x9cbd 0x397a 0x72f5 0xe5ea 0xcbd5
vAccM 0x97ab 0x2f56 0x5eac 0xbd58 0x7ab0 0xf560 0xeac0 0xd580
vAccH 0xab00 0x5601 0xac03 0x5806 0xb00d 0x601b 0xc037 0x806e

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; VMADN
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmadn
element 2w

vS    0x7529 0xea52 0xd4a5 0xa94a 0x5294 0xa528 0x4a50 0x94a1
vT    0x0000 0x0000 0xa50e 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x43b9 0x8773 0x0ee7 0x1dcf 0x3b9e 0x773c 0xee79 0xdcf3
vAccM 0xb9e7 0x73cf 0xe79f 0xcf3f 0x9e7f 0x3cff 0x79ff 0xf3fe
vAccH 0xffff 0x0000 0xffff 0xffff 0xffff 0x0000 0x0000 0xffff

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmadn
element 2h

vS    0xe537 0xca6e 0x94dd 0x29ba 0x5374 0xa6e9 0x4dd2 0x9ba5
vT    0x0000 0x0000 0x74a3 0x0000 0x0000 0x0000 0xa38e 0x0000

vAccL 0x38e0 0x71c1 0xe383 0xc706 0x8e0c 0x1c18 0x3831 0x7062
vAccM 0xe0c4 0xc188 0x8310 0x0620 0x0c41 0x1882 0x3105 0x620b
vAccH 0xffff 0xffff 0xffff 0x0000 0x0000 0x0000 0x0000 0x0000

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmadn
element 0q

vS    0x8ace 0x159c 0x2b38 0x5670 0xace1 0x59c3 0xb387 0x670e
vT    0xce1d 0x0000 0x3876 0x0000 0xe1d9 0x0000 0x8766 0x0000

vAccL 0x1d9a 0x3b35 0x766b 0xecd7 0xd9ae 0xb35d 0x66bb 0xcd76
vAccM 0x9aed 0x35da 0x6bb5 0xd76b 0xaed6 0x5dad 0xbb5a 0x76b5
vAccH 0xffff 0x0000 0x0000 0xffff 0xffff 0x0000 0xffff 0x0000

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmadn
element vector

vS    0x01ff 0x03ff 0x07ff 0x0fff 0x1fff 0x3fff 0xabcd 0x1234
vT    0x7e00 0x7c00 0x7800 0x7000 0x6000 0x4000 0xef01 0x5678

vAccL 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0x0000
vAccM 0x1111 0x8222 0xb333 0x4444 0x5555 0xe666 0xf777 0x7fff
vAccH 0x0000 0xffff 0xffff 0x0000 0x0000 0xffff 0xffff 0x0000

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; VMADM
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmadm
element 3w

vS    0x49b2 0x9365 0x26ca 0x4d95 0x9b2a 0x3655 0x6caa 0xd954
vT    0x0000 0x0000 0x0000 0x9542 0x0000 0x0000 0x0000 0x0000

vAccL 0xa852 0x50a4 0xa148 0x4290 0x8520 0x0a41 0x1482 0x2904
vAccM 0x5208 0xa411 0x4823 0x9047 0x208f 0x411e 0x823c 0x0479
vAccH 0x0000 0xffff 0x0000 0xffff 0x0000 0x0000 0xffff 0x0000

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmadm
element 3h

vS    0x4a6e 0x94dd 0x29ba 0x5375 0xa6eb 0x4dd7 0x9baf 0x375e
vT    0x0000 0x0000 0x0000 0xaf3b 0x0000 0x0000 0x0000 0x3be2

vAccL 0xef8a 0xdf15 0xbe2b 0x7c57 0xf8ae 0xf15d 0xe2ba 0xc574
vAccM 0x8ae9 0x15d2 0x2ba5 0x574a 0xae94 0x5d28 0xba50 0x74a0
vAccH 0xffff 0x0000 0x0000 0x0000 0xffff 0x0000 0xffff 0x0000

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmadm
element 1q

vS    0x9403 0x2807 0x500e 0xa01c 0x4038 0x8070 0x00e1 0x01c2
vT    0x0000 0x0709 0x0000 0x1c27 0x0000 0x709e 0x0000 0xc279

vAccL 0x84f3 0x09e6 0x13cd 0x279b 0x4f37 0x9e6e 0x3cdd 0x79ba
vAccM 0xf375 0xe6eb 0xcdd7 0x9baf 0x375e 0x6ebc 0xdd78 0xbaf1
vAccH 0xffff 0xffff 0xffff 0xffff 0x0000 0x0000 0xffff 0xffff

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Slice0: (fe00,01ff)
;; Slice1: (fc00,03ff)
;; Slice2: (f800,07ff)
;; Slice3: (f000,0fff)
;; Slice4: (e000,1fff)
;; Slice5: (c000,3fff)
;; Slice6: (8000,7fff)
;; Slice7: (0000,ffff)
;;
start
op      vmadm
element vector

vS    0xfe00 0xfc00 0xf800 0xf000 0xe000 0xc000 0x8000 0x0000
vT    0x01ff 0x03ff 0x07ff 0x0fff 0x1fff 0x3fff 0x7fff 0xffff

vAccL 0xfe00 0xfc00 0xf800 0xf000 0xe000 0xc000 0x8000 0x0000
vAccM 0x01ff 0x03ff 0x07ff 0x0fff 0x1fff 0x3fff 0x7fff 0xffff
vAccH 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0xffff

end