Appendix A
Power
Consumption
Benchmark
The following benchmark program evaluates DSP56303 power use in a test situation. It enables the PLL,
disables the external clock, and uses repeated multiply-accumulate (MAC) instructions with a set of
synthetic DSP application data to emulate intensive sustained DSP operation.
;**************************************************************************
;**************************************************************************
;*
*
*
*
;* CHECKS
;*
Typical Power Consumption
;**************************************************************************
page
nolist
200,55,0,0,0
I_VEC EQU $000000; Interrupt vectors for program debug only
START EQU $8000; MAIN (external) program starting address
INT_PROG EQU $100 ; INTERNAL program memory starting address
INT_XDAT EQU $0; INTERNAL X-data memory starting address
INT_YDAT EQU $0; INTERNAL Y-data memory starting address
INCLUDE "ioequ.asm"
INCLUDE "intequ.asm"
list
org
P:START
;
movep #$0243FF,x:M_BCR ;; BCR: Area 3 = 2 w.s (SRAM)
; Default: 2w.s (SRAM)
;
movep
#$0d0000,x:M_PCTL
; XTAL disable
; PLL enable
; CLKOUT disable
;
; Load the program
;
move
move
do
move
move
nop
#INT_PROG,r0
#PROG_START,r1
#(PROG_END-PROG_START),PLOAD_LOOP
p:(r1)+,x0
x0,p:(r0)+
PLOAD_LOOP
;
; Load the X-data
;
move
move
do
move
move
#INT_XDAT,r0
#XDAT_START,r1
#(XDAT_END-XDAT_START),XLOAD_LOOP
p:(r1)+,x0
x0,x:(r0)+
XLOAD_LOOP
;
; Load the Y-data
;
move
move
do
move
move
#INT_YDAT,r0
#YDAT_START,r1
#(YDAT_END-YDAT_START),YLOAD_LOOP
p:(r1)+,x0
x0,y:(r0)+
YLOAD_LOOP
;
jmp
PROG_START
INT_PROG
move
#$0,r0
#$0,r4
#$3f,m0
#$3f,m4
move
move
move
;
clr
a
A-1