vmu2.in 5.71 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         $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