mirror of
https://github.com/supleed2/ELEC50010-IAC-CW.git
synced 2024-11-10 01:35:49 +00:00
1220 lines
25 KiB
Plaintext
1220 lines
25 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 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))
|