ELEC40006-P1-CW/ALU_top.bdf
Aadi Desai d046242bc1 Final State before Pipelining
Debug Complete, data and instruction mifs + ram files. Test program checked
2020-06-09 22:45:20 +01:00

553 lines
12 KiB
Plaintext

/*
WARNING: Do NOT edit the input and output ports in this file in a text
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) 2019 Intel Corporation. All rights reserved.
Your use of Intel Corporation's design tools, logic functions
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
to the terms and conditions of the Intel Program License
Subscription Agreement, the Intel Quartus Prime License Agreement,
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, at
https://fpgasoftware.intel.com/eula.
*/
(header "graphic" (version "1.4"))
(pin
(input)
(rect 352 240 528 256)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "ALU_en" (rect 9 0 47 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
(input)
(rect 352 256 528 272)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "Rs1[15..0]" (rect 9 0 60 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
(input)
(rect 352 272 528 288)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "Rs2[15..0]" (rect 9 0 60 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
(input)
(rect 352 288 528 304)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "Rd[15..0]" (rect 9 0 55 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
(input)
(rect 352 304 528 320)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "op[5..0]" (rect 9 0 46 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
(input)
(rect 352 336 528 352)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "EXEC2" (rect 9 0 43 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
(input)
(rect 344 448 520 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)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
(input)
(rect 352 352 528 368)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "stack_data[15..0]" (rect 9 0 95 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
(output)
(rect 784 272 960 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)
(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 784 288 960 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)
(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 784 304 960 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 448 944 464)
(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 784 320 960 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 784 240 960 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)
(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 784 256 960 272)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "mul2[15..0]" (rect 90 0 144 17)(font "Intel Clear" ))
(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 544 424 744 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
(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 "A[15..0]" (rect 0 0 47 19)(font "Intel Clear" (font_size 8)))
(text "A[15..0]" (rect 21 43 68 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48)(line_width 3))
)
(port
(pt 0 64)
(input)
(text "B[15..0]" (rect 0 0 47 19)(font "Intel Clear" (font_size 8)))
(text "B[15..0]" (rect 21 59 68 78)(font "Intel Clear" (font_size 8)))
(line (pt 0 64)(pt 16 64)(line_width 3))
)
(port
(pt 200 32)
(output)
(text "PRODUCT[31..0]" (rect 0 0 100 19)(font "Intel Clear" (font_size 8)))
(text "PRODUCT[31..0]" (rect 79 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 544 216 760 392)
(text "alu" (rect 5 0 19 12)(font "Arial" ))
(text "ALU_in" (rect 8 160 43 172)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "enable" (rect 0 0 31 12)(font "Arial" ))
(text "enable" (rect 21 27 52 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "Rs1[15..0]" (rect 0 0 51 12)(font "Arial" ))
(text "Rs1[15..0]" (rect 21 43 72 55)(font "Arial" ))
(line (pt 0 48)(pt 16 48)(line_width 3))
)
(port
(pt 0 64)
(input)
(text "Rs2[15..0]" (rect 0 0 51 12)(font "Arial" ))
(text "Rs2[15..0]" (rect 21 59 72 71)(font "Arial" ))
(line (pt 0 64)(pt 16 64)(line_width 3))
)
(port
(pt 0 80)
(input)
(text "Rd[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "Rd[15..0]" (rect 21 75 67 87)(font "Arial" ))
(line (pt 0 80)(pt 16 80)(line_width 3))
)
(port
(pt 0 96)
(input)
(text "opcode[5..0]" (rect 0 0 61 12)(font "Arial" ))
(text "opcode[5..0]" (rect 21 91 82 103)(font "Arial" ))
(line (pt 0 96)(pt 16 96)(line_width 3))
)
(port
(pt 0 112)
(input)
(text "mulresult[31..0]" (rect 0 0 76 12)(font "Arial" ))
(text "mulresult[31..0]" (rect 21 107 97 119)(font "Arial" ))
(line (pt 0 112)(pt 16 112)(line_width 3))
)
(port
(pt 0 128)
(input)
(text "exec2" (rect 0 0 29 12)(font "Arial" ))
(text "exec2" (rect 21 123 50 135)(font "Arial" ))
(line (pt 0 128)(pt 16 128))
)
(port
(pt 0 144)
(input)
(text "stackout[15..0]" (rect 0 0 74 12)(font "Arial" ))
(text "stackout[15..0]" (rect 21 139 95 151)(font "Arial" ))
(line (pt 0 144)(pt 16 144)(line_width 3))
)
(port
(pt 216 32)
(output)
(text "mul1[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "mul1[15..0]" (rect 149 27 204 39)(font "Arial" ))
(line (pt 216 32)(pt 200 32)(line_width 3))
)
(port
(pt 216 48)
(output)
(text "mul2[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "mul2[15..0]" (rect 149 43 204 55)(font "Arial" ))
(line (pt 216 48)(pt 200 48)(line_width 3))
)
(port
(pt 216 64)
(output)
(text "Rout[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "Rout[15..0]" (rect 149 59 204 71)(font "Arial" ))
(line (pt 216 64)(pt 200 64)(line_width 3))
)
(port
(pt 216 80)
(output)
(text "jump" (rect 0 0 23 12)(font "Arial" ))
(text "jump" (rect 176 75 199 87)(font "Arial" ))
(line (pt 216 80)(pt 200 80))
)
(port
(pt 216 96)
(output)
(text "carry" (rect 0 0 25 12)(font "Arial" ))
(text "carry" (rect 174 91 199 103)(font "Arial" ))
(line (pt 216 96)(pt 200 96))
)
(port
(pt 216 112)
(output)
(text "jumpflags[7..0]" (rect 0 0 74 12)(font "Arial" ))
(text "jumpflags[7..0]" (rect 133 107 207 119)(font "Arial" ))
(line (pt 216 112)(pt 200 112)(line_width 3))
)
(drawing
(rectangle (rect 16 16 200 160))
)
)
(connector
(pt 752 400)
(pt 752 456)
(bus)
)
(connector
(pt 544 472)
(pt 536 472)
(bus)
)
(connector
(pt 544 488)
(pt 528 488)
(bus)
)
(connector
(pt 528 408)
(pt 528 488)
(bus)
)
(connector
(pt 536 416)
(pt 536 472)
(bus)
)
(connector
(pt 752 400)
(pt 536 400)
(bus)
)
(connector
(pt 744 456)
(pt 752 456)
(bus)
)
(connector
(pt 752 456)
(pt 768 456)
(bus)
)
(connector
(pt 528 344)
(pt 544 344)
)
(connector
(pt 544 360)
(pt 528 360)
(bus)
)
(connector
(pt 544 328)
(pt 536 328)
(bus)
)
(connector
(pt 536 400)
(pt 536 328)
(bus)
)
(connector
(pt 528 248)
(pt 544 248)
)
(connector
(pt 528 264)
(pt 544 264)
(bus)
)
(connector
(pt 528 280)
(pt 544 280)
(bus)
)
(connector
(pt 528 296)
(pt 544 296)
(bus)
)
(connector
(pt 528 312)
(pt 544 312)
(bus)
)
(connector
(pt 544 456)
(pt 520 456)
)
(connector
(pt 760 280)
(pt 784 280)
(bus)
)
(connector
(pt 760 296)
(pt 784 296)
)
(connector
(pt 760 312)
(pt 784 312)
)
(connector
(pt 536 416)
(pt 776 416)
(bus)
)
(connector
(pt 776 416)
(pt 776 248)
(bus)
)
(connector
(pt 528 408)
(pt 768 408)
(bus)
)
(connector
(pt 768 264)
(pt 768 408)
(bus)
)
(connector
(pt 760 328)
(pt 784 328)
(bus)
)
(connector
(pt 760 264)
(pt 768 264)
(bus)
)
(connector
(pt 768 264)
(pt 784 264)
(bus)
)
(connector
(pt 760 248)
(pt 776 248)
(bus)
)
(connector
(pt 776 248)
(pt 784 248)
(bus)
)
(junction (pt 752 456))
(junction (pt 768 264))
(junction (pt 776 248))