diff options
author | Christoph Lauter <christoph.lauter@lip6.fr> | 2023-01-26 09:45:45 -0700 |
---|---|---|
committer | Christoph Lauter <christoph.lauter@lip6.fr> | 2023-01-26 09:45:45 -0700 |
commit | 632517011d756da5b0e5ddb38348df0454254621 (patch) | |
tree | 8513a9317c4acac7be8817b61e8e86486ff2652f | |
parent | ad15cf439755e4f217b383ad0eb1ed209f1d93ed (diff) |
Increasing max FIFO size for feature request 5875, adapting tests
Change-Id: Iae76d87cf436c80c005a2f8fce5a30f74f7e4545
-rw-r--r-- | src/octoi/frame_fifo.h | 2 | ||||
-rw-r--r-- | tests/rifo/rifo_test.c | 37 | ||||
-rw-r--r-- | tests/rifo/rifo_test.ok | 208 |
3 files changed, 130 insertions, 117 deletions
diff --git a/src/octoi/frame_fifo.h b/src/octoi/frame_fifo.h index ee9f079..c601b07 100644 --- a/src/octoi/frame_fifo.h +++ b/src/octoi/frame_fifo.h @@ -4,7 +4,7 @@ #include <stddef.h> #define BYTES_PER_FRAME 32 -#define FRAMES_PER_FIFO 800 +#define FRAMES_PER_FIFO 1792 struct frame_fifo { uint8_t *next_in; /* where to write next input into FIFO */ diff --git a/tests/rifo/rifo_test.c b/tests/rifo/rifo_test.c index 4e7ae45..ec90ce7 100644 --- a/tests/rifo/rifo_test.c +++ b/tests/rifo/rifo_test.c @@ -11,6 +11,16 @@ static void *g_e1d_ctx; static uint32_t init_next_out_fn; +#define FN_ABS_TO_REL(fn) ((int) (((int64_t) (fn)) - ((int64_t) init_next_out_fn))) +#define ABS_DECISION(depth) (((long long int) ((depth))) <= \ + ((long long int) (FRAMES_PER_FIFO / 2))) +#define DEPTH_ABS_TO_REL(depth) ((ABS_DECISION((depth))) ? ((int) (depth)) : \ + (((int) (depth)) - (FRAMES_PER_FIFO - 1))) +#define ABS_DEPTH_STR(depth) ((ABS_DECISION((depth))) ? ("") : \ + ("FRAMES_PER_FIFO - 1 + ")) +#define ABS_DEPTH_PRINT(depth) ABS_DEPTH_STR((depth)), DEPTH_ABS_TO_REL((depth)) +#define FN_PRINT(fn) ABS_DEPTH_PRINT(FN_ABS_TO_REL((fn))) + static void rifo_init(struct frame_rifo *rifo) { frame_rifo_init(rifo); @@ -21,9 +31,10 @@ static void rifo_init(struct frame_rifo *rifo) static void rifo_in(struct frame_rifo *rifo, uint8_t *frame, uint32_t fn) { int rc = frame_rifo_in(rifo, frame, fn); - printf("RIFO_IN(%s, %u)=%d [depth=%u, frames=%u]\n", - osmo_hexdump_nospc(frame, BYTES_PER_FRAME), fn, rc, - frame_rifo_depth(rifo), frame_rifo_frames(rifo)); + unsigned int depth = frame_rifo_depth(rifo); + printf("RIFO_IN(%s, start fn + %s%d)=%d [depth=%s%d, frames=%u]\n", + osmo_hexdump_nospc(frame, BYTES_PER_FRAME), FN_PRINT(fn), rc, + ABS_DEPTH_PRINT(depth), frame_rifo_frames(rifo)); } static int rifo_out(struct frame_rifo *rifo, uint8_t *out) @@ -108,17 +119,18 @@ static void too_old_frames(void) printf("\nTEST: %s, starting at FN: %u\n", __func__, init_next_out_fn); - // Put 10 frames at absolute frame numbers 850-860 - // (to get outside of the 800 frame buffer) + // Put 10 frames at absolute frame numbers FRAMES_PER_FIFO+50 + // to FRAMES_PER_FIFO+60 (to get outside of the + // FRAMES_PER_FIFO frame buffer) const uint8_t in[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; for (int i = 0; i < sizeof(in); i++) { uint8_t frame[32]; memset(frame, in[i], sizeof(frame)); - rifo_in(&rifo, frame, init_next_out_fn + in[i] + 850); + rifo_in(&rifo, frame, init_next_out_fn + in[i] + FRAMES_PER_FIFO + 50); } - // Skip the first 850 frames - for (int i = 0; i < 850; i++) { + // Skip the first FRAMES_PER_FIFO + 50 frames + for (int i = 0; i < FRAMES_PER_FIFO + 50; i++) { uint8_t frame[32]; memset(frame, 0xff, sizeof(frame)); // Note: frame_rifo_out instead of rifo_out @@ -147,19 +159,20 @@ static void bound_check(void) frame_rifo_in(&rifo, frame, init_next_out_fn); frame_rifo_out(&rifo, frame); - // Put 11 frames at absolute frame numbers 791-801 + // Put 11 frames at absolute frame numbers FRAMES_PER_FIFO - + // 10 + 1 to FRAMES_PER_FIFO + 1 const uint8_t in[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for (int i = 0; i < sizeof(in); i++) { memset(frame, in[i], sizeof(frame)); - rifo_in(&rifo, frame, init_next_out_fn + in[i] + 791); + rifo_in(&rifo, frame, init_next_out_fn + in[i] + FRAMES_PER_FIFO - 10 + 1); } // Add frame at start offset memset(frame, 0xa5, sizeof(frame)); rifo_in(&rifo, frame, init_next_out_fn); - // Skip the first 790 frames - for (int i = 0; i < 790; i++) { + // Skip the first FRAMES_PER_FIFO - 10 frames + for (int i = 0; i < FRAMES_PER_FIFO - 10; i++) { memset(frame, 0xff, sizeof(frame)); // Note: frame_rifo_out instead of rifo_out // (just to ignore the output) diff --git a/tests/rifo/rifo_test.ok b/tests/rifo/rifo_test.ok index f705315..564acf3 100644 --- a/tests/rifo/rifo_test.ok +++ b/tests/rifo/rifo_test.ok @@ -1,10 +1,10 @@ TEST: missing_frames, starting at FN: 0 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 0)=0 [depth=1, frames=1] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 2)=0 [depth=3, frames=2] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4)=0 [depth=5, frames=3] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 6)=0 [depth=7, frames=4] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 8)=0 [depth=9, frames=5] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0 [depth=1, frames=1] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0 [depth=3, frames=2] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0 [depth=5, frames=3] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0 [depth=7, frames=4] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0 [depth=9, frames=5] RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=8, frames=4] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=7, frames=4] RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=6, frames=3] @@ -17,11 +17,11 @@ RIFO_OUT(0808080808080808080808080808080808080808080808080808080808080808)=0 [de RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] TEST: missing_frames, starting at FN: 0 -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 1)=0 [depth=2, frames=1] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 3)=0 [depth=4, frames=2] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 5)=0 [depth=6, frames=3] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 7)=0 [depth=8, frames=4] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 9)=0 [depth=10, frames=5] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0 [depth=2, frames=1] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0 [depth=4, frames=2] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0 [depth=6, frames=3] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0 [depth=8, frames=4] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0 [depth=10, frames=5] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=9, frames=5] RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8, frames=4] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=7, frames=4] @@ -34,16 +34,16 @@ RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [d RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0, frames=0] TEST: reordered_in, starting at FN: 0 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 0)=0 [depth=1, frames=1] -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 1)=0 [depth=2, frames=2] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4)=0 [depth=5, frames=3] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 3)=0 [depth=4, frames=4] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 5)=0 [depth=6, frames=5] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 2)=0 [depth=3, frames=6] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 6)=0 [depth=7, frames=7] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 7)=0 [depth=8, frames=8] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 8)=0 [depth=9, frames=9] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 9)=0 [depth=10, frames=10] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0 [depth=1, frames=1] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0 [depth=2, frames=2] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0 [depth=5, frames=3] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0 [depth=4, frames=4] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0 [depth=6, frames=5] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0 [depth=3, frames=6] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0 [depth=7, frames=7] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0 [depth=8, frames=8] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0 [depth=9, frames=9] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0 [depth=10, frames=10] RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9, frames=9] RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8, frames=8] RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7, frames=7] @@ -56,16 +56,16 @@ RIFO_OUT(0808080808080808080808080808080808080808080808080808080808080808)=0 [de RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0, frames=0] TEST: correct_order, starting at FN: 0 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 0)=0 [depth=1, frames=1] -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 1)=0 [depth=2, frames=2] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 2)=0 [depth=3, frames=3] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 3)=0 [depth=4, frames=4] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4)=0 [depth=5, frames=5] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 5)=0 [depth=6, frames=6] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 6)=0 [depth=7, frames=7] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 7)=0 [depth=8, frames=8] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 8)=0 [depth=9, frames=9] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 9)=0 [depth=10, frames=10] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0 [depth=1, frames=1] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0 [depth=2, frames=2] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0 [depth=3, frames=3] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0 [depth=4, frames=4] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0 [depth=5, frames=5] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0 [depth=6, frames=6] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0 [depth=7, frames=7] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0 [depth=8, frames=8] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0 [depth=9, frames=9] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0 [depth=10, frames=10] RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9, frames=9] RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8, frames=8] RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7, frames=7] @@ -78,16 +78,16 @@ RIFO_OUT(0808080808080808080808080808080808080808080808080808080808080808)=0 [de RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0, frames=0] TEST: too_old_frames, starting at FN: 0 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 850)=-34 [depth=0, frames=0] -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 851)=-34 [depth=0, frames=0] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 852)=-34 [depth=0, frames=0] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 853)=-34 [depth=0, frames=0] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 854)=-34 [depth=0, frames=0] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 855)=-34 [depth=0, frames=0] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 856)=-34 [depth=0, frames=0] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 857)=-34 [depth=0, frames=0] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 858)=-34 [depth=0, frames=0] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 859)=-34 [depth=0, frames=0] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + FRAMES_PER_FIFO - 1 + 51)=-34 [depth=0, frames=0] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + FRAMES_PER_FIFO - 1 + 52)=-34 [depth=0, frames=0] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + FRAMES_PER_FIFO - 1 + 53)=-34 [depth=0, frames=0] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + FRAMES_PER_FIFO - 1 + 54)=-34 [depth=0, frames=0] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + FRAMES_PER_FIFO - 1 + 55)=-34 [depth=0, frames=0] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + FRAMES_PER_FIFO - 1 + 56)=-34 [depth=0, frames=0] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + FRAMES_PER_FIFO - 1 + 57)=-34 [depth=0, frames=0] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + FRAMES_PER_FIFO - 1 + 58)=-34 [depth=0, frames=0] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + FRAMES_PER_FIFO - 1 + 59)=-34 [depth=0, frames=0] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + FRAMES_PER_FIFO - 1 + 60)=-34 [depth=0, frames=0] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] @@ -100,18 +100,18 @@ RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [d RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] TEST: bound_check, starting at FN: 0 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 791)=0 [depth=791, frames=1] -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 792)=0 [depth=792, frames=2] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 793)=0 [depth=793, frames=3] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 794)=0 [depth=794, frames=4] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 795)=0 [depth=795, frames=5] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 796)=0 [depth=796, frames=6] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 797)=0 [depth=797, frames=7] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 798)=0 [depth=798, frames=8] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 799)=0 [depth=799, frames=9] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 800)=0 [depth=800, frames=10] -RIFO_IN(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, 801)=-34 [depth=800, frames=10] -RIFO_IN(a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5, 0)=-34 [depth=800, frames=10] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + FRAMES_PER_FIFO - 1 + -8)=0 [depth=FRAMES_PER_FIFO - 1 + -8, frames=1] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + FRAMES_PER_FIFO - 1 + -7)=0 [depth=FRAMES_PER_FIFO - 1 + -7, frames=2] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + FRAMES_PER_FIFO - 1 + -6)=0 [depth=FRAMES_PER_FIFO - 1 + -6, frames=3] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + FRAMES_PER_FIFO - 1 + -5)=0 [depth=FRAMES_PER_FIFO - 1 + -5, frames=4] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + FRAMES_PER_FIFO - 1 + -4)=0 [depth=FRAMES_PER_FIFO - 1 + -4, frames=5] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + FRAMES_PER_FIFO - 1 + -3)=0 [depth=FRAMES_PER_FIFO - 1 + -3, frames=6] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + FRAMES_PER_FIFO - 1 + -2)=0 [depth=FRAMES_PER_FIFO - 1 + -2, frames=7] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + FRAMES_PER_FIFO - 1 + -1)=0 [depth=FRAMES_PER_FIFO - 1 + -1, frames=8] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + FRAMES_PER_FIFO - 1 + 0)=0 [depth=FRAMES_PER_FIFO - 1 + 0, frames=9] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + FRAMES_PER_FIFO - 1 + 1)=0 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10] +RIFO_IN(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, start fn + FRAMES_PER_FIFO - 1 + 2)=-34 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10] +RIFO_IN(a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5, start fn + 0)=-34 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10] RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9, frames=9] RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8, frames=8] RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7, frames=7] @@ -124,11 +124,11 @@ RIFO_OUT(0808080808080808080808080808080808080808080808080808080808080808)=0 [de RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0, frames=0] TEST: missing_frames, starting at FN: 4294967290 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 4294967290)=0 [depth=1, frames=1] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 4294967292)=0 [depth=3, frames=2] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4294967294)=0 [depth=5, frames=3] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 0)=0 [depth=7, frames=4] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 2)=0 [depth=9, frames=5] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0 [depth=1, frames=1] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0 [depth=3, frames=2] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0 [depth=5, frames=3] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0 [depth=7, frames=4] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0 [depth=9, frames=5] RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=8, frames=4] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=7, frames=4] RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=6, frames=3] @@ -141,11 +141,11 @@ RIFO_OUT(0808080808080808080808080808080808080808080808080808080808080808)=0 [de RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] TEST: missing_frames, starting at FN: 4294967290 -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 4294967291)=0 [depth=2, frames=1] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 4294967293)=0 [depth=4, frames=2] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 4294967295)=0 [depth=6, frames=3] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 1)=0 [depth=8, frames=4] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 3)=0 [depth=10, frames=5] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0 [depth=2, frames=1] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0 [depth=4, frames=2] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0 [depth=6, frames=3] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0 [depth=8, frames=4] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0 [depth=10, frames=5] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=9, frames=5] RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8, frames=4] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=7, frames=4] @@ -158,16 +158,16 @@ RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [d RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0, frames=0] TEST: reordered_in, starting at FN: 4294967290 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 4294967290)=0 [depth=1, frames=1] -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 4294967291)=0 [depth=2, frames=2] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4294967294)=0 [depth=5, frames=3] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 4294967293)=0 [depth=4, frames=4] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 4294967295)=0 [depth=6, frames=5] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 4294967292)=0 [depth=3, frames=6] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 0)=0 [depth=7, frames=7] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 1)=0 [depth=8, frames=8] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 2)=0 [depth=9, frames=9] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 3)=0 [depth=10, frames=10] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0 [depth=1, frames=1] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0 [depth=2, frames=2] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0 [depth=5, frames=3] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0 [depth=4, frames=4] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0 [depth=6, frames=5] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0 [depth=3, frames=6] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0 [depth=7, frames=7] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0 [depth=8, frames=8] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0 [depth=9, frames=9] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0 [depth=10, frames=10] RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9, frames=9] RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8, frames=8] RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7, frames=7] @@ -180,16 +180,16 @@ RIFO_OUT(0808080808080808080808080808080808080808080808080808080808080808)=0 [de RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0, frames=0] TEST: correct_order, starting at FN: 4294967290 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 4294967290)=0 [depth=1, frames=1] -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 4294967291)=0 [depth=2, frames=2] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 4294967292)=0 [depth=3, frames=3] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 4294967293)=0 [depth=4, frames=4] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4294967294)=0 [depth=5, frames=5] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 4294967295)=0 [depth=6, frames=6] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 0)=0 [depth=7, frames=7] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 1)=0 [depth=8, frames=8] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 2)=0 [depth=9, frames=9] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 3)=0 [depth=10, frames=10] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0 [depth=1, frames=1] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0 [depth=2, frames=2] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0 [depth=3, frames=3] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0 [depth=4, frames=4] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0 [depth=5, frames=5] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0 [depth=6, frames=6] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0 [depth=7, frames=7] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0 [depth=8, frames=8] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0 [depth=9, frames=9] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0 [depth=10, frames=10] RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9, frames=9] RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8, frames=8] RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7, frames=7] @@ -202,16 +202,16 @@ RIFO_OUT(0808080808080808080808080808080808080808080808080808080808080808)=0 [de RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0, frames=0] TEST: too_old_frames, starting at FN: 4294967290 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 844)=-34 [depth=0, frames=0] -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 845)=-34 [depth=0, frames=0] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 846)=-34 [depth=0, frames=0] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 847)=-34 [depth=0, frames=0] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 848)=-34 [depth=0, frames=0] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 849)=-34 [depth=0, frames=0] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 850)=-34 [depth=0, frames=0] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 851)=-34 [depth=0, frames=0] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 852)=-34 [depth=0, frames=0] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 853)=-34 [depth=0, frames=0] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + FRAMES_PER_FIFO - 1 + 51)=-34 [depth=0, frames=0] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + FRAMES_PER_FIFO - 1 + 52)=-34 [depth=0, frames=0] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + FRAMES_PER_FIFO - 1 + 53)=-34 [depth=0, frames=0] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + FRAMES_PER_FIFO - 1 + 54)=-34 [depth=0, frames=0] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + FRAMES_PER_FIFO - 1 + 55)=-34 [depth=0, frames=0] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + FRAMES_PER_FIFO - 1 + 56)=-34 [depth=0, frames=0] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + FRAMES_PER_FIFO - 1 + 57)=-34 [depth=0, frames=0] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + FRAMES_PER_FIFO - 1 + 58)=-34 [depth=0, frames=0] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + FRAMES_PER_FIFO - 1 + 59)=-34 [depth=0, frames=0] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + FRAMES_PER_FIFO - 1 + 60)=-34 [depth=0, frames=0] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] @@ -224,18 +224,18 @@ RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [d RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0, frames=0] TEST: bound_check, starting at FN: 4294967290 -RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 785)=0 [depth=791, frames=1] -RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 786)=0 [depth=792, frames=2] -RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 787)=0 [depth=793, frames=3] -RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 788)=0 [depth=794, frames=4] -RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 789)=0 [depth=795, frames=5] -RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 790)=0 [depth=796, frames=6] -RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 791)=0 [depth=797, frames=7] -RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 792)=0 [depth=798, frames=8] -RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 793)=0 [depth=799, frames=9] -RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 794)=0 [depth=800, frames=10] -RIFO_IN(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, 795)=-34 [depth=800, frames=10] -RIFO_IN(a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5, 4294967290)=-34 [depth=800, frames=10] +RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + FRAMES_PER_FIFO - 1 + -8)=0 [depth=FRAMES_PER_FIFO - 1 + -8, frames=1] +RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + FRAMES_PER_FIFO - 1 + -7)=0 [depth=FRAMES_PER_FIFO - 1 + -7, frames=2] +RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + FRAMES_PER_FIFO - 1 + -6)=0 [depth=FRAMES_PER_FIFO - 1 + -6, frames=3] +RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + FRAMES_PER_FIFO - 1 + -5)=0 [depth=FRAMES_PER_FIFO - 1 + -5, frames=4] +RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + FRAMES_PER_FIFO - 1 + -4)=0 [depth=FRAMES_PER_FIFO - 1 + -4, frames=5] +RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + FRAMES_PER_FIFO - 1 + -3)=0 [depth=FRAMES_PER_FIFO - 1 + -3, frames=6] +RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + FRAMES_PER_FIFO - 1 + -2)=0 [depth=FRAMES_PER_FIFO - 1 + -2, frames=7] +RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + FRAMES_PER_FIFO - 1 + -1)=0 [depth=FRAMES_PER_FIFO - 1 + -1, frames=8] +RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + FRAMES_PER_FIFO - 1 + 0)=0 [depth=FRAMES_PER_FIFO - 1 + 0, frames=9] +RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + FRAMES_PER_FIFO - 1 + 1)=0 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10] +RIFO_IN(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, start fn + FRAMES_PER_FIFO - 1 + 2)=-34 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10] +RIFO_IN(a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5, start fn + 0)=-34 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10] RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9, frames=9] RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8, frames=8] RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7, frames=7] |