ELEC40006-P1-CW/ALU_top.bdf
2020-06-14 15:27:44 +01:00

580 lines
13 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) 2018 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
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.
*/
(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 480 520 496)
(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 800 272 976 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 800 288 976 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 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)
(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 800 256 976 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)
(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 336 976 352)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "memaddr[10..0]" (rect 90 0 165 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 456 744 552)
(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 552 216 776 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 "instr[15..0]" (rect 0 0 53 12)(font "Arial" ))
(text "instr[15..0]" (rect 21 91 74 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 224 32)
(output)
(text "mul1[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "mul1[15..0]" (rect 157 27 203 39)(font "Arial" ))
(line (pt 224 32)(pt 208 32)(line_width 3))
)
(port
(pt 224 48)
(output)
(text "mul2[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "mul2[15..0]" (rect 157 43 203 55)(font "Arial" ))
(line (pt 224 48)(pt 208 48)(line_width 3))
)
(port
(pt 224 64)
(output)
(text "Rout[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "Rout[15..0]" (rect 157 59 203 71)(font "Arial" ))
(line (pt 224 64)(pt 208 64)(line_width 3))
)
(port
(pt 224 80)
(output)
(text "jump" (rect 0 0 23 12)(font "Arial" ))
(text "jump" (rect 184 75 203 87)(font "Arial" ))
(line (pt 224 80)(pt 208 80))
)
(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))
)
(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)
)
(connector
(pt 528 264)
(pt 552 264)
(bus)
)
(connector
(pt 528 280)
(pt 552 280)
(bus)
)
(connector
(pt 528 296)
(pt 552 296)
(bus)
)
(connector
(pt 528 312)
(pt 552 312)
(bus)
)
(connector
(pt 536 328)
(pt 552 328)
(bus)
)
(connector
(pt 528 344)
(pt 552 344)
)
(connector
(pt 528 360)
(pt 552 360)
(bus)
)
(junction (pt 752 488))
(junction (pt 784 264))
(junction (pt 792 248))