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

609 lines
14 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 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
(input)
(rect 344 368 528 384)
(text "INPUT" (rect 141 0 169 10)(font "Arial" (font_size 6)))
(text "memdatain[15..0]" (rect 5 0 89 17)(font "Intel Clear" ))
(pt 184 8)
(drawing
(line (pt 100 12)(pt 125 12))
(line (pt 100 4)(pt 125 4))
(line (pt 129 8)(pt 184 8))
(line (pt 100 12)(pt 100 4))
(line (pt 125 4)(pt 129 8))
(line (pt 125 12)(pt 129 8))
)
(text "VCC" (rect 144 7 164 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 544 216 776 424)
(text "alu" (rect 5 0 19 12)(font "Arial" ))
(text "ALU_in" (rect 8 192 43 204)(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 0 160)
(input)
(text "memdatain[15..0]" (rect 0 0 86 12)(font "Arial" ))
(text "memdatain[15..0]" (rect 21 155 107 167)(font "Arial" ))
(line (pt 0 160)(pt 16 160)(line_width 3))
)
(port
(pt 232 32)
(output)
(text "mul1[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "mul1[15..0]" (rect 165 27 211 39)(font "Arial" ))
(line (pt 232 32)(pt 216 32)(line_width 3))
)
(port
(pt 232 48)
(output)
(text "mul2[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "mul2[15..0]" (rect 165 43 211 55)(font "Arial" ))
(line (pt 232 48)(pt 216 48)(line_width 3))
)
(port
(pt 232 64)
(output)
(text "Rout[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "Rout[15..0]" (rect 165 59 211 71)(font "Arial" ))
(line (pt 232 64)(pt 216 64)(line_width 3))
)
(port
(pt 232 80)
(output)
(text "jump" (rect 0 0 23 12)(font "Arial" ))
(text "jump" (rect 192 75 211 87)(font "Arial" ))
(line (pt 232 80)(pt 216 80))
)
(port
(pt 232 96)
(output)
(text "carry" (rect 0 0 25 12)(font "Arial" ))
(text "carry" (rect 190 91 211 103)(font "Arial" ))
(line (pt 232 96)(pt 216 96))
)
(port
(pt 232 112)
(output)
(text "jumpflags[7..0]" (rect 0 0 74 12)(font "Arial" ))
(text "jumpflags[7..0]" (rect 149 107 211 119)(font "Arial" ))
(line (pt 232 112)(pt 216 112)(line_width 3))
)
(port
(pt 232 128)
(output)
(text "memaddr[10..0]" (rect 0 0 77 12)(font "Arial" ))
(text "memaddr[10..0]" (rect 146 123 211 135)(font "Arial" ))
(line (pt 232 128)(pt 216 128)(line_width 3))
)
(drawing
(rectangle (rect 16 16 216 192))
)
)
(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 528 344)
(pt 544 344)
)
(connector
(pt 528 360)
(pt 544 360)
(bus)
)
(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 536 328)
(pt 536 432)
(bus)
)
(connector
(pt 544 328)
(pt 536 328)
(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 544 376)
(pt 528 376)
(bus)
)
(junction (pt 752 488))
(junction (pt 784 264))
(junction (pt 792 248))