ELEC50010-IAC-CW/Quartus Diagram/MIPS_CPU_Diagram.bdf

1220 lines
25 KiB
Plaintext
Raw Permalink Normal View History

/*
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 488 -176 504)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "clk" (rect 9 0 23 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 520 -176 536)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "instr_readdata" (rect 9 0 78 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 504 -176 520)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "reset" (rect 9 0 33 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 1144 1112 1320 1128)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "data_readdata" (rect 9 0 78 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 216 664 392 680)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "pin_name1" (rect 9 0 62 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 1040 504 1216 520)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "active" (rect 90 0 120 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 168 864 344 880)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "data_write" (rect 90 0 139 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 168 800 344 816)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "data_read" (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 1216 832 1392 848)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "register_v0[31..0]" (rect 90 0 177 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 1040 488 1216 504)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "instr_address[31:0]" (rect 90 0 184 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 1096 1224 1272 1240)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "data_address[31:0]" (rect 90 0 184 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 1216 816 1392 832)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "data_writedata[31:0]" (rect 90 0 189 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 688 1056 912 1248)
(text "ALU" (rect 5 0 21 10)(font "Tahoma" (font_size 6)))
(text "inst" (rect 8 171 24 188)(font "Intel Clear" ))
(port
(pt 0 32)
(input)
(text "clk" (rect 0 0 16 19)(font "Intel Clear" (font_size 8)))
(text "clk" (rect 21 27 37 46)(font "Intel Clear" (font_size 8)))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "rst" (rect 0 0 15 19)(font "Intel Clear" (font_size 8)))
(text "rst" (rect 21 43 36 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "A[31:0]" (rect 0 0 44 19)(font "Intel Clear" (font_size 8)))
(text "A[31:0]" (rect 21 59 65 78)(font "Intel Clear" (font_size 8)))
(line (pt 0 64)(pt 16 64))
)
(port
(pt 0 80)
(input)
(text "B[31:0]" (rect 0 0 44 19)(font "Intel Clear" (font_size 8)))
(text "B[31:0]" (rect 21 75 65 94)(font "Intel Clear" (font_size 8)))
(line (pt 0 80)(pt 16 80))
)
(port
(pt 0 96)
(input)
(text "ALUOp[4:0]" (rect 0 0 70 19)(font "Intel Clear" (font_size 8)))
(text "ALUOp[4:0]" (rect 21 91 91 110)(font "Intel Clear" (font_size 8)))
(line (pt 0 96)(pt 16 96))
)
(port
(pt 0 112)
(input)
(text "shamt[4:0]" (rect 0 0 64 19)(font "Intel Clear" (font_size 8)))
(text "shamt[4:0]" (rect 21 107 85 126)(font "Intel Clear" (font_size 8)))
(line (pt 0 112)(pt 16 112))
)
(port
(pt 0 128)
(input)
(text "Hi_in[31:0]" (rect 0 0 67 19)(font "Intel Clear" (font_size 8)))
(text "Hi_in[31:0]" (rect 21 123 88 142)(font "Intel Clear" (font_size 8)))
(line (pt 0 128)(pt 16 128))
)
(port
(pt 0 144)
(input)
(text "Lo_in[31:0]" (rect 0 0 68 19)(font "Intel Clear" (font_size 8)))
(text "Lo_in[31:0]" (rect 21 139 89 158)(font "Intel Clear" (font_size 8)))
(line (pt 0 144)(pt 16 144))
)
(port
(pt 0 160)
(input)
(text "SpcRegWriteEn" (rect 0 0 90 19)(font "Intel Clear" (font_size 8)))
(text "SpcRegWriteEn" (rect 21 155 111 174)(font "Intel Clear" (font_size 8)))
(line (pt 0 160)(pt 16 160))
)
(port
(pt 224 32)
(output)
(text "ALUCond" (rect 0 0 55 19)(font "Intel Clear" (font_size 8)))
(text "ALUCond" (rect 148 27 203 46)(font "Intel Clear" (font_size 8)))
(line (pt 224 32)(pt 208 32))
)
(port
(pt 224 48)
(output)
(text "ALURes[31:0]" (rect 0 0 82 19)(font "Intel Clear" (font_size 8)))
(text "ALURes[31:0]" (rect 121 43 203 62)(font "Intel Clear" (font_size 8)))
(line (pt 224 48)(pt 208 48))
)
(port
(pt 224 64)
(output)
(text "ALUHi[31:0]" (rect 0 0 74 19)(font "Intel Clear" (font_size 8)))
(text "ALUHi[31:0]" (rect 129 59 203 78)(font "Intel Clear" (font_size 8)))
(line (pt 224 64)(pt 208 64))
)
(port
(pt 224 80)
(output)
(text "ALULo[31:0]" (rect 0 0 75 19)(font "Intel Clear" (font_size 8)))
(text "ALULo[31:0]" (rect 128 75 203 94)(font "Intel Clear" (font_size 8)))
(line (pt 224 80)(pt 208 80))
)
(drawing
(rectangle (rect 16 16 208 176))
)
)
(symbol
(rect 688 464 912 592)
(text "PC" (rect 5 0 15 10)(font "Tahoma" (font_size 6)))
(text "inst2" (rect 8 107 30 124)(font "Intel Clear" ))
(port
(pt 0 32)
(input)
(text "clk" (rect 0 0 16 19)(font "Intel Clear" (font_size 8)))
(text "clk" (rect 21 27 37 46)(font "Intel Clear" (font_size 8)))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "rst" (rect 0 0 15 19)(font "Intel Clear" (font_size 8)))
(text "rst" (rect 21 43 36 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "Instr[31:0]" (rect 0 0 62 19)(font "Intel Clear" (font_size 8)))
(text "Instr[31:0]" (rect 21 59 83 78)(font "Intel Clear" (font_size 8)))
(line (pt 0 64)(pt 16 64))
)
(port
(pt 0 80)
(input)
(text "JumpReg[31:0]" (rect 0 0 93 19)(font "Intel Clear" (font_size 8)))
(text "JumpReg[31:0]" (rect 21 75 114 94)(font "Intel Clear" (font_size 8)))
(line (pt 0 80)(pt 16 80))
)
(port
(pt 0 96)
(input)
(text "PC_ctrl[1:0]" (rect 0 0 70 19)(font "Intel Clear" (font_size 8)))
(text "PC_ctrl[1:0]" (rect 21 91 91 110)(font "Intel Clear" (font_size 8)))
(line (pt 0 96)(pt 16 96))
)
(port
(pt 224 32)
(output)
(text "pc_out[31:0]" (rect 0 0 76 19)(font "Intel Clear" (font_size 8)))
(text "pc_out[31:0]" (rect 127 27 203 46)(font "Intel Clear" (font_size 8)))
(line (pt 224 32)(pt 208 32))
)
(port
(pt 224 48)
(output)
(text "active" (rect 0 0 35 19)(font "Intel Clear" (font_size 8)))
(text "active" (rect 168 43 203 62)(font "Intel Clear" (font_size 8)))
(line (pt 224 48)(pt 208 48))
)
(drawing
(rectangle (rect 16 16 208 112))
)
)
(symbol
(rect 392 592 528 720)
(text "MUX_RegDst" (rect 5 0 58 10)(font "Tahoma" (font_size 6)))
(text "inst4" (rect 8 107 30 124)(font "Intel Clear" ))
(port
(pt 0 32)
(input)
(text "sel[1:0]" (rect 0 0 44 19)(font "Intel Clear" (font_size 8)))
(text "sel[1:0]" (rect 21 27 65 46)(font "Intel Clear" (font_size 8)))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "0" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "0" (rect 21 43 29 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "1" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "1" (rect 21 59 29 78)(font "Intel Clear" (font_size 8)))
(line (pt 0 64)(pt 16 64))
)
(port
(pt 0 80)
(input)
(text "2" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "2" (rect 21 75 29 94)(font "Intel Clear" (font_size 8)))
(line (pt 0 80)(pt 16 80))
)
(port
(pt 136 32)
(output)
(text "output" (rect 0 0 38 19)(font "Intel Clear" (font_size 8)))
(text "output" (rect 77 27 115 46)(font "Intel Clear" (font_size 8)))
(line (pt 136 32)(pt 120 32))
)
(drawing
(rectangle (rect 16 16 120 112))
)
)
(symbol
(rect 336 1104 432 1232)
(text "MUX_ALUSrc" (rect 5 0 58 10)(font "Tahoma" (font_size 6)))
(text "inst5" (rect 8 107 30 124)(font "Intel Clear" ))
(port
(pt 0 32)
(input)
(text "sel" (rect 0 0 16 19)(font "Intel Clear" (font_size 8)))
(text "sel" (rect 21 27 37 46)(font "Intel Clear" (font_size 8)))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "0" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "0" (rect 21 43 29 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "1" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "1" (rect 21 59 29 78)(font "Intel Clear" (font_size 8)))
(line (pt 0 64)(pt 16 64))
)
(port
(pt 0 80)
(input)
(text "2" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "2" (rect 21 75 29 94)(font "Intel Clear" (font_size 8)))
(line (pt 0 80)(pt 16 80))
)
(port
(pt 96 32)
(output)
(text "output" (rect 0 0 38 19)(font "Intel Clear" (font_size 8)))
(text "output" (rect 37 27 75 46)(font "Intel Clear" (font_size 8)))
(line (pt 96 32)(pt 80 32))
)
(drawing
(rectangle (rect 16 16 80 112))
)
)
(symbol
(rect 1320 1056 1456 1216)
(text "MUX_MemtoReg" (rect 5 0 72 10)(font "Tahoma" (font_size 6)))
(text "inst6" (rect 8 139 30 156)(font "Intel Clear" ))
(port
(pt 0 32)
(input)
(text "sel[2:0]" (rect 0 0 44 19)(font "Intel Clear" (font_size 8)))
(text "sel[2:0]" (rect 21 27 65 46)(font "Intel Clear" (font_size 8)))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "0" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "0" (rect 21 43 29 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "1" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "1" (rect 21 59 29 78)(font "Intel Clear" (font_size 8)))
(line (pt 0 64)(pt 16 64))
)
(port
(pt 0 80)
(input)
(text "2" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "2" (rect 21 75 29 94)(font "Intel Clear" (font_size 8)))
(line (pt 0 80)(pt 16 80))
)
(port
(pt 0 96)
(input)
(text "3" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "3" (rect 21 91 29 110)(font "Intel Clear" (font_size 8)))
(line (pt 0 96)(pt 16 96))
)
(port
(pt 0 112)
(input)
(text "4" (rect 0 0 8 19)(font "Intel Clear" (font_size 8)))
(text "4" (rect 21 107 29 126)(font "Intel Clear" (font_size 8)))
(line (pt 0 112)(pt 16 112))
)
(port
(pt 136 32)
(output)
(text "output" (rect 0 0 38 19)(font "Intel Clear" (font_size 8)))
(text "output" (rect 77 27 115 46)(font "Intel Clear" (font_size 8)))
(line (pt 136 32)(pt 120 32))
)
(drawing
(rectangle (rect 16 16 120 144))
)
)
(symbol
(rect 688 776 936 968)
(text "REGISTERS" (rect 5 0 51 10)(font "Tahoma" (font_size 6)))
(text "inst3" (rect 8 171 30 188)(font "Intel Clear" ))
(port
(pt 0 32)
(input)
(text "clk" (rect 0 0 16 19)(font "Intel Clear" (font_size 8)))
(text "clk" (rect 21 27 37 46)(font "Intel Clear" (font_size 8)))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "rst" (rect 0 0 15 19)(font "Intel Clear" (font_size 8)))
(text "rst" (rect 21 43 36 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "readreg1[4:0}" (rect 0 0 82 19)(font "Intel Clear" (font_size 8)))
(text "readreg1[4:0}" (rect 21 59 103 78)(font "Intel Clear" (font_size 8)))
(line (pt 0 64)(pt 16 64))
)
(port
(pt 0 80)
(input)
(text "readreg2[4:0]" (rect 0 0 82 19)(font "Intel Clear" (font_size 8)))
(text "readreg2[4:0]" (rect 21 75 103 94)(font "Intel Clear" (font_size 8)))
(line (pt 0 80)(pt 16 80))
)
(port
(pt 0 96)
(input)
(text "writereg[4:0]" (rect 0 0 76 19)(font "Intel Clear" (font_size 8)))
(text "writereg[4:0]" (rect 21 91 97 110)(font "Intel Clear" (font_size 8)))
(line (pt 0 96)(pt 16 96))
)
(port
(pt 0 112)
(input)
(text "writedata[31:0]" (rect 0 0 93 19)(font "Intel Clear" (font_size 8)))
(text "writedata[31:0]" (rect 21 107 114 126)(font "Intel Clear" (font_size 8)))
(line (pt 0 112)(pt 16 112))
)
(port
(pt 0 128)
(input)
(text "regwrite" (rect 0 0 48 19)(font "Intel Clear" (font_size 8)))
(text "regwrite" (rect 21 123 69 142)(font "Intel Clear" (font_size 8)))
(line (pt 0 128)(pt 16 128))
)
(port
(pt 0 144)
(input)
(text "opcode[5:0]" (rect 0 0 71 19)(font "Intel Clear" (font_size 8)))
(text "opcode[5:0]" (rect 21 139 92 158)(font "Intel Clear" (font_size 8)))
(line (pt 0 144)(pt 16 144))
)
(port
(pt 248 32)
(output)
(text "readdata1[31:0]" (rect 0 0 99 19)(font "Intel Clear" (font_size 8)))
(text "readdata1[31:0]" (rect 128 27 227 46)(font "Intel Clear" (font_size 8)))
(line (pt 248 32)(pt 232 32))
)
(port
(pt 248 48)
(output)
(text "readdata2[31:0]" (rect 0 0 99 19)(font "Intel Clear" (font_size 8)))
(text "readdata2[31:0]" (rect 128 43 227 62)(font "Intel Clear" (font_size 8)))
(line (pt 248 48)(pt 232 48))
)
(port
(pt 248 64)
(output)
(text "regv0" (rect 0 0 34 19)(font "Intel Clear" (font_size 8)))
(text "regv0" (rect 193 59 227 78)(font "Intel Clear" (font_size 8)))
(line (pt 248 64)(pt 232 64))
)
(drawing
(rectangle (rect 16 16 232 176))
)
)
(symbol
(rect -40 744 168 968)
(text "CONTROL" (rect 5 0 47 10)(font "Tahoma" (font_size 6)))
(text "inst1" (rect 8 203 30 220)(font "Intel Clear" ))
(port
(pt 0 32)
(input)
(text "Instr[31:0]" (rect 0 0 62 19)(font "Intel Clear" (font_size 8)))
(text "Instr[31:0]" (rect 21 27 83 46)(font "Intel Clear" (font_size 8)))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "ALUCond" (rect 0 0 55 19)(font "Intel Clear" (font_size 8)))
(text "ALUCond" (rect 21 43 76 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 208 32)
(output)
(text "RegDst[1:0]" (rect 0 0 70 19)(font "Intel Clear" (font_size 8)))
(text "RegDst[1:0]" (rect 117 27 187 46)(font "Intel Clear" (font_size 8)))
(line (pt 208 32)(pt 192 32))
)
(port
(pt 208 48)
(output)
(text "PC[1:0]" (rect 0 0 44 19)(font "Intel Clear" (font_size 8)))
(text "PC[1:0]" (rect 143 43 187 62)(font "Intel Clear" (font_size 8)))
(line (pt 208 48)(pt 192 48))
)
(port
(pt 208 64)
(output)
(text "MemRead" (rect 0 0 60 19)(font "Intel Clear" (font_size 8)))
(text "MemRead" (rect 127 59 187 78)(font "Intel Clear" (font_size 8)))
(line (pt 208 64)(pt 192 64))
)
(port
(pt 208 80)
(output)
(text "MemtoReg[2:0]" (rect 0 0 92 19)(font "Intel Clear" (font_size 8)))
(text "MemtoReg[2:0]" (rect 95 75 187 94)(font "Intel Clear" (font_size 8)))
(line (pt 208 80)(pt 192 80))
)
(port
(pt 208 96)
(output)
(text "ALUOp[4:0]" (rect 0 0 70 19)(font "Intel Clear" (font_size 8)))
(text "ALUOp[4:0]" (rect 117 91 187 110)(font "Intel Clear" (font_size 8)))
(line (pt 208 96)(pt 192 96))
)
(port
(pt 208 112)
(output)
(text "shamt[4:0]" (rect 0 0 64 19)(font "Intel Clear" (font_size 8)))
(text "shamt[4:0]" (rect 123 107 187 126)(font "Intel Clear" (font_size 8)))
(line (pt 208 112)(pt 192 112))
)
(port
(pt 208 128)
(output)
(text "MemWrite" (rect 0 0 61 19)(font "Intel Clear" (font_size 8)))
(text "MemWrite" (rect 126 123 187 142)(font "Intel Clear" (font_size 8)))
(line (pt 208 128)(pt 192 128))
)
(port
(pt 208 144)
(output)
(text "ALUSrc[1:0]" (rect 0 0 71 19)(font "Intel Clear" (font_size 8)))
(text "ALUSrc[1:0]" (rect 116 139 187 158)(font "Intel Clear" (font_size 8)))
(line (pt 208 144)(pt 192 144))
)
(port
(pt 208 160)
(output)
(text "RegWrite" (rect 0 0 54 19)(font "Intel Clear" (font_size 8)))
(text "RegWrite" (rect 133 155 187 174)(font "Intel Clear" (font_size 8)))
(line (pt 208 160)(pt 192 160))
)
(port
(pt 208 176)
(output)
(text "SpcRegWriteEn" (rect 0 0 90 19)(font "Intel Clear" (font_size 8)))
(text "SpcRegWriteEn" (rect 97 171 187 190)(font "Intel Clear" (font_size 8)))
(line (pt 208 176)(pt 192 176))
)
(drawing
(rectangle (rect 16 16 192 208))
)
)
(connector
(pt 912 512)
(pt 1040 512)
)
(connector
(pt -72 792)
(pt -40 792)
)
(connector
(pt -72 528)
(pt -72 776)
(bus)
)
(connector
(pt -72 776)
(pt -40 776)
(bus)
)
(connector
(pt 560 560)
(pt 560 792)
)
(connector
(pt -72 792)
(pt -72 1024)
)
(connector
(pt 168 792)
(pt 560 792)
)
(connector
(pt 168 920)
(pt 560 920)
)
(connector
(pt 688 560)
(pt 560 560)
)
(connector
(pt 592 840)
(pt 688 840)
(bus)
)
(connector
(pt 592 856)
(pt 688 856)
(bus)
)
(connector
(pt 168 904)
(pt 688 904)
)
(connector
(pt 592 920)
(pt 688 920)
(bus)
)
(connector
(pt 560 920)
(pt 560 1216)
)
(connector
(pt 560 1216)
(pt 688 1216)
)
(connector
(pt -72 1024)
(pt 944 1024)
)
(connector
(pt 944 1024)
(pt 944 1088)
)
(connector
(pt 912 1088)
(pt 944 1088)
)
(connector
(pt 688 888)
(pt 576 888)
(bus)
)
(connector
(pt 1128 568)
(pt 1128 1136)
(bus)
)
(connector
(pt 1024 1280)
(pt 1024 1088)
)
(connector
(pt 1024 1088)
(pt 1320 1088)
)
(connector
(pt 1128 1136)
(pt 1320 1136)
(bus)
)
(connector
(pt 1456 1088)
(pt 1480 1088)
(bus)
)
(connector
(pt 592 528)
(pt 688 528)
(bus)
)
(connector
(pt 592 528)
(pt 592 840)
(bus)
)
(connector
(pt 592 840)
(pt 592 856)
(bus)
)
(connector
(pt 592 856)
(pt 592 920)
(bus)
)
(connector
(pt 576 872)
(pt 688 872)
(bus)
)
(connector
(pt 576 872)
(pt 576 624)
(bus)
)
(connector
(pt 528 624)
(pt 576 624)
(bus)
)
(connector
(pt 184 528)
(pt 184 640)
(bus)
)
(connector
(pt 184 640)
(pt 392 640)
(bus)
)
(connector
(pt 184 528)
(pt 592 528)
(bus)
)
(connector
(pt 168 528)
(pt 168 656)
(bus)
)
(connector
(pt 392 656)
(pt 168 656)
(bus)
)
(connector
(pt -72 528)
(pt 168 528)
(bus)
)
(connector
(pt 168 528)
(pt 184 528)
(bus)
)
(connector
(pt 992 808)
(pt 992 1040)
(bus)
)
(connector
(pt 432 1136)
(pt 688 1136)
(bus)
)
(connector
(pt 168 776)
(pt 200 776)
)
(connector
(pt 200 776)
(pt 200 624)
)
(connector
(pt 392 624)
(pt 200 624)
)
(connector
(pt 688 1088)
(pt 672 1088)
)
(connector
(pt 672 808)
(pt 688 808)
)
(connector
(pt 672 496)
(pt 672 808)
)
(connector
(pt 672 808)
(pt 672 1088)
)
(connector
(pt 688 1104)
(pt 656 1104)
)
(connector
(pt 656 824)
(pt 688 824)
)
(connector
(pt 656 512)
(pt 656 824)
)
(connector
(pt 656 824)
(pt 656 1104)
)
(connector
(pt -176 496)
(pt 672 496)
)
(connector
(pt 672 496)
(pt 688 496)
)
(connector
(pt 168 840)
(pt 544 840)
)
(connector
(pt 544 840)
(pt 544 1152)
)
(connector
(pt 688 1152)
(pt 544 1152)
)
(connector
(pt 168 856)
(pt 528 856)
)
(connector
(pt 528 856)
(pt 528 1168)
)
(connector
(pt 688 1168)
(pt 528 1168)
)
(connector
(pt 168 824)
(pt 512 824)
)
(connector
(pt 512 824)
(pt 512 1280)
)
(connector
(pt 1024 1280)
(pt 512 1280)
)
(connector
(pt 912 1120)
(pt 1112 1120)
(bus)
)
(connector
(pt 1112 1120)
(pt 1112 1152)
(bus)
)
(connector
(pt 1320 1152)
(pt 1112 1152)
(bus)
)
(connector
(pt 912 1136)
(pt 1096 1136)
(bus)
)
(connector
(pt 1096 1136)
(pt 1096 1168)
(bus)
)
(connector
(pt 1320 1168)
(pt 1096 1168)
(bus)
)
(connector
(pt 576 888)
(pt 576 1008)
(bus)
)
(connector
(pt 576 1008)
(pt 1480 1008)
(bus)
)
(connector
(pt 1480 1088)
(pt 1480 1008)
(bus)
)
(connector
(pt 928 496)
(pt 928 568)
(bus)
)
(connector
(pt 1128 568)
(pt 928 568)
(bus)
)
(connector
(pt 912 496)
(pt 928 496)
(bus)
)
(connector
(pt 928 496)
(pt 1040 496)
(bus)
)
(connector
(pt 936 840)
(pt 1216 840)
(bus)
)
(connector
(pt 168 888)
(pt 320 888)
)
(connector
(pt 320 888)
(pt 320 1136)
)
(connector
(pt 320 1136)
(pt 336 1136)
)
(connector
(pt -88 528)
(pt -88 1152)
(bus)
)
(connector
(pt -88 1152)
(pt 336 1152)
(bus)
)
(connector
(pt -88 528)
(pt -72 528)
(bus)
)
(connector
(pt 992 1040)
(pt 576 1040)
(bus)
)
(connector
(pt 576 1040)
(pt 576 1120)
(bus)
)
(connector
(pt 688 1120)
(pt 576 1120)
(bus)
)
(connector
(pt -104 528)
(pt -104 1168)
(bus)
)
(connector
(pt -104 1168)
(pt 336 1168)
(bus)
)
(connector
(pt -176 528)
(pt -104 528)
(bus)
)
(connector
(pt -104 528)
(pt -88 528)
(bus)
)
(connector
(pt 976 824)
(pt 976 1264)
(bus)
)
(connector
(pt 976 1264)
(pt 320 1264)
(bus)
)
(connector
(pt 320 1264)
(pt 320 1184)
(bus)
)
(connector
(pt 336 1184)
(pt 320 1184)
(bus)
)
(connector
(pt 936 824)
(pt 976 824)
(bus)
)
(connector
(pt 976 824)
(pt 1216 824)
(bus)
)
(connector
(pt 656 512)
(pt 688 512)
)
(connector
(pt -176 512)
(pt 656 512)
)
(connector
(pt 1104 1232)
(pt 1096 1232)
)
(connector
(pt 1080 1104)
(pt 1080 1232)
(bus)
)
(connector
(pt 1080 1232)
(pt 1096 1232)
(bus)
)
(connector
(pt 912 1104)
(pt 1080 1104)
(bus)
)
(connector
(pt 1080 1104)
(pt 1320 1104)
(bus)
)
(connector
(pt 1008 808)
(pt 1008 1296)
(bus)
)
(connector
(pt 936 808)
(pt 992 808)
(bus)
)
(connector
(pt 992 808)
(pt 1008 808)
(bus)
)
(connector
(pt 680 1296)
(pt 680 1200)
(bus)
)
(connector
(pt 680 1200)
(pt 688 1200)
(bus)
)
(connector
(pt 656 1296)
(pt 656 1184)
(bus)
)
(connector
(pt 656 1296)
(pt 680 1296)
(bus)
)
(connector
(pt 680 1296)
(pt 1008 1296)
(bus)
)
(connector
(pt 656 1184)
(pt 688 1184)
(bus)
)
(junction (pt -72 528))
(junction (pt 592 528))
(junction (pt 592 840))
(junction (pt 592 856))
(junction (pt 184 528))
(junction (pt 168 528))
(junction (pt 672 496))
(junction (pt 672 808))
(junction (pt 656 512))
(junction (pt 656 824))
(junction (pt 928 496))
(junction (pt -88 528))
(junction (pt -104 528))
(junction (pt 976 824))
(junction (pt 1080 1104))
(junction (pt 992 808))
(junction (pt 680 1296))