URL
https://opencores.org/ocsvn/lxp32/lxp32/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 2 |
Rev 9 |
/*
|
/*
|
* This test calculates a few Fibonacci sequence members
|
* This test calculates a few Fibonacci sequence members
|
* end compares them to pre-calculated values.
|
* end compares them to pre-calculated values.
|
*/
|
*/
|
|
|
lc r100, 0x10000000 // test result output pointer
|
lc r100, 0x10000000 // test result output pointer
|
lc r101, halt
|
lc r101, halt
|
|
|
// Calculate Fibonacci sequence members
|
// Calculate Fibonacci sequence members
|
mov r16, 0 // current member
|
mov r16, 0 // current member
|
mov r17, 1 // next member
|
mov r17, 1 // next member
|
lc r18, 0 // counter
|
lc r18, 0 // counter
|
lc r19, 0x00008000 // destination pointer
|
lc r19, 0x00008000 // destination pointer
|
lc r32, calc_loop
|
lc r32, calc_loop
|
|
|
calc_loop:
|
calc_loop:
|
sw r19, r16
|
sw r19, r16
|
add r19, r19, 4
|
add r19, r19, 4
|
add r18, r18, 1
|
add r18, r18, 1
|
add r0, r16, r17
|
add r0, r16, r17
|
mov r16, r17
|
mov r16, r17
|
mov r17, r0
|
mov r17, r0
|
cjmpul r32, r18, 40
|
cjmpul r32, r18, 40
|
|
|
// Compare
|
// Compare
|
lc r16, 0x00008000
|
lc r16, 0x00008000
|
lc r17, expected
|
lc r17, expected
|
mov r18, 0 // counter
|
mov r18, 0 // counter
|
lc r32, comp_loop
|
lc r32, comp_loop
|
lc r33, comp_differ
|
lc r33, comp_differ
|
|
|
comp_loop:
|
comp_loop:
|
lw r0, r16
|
lw r0, r16
|
lw r1, r17
|
lw r1, r17
|
cjmpne r33, r0, r1
|
cjmpne r33, r0, r1
|
add r16, r16, 4
|
add r16, r16, 4
|
add r17, r17, 4
|
add r17, r17, 4
|
add r18, r18, 1
|
add r18, r18, 1
|
cjmpul r32, r18, 40
|
cjmpul r32, r18, 40
|
|
|
// Everything seems to be OK
|
// Everything seems to be OK
|
sw r100, 1
|
sw r100, 1
|
|
|
halt:
|
halt:
|
hlt
|
hlt
|
jmp r101
|
jmp r101
|
|
|
comp_differ:
|
comp_differ:
|
sw r100, 2
|
sw r100, 2
|
jmp r101
|
jmp r101
|
|
|
// Expected (pre-calculated) values
|
// Expected (pre-calculated) values
|
expected:
|
expected:
|
.word 0
|
.word 0
|
.word 1
|
.word 1
|
.word 1
|
.word 1
|
.word 2
|
.word 2
|
.word 3
|
.word 3
|
.word 5
|
.word 5
|
.word 8
|
.word 8
|
.word 13
|
.word 13
|
.word 21
|
.word 21
|
.word 34
|
.word 34
|
.word 55
|
.word 55
|
.word 89
|
.word 89
|
.word 144
|
.word 144
|
.word 233
|
.word 233
|
.word 377
|
.word 377
|
.word 610
|
.word 610
|
.word 987
|
.word 987
|
.word 1597
|
.word 1597
|
.word 2584
|
.word 2584
|
.word 4181
|
.word 4181
|
.word 6765
|
.word 6765
|
.word 10946
|
.word 10946
|
.word 17711
|
.word 17711
|
.word 28657
|
.word 28657
|
.word 46368
|
.word 46368
|
.word 75025
|
.word 75025
|
.word 121393
|
.word 121393
|
.word 196418
|
.word 196418
|
.word 317811
|
.word 317811
|
.word 514229
|
.word 514229
|
.word 832040
|
.word 832040
|
.word 1346269
|
.word 1346269
|
.word 2178309
|
.word 2178309
|
.word 3524578
|
.word 3524578
|
.word 5702887
|
.word 5702887
|
.word 9227465
|
.word 9227465
|
.word 14930352
|
.word 14930352
|
.word 24157817
|
.word 24157817
|
.word 39088169
|
.word 39088169
|
.word 63245986
|
.word 63245986
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.