enable result check in raven_spn fw

This commit is contained in:
Stanislaw Kaushanski 2021-03-10 12:05:23 +01:00
parent 6bfe684e73
commit 3743cbfecd
3 changed files with 4 additions and 6 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>raven_spn</name> <name>fpga_spn</name>
<comment></comment> <comment></comment>
<projects> <projects>
<project>bsp</project> <project>bsp</project>

Binary file not shown.

View File

@ -29,7 +29,6 @@ void check_results(int addr, int k, int step) {
bool result = 0; bool result = 0;
double *res_base = (double*) (addr); double *res_base = (double*) (addr);
int * error_exit = (int *)0xF0000000; int * error_exit = (int *)0xF0000000;
printf("Start result comparison %d - %d\n", k, k+step);
for (int i = 0; i < step; i++) { for (int i = 0; i < step; i++) {
@ -76,7 +75,7 @@ int main() {
printf("Result Bytes: %d\n", result_bytes); printf("Result Bytes: %d\n", result_bytes);
uint32_t step = 500; uint32_t step = 500;
uint32_t iterations = 10; uint32_t iterations = 20;
uint32_t in_beats = (step * sample_bytes) / axi_bytes; uint32_t in_beats = (step * sample_bytes) / axi_bytes;
if (in_beats * axi_bytes < step * sample_bytes) in_beats++; if (in_beats * axi_bytes < step * sample_bytes) in_beats++;
@ -86,16 +85,15 @@ int main() {
int in_addr = (int)input_data.data(); int in_addr = (int)input_data.data();
int out_addr = 0x800B0000; int out_addr = 0x800B0000;
//run_xspn(in_addr, out_addr);
for (int k = 0; k < iterations*step; k+=step) { for (int k = 0; k < iterations*step; k+=step) {
printf("XSPN processes samples %d - %d\n", k, k+step); printf("XSPN processes samples %d - %d\n", k, k+step);
run_xspn(in_addr, out_addr, step, in_beats, out_beats); run_xspn(in_addr, out_addr, step, in_beats, out_beats);
wait_for_interrupt(); wait_for_interrupt();
printf("XSPN finished\n"); printf("XSPN finished\n");
spn::interrupt_reg() = 1; spn::interrupt_reg() = 1;
//check_results(out_addr, 0, step); check_results(out_addr, k, step);
//in_addr += step * sample_bytes; // 5 bytes in each sample in_addr += step * sample_bytes; // 5 bytes in each sample
} }
return 0; return 0;