Compare commits
3 commits
af95767f9e
...
d9fafc7437
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d9fafc7437 | ||
![]() |
a538f2d9a1 | ||
![]() |
8391563935 |
30 changed files with 1349 additions and 253 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -2,3 +2,4 @@ drawings/*.odg
|
||||||
drawings/*.odg#
|
drawings/*.odg#
|
||||||
*.mpf
|
*.mpf
|
||||||
work
|
work
|
||||||
|
**/__pycache__
|
||||||
|
|
|
@ -38,5 +38,5 @@ FIFO5 -> U -> Upstream
|
||||||
### Router
|
### Router
|
||||||

|

|
||||||
|
|
||||||
-- TODO: Test multicast x,y,4, test multiple data points
|
# TODO: delete line where header is compared to 1
|
||||||
-- TODO: read arrived data so that it doesn't stay in the buffer
|
# TODO: do throttle (many same data points) testw
|
260
test/input/noc_tests/random_pe_to_pe_test/result.ref
Normal file
260
test/input/noc_tests/random_pe_to_pe_test/result.ref
Normal file
|
@ -0,0 +1,260 @@
|
||||||
|
0 899 0001000000000001110111100100010000000000000000000000000000000001
|
||||||
|
0 771 0001000000000001110111100100010000000000000000000000000000000001
|
||||||
|
0 643 0001000000000001110111100100010000000000000000000000000000000001
|
||||||
|
0 515 0001000000000001110111100100010000000000000000000000000000000001
|
||||||
|
0 991 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 990 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 989 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 988 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 987 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 986 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 985 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 984 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 975 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 974 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 973 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 972 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 971 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 970 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 969 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 968 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 927 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 926 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 925 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 924 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 923 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 922 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 921 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 920 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 911 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 910 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 909 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 908 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 907 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 906 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 905 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 904 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 863 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 862 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 861 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 860 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 859 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 858 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 857 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 856 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 847 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 846 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 845 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 844 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 843 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 842 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 841 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 840 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 799 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 798 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 797 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 796 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 795 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 794 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 793 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 792 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 783 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 782 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 781 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 780 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 779 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 778 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 777 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 776 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 735 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 734 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 733 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 732 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 731 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 730 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 729 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 728 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 719 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 718 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 717 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 716 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 715 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 714 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 713 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 712 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 671 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 670 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 669 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 668 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 667 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 666 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 665 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 664 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 655 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 654 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 653 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 652 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 651 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 650 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 649 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 648 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 607 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 606 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 605 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 604 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 603 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 602 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 601 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 600 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 591 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 590 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 589 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 588 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 587 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 586 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 585 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 584 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 543 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 542 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 541 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 540 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 539 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 538 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 537 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 536 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 527 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 526 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 525 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 524 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 523 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 522 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 521 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 520 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 479 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 478 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 477 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 476 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 475 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 474 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 473 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 472 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 463 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 462 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 461 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 460 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 459 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 458 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 457 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 456 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 415 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 414 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 413 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 412 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 411 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 410 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 409 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 408 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 399 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 398 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 397 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 396 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 395 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 394 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 393 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 392 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 351 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 350 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 349 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 348 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 347 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 346 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 345 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 344 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 335 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 334 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 333 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 332 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 331 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 330 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 329 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 328 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 287 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 286 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 285 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 284 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 283 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 282 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 281 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 280 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 271 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 270 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 269 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 268 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 267 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 266 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 265 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 264 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 223 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 222 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 221 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 220 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 219 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 218 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 217 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 216 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 207 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 206 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 205 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 204 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 203 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 202 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 201 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 200 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 159 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 158 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 157 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 156 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 155 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 154 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 153 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 152 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 143 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 142 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 141 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 140 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 139 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 138 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 137 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 136 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 95 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 94 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 93 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 92 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 91 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 90 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 89 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 88 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 79 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 78 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 77 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 76 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 75 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 74 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 73 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 72 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 31 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 30 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 29 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 28 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 27 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 26 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 25 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 24 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 15 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 14 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 13 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 12 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 11 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 10 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 9 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 8 0001000000000010100010111100111111000000000000000000000000000001
|
65
test/input/noc_tests/random_pe_to_pe_test/simulation.log
Normal file
65
test/input/noc_tests/random_pe_to_pe_test/simulation.log
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
0 221 0001000000000010101100000000000000000000000000000000000000000001
|
||||||
|
0 145 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 147 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 149 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 151 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 153 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 155 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 157 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 159 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 177 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 179 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 181 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 183 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 185 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 187 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 189 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 191 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 401 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 403 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 405 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 407 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 409 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 411 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 413 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 415 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 433 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 435 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 437 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 439 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 441 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 443 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 445 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 447 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 657 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 659 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 661 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 663 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 665 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 667 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 669 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 671 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 689 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 691 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 693 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 695 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 697 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 699 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 701 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 703 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 913 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 915 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 917 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 919 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 921 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 923 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 925 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 927 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 945 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 947 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 949 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 951 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 953 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 955 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 957 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 959 0001000000000010100110001011110010000000000000000000000000000001
|
3
test/input/noc_tests/random_pe_to_pe_test/stimuli.txt
Normal file
3
test/input/noc_tests/random_pe_to_pe_test/stimuli.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# is external? | path | data
|
||||||
|
0 272 0001000000000001110111100100010000000000000000000000000000000001 # origin: (11111-01011) --> dest: (01110-11110,00110-01110)
|
||||||
|
0 863 0001000000000010100010111100111111000000000000000000000000000001 # origin: (01100-00000) --> dest: (10100-01011,00101-00000,10101-00001,11101-10111)
|
130
test/input/noc_tests/random_pe_to_pe_test/test.log
Normal file
130
test/input/noc_tests/random_pe_to_pe_test/test.log
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
0 221 0001000000000010101100000000000000000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 145 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 147 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 149 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 151 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 153 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 155 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 157 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 159 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 177 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 179 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 181 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 183 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 185 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 187 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 189 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 191 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 401 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 403 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 405 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 407 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 409 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 411 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 413 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 415 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 433 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 435 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 437 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 439 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 441 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 443 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 445 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 447 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 657 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 659 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 661 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 663 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 665 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 667 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 669 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 671 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 689 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 691 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 693 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 695 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 697 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 699 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 701 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 703 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 913 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 915 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 917 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 919 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 921 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 923 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 925 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 927 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 945 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 947 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 949 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 951 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 953 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 955 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 957 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 959 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
16
test/input/noc_tests/simple_multicast_4_test/result.ref
Normal file
16
test/input/noc_tests/simple_multicast_4_test/result.ref
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
0 765 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 761 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 757 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 753 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 701 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 697 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 693 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 689 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 637 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 633 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 629 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 625 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 573 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 569 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 565 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 561 0001000000000001011100000101001010000000000000000000000000000001
|
16
test/input/noc_tests/simple_multicast_4_test/simulation.log
Normal file
16
test/input/noc_tests/simple_multicast_4_test/simulation.log
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
0 561 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 565 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 569 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 573 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 625 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 629 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 633 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 637 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 689 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 693 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 697 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 701 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 753 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 757 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 761 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
0 765 0001000000000001011100000101001010000000000000000000000000000001
|
2
test/input/noc_tests/simple_multicast_4_test/stimuli.txt
Normal file
2
test/input/noc_tests/simple_multicast_4_test/stimuli.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
# is external? | path | data
|
||||||
|
0 971 0001000000000001011100000101001010000000000000000000000000000001 # origin: (00100-00110) --> dest: (01011-10000,00001-11010)
|
32
test/input/noc_tests/simple_multicast_4_test/test.log
Normal file
32
test/input/noc_tests/simple_multicast_4_test/test.log
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
0 561 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 565 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 569 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 573 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 625 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 629 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 633 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 637 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 689 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 693 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 697 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 701 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 753 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 757 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 761 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 765 0001000000000001011100000101001010000000000000000000000000000001
|
||||||
|
---> passed!
|
|
@ -1,2 +1,4 @@
|
||||||
0 1017 0001000000000000001000100001000010000000000000000000000000000001
|
0 1019 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
0 1011 0001000000000000010000100001000010000000000000000000000000000001
|
0 1017 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
0 1011 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
0 1009 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
0 1009 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
0 1011 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
0 1017 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
0 1019 0001000000000000001000100001100000000000000000000000000000000001
|
|
@ -1,2 +1,2 @@
|
||||||
# is external? | path | data
|
# is external? | path | data
|
||||||
0 971 0001000000000000001000100001000010000000000000000000000000000001
|
0 971 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
|
8
test/input/noc_tests/simple_multicast_x_test/test.log
Normal file
8
test/input/noc_tests/simple_multicast_x_test/test.log
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
0 1009 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 1011 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 1017 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 1019 0001000000000000001000100001100000000000000000000000000000000001
|
||||||
|
---> passed!
|
4
test/input/noc_tests/simple_multicast_y_test/result.ref
Normal file
4
test/input/noc_tests/simple_multicast_y_test/result.ref
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
0 1017 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
0 1016 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
0 1001 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
0 1000 0001000000000000001001110000000101000000000000000000000000000001
|
|
@ -0,0 +1,4 @@
|
||||||
|
0 1000 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
0 1001 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
0 1016 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
0 1017 0001000000000000001001110000000101000000000000000000000000000001
|
2
test/input/noc_tests/simple_multicast_y_test/stimuli.txt
Normal file
2
test/input/noc_tests/simple_multicast_y_test/stimuli.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
# is external? | path | data
|
||||||
|
0 971 0001000000000000001001110000000101000000000000000000000000000001
|
8
test/input/noc_tests/simple_multicast_y_test/test.log
Normal file
8
test/input/noc_tests/simple_multicast_y_test/test.log
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
0 1000 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 1001 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 1016 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 1017 0001000000000000001001110000000101000000000000000000000000000001
|
||||||
|
---> passed!
|
117
test/noc_tb.vhdl
117
test/noc_tb.vhdl
|
@ -42,63 +42,22 @@ architecture bench of noc_tb is
|
||||||
|
|
||||||
file conf_file : text open read_mode is "config.txt";
|
file conf_file : text open read_mode is "config.txt";
|
||||||
file stimuli_file : text open read_mode is "stimuli.txt";
|
file stimuli_file : text open read_mode is "stimuli.txt";
|
||||||
file reference_file : text open read_mode is "result.ref";
|
|
||||||
file log_file : text open write_mode is "simulation.log";
|
file log_file : text open write_mode is "simulation.log";
|
||||||
|
|
||||||
procedure log_test_result (
|
procedure log_test_result (
|
||||||
index : integer;
|
index : integer;
|
||||||
sollwert, istwert : WORD;
|
istwert : WORD;
|
||||||
is_external, soll_is_external : boolean;
|
is_external : std_logic;
|
||||||
sollpath, istpath : integer
|
istpath : integer
|
||||||
) is
|
) is
|
||||||
variable rowOut : LINE;
|
variable rowOut : LINE;
|
||||||
begin
|
begin
|
||||||
write(rowOut, index);
|
|
||||||
if is_external then
|
|
||||||
write(rowOut, string'(" = loop (path/fifo - external)"));
|
|
||||||
else
|
|
||||||
write(rowOut, string'(" = loop (path/fifo - PE)"));
|
|
||||||
end if;
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
|
|
||||||
write(rowOut, string'("-->"));
|
|
||||||
write(rowOut, sollwert);
|
|
||||||
write(rowOut, string'(" = sollwert"));
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
write(rowOut, string'("-->"));
|
|
||||||
write(rowOut, istwert);
|
|
||||||
write(rowOut, string'(" = istwert"));
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
|
|
||||||
write(rowOut, string'("-->"));
|
|
||||||
write(rowOut, soll_is_external);
|
|
||||||
write(rowOut, string'(" = soll is_external"));
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
write(rowOut, string'("-->"));
|
|
||||||
write(rowOut, is_external);
|
write(rowOut, is_external);
|
||||||
write(rowOut, string'(" = ist is_external"));
|
write(rowOut, string'(" "));
|
||||||
|
write(rowOut, index);
|
||||||
|
write(rowOut, string'(" "));
|
||||||
|
write(rowOut, istwert);
|
||||||
WRITELINE(log_file, rowOut);
|
WRITELINE(log_file, rowOut);
|
||||||
|
|
||||||
write(rowOut, string'("-->"));
|
|
||||||
write(rowOut, sollpath);
|
|
||||||
write(rowOut, string'(" = sollpath"));
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
write(rowOut, string'("-->"));
|
|
||||||
write(rowOut, istpath);
|
|
||||||
write(rowOut, string'(" = istpath"));
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
|
|
||||||
if istwert = sollwert and is_external = soll_is_external then
|
|
||||||
write(rowOut, string'("-------------------------->pass"));
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
write(rowOut, string'("******************************"));
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
else
|
|
||||||
write(rowOut, string'("-------------------------->fail"));
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
write(rowOut, string'("******************************"));
|
|
||||||
WRITELINE(log_file, rowOut);
|
|
||||||
end if;
|
|
||||||
end procedure;
|
end procedure;
|
||||||
begin
|
begin
|
||||||
|
|
||||||
|
@ -191,15 +150,11 @@ begin
|
||||||
wait;
|
wait;
|
||||||
end process;
|
end process;
|
||||||
|
|
||||||
validate_results: process(c_send_reqs, pe_send_reqs,
|
save_results: process(c_send_reqs, pe_send_reqs,
|
||||||
c_send_reqs_prev, pe_send_reqs_prev,
|
c_send_reqs_prev, pe_send_reqs_prev,
|
||||||
data_chip_out, pe_data_out)
|
data_chip_out, pe_data_out)
|
||||||
variable input_line : line;
|
variable istwert : WORD;
|
||||||
variable valid_data : boolean;
|
variable istpath : integer;
|
||||||
variable istwert, sollwert : WORD;
|
|
||||||
variable is_external : std_logic_vector(0 downto 0);
|
|
||||||
variable ist_is_external : boolean;
|
|
||||||
variable istpath, sollpath : integer;
|
|
||||||
begin
|
begin
|
||||||
if c_send_reqs'event or c_send_reqs_prev'event then
|
if c_send_reqs'event or c_send_reqs_prev'event then
|
||||||
for i in 0 to num_paths_ext*4-1 loop
|
for i in 0 to num_paths_ext*4-1 loop
|
||||||
|
@ -207,30 +162,8 @@ begin
|
||||||
(c_send_reqs(i) = '1' and c_send_reqs_prev(i) = '0') then
|
(c_send_reqs(i) = '1' and c_send_reqs_prev(i) = '0') then
|
||||||
istwert := data_chip_out(i);
|
istwert := data_chip_out(i);
|
||||||
istpath := i;
|
istpath := i;
|
||||||
readline(reference_file, input_line);
|
log_test_result(i, istwert, '1', istpath);
|
||||||
|
c_send_ack(i) <= not c_send_ack(i);
|
||||||
read(input_line, is_external, valid_data);
|
|
||||||
assert valid_data report "Invalid data in file (is external)"
|
|
||||||
severity error;
|
|
||||||
|
|
||||||
ist_is_external := is_external(0) = '1';
|
|
||||||
assert ist_is_external report "Invalid result (is external)"
|
|
||||||
severity warning;
|
|
||||||
|
|
||||||
read(input_line, sollpath, valid_data);
|
|
||||||
assert valid_data report "Invalid data in file (path)"
|
|
||||||
severity error;
|
|
||||||
assert istpath = sollpath report "Invalid result (path)"
|
|
||||||
severity warning;
|
|
||||||
|
|
||||||
read(input_line, sollwert, valid_data);
|
|
||||||
assert valid_data report "Invalid data in file (data)"
|
|
||||||
severity error;
|
|
||||||
assert istwert = sollwert report "Invalid result (data)"
|
|
||||||
severity warning;
|
|
||||||
|
|
||||||
log_test_result(i, istwert, sollwert, TRUE, ist_is_external,
|
|
||||||
sollpath, istpath);
|
|
||||||
end if;
|
end if;
|
||||||
end loop;
|
end loop;
|
||||||
elsif pe_send_reqs'event or pe_send_reqs_prev'event then
|
elsif pe_send_reqs'event or pe_send_reqs_prev'event then
|
||||||
|
@ -239,30 +172,8 @@ begin
|
||||||
(pe_send_reqs(i) = '1' and pe_send_reqs_prev(i) = '0') then
|
(pe_send_reqs(i) = '1' and pe_send_reqs_prev(i) = '0') then
|
||||||
istwert := pe_data_out(i);
|
istwert := pe_data_out(i);
|
||||||
istpath := i;
|
istpath := i;
|
||||||
readline(reference_file, input_line);
|
log_test_result(i, istwert, '0', istpath);
|
||||||
|
pe_send_ack(i) <= not pe_send_ack(i);
|
||||||
read(input_line, is_external, valid_data);
|
|
||||||
assert valid_data report "Invalid data in file (is external)"
|
|
||||||
severity error;
|
|
||||||
|
|
||||||
ist_is_external := is_external(0) = '1';
|
|
||||||
assert not ist_is_external report "Invalid result (is external)"
|
|
||||||
severity warning;
|
|
||||||
|
|
||||||
read(input_line, sollpath, valid_data);
|
|
||||||
assert valid_data report "Invalid data in file (path)"
|
|
||||||
severity error;
|
|
||||||
assert istpath = sollpath report "Invalid result (path)"
|
|
||||||
severity warning;
|
|
||||||
|
|
||||||
read(input_line, sollwert, valid_data);
|
|
||||||
assert valid_data report "Invalid data in file (data)"
|
|
||||||
severity error;
|
|
||||||
assert istwert = sollwert report "Invalid result (data)"
|
|
||||||
severity warning;
|
|
||||||
|
|
||||||
log_test_result(i, istwert, sollwert, FALSE, ist_is_external,
|
|
||||||
sollpath, istpath);
|
|
||||||
end if;
|
end if;
|
||||||
end loop;
|
end loop;
|
||||||
end if;
|
end if;
|
||||||
|
|
|
@ -1,140 +0,0 @@
|
||||||
NUM_PE = 1024
|
|
||||||
HEADER = "0001"
|
|
||||||
CHIP_X = "00000"
|
|
||||||
CHIP_Y = "00000"
|
|
||||||
NO_COPY = "00000"
|
|
||||||
sender_paths = [["00100","00110"]] # x,y
|
|
||||||
recv_paths = [["00001","00010","00010","00010"]]
|
|
||||||
|
|
||||||
stimuli = "# is external? | path | data\n"
|
|
||||||
reference = ""
|
|
||||||
ref_path_count = [96,64,32,0] # N,S,W,E
|
|
||||||
|
|
||||||
def get_index_path(path_x : str, path_y : str):
|
|
||||||
index_path = NUM_PE-1
|
|
||||||
for i in range(len(path_x)):
|
|
||||||
index_path -= (4**i)*(int(path_x[4-i])*2 + int(path_y[4-i]))
|
|
||||||
return index_path
|
|
||||||
|
|
||||||
def get_multicast_reference(copy_x, copy_y, recv_path, packets):
|
|
||||||
x_paths = []
|
|
||||||
y_paths = []
|
|
||||||
x_poss_paths = []
|
|
||||||
y_poss_paths = []
|
|
||||||
path_packets = []
|
|
||||||
num_paths = 1
|
|
||||||
for i in range(len(copy_x)):
|
|
||||||
if copy_x[i] == "1" and copy_y == "1":
|
|
||||||
x_poss_paths.append(["0","0","1","1"])
|
|
||||||
y_poss_paths.append(["0","1","0","1"])
|
|
||||||
num_paths *= 4
|
|
||||||
elif copy_x[i] == "1":
|
|
||||||
x_poss_paths.append(["0","1"])
|
|
||||||
y_poss_paths.append([recv_path[0][i],recv_path[0][i]])
|
|
||||||
num_paths *= 2
|
|
||||||
elif copy_y[i] == "1":
|
|
||||||
x_poss_paths.append([recv_path[0][i],recv_path[0][i]])
|
|
||||||
y_poss_paths.append(["0","1"])
|
|
||||||
num_paths *= 2
|
|
||||||
else:
|
|
||||||
y_poss_paths.append(recv_path[0][i])
|
|
||||||
x_poss_paths.append(recv_path[0][i])
|
|
||||||
|
|
||||||
for i in range(len(x_poss_paths)):
|
|
||||||
k = 0
|
|
||||||
for j in range(num_paths):
|
|
||||||
if i == 0:
|
|
||||||
x_paths.append(x_poss_paths[0][k])
|
|
||||||
y_paths.append(y_poss_paths[0][k])
|
|
||||||
else:
|
|
||||||
x_paths[j] += x_poss_paths[i][k]
|
|
||||||
y_paths[j] += y_poss_paths[i][k]
|
|
||||||
k += 1
|
|
||||||
if k == len(x_poss_paths[0]):
|
|
||||||
k = 0
|
|
||||||
|
|
||||||
reference = ""
|
|
||||||
for x_path, y_path in zip(x_paths, y_paths):
|
|
||||||
index_path = get_index_path(x_path, y_path)
|
|
||||||
reference += "0 " + str(index_path) + " "
|
|
||||||
reference += packets[i] + "\n" #TODO
|
|
||||||
|
|
||||||
return reference
|
|
||||||
|
|
||||||
for p, path in enumerate(sender_paths):
|
|
||||||
data_packet = 1
|
|
||||||
if len(path) == 2:
|
|
||||||
index_path = get_index_path(path[0], path[1])
|
|
||||||
stimuli += "0 " + str(index_path) + " "
|
|
||||||
|
|
||||||
if len(recv_paths[p]) == 1:
|
|
||||||
if recv_paths[p][0] == "N":
|
|
||||||
ex_chip_y = int(CHIP_y,2)-1
|
|
||||||
index_path = ref_path_count[0]
|
|
||||||
ref_path_count[0] = ref_path_count[0]+1
|
|
||||||
elif recv_paths[p][0] == "S":
|
|
||||||
ex_chip_y = int(CHIP_y,2)+1
|
|
||||||
index_path = ref_path_count[1]
|
|
||||||
ref_path_count[1] = ref_path_count[1]+1
|
|
||||||
elif recv_paths[p][0] == "W":
|
|
||||||
ex_chip_x = int(CHIP_X,2)-1
|
|
||||||
index_path = ref_path_count[2]
|
|
||||||
ref_path_count[2] = ref_path_count[2]+1
|
|
||||||
else:
|
|
||||||
ex_chip_x = int(CHIP_X,2)+1
|
|
||||||
index_path = ref_path_count[3]
|
|
||||||
ref_path_count[3] = ref_path_count[3]+1
|
|
||||||
packet = HEADER + ex_chip_x + ex_chip_y
|
|
||||||
packet += NO_COPY*4
|
|
||||||
# assign packet
|
|
||||||
packet += f'{data_packet:030b}'
|
|
||||||
stimuli += packet + "\n"
|
|
||||||
# reference
|
|
||||||
reference += "0 " + str(index_path) + " "
|
|
||||||
reference += packet + "\n"
|
|
||||||
elif len(recv_paths[p]) == 2:
|
|
||||||
packet = HEADER + CHIP_X + CHIP_Y
|
|
||||||
packet += recv_paths[p][0] + recv_paths[p][1] + NO_COPY*2
|
|
||||||
# assign packet
|
|
||||||
packet += f'{data_packet:030b}'
|
|
||||||
stimuli += packet + "\n"
|
|
||||||
# reference
|
|
||||||
index_path = get_index_path(recv_paths[p][0], recv_paths[p][1])
|
|
||||||
reference += "0 " + str(index_path) + " "
|
|
||||||
reference += packet + "\n"
|
|
||||||
else:
|
|
||||||
list_copy_x = list_copy_y = list("00000")
|
|
||||||
for j in range(2,len(recv_paths[p]),2):
|
|
||||||
for i in range(len(recv_paths[p][0])):
|
|
||||||
if recv_paths[p][0][i] != recv_paths[p][j][i]:
|
|
||||||
list_copy_x[i]= "1"
|
|
||||||
|
|
||||||
if recv_paths[p][1][i] != recv_paths[p][j+1][i]:
|
|
||||||
copylist_copy_y_y[i]= "1"
|
|
||||||
|
|
||||||
copy_x = ''.join(list_copy_x)
|
|
||||||
copy_y = ''.join(list_copy_y)
|
|
||||||
packets = []
|
|
||||||
for i in range(0,len(recv_paths[p]),2):
|
|
||||||
packet = HEADER + CHIP_X + CHIP_Y
|
|
||||||
packet += recv_paths[p][i] + recv_paths[p][i+1] + copy_x + copy_y
|
|
||||||
packet += f'{data_packet:030b}'
|
|
||||||
packets.append(packet)
|
|
||||||
# assign packet
|
|
||||||
stimuli += packets[0] + "\n"
|
|
||||||
# reference
|
|
||||||
"""for i in range(int(len(recv_paths[p])/2)):
|
|
||||||
index_path = get_index_path(recv_paths[p][2*i],recv_paths[p][2*i+1])
|
|
||||||
reference += "0 " + str(index_path) + " "
|
|
||||||
reference += packets[i] + "\n"
|
|
||||||
"""
|
|
||||||
reference = get_multicast_reference(copy_x, copy_y, recv_paths[p], packets)
|
|
||||||
|
|
||||||
|
|
||||||
data_packet += 1
|
|
||||||
|
|
||||||
with open("stimuli.txt", "w") as f:
|
|
||||||
f.write(stimuli)
|
|
||||||
|
|
||||||
with open("result.ref", "w") as f:
|
|
||||||
f.write(reference)
|
|
42
test/scripts/generate_test_files/generate_test_files.py
Normal file
42
test/scripts/generate_test_files/generate_test_files.py
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
import shutil, sys
|
||||||
|
from utils import *
|
||||||
|
|
||||||
|
# inputs
|
||||||
|
#sender_paths = [["01100","00000"]] # x,y
|
||||||
|
#recv_paths = [["00010","01110","11110","10011","10011","00000",
|
||||||
|
# "01101","01001","11011","11011","10101","01100"]]
|
||||||
|
sender_paths, recv_paths = generate_random_send_recv_paths(2)
|
||||||
|
test_name = "random_pe_to_pe_test"
|
||||||
|
print(sender_paths)
|
||||||
|
print(recv_paths)
|
||||||
|
|
||||||
|
# constants
|
||||||
|
stimuli = "# is external? | path | data\n"
|
||||||
|
reference = ""
|
||||||
|
|
||||||
|
for p, path in enumerate(sender_paths):
|
||||||
|
data_packet = 1
|
||||||
|
if len(path) == 2:
|
||||||
|
index_path = get_index_path(path[0], path[1])
|
||||||
|
stimuli += "0 " + str(index_path) + " "
|
||||||
|
if len(recv_paths[p]) == 1:
|
||||||
|
data_packet, stimuli, reference = gen_ref_for_direct_msg(
|
||||||
|
path, recv_paths[p], data_packet, stimuli, reference)
|
||||||
|
elif len(recv_paths[p]) == 2:
|
||||||
|
data_packet, stimuli, reference = gen_ref_for_sing_dir_multicast(
|
||||||
|
path, recv_paths[p], data_packet, stimuli, reference)
|
||||||
|
else:
|
||||||
|
data_packet, stimuli, reference = gen_ref_for_mult_dir_multicast(
|
||||||
|
path, recv_paths[p], data_packet, stimuli, reference)
|
||||||
|
print(len(reference))
|
||||||
|
data_packet += 1
|
||||||
|
|
||||||
|
with open("stimuli.txt", "w") as f:
|
||||||
|
f.write(stimuli)
|
||||||
|
|
||||||
|
with open("result.ref", "w") as f:
|
||||||
|
f.write(reference)
|
||||||
|
|
||||||
|
shutil.copyfile("stimuli.txt", "../../input/noc_tests/"+test_name+"/stimuli.txt")
|
||||||
|
shutil.copyfile("stimuli.txt", "/home/juanmanuel/modelsim/stimuli.txt")
|
||||||
|
shutil.copyfile("result.ref", "../../input/noc_tests/"+test_name+"/result.ref")
|
260
test/scripts/generate_test_files/result.ref
Normal file
260
test/scripts/generate_test_files/result.ref
Normal file
|
@ -0,0 +1,260 @@
|
||||||
|
0 899 0001000000000001110111100100010000000000000000000000000000000001
|
||||||
|
0 771 0001000000000001110111100100010000000000000000000000000000000001
|
||||||
|
0 643 0001000000000001110111100100010000000000000000000000000000000001
|
||||||
|
0 515 0001000000000001110111100100010000000000000000000000000000000001
|
||||||
|
0 991 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 990 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 989 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 988 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 987 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 986 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 985 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 984 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 975 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 974 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 973 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 972 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 971 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 970 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 969 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 968 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 927 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 926 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 925 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 924 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 923 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 922 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 921 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 920 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 911 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 910 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 909 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 908 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 907 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 906 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 905 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 904 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 863 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 862 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 861 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 860 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 859 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 858 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 857 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 856 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 847 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 846 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 845 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 844 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 843 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 842 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 841 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 840 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 799 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 798 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 797 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 796 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 795 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 794 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 793 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 792 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 783 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 782 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 781 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 780 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 779 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 778 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 777 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 776 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 735 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 734 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 733 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 732 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 731 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 730 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 729 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 728 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 719 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 718 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 717 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 716 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 715 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 714 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 713 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 712 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 671 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 670 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 669 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 668 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 667 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 666 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 665 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 664 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 655 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 654 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 653 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 652 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 651 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 650 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 649 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 648 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 607 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 606 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 605 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 604 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 603 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 602 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 601 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 600 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 591 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 590 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 589 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 588 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 587 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 586 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 585 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 584 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 543 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 542 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 541 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 540 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 539 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 538 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 537 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 536 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 527 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 526 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 525 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 524 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 523 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 522 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 521 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 520 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 479 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 478 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 477 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 476 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 475 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 474 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 473 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 472 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 463 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 462 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 461 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 460 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 459 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 458 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 457 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 456 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 415 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 414 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 413 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 412 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 411 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 410 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 409 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 408 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 399 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 398 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 397 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 396 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 395 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 394 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 393 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 392 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 351 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 350 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 349 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 348 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 347 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 346 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 345 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 344 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 335 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 334 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 333 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 332 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 331 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 330 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 329 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 328 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 287 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 286 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 285 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 284 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 283 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 282 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 281 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 280 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 271 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 270 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 269 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 268 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 267 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 266 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 265 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 264 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 223 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 222 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 221 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 220 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 219 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 218 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 217 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 216 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 207 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 206 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 205 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 204 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 203 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 202 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 201 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 200 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 159 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 158 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 157 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 156 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 155 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 154 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 153 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 152 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 143 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 142 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 141 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 140 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 139 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 138 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 137 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 136 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 95 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 94 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 93 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 92 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 91 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 90 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 89 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 88 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 79 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 78 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 77 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 76 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 75 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 74 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 73 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 72 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 31 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 30 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 29 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 28 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 27 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 26 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 25 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 24 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 15 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 14 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 13 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 12 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 11 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 10 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 9 0001000000000010100010111100111111000000000000000000000000000001
|
||||||
|
0 8 0001000000000010100010111100111111000000000000000000000000000001
|
3
test/scripts/generate_test_files/stimuli.txt
Normal file
3
test/scripts/generate_test_files/stimuli.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# is external? | path | data
|
||||||
|
0 272 0001000000000001110111100100010000000000000000000000000000000001 # origin: (11111-01011) --> dest: (01110-11110,00110-01110)
|
||||||
|
0 863 0001000000000010100010111100111111000000000000000000000000000001 # origin: (01100-00000) --> dest: (10100-01011,00101-00000,10101-00001,11101-10111)
|
173
test/scripts/generate_test_files/utils.py
Normal file
173
test/scripts/generate_test_files/utils.py
Normal file
|
@ -0,0 +1,173 @@
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
NUM_PE = 1024
|
||||||
|
HEADER = "0001"
|
||||||
|
CHIP_X = "00000"
|
||||||
|
CHIP_Y = "00000"
|
||||||
|
NO_COPY = "00000"
|
||||||
|
DEF_POS = "00000"
|
||||||
|
ref_path_count = [96,64,32,0] # N,S,W,E
|
||||||
|
|
||||||
|
def get_index_path(path_x : str, path_y : str):
|
||||||
|
index_path = NUM_PE-1
|
||||||
|
for i in range(len(path_x)):
|
||||||
|
index_path -= (4**i)*(int(path_x[4-i])*2 + int(path_y[4-i]))
|
||||||
|
return index_path
|
||||||
|
|
||||||
|
def get_multicast_reference(copy_x, copy_y, recv_path, packet):
|
||||||
|
x_paths = []
|
||||||
|
y_paths = []
|
||||||
|
x_poss_paths = []
|
||||||
|
y_poss_paths = []
|
||||||
|
num_paths = 1
|
||||||
|
for bit_pos in range(len(copy_x)):
|
||||||
|
if copy_x[bit_pos] == "1" and copy_y[bit_pos] == "1":
|
||||||
|
x_poss_paths.append(["0","0","1","1"])
|
||||||
|
y_poss_paths.append(["0","1","0","1"])
|
||||||
|
num_paths *= 4
|
||||||
|
elif copy_x[bit_pos] == "1":
|
||||||
|
x_poss_paths.append(["0","1"])
|
||||||
|
y_poss_paths.append([recv_path[1][bit_pos],recv_path[1][bit_pos]])
|
||||||
|
num_paths *= 2
|
||||||
|
elif copy_y[bit_pos] == "1":
|
||||||
|
x_poss_paths.append([recv_path[0][bit_pos],recv_path[0][bit_pos]])
|
||||||
|
y_poss_paths.append(["0","1"])
|
||||||
|
num_paths *= 2
|
||||||
|
else:
|
||||||
|
x_poss_paths.append([recv_path[0][bit_pos]])
|
||||||
|
y_poss_paths.append([recv_path[1][bit_pos]])
|
||||||
|
|
||||||
|
division = num_paths
|
||||||
|
for i in range(len(x_poss_paths)):
|
||||||
|
x_poss_ind = 0
|
||||||
|
y_poss_ind = 0
|
||||||
|
division = int(division/len(x_poss_paths[i]))
|
||||||
|
for j in range(num_paths):
|
||||||
|
if i == 0:
|
||||||
|
x_paths.append(x_poss_paths[0][x_poss_ind])
|
||||||
|
y_paths.append(y_poss_paths[0][y_poss_ind])
|
||||||
|
else:
|
||||||
|
x_paths[j] += x_poss_paths[i][x_poss_ind]
|
||||||
|
y_paths[j] += y_poss_paths[i][y_poss_ind]
|
||||||
|
if ((j+1) % division) == 0:
|
||||||
|
x_poss_ind = x_poss_ind+1 if x_poss_ind+1 < len(x_poss_paths[i]) \
|
||||||
|
else 0
|
||||||
|
y_poss_ind = y_poss_ind+1 if y_poss_ind+1 < len(y_poss_paths[i]) \
|
||||||
|
else 0
|
||||||
|
print(copy_x)
|
||||||
|
print(copy_y)
|
||||||
|
reference = ""
|
||||||
|
for x_path, y_path in zip(x_paths, y_paths):
|
||||||
|
index_path = get_index_path(x_path, y_path)
|
||||||
|
reference += "0 " + str(index_path) + " "
|
||||||
|
reference += packet + "\n"
|
||||||
|
|
||||||
|
return reference
|
||||||
|
|
||||||
|
def get_origin_dest_comment(path, recv_path):
|
||||||
|
comment = " # origin: (" + path[0] + "-" + path[1] + ")"
|
||||||
|
comment += " --> dest: ("
|
||||||
|
for i in range(0, len(recv_path), 2):
|
||||||
|
comment += recv_path[i] + "-" + recv_path[i+1]
|
||||||
|
if i+2 < len(recv_path):
|
||||||
|
comment += ","
|
||||||
|
comment += ")"
|
||||||
|
return comment
|
||||||
|
|
||||||
|
def gen_ref_for_direct_msg(path, recv_path, data_packet, stimuli, reference):
|
||||||
|
if recv_path[0] == "N":
|
||||||
|
ex_chip_x = DEF_POS
|
||||||
|
ex_chip_y = int(CHIP_y,2)-1
|
||||||
|
index_path = ref_path_count[0]
|
||||||
|
ref_path_count[0] = ref_path_count[0]+1
|
||||||
|
elif recv_path[0] == "S":
|
||||||
|
ex_chip_x = DEF_POS
|
||||||
|
ex_chip_y = int(CHIP_y,2)+1
|
||||||
|
index_path = ref_path_count[1]
|
||||||
|
ref_path_count[1] = ref_path_count[1]+1
|
||||||
|
elif recv_path[0] == "W":
|
||||||
|
ex_chip_x = int(CHIP_X,2)-1
|
||||||
|
ex_chip_y = DEF_POS
|
||||||
|
index_path = ref_path_count[2]
|
||||||
|
ref_path_count[2] = ref_path_count[2]+1
|
||||||
|
else:
|
||||||
|
ex_chip_x = int(CHIP_X,2)+1
|
||||||
|
ex_chip_y = DEF_POS
|
||||||
|
index_path = ref_path_count[3]
|
||||||
|
ref_path_count[3] = ref_path_count[3]+1
|
||||||
|
packet = HEADER + ex_chip_x + ex_chip_y
|
||||||
|
packet += NO_COPY*4
|
||||||
|
# assign packet
|
||||||
|
packet += f'{data_packet:030b}'
|
||||||
|
stimuli += packet + get_origin_dest_comment(path, recv_path) + "\n"
|
||||||
|
# reference
|
||||||
|
reference += "0 " + str(index_path) + " "
|
||||||
|
reference += packet + "\n"
|
||||||
|
|
||||||
|
return data_packet, stimuli, reference
|
||||||
|
|
||||||
|
|
||||||
|
def gen_ref_for_sing_dir_multicast(path, recv_path, data_packet, stimuli, reference):
|
||||||
|
packet = HEADER + CHIP_X + CHIP_Y
|
||||||
|
packet += recv_path[0] + recv_path[1] + NO_COPY*2
|
||||||
|
# assign packet
|
||||||
|
packet += f'{data_packet:030b}'
|
||||||
|
stimuli += packet + get_origin_dest_comment(path, recv_path) + "\n"
|
||||||
|
# reference
|
||||||
|
index_path = get_index_path(recv_path[0], recv_path[1])
|
||||||
|
reference += "0 " + str(index_path) + " "
|
||||||
|
reference += packet + "\n"
|
||||||
|
|
||||||
|
return data_packet, stimuli, reference
|
||||||
|
|
||||||
|
|
||||||
|
def gen_ref_for_mult_dir_multicast(path, recv_path, data_packet, stimuli, reference):
|
||||||
|
list_copy_x = list("00000")
|
||||||
|
list_copy_y = list("00000")
|
||||||
|
for j in range(2,len(recv_path),2):
|
||||||
|
for i in range(len(recv_path[0])):
|
||||||
|
if recv_path[0][i] != recv_path[j][i]:
|
||||||
|
list_copy_x[i]= "1"
|
||||||
|
if recv_path[1][i] != recv_path[j+1][i]:
|
||||||
|
list_copy_y[i]= "1"
|
||||||
|
|
||||||
|
copy_x = ''.join(list_copy_x)
|
||||||
|
copy_y = ''.join(list_copy_y)
|
||||||
|
packet = HEADER + CHIP_X + CHIP_Y
|
||||||
|
packet += recv_path[0] + recv_path[1] + copy_x + copy_y
|
||||||
|
packet += f'{data_packet:030b}'
|
||||||
|
# assign packet
|
||||||
|
stimuli += packet + get_origin_dest_comment(path, recv_path) + "\n"
|
||||||
|
# reference
|
||||||
|
"""for i in range(int(len(recv_path)/2)):
|
||||||
|
index_path = get_index_path(recv_path[2*i],recv_path[2*i+1])
|
||||||
|
reference += "0 " + str(index_path) + " "
|
||||||
|
reference += packets[i] + "\n"
|
||||||
|
"""
|
||||||
|
reference += get_multicast_reference(copy_x, copy_y, recv_path, packet)
|
||||||
|
|
||||||
|
return data_packet, stimuli, reference
|
||||||
|
|
||||||
|
|
||||||
|
def generate_random_send_recv_paths(num_msgs):
|
||||||
|
sender_paths = []
|
||||||
|
recv_paths = []
|
||||||
|
for i in range(num_msgs):
|
||||||
|
# generate origin
|
||||||
|
x_path = f'{np.random.randint(32):05b}'
|
||||||
|
y_path = f'{np.random.randint(32):05b}'
|
||||||
|
sender_paths.append([x_path, y_path])
|
||||||
|
# decide if it is unicast or multicast
|
||||||
|
msg_type = np.random.randint(2)
|
||||||
|
if msg_type == 0: # unicast
|
||||||
|
y_path = f'{np.random.randint(32):05b}'
|
||||||
|
x_path = f'{np.random.randint(32):05b}'
|
||||||
|
recv_paths.append([x_path, y_path])
|
||||||
|
else: # multicast
|
||||||
|
num_rcv = np.random.randint(2,7)
|
||||||
|
recv_path = []
|
||||||
|
for i in range(num_rcv):
|
||||||
|
recv_path.append(f'{np.random.randint(32):05b}')
|
||||||
|
recv_path.append(f'{np.random.randint(32):05b}')
|
||||||
|
recv_paths.append(recv_path)
|
||||||
|
return sender_paths, recv_paths
|
|
@ -1,2 +0,0 @@
|
||||||
0 1017 0001000000000000001000100001100011000000000000000000000000000001
|
|
||||||
0 1011 0001000000000000010000100001100011000000000000000000000000000001
|
|
|
@ -1,2 +0,0 @@
|
||||||
# is external? | path | data
|
|
||||||
0 971 0001000000000000001000100001100011000000000000000000000000000001
|
|
65
test/scripts/validate_results/result.ref
Normal file
65
test/scripts/validate_results/result.ref
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
0 959 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 957 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 955 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 953 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 951 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 949 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 947 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 945 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 927 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 925 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 923 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 921 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 919 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 917 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 915 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 913 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 703 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 701 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 699 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 697 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 695 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 693 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 691 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 689 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 671 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 669 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 667 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 665 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 663 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 661 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 659 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 657 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 447 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 445 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 443 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 441 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 439 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 437 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 435 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 433 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 415 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 413 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 411 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 409 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 407 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 405 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 403 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 401 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 191 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 189 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 187 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 185 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 183 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 181 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 179 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 177 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 159 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 157 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 155 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 153 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 151 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 149 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 147 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 145 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 221 0001000000000010101100000000000000000000000000000000000000000001
|
65
test/scripts/validate_results/simulation.log
Normal file
65
test/scripts/validate_results/simulation.log
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
0 221 0001000000000010101100000000000000000000000000000000000000000001
|
||||||
|
0 145 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 147 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 149 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 151 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 153 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 155 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 157 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 159 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 177 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 179 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 181 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 183 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 185 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 187 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 189 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 191 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 401 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 403 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 405 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 407 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 409 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 411 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 413 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 415 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 433 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 435 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 437 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 439 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 441 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 443 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 445 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 447 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 657 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 659 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 661 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 663 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 665 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 667 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 669 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 671 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 689 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 691 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 693 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 695 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 697 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 699 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 701 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 703 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 913 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 915 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 917 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 919 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 921 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 923 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 925 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 927 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 945 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 947 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 949 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 951 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 953 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 955 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 957 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
0 959 0001000000000010100110001011110010000000000000000000000000000001
|
130
test/scripts/validate_results/test.log
Normal file
130
test/scripts/validate_results/test.log
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
0 221 0001000000000010101100000000000000000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 145 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 147 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 149 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 151 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 153 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 155 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 157 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 159 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 177 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 179 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 181 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 183 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 185 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 187 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 189 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 191 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 401 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 403 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 405 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 407 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 409 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 411 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 413 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 415 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 433 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 435 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 437 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 439 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 441 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 443 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 445 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 447 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 657 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 659 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 661 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 663 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 665 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 667 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 669 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 671 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 689 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 691 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 693 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 695 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 697 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 699 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 701 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 703 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 913 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 915 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 917 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 919 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 921 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 923 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 925 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 927 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 945 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 947 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 949 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 951 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 953 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 955 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 957 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
||||||
|
0 959 0001000000000010100110001011110010000000000000000000000000000001
|
||||||
|
---> passed!
|
34
test/scripts/validate_results/validate_results.py
Normal file
34
test/scripts/validate_results/validate_results.py
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
import shutil, sys
|
||||||
|
|
||||||
|
test_name = ""
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
test_name = sys.argv[1]
|
||||||
|
|
||||||
|
if test_name != "":
|
||||||
|
shutil.copyfile("../../input/noc_tests/"+test_name+"/result.ref", "result.ref")
|
||||||
|
shutil.copyfile("/home/juanmanuel/modelsim/simulation.log", "simulation.log")
|
||||||
|
shutil.copyfile("/home/juanmanuel/modelsim/simulation.log", "../../input/noc_tests/"+test_name+"/simulation.log")
|
||||||
|
|
||||||
|
reference = []
|
||||||
|
with open("result.ref", "r") as f:
|
||||||
|
for line in f:
|
||||||
|
reference.append(line)
|
||||||
|
|
||||||
|
results = []
|
||||||
|
with open("simulation.log", "r") as f:
|
||||||
|
for line in f:
|
||||||
|
results.append(line)
|
||||||
|
|
||||||
|
test_logs = []
|
||||||
|
for result in results:
|
||||||
|
if result in reference:
|
||||||
|
test_logs.append(result + "---> passed!")
|
||||||
|
else:
|
||||||
|
test_logs.append(result + "---> failed!")
|
||||||
|
|
||||||
|
with open("test.log", "w") as f:
|
||||||
|
for test_log in test_logs:
|
||||||
|
f.write(test_log+"\n")
|
||||||
|
|
||||||
|
if test_name != "":
|
||||||
|
shutil.copyfile("test.log", "../../input/noc_tests/"+test_name+"/test.log")
|
Loading…
Add table
Add a link
Reference in a new issue