|
Message
From: cvs at opencores.org<cvs@o...>
Date: Thu Apr 26 00:15:06 CEST 2007
Subject: [cvs-checkins] MODIFIED: aemb ...
Date: 00/07/04 26:00:15 Modified: aemb/sw/c aeMB_testbench.c Log: Added support for 8-bit and 16-bit data types. Revision Changes Path 1.4 aemb/sw/c/aeMB_testbench.c http://www.opencores.org/cvsweb.shtml/aemb/sw/c/aeMB_testbench.c.diff?r1=1.3&r2=1.4 (In the diff below, changes in quantity of whitespace are not shown.) Index: aeMB_testbench.c =================================================================== RCS file: /cvsroot/sybreon/aemb/sw/c/aeMB_testbench.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -b -r1.3 -r1.4 --- aeMB_testbench.c 4 Apr 2007 14:09:04 -0000 1.3 +++ aeMB_testbench.c 25 Apr 2007 22:15:05 -0000 1.4 @@ -1,5 +1,5 @@ /* - * $Id: aeMB_testbench.c,v 1.3 2007/04/04 14:09:04 sybreon Exp $ + * $Id: aeMB_testbench.c,v 1.4 2007/04/25 22:15:05 sybreon Exp $ * * AEMB Function Verification C Testbench * Copyright (C) 2006 Shawn Tan Ser Ngiap <shawn.tan@a...> @@ -28,6 +28,9 @@ * * HISTORY * $Log: aeMB_testbench.c,v $ + * Revision 1.4 2007/04/25 22:15:05 sybreon + * Added support for 8-bit and 16-bit data types. + * * Revision 1.3 2007/04/04 14:09:04 sybreon * Added initial interrupt/exception support. * @@ -51,7 +54,7 @@ void int_call_func () { int *p; p = 0x88888888; - *p = 0x00ED557A; // Write a value to a IO port. + *p = 0x52544E49; // "INTR" } /* Recursive Version */ @@ -82,12 +85,27 @@ return p==a?*(p+2):*(p-1); } -/* Compare the Results */ +/* Various Test */ int main() { unsigned int n; unsigned int fib_fast, fib_slow; - unsigned int fib_lut[] = {0, + unsigned int fib_lut32[] = {0, + 1, + 1, + 2, + 3, + 5, + 8, + 13, + 21, + 34, + 55, + 89, + 144, + 233}; + + unsigned short fib_lut16[] = {0, 1, 1, 2, @@ -100,36 +118,37 @@ 55, 89, 144, - 233, - 377, - 610, - 987, - 1597, - 2584, - 4181, - 6765, - 10946, - 17711, - 28657, - 46368, - 75025, - 121393, - 196418, - 317811, - 514229, - 832040, - 1346269, - 2178309, - 3524578,
- 5702887};
+ 233};
- for (n=0;n<35;n++) {
+ unsigned char fib_lut8[] = {0,
+ 1,
+ 1,
+ 2,
+ 3,
+ 5,
+ 8,
+ 13,
+ 21,
+ 34,
+ 55,
+ 89,
+ 144,
+ 233};
+
+ for (n=0;n<14;n++) {
fib_slow = slowfib(n);
fib_fast = fastfib(n);
- while ((fib_fast != fib_lut[n]) || (fib_slow != fib_fast)) {
- fib_lut[n] = 0x00ED17FA;
+ while ((fib_slow != fib_fast) ||
+ (fib_fast != fib_lut32[n]) ||
+ (fib_fast != fib_lut16[n]) ||
+ (fib_fast != fib_lut8[n])) {
+ // "FAIL"
+ fib_lut32[n] = 0x4C494146;
}
+ // "PASS"
+ fib_lut32[n] = 0x53534150;
}
- return fib_fast;
+ return 0;
}
+
|
 |