diff --git a/ALU_top.bdf b/ALU_top.bdf index 1a5aa74..63139ce 100644 --- a/ALU_top.bdf +++ b/ALU_top.bdf @@ -117,7 +117,7 @@ refer to the applicable agreement for further details. ) (pin (input) - (rect 344 480 520 496) + (rect 352 448 528 464) (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6))) (text "CLK" (rect 9 0 30 12)(font "Arial" )) (pt 176 8) @@ -149,7 +149,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 800 272 976 288) + (rect 792 272 968 288) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "Rout[15..0]" (rect 90 0 145 12)(font "Arial" )) (pt 0 8) @@ -165,7 +165,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 800 288 976 304) + (rect 792 288 968 304) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "COND" (rect 90 0 123 12)(font "Arial" )) (pt 0 8) @@ -181,55 +181,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 800 304 976 320) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "CARRY" (rect 90 0 130 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 768 480 944 496) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "MUL_res[31..0]" (rect 90 0 165 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 800 320 976 336) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "jumpflags[7..0]" (rect 90 0 164 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 800 240 976 256) + (rect 792 240 968 256) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "mul1[15..0]" (rect 90 0 145 12)(font "Arial" )) (pt 0 8) @@ -245,7 +197,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 800 256 976 272) + (rect 792 256 968 272) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "mul2[15..0]" (rect 90 0 145 12)(font "Arial" )) (pt 0 8) @@ -261,7 +213,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 800 336 976 352) + (rect 792 304 968 320) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "memaddr[10..0]" (rect 90 0 167 12)(font "Arial" )) (pt 0 8) @@ -276,7 +228,7 @@ refer to the applicable agreement for further details. ) ) (symbol - (rect 544 456 744 552) + (rect 552 424 752 520) (text "mul16" (rect 5 0 43 19)(font "Intel Clear" (font_size 8))) (text "MULTIPLIER" (rect 8 75 67 92)(font "Intel Clear" )) (port @@ -312,7 +264,7 @@ refer to the applicable agreement for further details. ) ) (symbol - (rect 552 216 776 392) + (rect 544 216 768 392) (text "alu" (rect 5 0 19 12)(font "Arial" )) (text "ALU_in" (rect 8 160 43 172)(font "Arial" )) (port @@ -402,178 +354,149 @@ refer to the applicable agreement for further details. (port (pt 224 96) (output) - (text "carry" (rect 0 0 25 12)(font "Arial" )) - (text "carry" (rect 182 91 203 103)(font "Arial" )) - (line (pt 224 96)(pt 208 96)) - ) - (port - (pt 224 112) - (output) - (text "jumpflags[7..0]" (rect 0 0 74 12)(font "Arial" )) - (text "jumpflags[7..0]" (rect 141 107 203 119)(font "Arial" )) - (line (pt 224 112)(pt 208 112)(line_width 3)) - ) - (port - (pt 224 128) - (output) (text "memaddr[10..0]" (rect 0 0 77 12)(font "Arial" )) - (text "memaddr[10..0]" (rect 138 123 203 135)(font "Arial" )) - (line (pt 224 128)(pt 208 128)(line_width 3)) + (text "memaddr[10..0]" (rect 138 91 203 103)(font "Arial" )) + (line (pt 224 96)(pt 208 96)(line_width 3)) ) (drawing (rectangle (rect 16 16 208 160)) ) ) -(connector - (pt 752 432) - (pt 752 488) - (bus) -) -(connector - (pt 544 504) - (pt 536 504) - (bus) -) -(connector - (pt 544 520) - (pt 528 520) - (bus) -) -(connector - (pt 528 440) - (pt 528 520) - (bus) -) -(connector - (pt 536 448) - (pt 536 504) - (bus) -) -(connector - (pt 752 432) - (pt 536 432) - (bus) -) -(connector - (pt 544 488) - (pt 520 488) -) -(connector - (pt 528 440) - (pt 784 440) - (bus) -) -(connector - (pt 744 488) - (pt 752 488) - (bus) -) -(connector - (pt 752 488) - (pt 768 488) - (bus) -) -(connector - (pt 784 264) - (pt 784 440) - (bus) -) -(connector - (pt 536 448) - (pt 792 448) - (bus) -) -(connector - (pt 792 248) - (pt 792 448) - (bus) -) -(connector - (pt 776 280) - (pt 800 280) - (bus) -) -(connector - (pt 776 296) - (pt 800 296) -) -(connector - (pt 776 312) - (pt 800 312) -) -(connector - (pt 776 328) - (pt 800 328) - (bus) -) -(connector - (pt 776 248) - (pt 792 248) - (bus) -) -(connector - (pt 792 248) - (pt 800 248) - (bus) -) -(connector - (pt 776 264) - (pt 784 264) - (bus) -) -(connector - (pt 784 264) - (pt 800 264) - (bus) -) -(connector - (pt 776 344) - (pt 800 344) - (bus) -) -(connector - (pt 536 432) - (pt 536 328) - (bus) -) (connector (pt 528 248) - (pt 552 248) + (pt 544 248) ) (connector (pt 528 264) - (pt 552 264) + (pt 544 264) (bus) ) (connector (pt 528 280) - (pt 552 280) + (pt 544 280) (bus) ) (connector (pt 528 296) - (pt 552 296) + (pt 544 296) (bus) ) (connector (pt 528 312) - (pt 552 312) - (bus) -) -(connector - (pt 536 328) - (pt 552 328) + (pt 544 312) (bus) ) (connector (pt 528 344) - (pt 552 344) + (pt 544 344) ) (connector (pt 528 360) - (pt 552 360) + (pt 544 360) (bus) ) -(junction (pt 752 488)) -(junction (pt 784 264)) -(junction (pt 792 248)) +(connector + (pt 768 280) + (pt 792 280) + (bus) +) +(connector + (pt 768 296) + (pt 792 296) +) +(connector + (pt 768 312) + (pt 792 312) + (bus) +) +(connector + (pt 544 328) + (pt 536 328) + (bus) +) +(connector + (pt 776 264) + (pt 776 408) + (bus) +) +(connector + (pt 784 248) + (pt 784 416) + (bus) +) +(connector + (pt 536 328) + (pt 536 400) + (bus) +) +(connector + (pt 768 264) + (pt 776 264) + (bus) +) +(connector + (pt 776 264) + (pt 792 264) + (bus) +) +(connector + (pt 768 248) + (pt 784 248) + (bus) +) +(connector + (pt 784 248) + (pt 792 248) + (bus) +) +(connector + (pt 536 400) + (pt 760 400) + (bus) +) +(connector + (pt 760 456) + (pt 752 456) + (bus) +) +(connector + (pt 760 400) + (pt 760 456) + (bus) +) +(connector + (pt 784 416) + (pt 544 416) + (bus) +) +(connector + (pt 544 416) + (pt 544 472) + (bus) +) +(connector + (pt 552 472) + (pt 544 472) + (bus) +) +(connector + (pt 776 408) + (pt 536 408) + (bus) +) +(connector + (pt 536 408) + (pt 536 488) + (bus) +) +(connector + (pt 552 488) + (pt 536 488) + (bus) +) +(connector + (pt 552 456) + (pt 528 456) +) +(junction (pt 776 264)) +(junction (pt 784 248)) diff --git a/ALU_top.bsf b/ALU_top.bsf index e666780..d8e24ad 100644 --- a/ALU_top.bsf +++ b/ALU_top.bsf @@ -110,30 +110,9 @@ refer to the applicable agreement for further details. (port (pt 256 96) (output) - (text "CARRY" (rect 0 0 41 19)(font "Intel Clear" (font_size 8))) - (text "CARRY" (rect 194 91 235 110)(font "Intel Clear" (font_size 8))) - (line (pt 256 96)(pt 240 96)) - ) - (port - (pt 256 112) - (output) - (text "jumpflags[7..0]" (rect 0 0 89 19)(font "Intel Clear" (font_size 8))) - (text "jumpflags[7..0]" (rect 146 107 235 126)(font "Intel Clear" (font_size 8))) - (line (pt 256 112)(pt 240 112)(line_width 3)) - ) - (port - (pt 256 128) - (output) (text "memaddr[10..0]" (rect 0 0 97 19)(font "Intel Clear" (font_size 8))) - (text "memaddr[10..0]" (rect 138 123 235 142)(font "Intel Clear" (font_size 8))) - (line (pt 256 128)(pt 240 128)(line_width 3)) - ) - (port - (pt 256 144) - (output) - (text "MUL_res[31..0]" (rect 0 0 90 19)(font "Intel Clear" (font_size 8))) - (text "MUL_res[31..0]" (rect 145 139 235 158)(font "Intel Clear" (font_size 8))) - (line (pt 256 144)(pt 240 144)(line_width 3)) + (text "memaddr[10..0]" (rect 138 91 235 110)(font "Intel Clear" (font_size 8))) + (line (pt 256 96)(pt 240 96)(line_width 3)) ) (drawing (rectangle (rect 16 16 240 176)) diff --git a/CPUProject.bdf b/CPUProject.bdf index 30a6217..763dfc9 100644 --- a/CPUProject.bdf +++ b/CPUProject.bdf @@ -56,71 +56,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1232 528 1408 544) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "ALU_carry" (rect 90 0 143 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1232 560 1408 576) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "Rs1[15..0]" (rect 90 0 141 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1232 576 1408 592) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "Rs2[15..0]" (rect 90 0 141 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1232 544 1408 560) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "Rd[15..0]" (rect 90 0 136 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1232 592 1408 608) + (rect 1192 624 1368 640) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "instr[15..0]" (rect 90 0 143 12)(font "Arial" )) (pt 0 8) @@ -136,71 +72,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1232 608 1408 624) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "FETCH" (rect 90 0 126 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1232 624 1408 640) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "EXEC1" (rect 90 0 124 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1232 640 1408 656) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "EXEC2" (rect 90 0 124 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1232 512 1408 528) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "reg_in[15..0]" (rect 90 0 151 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1232 656 1408 672) + (rect 1192 640 1368 656) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "PC[15..0]" (rect 90 0 137 12)(font "Arial" )) (pt 0 8) @@ -216,7 +88,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1232 672 1408 688) + (rect 1192 656 1368 672) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "R1[15..0]" (rect 90 0 136 12)(font "Arial" )) (pt 0 8) @@ -232,7 +104,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1232 688 1408 704) + (rect 1192 672 1368 688) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "R2[15..0]" (rect 90 0 136 12)(font "Arial" )) (pt 0 8) @@ -248,7 +120,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1232 704 1408 720) + (rect 1192 688 1368 704) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "R3[15..0]" (rect 90 0 136 12)(font "Arial" )) (pt 0 8) @@ -264,7 +136,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1232 720 1408 736) + (rect 1192 704 1368 720) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "R4[15..0]" (rect 90 0 136 12)(font "Arial" )) (pt 0 8) @@ -280,7 +152,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1232 736 1408 752) + (rect 1192 720 1368 736) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "R5[15..0]" (rect 90 0 136 12)(font "Arial" )) (pt 0 8) @@ -296,7 +168,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1232 752 1408 768) + (rect 1192 736 1368 752) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "R6[15..0]" (rect 90 0 136 12)(font "Arial" )) (pt 0 8) @@ -312,7 +184,7 @@ refer to the applicable agreement for further details. ) (pin (output) - (rect 1232 768 1408 784) + (rect 1192 752 1368 768) (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) (text "R7[15..0]" (rect 90 0 136 12)(font "Arial" )) (pt 0 8) @@ -326,550 +198,6 @@ refer to the applicable agreement for further details. (line (pt 78 12)(pt 82 8)) ) ) -(pin - (output) - (rect 1432 -128 1608 -112) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R1_en" (rect 90 0 121 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 -144 1608 -128) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R0_en" (rect 90 0 121 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 -160 1608 -144) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R0_count" (rect 90 0 137 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 272 1688 288) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "ALU_out[15..0]" (rect 90 0 164 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 -112 1608 -96) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R2_en" (rect 90 0 121 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 -96 1608 -80) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R3_en" (rect 90 0 121 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 -80 1608 -64) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R4_en" (rect 90 0 121 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 -64 1608 -48) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R5_en" (rect 90 0 121 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 -48 1608 -32) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R6_en" (rect 90 0 121 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 -32 1608 -16) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "R7_en" (rect 90 0 121 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 -16 1608 0) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "s1[2..0]" (rect 90 0 127 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 0 1608 16) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "s2[2..0]" (rect 90 0 127 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 16 1608 32) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "s3[2..0]" (rect 90 0 127 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1448 48 1624 64) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "RAMd_wren" (rect 90 0 147 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 64 1608 80) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "RAMd_en" (rect 90 0 137 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 80 1608 96) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "RAMi_en" (rect 90 0 133 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 96 1608 112) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "ALU_en" (rect 90 0 128 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 112 1608 128) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "E2" (rect 90 0 102 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 128 1608 144) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_en" (rect 90 0 134 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 144 1608 160) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_rst" (rect 90 0 136 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 160 1608 176) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_rw" (rect 90 0 133 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 320 1688 336) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "COND" (rect 90 0 123 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 304 1688 320) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_out[15..0]" (rect 90 0 170 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 32 1608 48) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "s4" (rect 90 0 101 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 336 1688 352) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "MUL_res[31..0]" (rect 90 0 165 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 352 1688 368) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "jumpflags[7..0]" (rect 90 0 164 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 368 1688 384) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "mul1[15..0]" (rect 90 0 145 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 384 1688 400) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "mul2[15..0]" (rect 90 0 145 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 400 1688 416) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "memaddr[10..0]" (rect 90 0 167 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 416 1688 432) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_empty" (rect 90 0 154 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 432 1688 448) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "stack_full" (rect 90 0 138 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1432 176 1608 192) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "s5" (rect 90 0 101 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 288 1688 304) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "RAMd_out[15..0]" (rect 90 0 172 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) -(pin - (output) - (rect 1512 256 1688 272) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "RAMdAddr[10..0]" (rect 90 0 173 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) (symbol (rect 632 144 816 352) (text "mux_8x16" (rect 5 0 55 12)(font "Arial" )) @@ -941,7 +269,7 @@ refer to the applicable agreement for further details. (pt 184 32) (output) (text "result[15..0]" (rect 0 0 59 12)(font "Arial" )) - (text "result[15..0]" (rect 114 27 163 39)(font "Arial" )) + (text "result[15..0]" (rect 114 27 173 39)(font "Arial" )) (line (pt 184 32)(pt 168 32)(line_width 3)) ) (drawing @@ -1019,7 +347,7 @@ refer to the applicable agreement for further details. (pt 184 32) (output) (text "result[15..0]" (rect 0 0 59 12)(font "Arial" )) - (text "result[15..0]" (rect 114 27 163 39)(font "Arial" )) + (text "result[15..0]" (rect 114 27 173 39)(font "Arial" )) (line (pt 184 32)(pt 168 32)(line_width 3)) ) (drawing @@ -1097,7 +425,7 @@ refer to the applicable agreement for further details. (pt 184 32) (output) (text "result[15..0]" (rect 0 0 59 12)(font "Arial" )) - (text "result[15..0]" (rect 114 27 163 39)(font "Arial" )) + (text "result[15..0]" (rect 114 27 173 39)(font "Arial" )) (line (pt 184 32)(pt 168 32)(line_width 3)) ) (drawing @@ -1323,21 +651,21 @@ refer to the applicable agreement for further details. (pt 152 32) (output) (text "FETCH" (rect 0 0 36 12)(font "Arial" )) - (text "FETCH" (rect 101 27 131 39)(font "Arial" )) + (text "FETCH" (rect 101 27 137 39)(font "Arial" )) (line (pt 152 32)(pt 136 32)) ) (port (pt 152 48) (output) (text "EXEC1" (rect 0 0 34 12)(font "Arial" )) - (text "EXEC1" (rect 103 43 131 55)(font "Arial" )) + (text "EXEC1" (rect 103 43 137 55)(font "Arial" )) (line (pt 152 48)(pt 136 48)) ) (port (pt 152 64) (output) (text "EXEC2" (rect 0 0 34 12)(font "Arial" )) - (text "EXEC2" (rect 103 59 131 71)(font "Arial" )) + (text "EXEC2" (rect 103 59 137 71)(font "Arial" )) (line (pt 152 64)(pt 136 64)) ) (drawing @@ -1345,7 +673,7 @@ refer to the applicable agreement for further details. ) ) (symbol - (rect 896 584 1080 728) + (rect 928 512 1112 656) (text "LIFOstack" (rect 5 0 56 12)(font "Arial" )) (text "STACK" (rect 8 128 43 140)(font "Arial" )) (port @@ -1387,147 +715,13 @@ refer to the applicable agreement for further details. (pt 184 32) (output) (text "Dout[15..0]" (rect 0 0 55 12)(font "Arial" )) - (text "Dout[15..0]" (rect 117 27 163 39)(font "Arial" )) + (text "Dout[15..0]" (rect 117 27 172 39)(font "Arial" )) (line (pt 184 32)(pt 168 32)(line_width 3)) ) - (port - (pt 184 48) - (output) - (text "empty" (rect 0 0 31 12)(font "Arial" )) - (text "empty" (rect 137 43 163 55)(font "Arial" )) - (line (pt 184 48)(pt 168 48)) - ) - (port - (pt 184 64) - (output) - (text "full" (rect 0 0 15 12)(font "Arial" )) - (text "full" (rect 151 59 163 71)(font "Arial" )) - (line (pt 184 64)(pt 168 64)) - ) (drawing (rectangle (rect 16 16 168 128)) ) ) -(symbol - (rect 928 320 1184 512) - (text "ALU_top" (rect 5 0 56 19)(font "Intel Clear" (font_size 8))) - (text "ALU" (rect 8 171 28 188)(font "Intel Clear" )) - (port - (pt 0 32) - (input) - (text "ALU_en" (rect 0 0 46 19)(font "Intel Clear" (font_size 8))) - (text "ALU_en" (rect 21 27 67 46)(font "Intel Clear" (font_size 8))) - (line (pt 0 32)(pt 16 32)) - ) - (port - (pt 0 48) - (input) - (text "Rs1[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8))) - (text "Rs1[15..0]" (rect 21 43 82 62)(font "Intel Clear" (font_size 8))) - (line (pt 0 48)(pt 16 48)(line_width 3)) - ) - (port - (pt 0 64) - (input) - (text "Rs2[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8))) - (text "Rs2[15..0]" (rect 21 59 82 78)(font "Intel Clear" (font_size 8))) - (line (pt 0 64)(pt 16 64)(line_width 3)) - ) - (port - (pt 0 80) - (input) - (text "Rd[15..0]" (rect 0 0 55 19)(font "Intel Clear" (font_size 8))) - (text "Rd[15..0]" (rect 21 75 76 94)(font "Intel Clear" (font_size 8))) - (line (pt 0 80)(pt 16 80)(line_width 3)) - ) - (port - (pt 0 96) - (input) - (text "op[5..0]" (rect 0 0 46 19)(font "Intel Clear" (font_size 8))) - (text "op[5..0]" (rect 21 91 67 110)(font "Intel Clear" (font_size 8))) - (line (pt 0 96)(pt 16 96)(line_width 3)) - ) - (port - (pt 0 112) - (input) - (text "EXEC2" (rect 0 0 38 19)(font "Intel Clear" (font_size 8))) - (text "EXEC2" (rect 21 107 59 126)(font "Intel Clear" (font_size 8))) - (line (pt 0 112)(pt 16 112)) - ) - (port - (pt 0 128) - (input) - (text "stack_data[15..0]" (rect 0 0 103 19)(font "Intel Clear" (font_size 8))) - (text "stack_data[15..0]" (rect 21 123 124 142)(font "Intel Clear" (font_size 8))) - (line (pt 0 128)(pt 16 128)(line_width 3)) - ) - (port - (pt 0 144) - (input) - (text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8))) - (text "CLK" (rect 21 139 44 158)(font "Intel Clear" (font_size 8))) - (line (pt 0 144)(pt 16 144)) - ) - (port - (pt 256 32) - (output) - (text "mul1[15..0]" (rect 0 0 69 19)(font "Intel Clear" (font_size 8))) - (text "mul1[15..0]" (rect 166 27 235 46)(font "Intel Clear" (font_size 8))) - (line (pt 256 32)(pt 240 32)(line_width 3)) - ) - (port - (pt 256 48) - (output) - (text "mul2[15..0]" (rect 0 0 69 19)(font "Intel Clear" (font_size 8))) - (text "mul2[15..0]" (rect 166 43 235 62)(font "Intel Clear" (font_size 8))) - (line (pt 256 48)(pt 240 48)(line_width 3)) - ) - (port - (pt 256 64) - (output) - (text "Rout[15..0]" (rect 0 0 66 19)(font "Intel Clear" (font_size 8))) - (text "Rout[15..0]" (rect 169 59 235 78)(font "Intel Clear" (font_size 8))) - (line (pt 256 64)(pt 240 64)(line_width 3)) - ) - (port - (pt 256 80) - (output) - (text "COND" (rect 0 0 36 19)(font "Intel Clear" (font_size 8))) - (text "COND" (rect 199 75 235 94)(font "Intel Clear" (font_size 8))) - (line (pt 256 80)(pt 240 80)) - ) - (port - (pt 256 96) - (output) - (text "CARRY" (rect 0 0 41 19)(font "Intel Clear" (font_size 8))) - (text "CARRY" (rect 194 91 235 110)(font "Intel Clear" (font_size 8))) - (line (pt 256 96)(pt 240 96)) - ) - (port - (pt 256 112) - (output) - (text "jumpflags[7..0]" (rect 0 0 89 19)(font "Intel Clear" (font_size 8))) - (text "jumpflags[7..0]" (rect 146 107 235 126)(font "Intel Clear" (font_size 8))) - (line (pt 256 112)(pt 240 112)(line_width 3)) - ) - (port - (pt 256 128) - (output) - (text "memaddr[10..0]" (rect 0 0 97 19)(font "Intel Clear" (font_size 8))) - (text "memaddr[10..0]" (rect 138 123 235 142)(font "Intel Clear" (font_size 8))) - (line (pt 256 128)(pt 240 128)(line_width 3)) - ) - (port - (pt 256 144) - (output) - (text "MUL_res[31..0]" (rect 0 0 90 19)(font "Intel Clear" (font_size 8))) - (text "MUL_res[31..0]" (rect 145 139 235 158)(font "Intel Clear" (font_size 8))) - (line (pt 256 144)(pt 240 144)(line_width 3)) - ) - (drawing - (rectangle (rect 16 16 240 176)) - ) -) (symbol (rect 936 160 1152 304) (text "ram_data" (rect 74 0 137 16)(font "Arial" (font_size 10))) @@ -1648,7 +842,7 @@ refer to the applicable agreement for further details. (pt 112 48) (output) (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) - (text "result[]" (rect 75 35 107 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 113 49)(font "Arial" (font_size 8))) (line (pt 68 48)(pt 112 48)(line_width 3)) ) (parameter @@ -1696,7 +890,7 @@ refer to the applicable agreement for further details. (pt 112 48) (output) (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) - (text "result[]" (rect 75 35 107 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 113 49)(font "Arial" (font_size 8))) (line (pt 68 48)(pt 112 48)(line_width 3)) ) (parameter @@ -2003,6 +1197,105 @@ refer to the applicable agreement for further details. (rectangle (rect 16 16 192 384)) ) ) +(symbol + (rect 928 320 1184 512) + (text "ALU_top" (rect 5 0 56 19)(font "Intel Clear" (font_size 8))) + (text "ALU" (rect 8 171 28 188)(font "Intel Clear" )) + (port + (pt 0 32) + (input) + (text "ALU_en" (rect 0 0 46 19)(font "Intel Clear" (font_size 8))) + (text "ALU_en" (rect 21 27 67 46)(font "Intel Clear" (font_size 8))) + (line (pt 0 32)(pt 16 32)) + ) + (port + (pt 0 48) + (input) + (text "Rs1[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8))) + (text "Rs1[15..0]" (rect 21 43 82 62)(font "Intel Clear" (font_size 8))) + (line (pt 0 48)(pt 16 48)(line_width 3)) + ) + (port + (pt 0 64) + (input) + (text "Rs2[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8))) + (text "Rs2[15..0]" (rect 21 59 82 78)(font "Intel Clear" (font_size 8))) + (line (pt 0 64)(pt 16 64)(line_width 3)) + ) + (port + (pt 0 80) + (input) + (text "Rd[15..0]" (rect 0 0 55 19)(font "Intel Clear" (font_size 8))) + (text "Rd[15..0]" (rect 21 75 76 94)(font "Intel Clear" (font_size 8))) + (line (pt 0 80)(pt 16 80)(line_width 3)) + ) + (port + (pt 0 96) + (input) + (text "op[5..0]" (rect 0 0 46 19)(font "Intel Clear" (font_size 8))) + (text "op[5..0]" (rect 21 91 67 110)(font "Intel Clear" (font_size 8))) + (line (pt 0 96)(pt 16 96)(line_width 3)) + ) + (port + (pt 0 112) + (input) + (text "EXEC2" (rect 0 0 38 19)(font "Intel Clear" (font_size 8))) + (text "EXEC2" (rect 21 107 59 126)(font "Intel Clear" (font_size 8))) + (line (pt 0 112)(pt 16 112)) + ) + (port + (pt 0 128) + (input) + (text "stack_data[15..0]" (rect 0 0 103 19)(font "Intel Clear" (font_size 8))) + (text "stack_data[15..0]" (rect 21 123 124 142)(font "Intel Clear" (font_size 8))) + (line (pt 0 128)(pt 16 128)(line_width 3)) + ) + (port + (pt 0 144) + (input) + (text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8))) + (text "CLK" (rect 21 139 44 158)(font "Intel Clear" (font_size 8))) + (line (pt 0 144)(pt 16 144)) + ) + (port + (pt 256 32) + (output) + (text "mul1[15..0]" (rect 0 0 69 19)(font "Intel Clear" (font_size 8))) + (text "mul1[15..0]" (rect 166 27 235 46)(font "Intel Clear" (font_size 8))) + (line (pt 256 32)(pt 240 32)(line_width 3)) + ) + (port + (pt 256 48) + (output) + (text "mul2[15..0]" (rect 0 0 69 19)(font "Intel Clear" (font_size 8))) + (text "mul2[15..0]" (rect 166 43 235 62)(font "Intel Clear" (font_size 8))) + (line (pt 256 48)(pt 240 48)(line_width 3)) + ) + (port + (pt 256 64) + (output) + (text "Rout[15..0]" (rect 0 0 66 19)(font "Intel Clear" (font_size 8))) + (text "Rout[15..0]" (rect 169 59 235 78)(font "Intel Clear" (font_size 8))) + (line (pt 256 64)(pt 240 64)(line_width 3)) + ) + (port + (pt 256 80) + (output) + (text "COND" (rect 0 0 36 19)(font "Intel Clear" (font_size 8))) + (text "COND" (rect 199 75 235 94)(font "Intel Clear" (font_size 8))) + (line (pt 256 80)(pt 240 80)) + ) + (port + (pt 256 96) + (output) + (text "memaddr[10..0]" (rect 0 0 97 19)(font "Intel Clear" (font_size 8))) + (text "memaddr[10..0]" (rect 138 91 235 110)(font "Intel Clear" (font_size 8))) + (line (pt 256 96)(pt 240 96)(line_width 3)) + ) + (drawing + (rectangle (rect 16 16 240 176)) + ) +) (connector (pt 856 192) (pt 936 192) @@ -2129,16 +1422,6 @@ refer to the applicable agreement for further details. (pt 136 416) (bus) ) -(connector - (pt 136 416) - (pt 136 448) - (bus) -) -(connector - (pt 136 448) - (pt 136 792) - (bus) -) (connector (pt 136 224) (pt 136 256) @@ -2373,11 +1656,6 @@ refer to the applicable agreement for further details. (pt 592 592) (bus) ) -(connector - (pt 136 792) - (pt 1416 792) - (bus) -) (connector (text "Rs1[15..0]" (rect 818 160 865 177)(font "Intel Clear" )) (pt 816 176) @@ -2426,113 +1704,6 @@ refer to the applicable agreement for further details. (pt 576 304) (bus) ) -(connector - (pt 1416 496) - (pt 1224 496) - (bus) -) -(connector - (pt 1232 520) - (pt 1224 520) - (bus) -) -(connector - (pt 1224 520) - (pt 1224 496) - (bus) -) -(connector - (text "EXEC1" (rect 1186 616 1217 633)(font "Intel Clear" )) - (pt 1176 632) - (pt 1232 632) -) -(connector - (text "EXEC2" (rect 1186 632 1217 649)(font "Intel Clear" )) - (pt 1176 648) - (pt 1232 648) -) -(connector - (text "CARRY" (rect 1186 520 1221 537)(font "Intel Clear" )) - (pt 1176 536) - (pt 1232 536) -) -(connector - (text "Rd[15..0]" (rect 1186 536 1228 553)(font "Intel Clear" )) - (pt 1176 552) - (pt 1232 552) - (bus) -) -(connector - (text "Rs1[15..0]" (rect 1186 552 1233 569)(font "Intel Clear" )) - (pt 1176 568) - (pt 1232 568) - (bus) -) -(connector - (text "Rs2[15..0]" (rect 1186 568 1233 585)(font "Intel Clear" )) - (pt 1176 584) - (pt 1232 584) - (bus) -) -(connector - (text "instr[15..0]" (rect 1184 584 1233 601)(font "Intel Clear" )) - (pt 1176 600) - (pt 1232 600) - (bus) -) -(connector - (text "FETCH" (rect 1186 600 1217 617)(font "Intel Clear" )) - (pt 1176 616) - (pt 1232 616) -) -(connector - (text "PC[15..0]" (rect 1186 648 1229 665)(font "Intel Clear" )) - (pt 1232 664) - (pt 1176 664) - (bus) -) -(connector - (text "R1[15..0]" (rect 1186 664 1228 681)(font "Intel Clear" )) - (pt 1232 680) - (pt 1176 680) - (bus) -) -(connector - (text "R2[15..0]" (rect 1186 680 1228 697)(font "Intel Clear" )) - (pt 1232 696) - (pt 1176 696) - (bus) -) -(connector - (text "R3[15..0]" (rect 1186 696 1228 713)(font "Intel Clear" )) - (pt 1232 712) - (pt 1176 712) - (bus) -) -(connector - (text "R4[15..0]" (rect 1186 712 1228 729)(font "Intel Clear" )) - (pt 1232 728) - (pt 1176 728) - (bus) -) -(connector - (text "R5[15..0]" (rect 1186 728 1228 745)(font "Intel Clear" )) - (pt 1232 744) - (pt 1176 744) - (bus) -) -(connector - (text "R6[15..0]" (rect 1186 744 1228 761)(font "Intel Clear" )) - (pt 1232 760) - (pt 1176 760) - (bus) -) -(connector - (text "R7[15..0]" (rect 1186 760 1228 777)(font "Intel Clear" )) - (pt 1232 776) - (pt 1176 776) - (bus) -) (connector (text "CLK" (rect 354 712 374 729)(font "Intel Clear" )) (pt 344 728) @@ -2548,38 +1719,6 @@ refer to the applicable agreement for further details. (pt 560 120) (pt 600 120) ) -(connector - (text "ALU_out[15..0]" (rect 1448 264 1518 281)(font "Intel Clear" )) - (pt 1440 280) - (pt 1512 280) - (bus) -) -(connector - (text "stack_out[15..0]" (rect 1450 296 1525 313)(font "Intel Clear" )) - (pt 1512 312) - (pt 1440 312) - (bus) -) -(connector - (text "COND" (rect 1450 312 1479 329)(font "Intel Clear" )) - (pt 1512 328) - (pt 1440 328) -) -(connector - (pt 1416 320) - (pt 1368 320) - (bus) -) -(connector - (pt 1416 320) - (pt 1416 496) - (bus) -) -(connector - (pt 1416 496) - (pt 1416 792) - (bus) -) (connector (text "s4" (rect 1296 373 1313 383)(font "Intel Clear" )(vertical)) (pt 1312 360) @@ -2590,12 +1729,6 @@ refer to the applicable agreement for further details. (pt 344 712) (pt 400 712) ) -(connector - (text "MUL_res[31..0]" (rect 1450 328 1521 345)(font "Intel Clear" )) - (pt 1512 344) - (pt 1440 344) - (bus) -) (connector (pt 464 192) (pt 464 400) @@ -2652,29 +1785,11 @@ refer to the applicable agreement for further details. (pt 272 88) (pt 304 88) ) -(connector - (text "jumpflags[7..0]" (rect 1448 344 1518 361)(font "Intel Clear" )) - (pt 1512 360) - (pt 1440 360) - (bus) -) (connector (pt 1256 336) (pt 1248 336) (bus) ) -(connector - (text "mul1[15..0]" (rect 1448 360 1502 377)(font "Intel Clear" )) - (pt 1512 376) - (pt 1440 376) - (bus) -) -(connector - (text "mul2[15..0]" (rect 1448 376 1502 393)(font "Intel Clear" )) - (pt 1512 392) - (pt 1440 392) - (bus) -) (connector (pt 856 592) (pt 856 400) @@ -2739,17 +1854,6 @@ refer to the applicable agreement for further details. (pt 1248 384) (bus) ) -(connector - (text "jumpflags[7..0]" (rect 1184 416 1254 433)(font "Intel Clear" )) - (pt 1184 432) - (pt 1232 432) - (bus) -) -(connector - (text "CARRY" (rect 1186 400 1221 417)(font "Intel Clear" )) - (pt 1184 416) - (pt 1232 416) -) (connector (text "COND" (rect 1194 384 1223 401)(font "Intel Clear" )) (pt 1184 400) @@ -2767,23 +1871,6 @@ refer to the applicable agreement for further details. (pt 1232 352) (bus) ) -(connector - (text "MUL_res[31..0]" (rect 1184 448 1255 465)(font "Intel Clear" )) - (pt 1184 464) - (pt 1232 464) - (bus) -) -(connector - (text "CLK" (rect 882 464 902 481)(font "Intel Clear" )) - (pt 928 480) - (pt 872 480) -) -(connector - (text "RAMd_out[15..0]" (rect 870 448 950 465)(font "Intel Clear" )) - (pt 928 464) - (pt 872 464) - (bus) -) (connector (text "instr[10..0]" (rect 904 40 953 57)(font "Intel Clear" )) (pt 872 56) @@ -2802,12 +1889,6 @@ refer to the applicable agreement for further details. (pt 872 88) (bus) ) -(connector - (text "memaddr[10..0]" (rect 1192 432 1267 449)(font "Intel Clear" )) - (pt 1184 448) - (pt 1232 448) - (bus) -) (connector (pt 1080 72) (pt 1088 72) @@ -2828,12 +1909,6 @@ refer to the applicable agreement for further details. (pt 872 152) (bus) ) -(connector - (text "memaddr[10..0]" (rect 1448 392 1523 409)(font "Intel Clear" )) - (pt 1512 408) - (pt 1440 408) - (bus) -) (connector (text "s5" (rect 1008 117 1025 127)(font "Intel Clear" )(vertical)) (pt 1024 112) @@ -2850,83 +1925,6 @@ refer to the applicable agreement for further details. (pt 1160 304) (bus) ) -(connector - (text "Rs1[15..0]" (rect 850 600 897 617)(font "Intel Clear" )) - (pt 840 616) - (pt 896 616) - (bus) -) -(connector - (text "CLK" (rect 850 616 870 633)(font "Intel Clear" )) - (pt 840 632) - (pt 896 632) -) -(connector - (text "stack_en" (rect 850 632 892 649)(font "Intel Clear" )) - (pt 840 648) - (pt 896 648) -) -(connector - (text "stack_rst" (rect 850 648 892 665)(font "Intel Clear" )) - (pt 840 664) - (pt 896 664) -) -(connector - (text "stack_rw" (rect 850 664 892 681)(font "Intel Clear" )) - (pt 840 680) - (pt 896 680) -) -(connector - (text "stack_out[15..0]" (rect 1082 600 1157 617)(font "Intel Clear" )) - (pt 1080 616) - (pt 1144 616) - (bus) -) -(connector - (text "stack_empty" (rect 1082 616 1143 633)(font "Intel Clear" )) - (pt 1080 632) - (pt 1144 632) -) -(connector - (text "stack_full" (rect 1082 632 1129 649)(font "Intel Clear" )) - (pt 1080 648) - (pt 1144 648) -) -(connector - (text "stack_empty" (rect 1450 408 1511 425)(font "Intel Clear" )) - (pt 1512 424) - (pt 1440 424) -) -(connector - (text "stack_full" (rect 1450 424 1497 441)(font "Intel Clear" )) - (pt 1512 440) - (pt 1440 440) -) -(connector - (pt 1512 296) - (pt 1416 296) - (bus) -) -(connector - (pt 1416 296) - (pt 1416 256) - (bus) -) -(connector - (pt 1416 256) - (pt 1160 256) - (bus) -) -(connector - (pt 1160 192) - (pt 1160 256) - (bus) -) -(connector - (pt 1160 256) - (pt 1160 304) - (bus) -) (connector (pt 872 -152) (pt 872 24) @@ -3026,11 +2024,6 @@ refer to the applicable agreement for further details. (pt 1432 24) (bus) ) -(connector - (text "RAMd_wren" (rect 1394 40 1453 57)(font "Intel Clear" )) - (pt 1384 56) - (pt 1448 56) -) (connector (text "RAMd_en" (rect 1394 56 1441 73)(font "Intel Clear" )) (pt 1384 72) @@ -3076,36 +2069,143 @@ refer to the applicable agreement for further details. (pt 1384 184) (pt 1432 184) ) -(connector - (pt 1168 152) - (pt 1168 248) - (bus) -) (connector (pt 872 152) (pt 1088 152) (bus) ) (connector - (pt 1088 152) - (pt 1168 152) + (text "RAMd_wren" (rect 1386 40 1445 57)(font "Intel Clear" )) + (pt 1384 56) + (pt 1432 56) +) +(connector + (text "memaddr[10..0]" (rect 1192 400 1267 417)(font "Intel Clear" )) + (pt 1184 416) + (pt 1232 416) (bus) ) (connector - (pt 1168 248) - (pt 1440 248) + (text "CLK" (rect 882 448 902 465)(font "Intel Clear" )) + (pt 928 464) + (pt 872 464) +) +(connector + (pt 1160 192) + (pt 1160 304) (bus) ) (connector - (pt 1440 248) - (pt 1440 264) + (pt 136 776) + (pt 1376 776) (bus) ) (connector - (pt 1440 264) - (pt 1512 264) + (pt 1368 320) + (pt 1376 320) (bus) ) +(connector + (pt 1376 320) + (pt 1376 776) + (bus) +) +(connector + (pt 136 416) + (pt 136 448) + (bus) +) +(connector + (pt 136 448) + (pt 136 776) + (bus) +) +(connector + (text "PC[15..0]" (rect 1146 632 1189 649)(font "Intel Clear" )) + (pt 1192 648) + (pt 1136 648) + (bus) +) +(connector + (text "R1[15..0]" (rect 1146 648 1188 665)(font "Intel Clear" )) + (pt 1192 664) + (pt 1136 664) + (bus) +) +(connector + (text "R2[15..0]" (rect 1146 664 1188 681)(font "Intel Clear" )) + (pt 1192 680) + (pt 1136 680) + (bus) +) +(connector + (text "R3[15..0]" (rect 1146 680 1188 697)(font "Intel Clear" )) + (pt 1192 696) + (pt 1136 696) + (bus) +) +(connector + (text "R4[15..0]" (rect 1146 696 1188 713)(font "Intel Clear" )) + (pt 1192 712) + (pt 1136 712) + (bus) +) +(connector + (text "R5[15..0]" (rect 1146 712 1188 729)(font "Intel Clear" )) + (pt 1192 728) + (pt 1136 728) + (bus) +) +(connector + (text "R6[15..0]" (rect 1146 728 1188 745)(font "Intel Clear" )) + (pt 1192 744) + (pt 1136 744) + (bus) +) +(connector + (text "R7[15..0]" (rect 1146 744 1188 761)(font "Intel Clear" )) + (pt 1192 760) + (pt 1136 760) + (bus) +) +(connector + (text "instr[15..0]" (rect 1144 616 1193 633)(font "Intel Clear" )) + (pt 1136 632) + (pt 1192 632) + (bus) +) +(connector + (text "stack_out[15..0]" (rect 1114 528 1189 545)(font "Intel Clear" )) + (pt 1112 544) + (pt 1168 544) + (bus) +) +(connector + (text "Rs1[15..0]" (rect 874 528 921 545)(font "Intel Clear" )) + (pt 928 544) + (pt 872 544) + (bus) +) +(connector + (text "CLK" (rect 874 544 894 561)(font "Intel Clear" )) + (pt 928 560) + (pt 872 560) +) +(connector + (text "stack_en" (rect 874 560 916 577)(font "Intel Clear" )) + (pt 928 576) + (pt 872 576) +) +(connector + (text "stack_rst" (rect 874 576 916 593)(font "Intel Clear" )) + (pt 928 592) + (pt 872 592) +) +(connector + (text "stack_rw" (rect 874 592 916 609)(font "Intel Clear" )) + (pt 928 608) + (pt 872 608) +) (junction (pt 856 192)) (junction (pt 136 320)) (junction (pt 136 352)) @@ -3130,8 +2230,5 @@ refer to the applicable agreement for further details. (junction (pt 544 480)) (junction (pt 560 496)) (junction (pt 576 512)) -(junction (pt 1416 496)) (junction (pt 536 192)) (junction (pt 872 24)) -(junction (pt 1160 256)) -(junction (pt 1088 152)) diff --git a/CPUProject.qsf b/CPUProject.qsf index 10b5a9a..d8e4b39 100644 --- a/CPUProject.qsf +++ b/CPUProject.qsf @@ -64,6 +64,7 @@ set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_RO set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top set_global_assignment -name VERILOG_FILE max_min.v +set_global_assignment -name SDC_FILE CPUProject.sdc set_global_assignment -name VERILOG_FILE LIFOstack.v set_global_assignment -name VERILOG_FILE alu.v set_global_assignment -name MIF_FILE LUTSquares.mif diff --git a/CPUProject.sdc b/CPUProject.sdc new file mode 100644 index 0000000..c0fad97 --- /dev/null +++ b/CPUProject.sdc @@ -0,0 +1,4 @@ +#This file must have the same name as your project + +#Make input CLK a clock and set frequency to 100MHz (10ns period) +create_clock -name {CLK} -period 10.0 [get_ports {CLK}] diff --git a/CPUProject.sdc.bak b/CPUProject.sdc.bak new file mode 100644 index 0000000..fdc6662 --- /dev/null +++ b/CPUProject.sdc.bak @@ -0,0 +1,4 @@ +#This file must have the same name as your project + +#Make input CLK a clock and set frequency to 250MHz (4ns period) +create_clock -name {CLK} -period 4.0 [get_ports {CLK}] diff --git a/LIFOstack.bsf b/LIFOstack.bsf index 967974d..1633c8a 100644 --- a/LIFOstack.bsf +++ b/LIFOstack.bsf @@ -4,9 +4,9 @@ editor if you plan to continue editing the block that represents it in the Block Editor! File corruption is VERY likely to occur. */ /* -Copyright (C) 2018 Intel Corporation. All rights reserved. +Copyright (C) 2019 Intel Corporation. All rights reserved. Your use of Intel Corporation's design tools, logic functions -and other software and tools, and its AMPP partner logic +and other software and tools, and any partner logic functions, and any output files from any of the foregoing (including device programming or simulation files), and any associated documentation or information are expressly subject @@ -16,7 +16,8 @@ the Intel FPGA IP License Agreement, or other applicable license agreement, including, without limitation, that your use is for the sole purpose of programming logic devices manufactured by Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details. +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. */ (header "symbol" (version "1.1")) (symbol @@ -65,20 +66,6 @@ refer to the applicable agreement for further details. (text "Dout[15..0]" (rect 121 27 163 39)(font "Arial" )) (line (pt 184 32)(pt 168 32)(line_width 3)) ) - (port - (pt 184 48) - (output) - (text "empty" (rect 0 0 25 12)(font "Arial" )) - (text "empty" (rect 138 43 163 55)(font "Arial" )) - (line (pt 184 48)(pt 168 48)(line_width 1)) - ) - (port - (pt 184 64) - (output) - (text "full" (rect 0 0 10 12)(font "Arial" )) - (text "full" (rect 153 59 163 71)(font "Arial" )) - (line (pt 184 64)(pt 168 64)(line_width 1)) - ) (drawing (rectangle (rect 16 16 168 128)(line_width 1)) ) diff --git a/LIFOstack.v b/LIFOstack.v index b476bc4..a7669ad 100644 --- a/LIFOstack.v +++ b/LIFOstack.v @@ -1,4 +1,4 @@ -module LIFOstack (Din, clk, en, rst, rw, Dout, empty, full); +module LIFOstack (Din, clk, en, rst, rw, Dout); input [15:0] Din; // Data being fed to stack input clk; // clock signal input @@ -7,8 +7,8 @@ input rst; // reset pin to clear and reinitialise stack (active high) input rw; // 0: read, 1: write output reg [15:0] Dout; // Data being pulled from stack -output reg empty; // goes high to indicate SP is at 0 -output reg full; // goes high to indicate SP is at (slots) +reg empty; // goes high to indicate SP is at 0 +reg full; // goes high to indicate SP is at (slots) reg [5:0] SP; // Points to slot to save next value to integer i; diff --git a/alu.bsf b/alu.bsf index dc87f3a..1882d43 100644 --- a/alu.bsf +++ b/alu.bsf @@ -110,23 +110,9 @@ refer to the applicable agreement for further details. (port (pt 224 96) (output) - (text "carry" (rect 0 0 22 12)(font "Arial" )) - (text "carry" (rect 181 91 203 103)(font "Arial" )) - (line (pt 224 96)(pt 208 96)(line_width 1)) - ) - (port - (pt 224 112) - (output) - (text "jumpflags[7..0]" (rect 0 0 57 12)(font "Arial" )) - (text "jumpflags[7..0]" (rect 146 107 203 119)(font "Arial" )) - (line (pt 224 112)(pt 208 112)(line_width 3)) - ) - (port - (pt 224 128) - (output) (text "memaddr[10..0]" (rect 0 0 62 12)(font "Arial" )) - (text "memaddr[10..0]" (rect 141 123 203 135)(font "Arial" )) - (line (pt 224 128)(pt 208 128)(line_width 3)) + (text "memaddr[10..0]" (rect 141 91 203 103)(font "Arial" )) + (line (pt 224 96)(pt 208 96)(line_width 3)) ) (drawing (rectangle (rect 16 16 208 160)(line_width 1)) diff --git a/alu.v b/alu.v index 731a1c6..d1eeb68 100644 --- a/alu.v +++ b/alu.v @@ -1,4 +1,4 @@ -module alu (enable, Rs1, Rs2, Rd, instr, mulresult, exec2, stackout, mul1, mul2, Rout, jump, carry, jumpflags, memaddr); +module alu (enable, Rs1, Rs2, Rd, instr, mulresult, exec2, stackout, mul1, mul2, Rout, jump, memaddr); input enable; // active LOW, disables the ALU during load/store operations so that undefined behaviour does not occur input signed [15:0] Rs1; // input source register 1 @@ -13,8 +13,7 @@ output reg signed [15:0] mul1; // first number to be multiplied output reg signed [15:0] mul2; // second number to be multiplied output signed [15:0] Rout; // value to be saved to destination register output jump; // tells decoder whether Jump condition is true -output reg carry; // Internal carry register that is updated during appropriate opcodes, also provides output for debugging -output [7:0] jumpflags; +reg carry; // Internal carry register that is updated during appropriate opcodes, also provides output for debugging output reg [10:0] memaddr; // address to load data from / store data to RAMd wire [5:0]opcode = instr[14:9]; //opcode of current instruction @@ -33,7 +32,6 @@ assign JC5 = (Rs1 >= Rs2); assign JC6 = (Rs1 <= Rs2); assign JC7 = (Rs1 != Rs2); assign JC8 = (Rs1 < 0); -assign jumpflags = {JC1, JC2, JC3, JC4, JC5, JC6, JC7, JC8}; always @(opcode, mulresult) begin diff --git a/max_min.bsf b/max_min.bsf index 9d50260..bd160c7 100644 --- a/max_min.bsf +++ b/max_min.bsf @@ -4,9 +4,9 @@ editor if you plan to continue editing the block that represents it in the Block Editor! File corruption is VERY likely to occur. */ /* -Copyright (C) 2018 Intel Corporation. All rights reserved. +Copyright (C) 2019 Intel Corporation. All rights reserved. Your use of Intel Corporation's design tools, logic functions -and other software and tools, and its AMPP partner logic +and other software and tools, and any partner logic functions, and any output files from any of the foregoing (including device programming or simulation files), and any associated documentation or information are expressly subject @@ -16,7 +16,8 @@ the Intel FPGA IP License Agreement, or other applicable license agreement, including, without limitation, that your use is for the sole purpose of programming logic devices manufactured by Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details. +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. */ (header "symbol" (version "1.1")) (symbol diff --git a/mul16.bdf b/mul16.bdf index c5e9eda..d684d89 100644 --- a/mul16.bdf +++ b/mul16.bdf @@ -144,7 +144,7 @@ refer to the applicable agreement for further details. (pt 160 144) (output) (text "cout" (rect 120 129 144 143)(font "Arial" (font_size 8))) - (text "cout" (rect 120 129 140 143)(font "Arial" (font_size 8))) + (text "cout" (rect 120 129 144 143)(font "Arial" (font_size 8))) (line (pt 145 144)(pt 160 144)) (unused) ) @@ -152,7 +152,7 @@ refer to the applicable agreement for further details. (pt 160 128) (output) (text "overflow" (rect 99 113 150 127)(font "Arial" (font_size 8))) - (text "overflow" (rect 97 113 140 127)(font "Arial" (font_size 8))) + (text "overflow" (rect 97 113 148 127)(font "Arial" (font_size 8))) (line (pt 145 128)(pt 160 128)) (unused) ) @@ -160,7 +160,7 @@ refer to the applicable agreement for further details. (pt 160 96) (output) (text "result[LPM_WIDTH-1..0]" (rect 109 81 242 95)(font "Arial" (font_size 8))) - (text "result[]" (rect 108 81 140 95)(font "Arial" (font_size 8))) + (text "result[]" (rect 108 81 146 95)(font "Arial" (font_size 8))) (line (pt 145 96)(pt 160 96)(line_width 3)) ) (parameter @@ -285,7 +285,7 @@ refer to the applicable agreement for further details. (pt 160 144) (output) (text "cout" (rect 120 129 144 143)(font "Arial" (font_size 8))) - (text "cout" (rect 120 129 140 143)(font "Arial" (font_size 8))) + (text "cout" (rect 120 129 144 143)(font "Arial" (font_size 8))) (line (pt 145 144)(pt 160 144)) (unused) ) @@ -293,7 +293,7 @@ refer to the applicable agreement for further details. (pt 160 128) (output) (text "overflow" (rect 99 113 150 127)(font "Arial" (font_size 8))) - (text "overflow" (rect 97 113 140 127)(font "Arial" (font_size 8))) + (text "overflow" (rect 97 113 148 127)(font "Arial" (font_size 8))) (line (pt 145 128)(pt 160 128)) (unused) ) @@ -301,7 +301,7 @@ refer to the applicable agreement for further details. (pt 160 96) (output) (text "result[LPM_WIDTH-1..0]" (rect 109 81 242 95)(font "Arial" (font_size 8))) - (text "result[]" (rect 108 81 140 95)(font "Arial" (font_size 8))) + (text "result[]" (rect 108 81 146 95)(font "Arial" (font_size 8))) (line (pt 145 96)(pt 160 96)(line_width 3)) ) (parameter @@ -426,7 +426,7 @@ refer to the applicable agreement for further details. (pt 160 144) (output) (text "cout" (rect 120 129 144 143)(font "Arial" (font_size 8))) - (text "cout" (rect 120 129 140 143)(font "Arial" (font_size 8))) + (text "cout" (rect 120 129 144 143)(font "Arial" (font_size 8))) (line (pt 145 144)(pt 160 144)) (unused) ) @@ -434,7 +434,7 @@ refer to the applicable agreement for further details. (pt 160 128) (output) (text "overflow" (rect 99 113 150 127)(font "Arial" (font_size 8))) - (text "overflow" (rect 97 113 140 127)(font "Arial" (font_size 8))) + (text "overflow" (rect 97 113 148 127)(font "Arial" (font_size 8))) (line (pt 145 128)(pt 160 128)) (unused) ) @@ -442,7 +442,7 @@ refer to the applicable agreement for further details. (pt 160 96) (output) (text "result[LPM_WIDTH-1..0]" (rect 109 81 242 95)(font "Arial" (font_size 8))) - (text "result[]" (rect 108 81 140 95)(font "Arial" (font_size 8))) + (text "result[]" (rect 108 81 146 95)(font "Arial" (font_size 8))) (line (pt 145 96)(pt 160 96)(line_width 3)) ) (parameter @@ -523,6 +523,42 @@ refer to the applicable agreement for further details. (line (pt 8 8)(pt 24 8)) ) ) +(symbol + (rect 648 56 848 152) + (text "mul8" (rect 5 0 35 19)(font "Intel Clear" (font_size 8))) + (text "MUL1" (rect 8 75 36 92)(font "Intel Clear" )) + (port + (pt 0 32) + (input) + (text "CLOCK" (rect 0 0 41 19)(font "Intel Clear" (font_size 8))) + (text "CLOCK" (rect 21 27 62 46)(font "Intel Clear" (font_size 8))) + (line (pt 0 32)(pt 16 32)) + ) + (port + (pt 0 48) + (input) + (text "NUM1[7..0]" (rect 0 0 68 19)(font "Intel Clear" (font_size 8))) + (text "NUM1[7..0]" (rect 21 43 89 62)(font "Intel Clear" (font_size 8))) + (line (pt 0 48)(pt 16 48)(line_width 3)) + ) + (port + (pt 0 64) + (input) + (text "NUM2[7..0]" (rect 0 0 68 19)(font "Intel Clear" (font_size 8))) + (text "NUM2[7..0]" (rect 21 59 89 78)(font "Intel Clear" (font_size 8))) + (line (pt 0 64)(pt 16 64)(line_width 3)) + ) + (port + (pt 200 32) + (output) + (text "PROD[15..0]" (rect 0 0 74 19)(font "Intel Clear" (font_size 8))) + (text "PROD[15..0]" (rect 105 27 179 46)(font "Intel Clear" (font_size 8))) + (line (pt 200 32)(pt 184 32)(line_width 3)) + ) + (drawing + (rectangle (rect 16 16 184 80)) + ) +) (symbol (rect 648 176 848 272) (text "mul8" (rect 5 0 35 19)(font "Intel Clear" (font_size 8))) @@ -631,42 +667,6 @@ refer to the applicable agreement for further details. (rectangle (rect 16 16 184 80)) ) ) -(symbol - (rect 648 56 848 152) - (text "mul8" (rect 5 0 35 19)(font "Intel Clear" (font_size 8))) - (text "MUL1" (rect 8 75 36 92)(font "Intel Clear" )) - (port - (pt 0 32) - (input) - (text "CLOCK" (rect 0 0 41 19)(font "Intel Clear" (font_size 8))) - (text "CLOCK" (rect 21 27 62 46)(font "Intel Clear" (font_size 8))) - (line (pt 0 32)(pt 16 32)) - ) - (port - (pt 0 48) - (input) - (text "NUM1[7..0]" (rect 0 0 68 19)(font "Intel Clear" (font_size 8))) - (text "NUM1[7..0]" (rect 21 43 89 62)(font "Intel Clear" (font_size 8))) - (line (pt 0 48)(pt 16 48)(line_width 3)) - ) - (port - (pt 0 64) - (input) - (text "NUM2[7..0]" (rect 0 0 68 19)(font "Intel Clear" (font_size 8))) - (text "NUM2[7..0]" (rect 21 59 89 78)(font "Intel Clear" (font_size 8))) - (line (pt 0 64)(pt 16 64)(line_width 3)) - ) - (port - (pt 200 32) - (output) - (text "PROD[15..0]" (rect 0 0 74 19)(font "Intel Clear" (font_size 8))) - (text "PROD[15..0]" (rect 105 27 179 46)(font "Intel Clear" (font_size 8))) - (line (pt 200 32)(pt 184 32)(line_width 3)) - ) - (drawing - (rectangle (rect 16 16 184 80)) - ) -) (connector (text "B[15..8]" (rect 570 104 606 121)(font "Intel Clear" )) (pt 648 120) @@ -864,6 +864,30 @@ refer to the applicable agreement for further details. (pt 216 216) (pt 520 216) ) +(connector + (text "P1[15..0]" (rect 858 72 900 89)(font "Intel Clear" )) + (pt 848 88) + (pt 912 88) + (bus) +) +(connector + (text "P2[15..0]" (rect 858 192 900 209)(font "Intel Clear" )) + (pt 848 208) + (pt 896 208) + (bus) +) +(connector + (text "P3[15..0]" (rect 858 304 900 321)(font "Intel Clear" )) + (pt 848 320) + (pt 904 320) + (bus) +) +(connector + (text "P4[15..0]" (rect 858 408 900 425)(font "Intel Clear" )) + (pt 848 424) + (pt 888 424) + (bus) +) (junction (pt 520 208)) (junction (pt 520 216)) (junction (pt 520 320)) diff --git a/mul8.bdf b/mul8.bdf index a13f4e8..69519eb 100644 --- a/mul8.bdf +++ b/mul8.bdf @@ -39,7 +39,7 @@ refer to the applicable agreement for further details. (input) (rect -752 216 -584 232) (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) - (text "NUM1[7..0]" (rect 5 0 61 12)(font "Arial" )) + (text "NUM1[7..0]" (rect 5 0 62 12)(font "Arial" )) (pt 168 8) (drawing (line (pt 84 12)(pt 109 12)) @@ -55,7 +55,7 @@ refer to the applicable agreement for further details. (input) (rect -752 232 -584 248) (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) - (text "NUM2[7..0]" (rect 5 0 58 17)(font "Intel Clear" )) + (text "NUM2[7..0]" (rect 5 0 59 17)(font "Intel Clear" )) (pt 168 8) (drawing (line (pt 84 12)(pt 109 12)) @@ -718,7 +718,7 @@ refer to the applicable agreement for further details. (symbol (rect -544 192 -360 272) (text "max_min" (rect 5 0 49 12)(font "Arial" )) - (text "maxmin" (rect 8 64 46 76)(font "Arial" )) + (text "maxmin" (rect 8 64 45 81)(font "Intel Clear" )) (port (pt 0 32) (input) @@ -737,14 +737,14 @@ refer to the applicable agreement for further details. (pt 184 32) (output) (text "maximum[7..0]" (rect 0 0 74 12)(font "Arial" )) - (text "maximum[7..0]" (rect 101 27 163 39)(font "Arial" )) + (text "maximum[7..0]" (rect 101 27 175 39)(font "Arial" )) (line (pt 184 32)(pt 168 32)(line_width 3)) ) (port (pt 184 48) (output) (text "minimum[7..0]" (rect 0 0 70 12)(font "Arial" )) - (text "minimum[7..0]" (rect 104 43 163 55)(font "Arial" )) + (text "minimum[7..0]" (rect 104 43 174 55)(font "Arial" )) (line (pt 184 48)(pt 168 48)(line_width 3)) ) (drawing @@ -925,6 +925,17 @@ refer to the applicable agreement for further details. (pt -200 160) (bus) ) +(connector + (pt -360 240) + (pt -360 304) + (bus) +) +(connector + (text "B[7..0]" (rect -270 288 -240 305)(font "Intel Clear" )) + (pt -360 304) + (pt -160 304) + (bus) +) (connector (pt -544 224) (pt -584 224) @@ -967,31 +978,5 @@ refer to the applicable agreement for further details. (pt 1024 152) (bus) ) -(connector - (pt -360 240) - (pt -344 240) - (bus) -) -(connector - (pt -344 240) - (pt -344 304) - (bus) -) -(connector - (text "B[7..0]" (rect -270 288 -240 305)(font "Intel Clear" )) - (pt -160 304) - (pt -344 304) - (bus) -) -(connector - (pt -160 40) - (pt -160 304) - (bus) -) -(connector - (pt -160 304) - (pt -160 432) - (bus) -) (junction (pt -200 160)) (junction (pt -160 304))