Skip to content

Commit

Permalink
Merge pull request #295 from JeffDeCola/develop
Browse files Browse the repository at this point in the history
develop
  • Loading branch information
JeffDeCola committed May 20, 2023
2 parents 8f2cb4b + c9c94dc commit 6f02a30
Show file tree
Hide file tree
Showing 9 changed files with 3,674 additions and 3,704 deletions.
143 changes: 60 additions & 83 deletions systems/microprocessors/programable_8_bit_microprocessor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -634,89 +634,66 @@ TEST START --------------------------------
| TIME(ns) | GO_BAR | RESET | JAM | OPCODE | DATA_IN_A | DATA_IN_B | DATA_OUT |
-------------------------------------------------------------------------------
0 INIT | 0 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | xxxxxxxx |
1 RESET | 25 | 1 | 0 | 0 | 0000 | 00000000 | 00000000 | xxxxxxxx |
2 - | 45 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | xxxxxxxx |
2 - | 50 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
3 - | 65 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
4 PARTRESET | 85 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
4 PARTRESET | 90 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
5 - | 105 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
5 - | 110 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
6 ADD1-49+5 | 125 | 0 | 1 | 0 | 0011 | 00110001 | 00000101 | 11111111 |
7 ADD2-49+5 | 145 | 0 | 1 | 0 | 0011 | 00110001 | 00000101 | 11111111 |
8 RESULT | 165 | 0 | 1 | 0 | 0011 | 00110001 | 00000101 | 11111111 |
8 RESULT | 170 | 0 | 1 | 0 | 0011 | 00110001 | 00000101 | 00110110 |
9 -- | 185 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00110110 |
10 ZERO | 205 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00110110 |
10 ZERO | 210 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
11 HIGH | 225 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
11 HIGH | 230 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
12 -- | 245 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
13 SUB1-49-5 | 265 | 0 | 1 | 0 | 0111 | 00110001 | 00000101 | 11111111 |
14 SUB1-49-5 | 285 | 0 | 1 | 0 | 0111 | 00110001 | 00000101 | 11111111 |
15 RESULT | 305 | 0 | 1 | 0 | 0111 | 00110001 | 00000101 | 11111111 |
15 RESULT | 310 | 0 | 1 | 0 | 0111 | 00110001 | 00000101 | 00101100 |
16 -- | 325 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00101100 |
17 ZERO | 345 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00101100 |
17 ZERO | 350 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
18 HIGH | 365 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
18 HIGH | 370 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
19 -- | 385 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
20 MULT1-49x5 | 405 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
21 MULT2-49x5 | 425 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
22 MULT3-49x5 | 445 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
23 MULT4-49x5 | 465 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
23 MULT4-49x5 | 470 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000101 |
24 MULT5-49x5 | 485 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000101 |
25 MULT6-49x5 | 505 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000101 |
25 MULT6-49x5 | 510 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000100 |
26 MULT7-49x5 | 525 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000100 |
27 MULT8-49x5 | 545 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000100 |
27 MULT8-49x5 | 550 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000011 |
28 MULT9-49x5 | 565 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000011 |
29 MULT0-49x5 | 585 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000011 |
29 MULT0-49x5 | 590 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000010 |
30 MULT1-49x5 | 605 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000010 |
31 MULT2-49x5 | 625 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000010 |
31 MULT2-49x5 | 630 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000001 |
32 MULT3-49x5 | 645 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000001 |
33 MULT4-49x5 | 665 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000001 |
33 MULT4-49x5 | 670 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000000 |
34 MULT5-49x5 | 685 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000000 |
35 MULT6-49x5 | 705 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000000 |
35 MULT6-49x5 | 710 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
36 RESULT | 725 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
36 RESULT | 730 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11110101 |
37 -- | 745 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11110101 |
38 ZERO | 765 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11110101 |
38 ZERO | 770 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
39 HIGH | 785 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
39 HIGH | 790 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
40 -- | 805 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
41 DIV1-49/13 | 825 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
42 DIV2-49/13 | 845 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
43 DIV3-49/13 | 865 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
44 DIV4-49/13 | 885 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
45 DIV5-49/13 | 905 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
46 DIV6-49/13 | 925 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
47 DIV7-49/13 | 945 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
48 DIV8-49/13 | 965 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
49 DIV9-49/13 | 985 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
50 DIV0-49/13 | 1005 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
51 DIV1-49/13 | 1025 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
52 DIV2-49/13 | 1045 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
53 DIV3-49/13 | 1065 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
54 DIV4-49/13 | 1085 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
55 RESULT | 1105 | 0 | 1 | 0 | 1110 | 00110001 | 01101000 | 11111111 |
55 RESULT | 1110 | 0 | 1 | 0 | 1110 | 00110001 | 01101000 | 00010110 |
56 -- | 1125 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00010110 |
57 ZERO | 1145 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00010110 |
57 ZERO | 1150 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
58 HIGH | 1165 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
58 HIGH | 1170 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
59 -- | 1185 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
60 -- | 1205 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
1 INIT | 15 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | xxxxxxxx |
2 RESET | 35 | 1 | 0 | 0 | 0000 | 00000000 | 00000000 | xxxxxxxx |
3 - | 55 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
4 - | 75 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
5 PARTRESET | 95 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
6 - | 115 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
7 ADD1-49+5 | 135 | 0 | 1 | 0 | 0011 | 00110001 | 00000101 | 11111111 |
8 ADD2-49+5 | 155 | 0 | 1 | 0 | 0011 | 00110001 | 00000101 | 11111111 |
9 RESULT | 175 | 0 | 1 | 0 | 0011 | 00110001 | 00000101 | 00110110 |
10 -- | 195 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00110110 |
11 ZERO | 215 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
12 HIGH | 235 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
13 -- | 255 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
14 SUB1-49-5 | 275 | 0 | 1 | 0 | 0111 | 00110001 | 00000101 | 11111111 |
15 SUB1-49-5 | 295 | 0 | 1 | 0 | 0111 | 00110001 | 00000101 | 11111111 |
16 RESULT | 315 | 0 | 1 | 0 | 0111 | 00110001 | 00000101 | 00101100 |
17 -- | 335 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00101100 |
18 ZERO | 355 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
19 HIGH | 375 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
20 -- | 395 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
21 MULT1-49x5 | 415 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
22 MULT2-49x5 | 435 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
23 MULT3-49x5 | 455 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
24 MULT4-49x5 | 475 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000101 |
25 MULT5-49x5 | 495 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000101 |
26 MULT6-49x5 | 515 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000100 |
27 MULT7-49x5 | 535 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000100 |
28 MULT8-49x5 | 555 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000011 |
29 MULT9-49x5 | 575 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000011 |
30 MULT0-49x5 | 595 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000010 |
31 MULT1-49x5 | 615 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000010 |
32 MULT2-49x5 | 635 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000001 |
33 MULT3-49x5 | 655 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000001 |
34 MULT4-49x5 | 675 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000000 |
35 MULT5-49x5 | 695 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 00000000 |
36 MULT6-49x5 | 715 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11111111 |
37 RESULT | 735 | 0 | 1 | 0 | 1100 | 00110001 | 00000101 | 11110101 |
38 -- | 755 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11110101 |
39 ZERO | 775 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
40 HIGH | 795 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
41 -- | 815 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
42 DIV1-49/13 | 835 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
43 DIV2-49/13 | 855 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
44 DIV3-49/13 | 875 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
45 DIV4-49/13 | 895 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
46 DIV5-49/13 | 915 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
47 DIV6-49/13 | 935 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
48 DIV7-49/13 | 955 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
49 DIV8-49/13 | 975 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
50 DIV9-49/13 | 995 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
51 DIV0-49/13 | 1015 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
52 DIV1-49/13 | 1035 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
53 DIV2-49/13 | 1055 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
54 DIV3-49/13 | 1075 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
55 DIV4-49/13 | 1095 | 0 | 1 | 0 | 1110 | 01010000 | 01101000 | 11111111 |
56 RESULT | 1115 | 0 | 1 | 0 | 1110 | 00110001 | 01101000 | 00010110 |
57 -- | 1135 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00010110 |
58 ZERO | 1155 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 00000000 |
59 HIGH | 1175 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
60 -- | 1195 | 1 | 1 | 0 | 0000 | 00000000 | 00000000 | 11111111 |
VECTORS: 60
ERRORS: 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,4 @@ RESULT 0 1 0 1110 00110001 01101000 00010110
-- 1 1 0 0000 00000000 00000000 00010110
ZERO 1 1 0 0000 00000000 00000000 00000000
HIGH 1 1 0 0000 00000000 00000000 11111111
-- 1 1 0 0000 00000000 00000000 11111111
-- 1 1 0 0000 00000000 00000000 11111111
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ module PROGRAMABLE_8_BIT_MICROPROCESSOR_TB;
// INIT TESTBENCH
COUNT = $fscanf(FD, "%s %b %b %b %b %b %b %b", COMMENT, GO_BAR, RESET, JAM, OPCODE, DATA_IN_A, DATA_IN_B, DATA_OUTEXP);
CLK = 0;
VECTORCOUNT = 0;
VECTORCOUNT = 1;
ERRORS = 0;

// DISPAY OUTPUT AND MONITOR
Expand All @@ -76,7 +76,8 @@ module PROGRAMABLE_8_BIT_MICROPROCESSOR_TB;
$display();
$display(" | TIME(ns) | GO_BAR | RESET | JAM | OPCODE | DATA_IN_A | DATA_IN_B | DATA_OUT |");
$display(" -------------------------------------------------------------------------------");
$monitor("%4d %10s | %8d | %1b | %1b | %1b | %1b | %1b | %1b | %1b |", VECTORCOUNT, COMMENT, $time, GO_BAR, RESET, JAM, OPCODE, DATA_IN_A, DATA_IN_B, DATA_OUT);
// $monitor("%4d %10s | %8d | %1b | %1b | %1b | %1b | %1b | %1b | %1b |",
// VECTORCOUNT, COMMENT, $time, GO_BAR, RESET, JAM, OPCODE, DATA_IN_A, DATA_IN_B, DATA_OUT);

end

Expand Down Expand Up @@ -112,6 +113,10 @@ module PROGRAMABLE_8_BIT_MICROPROCESSOR_TB;
// WAIT A BIT
#5;

// DISPLAY OUTPUT ON POS EDGE CLK
$display("%4d %10s | %8d | %1b | %1b | %1b | %1b | %1b | %1b | %1b |",
VECTORCOUNT, COMMENT, $time, GO_BAR, RESET, JAM, OPCODE, DATA_IN_A, DATA_IN_B, DATA_OUT);

// CHECK EACH VECTOR RESULT
if (DATA_OUT !== DATA_OUTEXP) begin
$display("***ERROR (behavioral) - Expected DATA_OUT = %b", DATA_OUTEXP);
Expand Down
Loading

0 comments on commit 6f02a30

Please sign in to comment.