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