ELEC40006-P1-CW/CPUProject.bdf

2236 lines
50 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"))
(properties
(page_setup "orientation\n1\npaper_size\n0\npaper_source\n12\nmargin\n1.000:1.000:1.000:1.000\n")
)
(pin
(input)
(rect 168 720 344 736)
(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 168 704 344 720)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "SM_rst" (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
(output)
(rect 1192 624 1368 640)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "instr[15..0]" (rect 90 0 143 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 1192 640 1368 656)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "PC[15..0]" (rect 90 0 137 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 1192 656 1368 672)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R1[15..0]" (rect 90 0 136 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 1192 672 1368 688)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R2[15..0]" (rect 90 0 136 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 1192 688 1368 704)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R3[15..0]" (rect 90 0 136 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 1192 704 1368 720)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R4[15..0]" (rect 90 0 136 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 1192 720 1368 736)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R5[15..0]" (rect 90 0 136 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 1192 736 1368 752)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R6[15..0]" (rect 90 0 136 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 1192 752 1368 768)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R7[15..0]" (rect 90 0 136 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 632 144 816 352)
(text "mux_8x16" (rect 5 0 55 12)(font "Arial" ))
(text "MUX1" (rect 8 192 36 204)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "s[2..0]" (rect 0 0 31 12)(font "Arial" ))
(text "s[2..0]" (rect 21 27 52 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32)(line_width 3))
)
(port
(pt 0 48)
(input)
(text "in0[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in0[15..0]" (rect 21 43 67 55)(font "Arial" ))
(line (pt 0 48)(pt 16 48)(line_width 3))
)
(port
(pt 0 64)
(input)
(text "in1[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in1[15..0]" (rect 21 59 67 71)(font "Arial" ))
(line (pt 0 64)(pt 16 64)(line_width 3))
)
(port
(pt 0 80)
(input)
(text "in2[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in2[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 "in3[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in3[15..0]" (rect 21 91 67 103)(font "Arial" ))
(line (pt 0 96)(pt 16 96)(line_width 3))
)
(port
(pt 0 112)
(input)
(text "in4[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in4[15..0]" (rect 21 107 67 119)(font "Arial" ))
(line (pt 0 112)(pt 16 112)(line_width 3))
)
(port
(pt 0 128)
(input)
(text "in5[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in5[15..0]" (rect 21 123 67 135)(font "Arial" ))
(line (pt 0 128)(pt 16 128)(line_width 3))
)
(port
(pt 0 144)
(input)
(text "in6[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in6[15..0]" (rect 21 139 67 151)(font "Arial" ))
(line (pt 0 144)(pt 16 144)(line_width 3))
)
(port
(pt 0 160)
(input)
(text "in7[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in7[15..0]" (rect 21 155 67 167)(font "Arial" ))
(line (pt 0 160)(pt 16 160)(line_width 3))
)
(port
(pt 184 32)
(output)
(text "result[15..0]" (rect 0 0 59 12)(font "Arial" ))
(text "result[15..0]" (rect 114 27 163 39)(font "Arial" ))
(line (pt 184 32)(pt 168 32)(line_width 3))
)
(drawing
(rectangle (rect 16 16 168 192))
)
)
(symbol
(rect 632 352 816 560)
(text "mux_8x16" (rect 5 0 55 12)(font "Arial" ))
(text "MUX2" (rect 8 192 36 204)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "s[2..0]" (rect 0 0 31 12)(font "Arial" ))
(text "s[2..0]" (rect 21 27 52 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32)(line_width 3))
)
(port
(pt 0 48)
(input)
(text "in0[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in0[15..0]" (rect 21 43 67 55)(font "Arial" ))
(line (pt 0 48)(pt 16 48)(line_width 3))
)
(port
(pt 0 64)
(input)
(text "in1[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in1[15..0]" (rect 21 59 67 71)(font "Arial" ))
(line (pt 0 64)(pt 16 64)(line_width 3))
)
(port
(pt 0 80)
(input)
(text "in2[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in2[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 "in3[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in3[15..0]" (rect 21 91 67 103)(font "Arial" ))
(line (pt 0 96)(pt 16 96)(line_width 3))
)
(port
(pt 0 112)
(input)
(text "in4[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in4[15..0]" (rect 21 107 67 119)(font "Arial" ))
(line (pt 0 112)(pt 16 112)(line_width 3))
)
(port
(pt 0 128)
(input)
(text "in5[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in5[15..0]" (rect 21 123 67 135)(font "Arial" ))
(line (pt 0 128)(pt 16 128)(line_width 3))
)
(port
(pt 0 144)
(input)
(text "in6[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in6[15..0]" (rect 21 139 67 151)(font "Arial" ))
(line (pt 0 144)(pt 16 144)(line_width 3))
)
(port
(pt 0 160)
(input)
(text "in7[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in7[15..0]" (rect 21 155 67 167)(font "Arial" ))
(line (pt 0 160)(pt 16 160)(line_width 3))
)
(port
(pt 184 32)
(output)
(text "result[15..0]" (rect 0 0 59 12)(font "Arial" ))
(text "result[15..0]" (rect 114 27 163 39)(font "Arial" ))
(line (pt 184 32)(pt 168 32)(line_width 3))
)
(drawing
(rectangle (rect 16 16 168 192))
)
)
(symbol
(rect 632 560 816 768)
(text "mux_8x16" (rect 5 0 55 12)(font "Arial" ))
(text "MUX3" (rect 8 192 36 204)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "s[2..0]" (rect 0 0 31 12)(font "Arial" ))
(text "s[2..0]" (rect 21 27 52 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32)(line_width 3))
)
(port
(pt 0 48)
(input)
(text "in0[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in0[15..0]" (rect 21 43 67 55)(font "Arial" ))
(line (pt 0 48)(pt 16 48)(line_width 3))
)
(port
(pt 0 64)
(input)
(text "in1[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in1[15..0]" (rect 21 59 67 71)(font "Arial" ))
(line (pt 0 64)(pt 16 64)(line_width 3))
)
(port
(pt 0 80)
(input)
(text "in2[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in2[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 "in3[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in3[15..0]" (rect 21 91 67 103)(font "Arial" ))
(line (pt 0 96)(pt 16 96)(line_width 3))
)
(port
(pt 0 112)
(input)
(text "in4[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in4[15..0]" (rect 21 107 67 119)(font "Arial" ))
(line (pt 0 112)(pt 16 112)(line_width 3))
)
(port
(pt 0 128)
(input)
(text "in5[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in5[15..0]" (rect 21 123 67 135)(font "Arial" ))
(line (pt 0 128)(pt 16 128)(line_width 3))
)
(port
(pt 0 144)
(input)
(text "in6[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in6[15..0]" (rect 21 139 67 151)(font "Arial" ))
(line (pt 0 144)(pt 16 144)(line_width 3))
)
(port
(pt 0 160)
(input)
(text "in7[15..0]" (rect 0 0 46 12)(font "Arial" ))
(text "in7[15..0]" (rect 21 155 67 167)(font "Arial" ))
(line (pt 0 160)(pt 16 160)(line_width 3))
)
(port
(pt 184 32)
(output)
(text "result[15..0]" (rect 0 0 59 12)(font "Arial" ))
(text "result[15..0]" (rect 114 27 163 39)(font "Arial" ))
(line (pt 184 32)(pt 168 32)(line_width 3))
)
(drawing
(rectangle (rect 16 16 168 192))
)
)
(symbol
(rect 200 160 408 512)
(text "reg_file" (rect 5 0 49 19)(font "Intel Clear" (font_size 8)))
(text "REG" (rect 8 331 28 348)(font "Intel Clear" ))
(port
(pt 0 32)
(input)
(text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8)))
(text "CLK" (rect 21 27 44 46)(font "Intel Clear" (font_size 8)))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "R0_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8)))
(text "R0_en" (rect 21 43 58 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "R0_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8)))
(text "R0_in[15..0]" (rect 21 59 94 78)(font "Intel Clear" (font_size 8)))
(line (pt 0 64)(pt 16 64)(line_width 3))
)
(port
(pt 0 80)
(input)
(text "R0_count" (rect 0 0 55 19)(font "Intel Clear" (font_size 8)))
(text "R0_count" (rect 21 75 76 94)(font "Intel Clear" (font_size 8)))
(line (pt 0 80)(pt 16 80))
)
(port
(pt 0 96)
(input)
(text "R1_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8)))
(text "R1_in[15..0]" (rect 21 91 94 110)(font "Intel Clear" (font_size 8)))
(line (pt 0 96)(pt 16 96)(line_width 3))
)
(port
(pt 0 112)
(input)
(text "R1_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8)))
(text "R1_en" (rect 21 107 58 126)(font "Intel Clear" (font_size 8)))
(line (pt 0 112)(pt 16 112))
)
(port
(pt 0 128)
(input)
(text "R2_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8)))
(text "R2_in[15..0]" (rect 21 123 94 142)(font "Intel Clear" (font_size 8)))
(line (pt 0 128)(pt 16 128)(line_width 3))
)
(port
(pt 0 144)
(input)
(text "R2_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8)))
(text "R2_en" (rect 21 139 58 158)(font "Intel Clear" (font_size 8)))
(line (pt 0 144)(pt 16 144))
)
(port
(pt 0 160)
(input)
(text "R3_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8)))
(text "R3_in[15..0]" (rect 21 155 94 174)(font "Intel Clear" (font_size 8)))
(line (pt 0 160)(pt 16 160)(line_width 3))
)
(port
(pt 0 176)
(input)
(text "R3_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8)))
(text "R3_en" (rect 21 171 58 190)(font "Intel Clear" (font_size 8)))
(line (pt 0 176)(pt 16 176))
)
(port
(pt 0 192)
(input)
(text "R4_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8)))
(text "R4_in[15..0]" (rect 21 187 94 206)(font "Intel Clear" (font_size 8)))
(line (pt 0 192)(pt 16 192)(line_width 3))
)
(port
(pt 0 208)
(input)
(text "R4_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8)))
(text "R4_en" (rect 21 203 58 222)(font "Intel Clear" (font_size 8)))
(line (pt 0 208)(pt 16 208))
)
(port
(pt 0 224)
(input)
(text "R5_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8)))
(text "R5_in[15..0]" (rect 21 219 94 238)(font "Intel Clear" (font_size 8)))
(line (pt 0 224)(pt 16 224)(line_width 3))
)
(port
(pt 0 240)
(input)
(text "R5_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8)))
(text "R5_en" (rect 21 235 58 254)(font "Intel Clear" (font_size 8)))
(line (pt 0 240)(pt 16 240))
)
(port
(pt 0 256)
(input)
(text "R6_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8)))
(text "R6_in[15..0]" (rect 21 251 94 270)(font "Intel Clear" (font_size 8)))
(line (pt 0 256)(pt 16 256)(line_width 3))
)
(port
(pt 0 272)
(input)
(text "R6_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8)))
(text "R6_en" (rect 21 267 58 286)(font "Intel Clear" (font_size 8)))
(line (pt 0 272)(pt 16 272))
)
(port
(pt 0 288)
(input)
(text "R7_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8)))
(text "R7_in[15..0]" (rect 21 283 94 302)(font "Intel Clear" (font_size 8)))
(line (pt 0 288)(pt 16 288)(line_width 3))
)
(port
(pt 0 304)
(input)
(text "R7_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8)))
(text "R7_en" (rect 21 299 58 318)(font "Intel Clear" (font_size 8)))
(line (pt 0 304)(pt 16 304))
)
(port
(pt 208 32)
(output)
(text " R0_out[15..0]" (rect 0 0 84 19)(font "Intel Clear" (font_size 8)))
(text " R0_out[15..0]" (rect 103 27 187 46)(font "Intel Clear" (font_size 8)))
(line (pt 208 32)(pt 192 32)(line_width 3))
)
(port
(pt 208 48)
(output)
(text "R1_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8)))
(text "R1_out[15..0]" (rect 106 43 187 62)(font "Intel Clear" (font_size 8)))
(line (pt 208 48)(pt 192 48)(line_width 3))
)
(port
(pt 208 64)
(output)
(text "R2_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8)))
(text "R2_out[15..0]" (rect 106 59 187 78)(font "Intel Clear" (font_size 8)))
(line (pt 208 64)(pt 192 64)(line_width 3))
)
(port
(pt 208 80)
(output)
(text "R3_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8)))
(text "R3_out[15..0]" (rect 106 75 187 94)(font "Intel Clear" (font_size 8)))
(line (pt 208 80)(pt 192 80)(line_width 3))
)
(port
(pt 208 96)
(output)
(text "R4_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8)))
(text "R4_out[15..0]" (rect 106 91 187 110)(font "Intel Clear" (font_size 8)))
(line (pt 208 96)(pt 192 96)(line_width 3))
)
(port
(pt 208 112)
(output)
(text "R5_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8)))
(text "R5_out[15..0]" (rect 106 107 187 126)(font "Intel Clear" (font_size 8)))
(line (pt 208 112)(pt 192 112)(line_width 3))
)
(port
(pt 208 128)
(output)
(text "R6_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8)))
(text "R6_out[15..0]" (rect 106 123 187 142)(font "Intel Clear" (font_size 8)))
(line (pt 208 128)(pt 192 128)(line_width 3))
)
(port
(pt 208 144)
(output)
(text "R7_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8)))
(text "R7_out[15..0]" (rect 106 139 187 158)(font "Intel Clear" (font_size 8)))
(line (pt 208 144)(pt 192 144)(line_width 3))
)
(drawing
(rectangle (rect 16 16 192 336))
)
)
(symbol
(rect 304 24 456 136)
(text "SM" (rect 5 0 20 12)(font "Arial" ))
(text "SM" (rect 8 96 23 108)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "CLK" (rect 0 0 21 12)(font "Arial" ))
(text "CLK" (rect 21 27 42 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "E2" (rect 0 0 12 12)(font "Arial" ))
(text "E2" (rect 21 43 33 55)(font "Arial" ))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "RST" (rect 0 0 21 12)(font "Arial" ))
(text "RST" (rect 21 59 42 71)(font "Arial" ))
(line (pt 0 64)(pt 16 64))
)
(port
(pt 152 32)
(output)
(text "FETCH" (rect 0 0 36 12)(font "Arial" ))
(text "FETCH" (rect 101 27 131 39)(font "Arial" ))
(line (pt 152 32)(pt 136 32))
)
(port
(pt 152 48)
(output)
(text "EXEC1" (rect 0 0 34 12)(font "Arial" ))
(text "EXEC1" (rect 103 43 131 55)(font "Arial" ))
(line (pt 152 48)(pt 136 48))
)
(port
(pt 152 64)
(output)
(text "EXEC2" (rect 0 0 34 12)(font "Arial" ))
(text "EXEC2" (rect 103 59 131 71)(font "Arial" ))
(line (pt 152 64)(pt 136 64))
)
(drawing
(rectangle (rect 16 16 136 96))
)
)
(symbol
(rect 928 512 1112 656)
(text "LIFOstack" (rect 5 0 56 12)(font "Arial" ))
(text "STACK" (rect 8 128 43 140)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "Din[15..0]" (rect 0 0 48 12)(font "Arial" ))
(text "Din[15..0]" (rect 21 27 69 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32)(line_width 3))
)
(port
(pt 0 48)
(input)
(text "clk" (rect 0 0 14 12)(font "Arial" ))
(text "clk" (rect 21 43 35 55)(font "Arial" ))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "en" (rect 0 0 11 12)(font "Arial" ))
(text "en" (rect 21 59 32 71)(font "Arial" ))
(line (pt 0 64)(pt 16 64))
)
(port
(pt 0 80)
(input)
(text "rst" (rect 0 0 12 12)(font "Arial" ))
(text "rst" (rect 21 75 33 87)(font "Arial" ))
(line (pt 0 80)(pt 16 80))
)
(port
(pt 0 96)
(input)
(text "rw" (rect 0 0 10 12)(font "Arial" ))
(text "rw" (rect 21 91 31 103)(font "Arial" ))
(line (pt 0 96)(pt 16 96))
)
(port
(pt 184 32)
(output)
(text "Dout[15..0]" (rect 0 0 55 12)(font "Arial" ))
(text "Dout[15..0]" (rect 117 27 163 39)(font "Arial" ))
(line (pt 184 32)(pt 168 32)(line_width 3))
)
(drawing
(rectangle (rect 16 16 168 128))
)
)
(symbol
(rect 928 320 1184 512)
(text "ALU_top" (rect 5 0 56 19)(font "Intel Clear" (font_size 8)))
(text "ALU" (rect 8 171 28 188)(font "Intel Clear" ))
(port
(pt 0 32)
(input)
(text "ALU_en" (rect 0 0 46 19)(font "Intel Clear" (font_size 8)))
(text "ALU_en" (rect 21 27 67 46)(font "Intel Clear" (font_size 8)))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "Rs1[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8)))
(text "Rs1[15..0]" (rect 21 43 82 62)(font "Intel Clear" (font_size 8)))
(line (pt 0 48)(pt 16 48)(line_width 3))
)
(port
(pt 0 64)
(input)
(text "Rs2[15..0]" (rect 0 0 61 19)(font "Intel Clear" (font_size 8)))
(text "Rs2[15..0]" (rect 21 59 82 78)(font "Intel Clear" (font_size 8)))
(line (pt 0 64)(pt 16 64)(line_width 3))
)
(port
(pt 0 80)
(input)
(text "Rd[15..0]" (rect 0 0 55 19)(font "Intel Clear" (font_size 8)))
(text "Rd[15..0]" (rect 21 75 76 94)(font "Intel Clear" (font_size 8)))
(line (pt 0 80)(pt 16 80)(line_width 3))
)
(port
(pt 0 96)
(input)
(text "op[5..0]" (rect 0 0 46 19)(font "Intel Clear" (font_size 8)))
(text "op[5..0]" (rect 21 91 67 110)(font "Intel Clear" (font_size 8)))
(line (pt 0 96)(pt 16 96)(line_width 3))
)
(port
(pt 0 112)
(input)
(text "EXEC2" (rect 0 0 38 19)(font "Intel Clear" (font_size 8)))
(text "EXEC2" (rect 21 107 59 126)(font "Intel Clear" (font_size 8)))
(line (pt 0 112)(pt 16 112))
)
(port
(pt 0 128)
(input)
(text "stack_data[15..0]" (rect 0 0 103 19)(font "Intel Clear" (font_size 8)))
(text "stack_data[15..0]" (rect 21 123 124 142)(font "Intel Clear" (font_size 8)))
(line (pt 0 128)(pt 16 128)(line_width 3))
)
(port
(pt 0 144)
(input)
(text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8)))
(text "CLK" (rect 21 139 44 158)(font "Intel Clear" (font_size 8)))
(line (pt 0 144)(pt 16 144))
)
(port
(pt 256 32)
(output)
(text "mul1[15..0]" (rect 0 0 69 19)(font "Intel Clear" (font_size 8)))
(text "mul1[15..0]" (rect 166 27 235 46)(font "Intel Clear" (font_size 8)))
(line (pt 256 32)(pt 240 32)(line_width 3))
)
(port
(pt 256 48)
(output)
(text "mul2[15..0]" (rect 0 0 69 19)(font "Intel Clear" (font_size 8)))
(text "mul2[15..0]" (rect 166 43 235 62)(font "Intel Clear" (font_size 8)))
(line (pt 256 48)(pt 240 48)(line_width 3))
)
(port
(pt 256 64)
(output)
(text "Rout[15..0]" (rect 0 0 66 19)(font "Intel Clear" (font_size 8)))
(text "Rout[15..0]" (rect 169 59 235 78)(font "Intel Clear" (font_size 8)))
(line (pt 256 64)(pt 240 64)(line_width 3))
)
(port
(pt 256 80)
(output)
(text "COND" (rect 0 0 36 19)(font "Intel Clear" (font_size 8)))
(text "COND" (rect 199 75 235 94)(font "Intel Clear" (font_size 8)))
(line (pt 256 80)(pt 240 80))
)
(port
(pt 256 96)
(output)
(text "memaddr[10..0]" (rect 0 0 97 19)(font "Intel Clear" (font_size 8)))
(text "memaddr[10..0]" (rect 138 91 235 110)(font "Intel Clear" (font_size 8)))
(line (pt 256 96)(pt 240 96)(line_width 3))
)
(drawing
(rectangle (rect 16 16 240 176))
)
)
(symbol
(rect 936 160 1152 304)
(text "ram_data" (rect 74 0 137 16)(font "Arial" (font_size 10)))
(text "RAMd" (rect 8 128 37 140)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "data[15..0]" (rect 0 0 60 14)(font "Arial" (font_size 8)))
(text "data[15..0]" (rect 4 16 64 30)(font "Arial" (font_size 8)))
(line (pt 0 32)(pt 88 32)(line_width 3))
)
(port
(pt 0 48)
(input)
(text "wren" (rect 0 0 30 14)(font "Arial" (font_size 8)))
(text "wren" (rect 4 32 34 46)(font "Arial" (font_size 8)))
(line (pt 0 48)(pt 88 48))
)
(port
(pt 0 64)
(input)
(text "address[10..0]" (rect 0 0 82 14)(font "Arial" (font_size 8)))
(text "address[10..0]" (rect 4 48 86 62)(font "Arial" (font_size 8)))
(line (pt 0 64)(pt 88 64)(line_width 3))
)
(port
(pt 0 112)
(input)
(text "clock" (rect 0 0 29 14)(font "Arial" (font_size 8)))
(text "clock" (rect 4 96 33 110)(font "Arial" (font_size 8)))
(line (pt 0 112)(pt 80 112))
)
(port
(pt 0 128)
(input)
(text "clken" (rect 0 0 29 14)(font "Arial" (font_size 8)))
(text "clken" (rect 4 112 33 126)(font "Arial" (font_size 8)))
(line (pt 0 128)(pt 16 128))
)
(port
(pt 216 32)
(output)
(text "q[15..0]" (rect 0 0 42 14)(font "Arial" (font_size 8)))
(text "q[15..0]" (rect 169 16 211 30)(font "Arial" (font_size 8)))
(line (pt 216 32)(pt 136 32)(line_width 3))
)
(drawing
(text "16 bits" (rect 106 29 118 62)(font "Arial" )(vertical))
(text "2048 words" (rect 120 15 132 70)(font "Arial" )(vertical))
(text "Block type: AUTO" (rect 48 127 137 139)(font "Arial" ))
(line (pt 104 24)(pt 136 24))
(line (pt 136 24)(pt 136 96))
(line (pt 136 96)(pt 104 96))
(line (pt 104 96)(pt 104 24))
(line (pt 118 58)(pt 123 63))
(line (pt 118 62)(pt 123 57))
(line (pt 88 27)(pt 96 27))
(line (pt 96 27)(pt 96 39))
(line (pt 96 39)(pt 88 39))
(line (pt 88 39)(pt 88 27))
(line (pt 88 34)(pt 90 36))
(line (pt 90 36)(pt 88 38))
(line (pt 80 36)(pt 88 36))
(line (pt 96 32)(pt 104 32)(line_width 3))
(line (pt 88 43)(pt 96 43))
(line (pt 96 43)(pt 96 55))
(line (pt 96 55)(pt 88 55))
(line (pt 88 55)(pt 88 43))
(line (pt 88 50)(pt 90 52))
(line (pt 90 52)(pt 88 54))
(line (pt 80 52)(pt 88 52))
(line (pt 96 48)(pt 104 48))
(line (pt 88 59)(pt 96 59))
(line (pt 96 59)(pt 96 71))
(line (pt 96 71)(pt 88 71))
(line (pt 88 71)(pt 88 59))
(line (pt 88 66)(pt 90 68))
(line (pt 90 68)(pt 88 70))
(line (pt 80 68)(pt 88 68))
(line (pt 96 64)(pt 104 64)(line_width 3))
(line (pt 80 112)(pt 80 36))
(line (pt 0 0)(pt 217 0))
(line (pt 217 0)(pt 217 146))
(line (pt 0 146)(pt 217 146))
(line (pt 0 0)(pt 0 146))
(line (pt 0 0)(pt 0 0))
(line (pt 0 0)(pt 0 0))
(line (pt 0 0)(pt 0 0))
(line (pt 0 0)(pt 0 0))
)
)
(symbol
(rect 1256 272 1368 360)
(text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10)))
(text "MUX4" (rect 3 77 36 91)(font "Arial" (font_size 8)))
(port
(pt 0 64)
(input)
(text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8)))
(text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8)))
(line (pt 0 64)(pt 44 64)(line_width 3))
)
(port
(pt 56 88)
(input)
(text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8)))
(text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8)))
(line (pt 56 88)(pt 56 72))
)
(port
(pt 0 32)
(input)
(text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8)))
(text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8)))
(line (pt 0 32)(pt 44 32)(line_width 3))
)
(port
(pt 112 48)
(output)
(text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8)))
(text "result[]" (rect 75 35 107 49)(font "Arial" (font_size 8)))
(line (pt 68 48)(pt 112 48)(line_width 3))
)
(parameter
"WIDTH"
"16"
"Width of I/O, any integer > 0"
" 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64"
)
(drawing
(text "0" (rect 52 31 56 41)(font "Arial" (font_size 6)))
(text "1" (rect 52 55 56 65)(font "Arial" (font_size 6)))
(line (pt 68 64)(pt 68 32))
(line (pt 44 80)(pt 44 16))
(line (pt 44 16)(pt 68 32))
(line (pt 44 80)(pt 68 64))
)
(annotation_block (parameter)(rect 1368 272 1400 288))
)
(symbol
(rect 968 24 1080 112)
(text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10)))
(text "MUX5" (rect 3 77 36 91)(font "Arial" (font_size 8)))
(port
(pt 0 64)
(input)
(text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8)))
(text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8)))
(line (pt 0 64)(pt 44 64)(line_width 3))
)
(port
(pt 56 88)
(input)
(text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8)))
(text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8)))
(line (pt 56 88)(pt 56 72))
)
(port
(pt 0 32)
(input)
(text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8)))
(text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8)))
(line (pt 0 32)(pt 44 32)(line_width 3))
)
(port
(pt 112 48)
(output)
(text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8)))
(text "result[]" (rect 75 35 107 49)(font "Arial" (font_size 8)))
(line (pt 68 48)(pt 112 48)(line_width 3))
)
(parameter
"WIDTH"
"11"
"Width of I/O, any integer > 0"
" 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64"
)
(drawing
(text "0" (rect 52 31 56 41)(font "Arial" (font_size 6)))
(text "1" (rect 52 55 56 65)(font "Arial" (font_size 6)))
(line (pt 68 64)(pt 68 32))
(line (pt 44 80)(pt 44 16))
(line (pt 44 16)(pt 68 32))
(line (pt 44 80)(pt 68 64))
)
(annotation_block (parameter)(rect 1080 24 1112 48))
)
(symbol
(rect 600 -8 816 136)
(text "ram_instr" (rect 74 0 137 16)(font "Arial" (font_size 10)))
(text "RAMi" (rect 8 128 33 140)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "data[15..0]" (rect 0 0 60 14)(font "Arial" (font_size 8)))
(text "data[15..0]" (rect 4 16 64 30)(font "Arial" (font_size 8)))
(line (pt 0 32)(pt 88 32)(line_width 3))
)
(port
(pt 0 48)
(input)
(text "wren" (rect 0 0 30 14)(font "Arial" (font_size 8)))
(text "wren" (rect 4 32 34 46)(font "Arial" (font_size 8)))
(line (pt 0 48)(pt 88 48))
)
(port
(pt 0 64)
(input)
(text "address[10..0]" (rect 0 0 82 14)(font "Arial" (font_size 8)))
(text "address[10..0]" (rect 4 48 86 62)(font "Arial" (font_size 8)))
(line (pt 0 64)(pt 88 64)(line_width 3))
)
(port
(pt 0 112)
(input)
(text "clock" (rect 0 0 29 14)(font "Arial" (font_size 8)))
(text "clock" (rect 4 96 33 110)(font "Arial" (font_size 8)))
(line (pt 0 112)(pt 80 112))
)
(port
(pt 0 128)
(input)
(text "clken" (rect 0 0 29 14)(font "Arial" (font_size 8)))
(text "clken" (rect 4 112 33 126)(font "Arial" (font_size 8)))
(line (pt 0 128)(pt 16 128))
)
(port
(pt 216 32)
(output)
(text "q[15..0]" (rect 0 0 42 14)(font "Arial" (font_size 8)))
(text "q[15..0]" (rect 169 16 211 30)(font "Arial" (font_size 8)))
(line (pt 216 32)(pt 136 32)(line_width 3))
)
(drawing
(text "16 bits" (rect 106 29 118 62)(font "Arial" )(vertical))
(text "2048 words" (rect 120 15 132 70)(font "Arial" )(vertical))
(text "Block type: AUTO" (rect 48 127 137 139)(font "Arial" ))
(line (pt 104 24)(pt 136 24))
(line (pt 136 24)(pt 136 96))
(line (pt 136 96)(pt 104 96))
(line (pt 104 96)(pt 104 24))
(line (pt 118 58)(pt 123 63))
(line (pt 118 62)(pt 123 57))
(line (pt 88 27)(pt 96 27))
(line (pt 96 27)(pt 96 39))
(line (pt 96 39)(pt 88 39))
(line (pt 88 39)(pt 88 27))
(line (pt 88 34)(pt 90 36))
(line (pt 90 36)(pt 88 38))
(line (pt 80 36)(pt 88 36))
(line (pt 96 32)(pt 104 32)(line_width 3))
(line (pt 88 43)(pt 96 43))
(line (pt 96 43)(pt 96 55))
(line (pt 96 55)(pt 88 55))
(line (pt 88 55)(pt 88 43))
(line (pt 88 50)(pt 90 52))
(line (pt 90 52)(pt 88 54))
(line (pt 80 52)(pt 88 52))
(line (pt 96 48)(pt 104 48))
(line (pt 88 59)(pt 96 59))
(line (pt 96 59)(pt 96 71))
(line (pt 96 71)(pt 88 71))
(line (pt 88 71)(pt 88 59))
(line (pt 88 66)(pt 90 68))
(line (pt 90 68)(pt 88 70))
(line (pt 80 68)(pt 88 68))
(line (pt 96 64)(pt 104 64)(line_width 3))
(line (pt 80 112)(pt 80 36))
(line (pt 0 0)(pt 217 0))
(line (pt 217 0)(pt 217 146))
(line (pt 0 146)(pt 217 146))
(line (pt 0 0)(pt 0 146))
(line (pt 0 0)(pt 0 0))
(line (pt 0 0)(pt 0 0))
(line (pt 0 0)(pt 0 0))
(line (pt 0 0)(pt 0 0))
)
)
(symbol
(rect 1176 -184 1384 216)
(text "DECODE" (rect 5 0 52 12)(font "Arial" ))
(text "DECODE" (rect 8 384 55 396)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "instr[15..0]" (rect 0 0 53 12)(font "Arial" ))
(text "instr[15..0]" (rect 21 27 74 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32)(line_width 3))
)
(port
(pt 0 48)
(input)
(text "FETCH" (rect 0 0 36 12)(font "Arial" ))
(text "FETCH" (rect 21 43 57 55)(font "Arial" ))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 0 64)
(input)
(text "EXEC1" (rect 0 0 34 12)(font "Arial" ))
(text "EXEC1" (rect 21 59 55 71)(font "Arial" ))
(line (pt 0 64)(pt 16 64))
)
(port
(pt 0 80)
(input)
(text "EXEC2" (rect 0 0 34 12)(font "Arial" ))
(text "EXEC2" (rect 21 75 55 87)(font "Arial" ))
(line (pt 0 80)(pt 16 80))
)
(port
(pt 0 96)
(input)
(text "COND_result" (rect 0 0 66 12)(font "Arial" ))
(text "COND_result" (rect 21 91 87 103)(font "Arial" ))
(line (pt 0 96)(pt 16 96))
)
(port
(pt 208 32)
(output)
(text "R0_count" (rect 0 0 47 12)(font "Arial" ))
(text "R0_count" (rect 148 27 187 39)(font "Arial" ))
(line (pt 208 32)(pt 192 32))
)
(port
(pt 208 48)
(output)
(text "R0_en" (rect 0 0 31 12)(font "Arial" ))
(text "R0_en" (rect 161 43 187 55)(font "Arial" ))
(line (pt 208 48)(pt 192 48))
)
(port
(pt 208 64)
(output)
(text "R1_en" (rect 0 0 31 12)(font "Arial" ))
(text "R1_en" (rect 161 59 187 71)(font "Arial" ))
(line (pt 208 64)(pt 192 64))
)
(port
(pt 208 80)
(output)
(text "R2_en" (rect 0 0 31 12)(font "Arial" ))
(text "R2_en" (rect 161 75 187 87)(font "Arial" ))
(line (pt 208 80)(pt 192 80))
)
(port
(pt 208 96)
(output)
(text "R3_en" (rect 0 0 31 12)(font "Arial" ))
(text "R3_en" (rect 161 91 187 103)(font "Arial" ))
(line (pt 208 96)(pt 192 96))
)
(port
(pt 208 112)
(output)
(text "R4_en" (rect 0 0 31 12)(font "Arial" ))
(text "R4_en" (rect 161 107 187 119)(font "Arial" ))
(line (pt 208 112)(pt 192 112))
)
(port
(pt 208 128)
(output)
(text "R5_en" (rect 0 0 31 12)(font "Arial" ))
(text "R5_en" (rect 161 123 187 135)(font "Arial" ))
(line (pt 208 128)(pt 192 128))
)
(port
(pt 208 144)
(output)
(text "R6_en" (rect 0 0 31 12)(font "Arial" ))
(text "R6_en" (rect 161 139 187 151)(font "Arial" ))
(line (pt 208 144)(pt 192 144))
)
(port
(pt 208 160)
(output)
(text "R7_en" (rect 0 0 31 12)(font "Arial" ))
(text "R7_en" (rect 161 155 187 167)(font "Arial" ))
(line (pt 208 160)(pt 192 160))
)
(port
(pt 208 176)
(output)
(text "s1[2..0]" (rect 0 0 37 12)(font "Arial" ))
(text "s1[2..0]" (rect 156 171 187 183)(font "Arial" ))
(line (pt 208 176)(pt 192 176)(line_width 3))
)
(port
(pt 208 192)
(output)
(text "s2[2..0]" (rect 0 0 37 12)(font "Arial" ))
(text "s2[2..0]" (rect 156 187 187 199)(font "Arial" ))
(line (pt 208 192)(pt 192 192)(line_width 3))
)
(port
(pt 208 208)
(output)
(text "s3[2..0]" (rect 0 0 37 12)(font "Arial" ))
(text "s3[2..0]" (rect 156 203 187 215)(font "Arial" ))
(line (pt 208 208)(pt 192 208)(line_width 3))
)
(port
(pt 208 224)
(output)
(text "s4" (rect 0 0 11 12)(font "Arial" ))
(text "s4" (rect 178 219 187 231)(font "Arial" ))
(line (pt 208 224)(pt 192 224))
)
(port
(pt 208 240)
(output)
(text "RAMd_wren" (rect 0 0 57 12)(font "Arial" ))
(text "RAMd_wren" (rect 139 235 187 247)(font "Arial" ))
(line (pt 208 240)(pt 192 240))
)
(port
(pt 208 256)
(output)
(text "RAMd_en" (rect 0 0 47 12)(font "Arial" ))
(text "RAMd_en" (rect 148 251 187 263)(font "Arial" ))
(line (pt 208 256)(pt 192 256))
)
(port
(pt 208 272)
(output)
(text "RAMi_en" (rect 0 0 43 12)(font "Arial" ))
(text "RAMi_en" (rect 151 267 187 279)(font "Arial" ))
(line (pt 208 272)(pt 192 272))
)
(port
(pt 208 288)
(output)
(text "ALU_en" (rect 0 0 38 12)(font "Arial" ))
(text "ALU_en" (rect 155 283 187 295)(font "Arial" ))
(line (pt 208 288)(pt 192 288))
)
(port
(pt 208 304)
(output)
(text "E2" (rect 0 0 12 12)(font "Arial" ))
(text "E2" (rect 177 299 187 311)(font "Arial" ))
(line (pt 208 304)(pt 192 304))
)
(port
(pt 208 320)
(output)
(text "stack_en" (rect 0 0 44 12)(font "Arial" ))
(text "stack_en" (rect 150 315 187 327)(font "Arial" ))
(line (pt 208 320)(pt 192 320))
)
(port
(pt 208 336)
(output)
(text "stack_rst" (rect 0 0 46 12)(font "Arial" ))
(text "stack_rst" (rect 149 331 187 343)(font "Arial" ))
(line (pt 208 336)(pt 192 336))
)
(port
(pt 208 352)
(output)
(text "stack_rw" (rect 0 0 43 12)(font "Arial" ))
(text "stack_rw" (rect 151 347 187 359)(font "Arial" ))
(line (pt 208 352)(pt 192 352))
)
(port
(pt 208 368)
(output)
(text "s5" (rect 0 0 11 12)(font "Arial" ))
(text "s5" (rect 178 363 187 375)(font "Arial" ))
(line (pt 208 368)(pt 192 368))
)
(drawing
(rectangle (rect 16 16 192 384))
)
)
(connector
(pt 856 192)
(pt 936 192)
(bus)
)
(connector
(text "RAMd_en" (rect 890 272 937 289)(font "Intel Clear" ))
(pt 936 288)
(pt 880 288)
)
(connector
(text "CLK" (rect 890 256 910 273)(font "Intel Clear" ))
(pt 936 272)
(pt 880 272)
)
(connector
(text "RAMd_wren" (rect 882 192 941 209)(font "Intel Clear" ))
(pt 936 208)
(pt 880 208)
)
(connector
(text "Rd[15..0]" (rect 818 576 860 593)(font "Intel Clear" ))
(pt 816 592)
(pt 856 592)
(bus)
)
(connector
(text "R0_en" (rect 162 192 192 209)(font "Intel Clear" ))
(pt 200 208)
(pt 152 208)
)
(connector
(text "CLK" (rect 162 176 182 193)(font "Intel Clear" ))
(pt 200 192)
(pt 152 192)
)
(connector
(text "R0_count" (rect 162 224 206 241)(font "Intel Clear" ))
(pt 200 240)
(pt 152 240)
)
(connector
(text "R1_en" (rect 162 256 192 273)(font "Intel Clear" ))
(pt 200 272)
(pt 152 272)
)
(connector
(text "R2_en" (rect 162 288 192 305)(font "Intel Clear" ))
(pt 200 304)
(pt 152 304)
)
(connector
(text "R3_en" (rect 162 320 192 337)(font "Intel Clear" ))
(pt 200 336)
(pt 152 336)
)
(connector
(text "R4_en" (rect 162 352 192 369)(font "Intel Clear" ))
(pt 200 368)
(pt 152 368)
)
(connector
(text "R5_en" (rect 162 384 192 401)(font "Intel Clear" ))
(pt 200 400)
(pt 152 400)
)
(connector
(text "R6_en" (rect 162 416 192 433)(font "Intel Clear" ))
(pt 200 432)
(pt 152 432)
)
(connector
(text "R7_en" (rect 162 448 192 465)(font "Intel Clear" ))
(pt 200 464)
(pt 152 464)
)
(connector
(pt 136 224)
(pt 200 224)
(bus)
)
(connector
(pt 136 256)
(pt 200 256)
(bus)
)
(connector
(pt 136 288)
(pt 200 288)
(bus)
)
(connector
(pt 136 320)
(pt 200 320)
(bus)
)
(connector
(pt 136 352)
(pt 200 352)
(bus)
)
(connector
(pt 136 384)
(pt 200 384)
(bus)
)
(connector
(pt 136 416)
(pt 200 416)
(bus)
)
(connector
(pt 136 448)
(pt 200 448)
(bus)
)
(connector
(pt 136 352)
(pt 136 384)
(bus)
)
(connector
(pt 136 384)
(pt 136 416)
(bus)
)
(connector
(pt 136 224)
(pt 136 256)
(bus)
)
(connector
(pt 136 256)
(pt 136 288)
(bus)
)
(connector
(pt 136 288)
(pt 136 320)
(bus)
)
(connector
(pt 136 320)
(pt 136 352)
(bus)
)
(connector
(pt 480 208)
(pt 632 208)
(bus)
)
(connector
(pt 496 224)
(pt 632 224)
(bus)
)
(connector
(pt 512 240)
(pt 632 240)
(bus)
)
(connector
(pt 528 256)
(pt 632 256)
(bus)
)
(connector
(pt 544 272)
(pt 632 272)
(bus)
)
(connector
(pt 560 288)
(pt 632 288)
(bus)
)
(connector
(pt 576 304)
(pt 632 304)
(bus)
)
(connector
(text "PC[15..0]" (rect 410 176 453 193)(font "Intel Clear" ))
(pt 408 192)
(pt 464 192)
(bus)
)
(connector
(text "s1[2..0]" (rect 602 160 636 177)(font "Intel Clear" ))
(pt 632 176)
(pt 592 176)
(bus)
)
(connector
(pt 464 400)
(pt 632 400)
(bus)
)
(connector
(pt 480 416)
(pt 632 416)
(bus)
)
(connector
(pt 496 432)
(pt 632 432)
(bus)
)
(connector
(pt 512 448)
(pt 632 448)
(bus)
)
(connector
(pt 528 464)
(pt 632 464)
(bus)
)
(connector
(pt 544 480)
(pt 632 480)
(bus)
)
(connector
(pt 560 496)
(pt 632 496)
(bus)
)
(connector
(pt 576 512)
(pt 632 512)
(bus)
)
(connector
(pt 464 608)
(pt 632 608)
(bus)
)
(connector
(pt 480 624)
(pt 632 624)
(bus)
)
(connector
(pt 496 640)
(pt 632 640)
(bus)
)
(connector
(pt 512 656)
(pt 632 656)
(bus)
)
(connector
(pt 528 672)
(pt 632 672)
(bus)
)
(connector
(pt 544 688)
(pt 632 688)
(bus)
)
(connector
(pt 560 704)
(pt 632 704)
(bus)
)
(connector
(pt 576 720)
(pt 632 720)
(bus)
)
(connector
(pt 464 400)
(pt 464 608)
(bus)
)
(connector
(pt 480 208)
(pt 480 416)
(bus)
)
(connector
(pt 480 416)
(pt 480 624)
(bus)
)
(connector
(pt 496 224)
(pt 496 432)
(bus)
)
(connector
(pt 496 432)
(pt 496 640)
(bus)
)
(connector
(pt 512 240)
(pt 512 448)
(bus)
)
(connector
(pt 512 448)
(pt 512 656)
(bus)
)
(connector
(pt 528 256)
(pt 528 464)
(bus)
)
(connector
(pt 528 464)
(pt 528 672)
(bus)
)
(connector
(pt 544 272)
(pt 544 480)
(bus)
)
(connector
(pt 544 480)
(pt 544 688)
(bus)
)
(connector
(pt 560 288)
(pt 560 496)
(bus)
)
(connector
(pt 560 496)
(pt 560 704)
(bus)
)
(connector
(pt 576 304)
(pt 576 512)
(bus)
)
(connector
(pt 576 512)
(pt 576 720)
(bus)
)
(connector
(text "s2[2..0]" (rect 602 368 636 385)(font "Intel Clear" ))
(pt 632 384)
(pt 592 384)
(bus)
)
(connector
(text "s3[2..0]" (rect 602 576 636 593)(font "Intel Clear" ))
(pt 632 592)
(pt 592 592)
(bus)
)
(connector
(text "Rs1[15..0]" (rect 818 160 865 177)(font "Intel Clear" ))
(pt 816 176)
(pt 856 176)
(bus)
)
(connector
(text "R1[15..0]" (rect 418 192 460 209)(font "Intel Clear" ))
(pt 408 208)
(pt 480 208)
(bus)
)
(connector
(text "R2[15..0]" (rect 418 208 460 225)(font "Intel Clear" ))
(pt 408 224)
(pt 496 224)
(bus)
)
(connector
(text "R3[15..0]" (rect 418 224 460 241)(font "Intel Clear" ))
(pt 408 240)
(pt 512 240)
(bus)
)
(connector
(text "R4[15..0]" (rect 418 240 460 257)(font "Intel Clear" ))
(pt 408 256)
(pt 528 256)
(bus)
)
(connector
(text "R5[15..0]" (rect 418 256 460 273)(font "Intel Clear" ))
(pt 408 272)
(pt 544 272)
(bus)
)
(connector
(text "R6[15..0]" (rect 418 272 460 289)(font "Intel Clear" ))
(pt 408 288)
(pt 560 288)
(bus)
)
(connector
(text "R7[15..0]" (rect 418 288 460 305)(font "Intel Clear" ))
(pt 408 304)
(pt 576 304)
(bus)
)
(connector
(text "CLK" (rect 354 712 374 729)(font "Intel Clear" ))
(pt 344 728)
(pt 392 728)
)
(connector
(text "CLK" (rect 578 88 598 105)(font "Intel Clear" ))
(pt 568 104)
(pt 600 104)
)
(connector
(text "RAMi_en" (rect 560 104 603 121)(font "Intel Clear" ))
(pt 560 120)
(pt 600 120)
)
(connector
(text "s4" (rect 1296 373 1313 383)(font "Intel Clear" )(vertical))
(pt 1312 360)
(pt 1312 392)
)
(connector
(text "SM_rst" (rect 354 696 387 713)(font "Intel Clear" ))
(pt 344 712)
(pt 400 712)
)
(connector
(pt 464 192)
(pt 464 400)
(bus)
)
(connector
(pt 600 56)
(pt 536 56)
(bus)
)
(connector
(text "PC[10..0]" (rect 512 137 529 180)(font "Intel Clear" )(vertical))
(pt 536 192)
(pt 536 56)
(bus)
)
(connector
(pt 464 192)
(pt 536 192)
(bus)
)
(connector
(pt 536 192)
(pt 632 192)
(bus)
)
(connector
(text "FETCH" (rect 466 40 497 57)(font "Intel Clear" ))
(pt 456 56)
(pt 496 56)
)
(connector
(text "EXEC2" (rect 466 72 497 89)(font "Intel Clear" ))
(pt 456 88)
(pt 496 88)
)
(connector
(text "EXEC1" (rect 466 56 497 73)(font "Intel Clear" ))
(pt 456 72)
(pt 496 72)
)
(connector
(text "CLK" (rect 284 40 304 57)(font "Intel Clear" ))
(pt 272 56)
(pt 304 56)
)
(connector
(text "E2" (rect 282 56 293 73)(font "Intel Clear" ))
(pt 272 72)
(pt 304 72)
)
(connector
(text "SM_rst" (rect 274 72 307 89)(font "Intel Clear" ))
(pt 272 88)
(pt 304 88)
)
(connector
(pt 1256 336)
(pt 1248 336)
(bus)
)
(connector
(pt 856 592)
(pt 856 400)
(bus)
)
(connector
(text "ALU_en" (rect 882 336 919 353)(font "Intel Clear" ))
(pt 872 352)
(pt 928 352)
)
(connector
(pt 856 368)
(pt 928 368)
(bus)
)
(connector
(text "Rs2[15..0]" (rect 816 368 863 385)(font "Intel Clear" ))
(pt 816 384)
(pt 928 384)
(bus)
)
(connector
(pt 856 400)
(pt 928 400)
(bus)
)
(connector
(text "instr[14..9]" (rect 882 400 931 417)(font "Intel Clear" ))
(pt 872 416)
(pt 928 416)
(bus)
)
(connector
(text "EXEC2" (rect 882 416 913 433)(font "Intel Clear" ))
(pt 872 432)
(pt 928 432)
)
(connector
(text "stack_out[15..0]" (rect 872 432 947 449)(font "Intel Clear" ))
(pt 872 448)
(pt 928 448)
(bus)
)
(connector
(pt 1248 336)
(pt 1248 384)
(bus)
)
(connector
(pt 856 176)
(pt 856 192)
(bus)
)
(connector
(pt 856 192)
(pt 856 368)
(bus)
)
(connector
(text "ALU_out[15..0]" (rect 1178 368 1248 385)(font "Intel Clear" ))
(pt 1184 384)
(pt 1248 384)
(bus)
)
(connector
(text "COND" (rect 1194 384 1223 401)(font "Intel Clear" ))
(pt 1184 400)
(pt 1232 400)
)
(connector
(text "mul2[15..0]" (rect 1192 352 1246 369)(font "Intel Clear" ))
(pt 1184 368)
(pt 1232 368)
(bus)
)
(connector
(text "mul1[15..0]" (rect 1192 336 1246 353)(font "Intel Clear" ))
(pt 1184 352)
(pt 1232 352)
(bus)
)
(connector
(text "instr[10..0]" (rect 904 40 953 57)(font "Intel Clear" ))
(pt 872 56)
(pt 968 56)
(bus)
)
(connector
(text "instr[15..0]" (rect 827 8 876 25)(font "Intel Clear" ))
(pt 872 24)
(pt 816 24)
(bus)
)
(connector
(text "memaddr[10..0]" (rect 880 72 955 89)(font "Intel Clear" ))
(pt 968 88)
(pt 872 88)
(bus)
)
(connector
(pt 1080 72)
(pt 1088 72)
(bus)
)
(connector
(pt 872 224)
(pt 936 224)
(bus)
)
(connector
(pt 1088 72)
(pt 1088 152)
(bus)
)
(connector
(pt 872 224)
(pt 872 152)
(bus)
)
(connector
(text "s5" (rect 1008 117 1025 127)(font "Intel Clear" )(vertical))
(pt 1024 112)
(pt 1024 136)
)
(connector
(pt 1152 192)
(pt 1160 192)
(bus)
)
(connector
(text "RAMd_out[15..0]" (rect 1178 288 1258 305)(font "Intel Clear" ))
(pt 1256 304)
(pt 1160 304)
(bus)
)
(connector
(pt 872 -152)
(pt 872 24)
(bus)
)
(connector
(pt 872 24)
(pt 872 56)
(bus)
)
(connector
(text "instr[15..0]" (rect 890 -168 939 -151)(font "Intel Clear" ))
(pt 872 -152)
(pt 1176 -152)
(bus)
)
(connector
(text "FETCH" (rect 1146 -152 1177 -135)(font "Intel Clear" ))
(pt 1136 -136)
(pt 1176 -136)
)
(connector
(text "EXEC1" (rect 1146 -136 1177 -119)(font "Intel Clear" ))
(pt 1136 -120)
(pt 1176 -120)
)
(connector
(text "EXEC2" (rect 1146 -120 1177 -103)(font "Intel Clear" ))
(pt 1136 -104)
(pt 1176 -104)
)
(connector
(text "COND" (rect 1146 -104 1175 -87)(font "Intel Clear" ))
(pt 1136 -88)
(pt 1176 -88)
)
(connector
(text "R1_en" (rect 1394 -136 1424 -119)(font "Intel Clear" ))
(pt 1384 -120)
(pt 1432 -120)
)
(connector
(text "R0_en" (rect 1394 -152 1424 -135)(font "Intel Clear" ))
(pt 1384 -136)
(pt 1432 -136)
)
(connector
(text "R0_count" (rect 1394 -168 1438 -151)(font "Intel Clear" ))
(pt 1384 -152)
(pt 1432 -152)
)
(connector
(text "R2_en" (rect 1394 -120 1424 -103)(font "Intel Clear" ))
(pt 1384 -104)
(pt 1432 -104)
)
(connector
(text "R3_en" (rect 1394 -104 1424 -87)(font "Intel Clear" ))
(pt 1384 -88)
(pt 1432 -88)
)
(connector
(text "R4_en" (rect 1394 -88 1424 -71)(font "Intel Clear" ))
(pt 1384 -72)
(pt 1432 -72)
)
(connector
(text "R5_en" (rect 1394 -72 1424 -55)(font "Intel Clear" ))
(pt 1384 -56)
(pt 1432 -56)
)
(connector
(text "R6_en" (rect 1394 -56 1424 -39)(font "Intel Clear" ))
(pt 1384 -40)
(pt 1432 -40)
)
(connector
(text "R7_en" (rect 1394 -40 1424 -23)(font "Intel Clear" ))
(pt 1384 -24)
(pt 1432 -24)
)
(connector
(text "s1[2..0]" (rect 1394 -24 1428 -7)(font "Intel Clear" ))
(pt 1384 -8)
(pt 1432 -8)
(bus)
)
(connector
(text "s2[2..0]" (rect 1394 -8 1428 9)(font "Intel Clear" ))
(pt 1384 8)
(pt 1432 8)
(bus)
)
(connector
(text "s3[2..0]" (rect 1394 8 1428 25)(font "Intel Clear" ))
(pt 1384 24)
(pt 1432 24)
(bus)
)
(connector
(text "RAMd_en" (rect 1394 56 1441 73)(font "Intel Clear" ))
(pt 1384 72)
(pt 1432 72)
)
(connector
(text "RAMi_en" (rect 1394 72 1437 89)(font "Intel Clear" ))
(pt 1384 88)
(pt 1432 88)
)
(connector
(text "ALU_en" (rect 1394 88 1431 105)(font "Intel Clear" ))
(pt 1384 104)
(pt 1432 104)
)
(connector
(text "E2" (rect 1394 104 1405 121)(font "Intel Clear" ))
(pt 1384 120)
(pt 1432 120)
)
(connector
(text "stack_en" (rect 1394 120 1436 137)(font "Intel Clear" ))
(pt 1384 136)
(pt 1432 136)
)
(connector
(text "stack_rst" (rect 1394 136 1436 153)(font "Intel Clear" ))
(pt 1384 152)
(pt 1432 152)
)
(connector
(text "stack_rw" (rect 1394 152 1436 169)(font "Intel Clear" ))
(pt 1384 168)
(pt 1432 168)
)
(connector
(text "s4" (rect 1394 24 1404 41)(font "Intel Clear" ))
(pt 1384 40)
(pt 1432 40)
)
(connector
(text "s5" (rect 1394 168 1404 185)(font "Intel Clear" ))
(pt 1384 184)
(pt 1432 184)
)
(connector
(pt 872 152)
(pt 1088 152)
(bus)
)
(connector
(text "RAMd_wren" (rect 1386 40 1445 57)(font "Intel Clear" ))
(pt 1384 56)
(pt 1432 56)
)
(connector
(text "memaddr[10..0]" (rect 1192 400 1267 417)(font "Intel Clear" ))
(pt 1184 416)
(pt 1232 416)
(bus)
)
(connector
(text "CLK" (rect 882 448 902 465)(font "Intel Clear" ))
(pt 928 464)
(pt 872 464)
)
(connector
(pt 1160 192)
(pt 1160 304)
(bus)
)
(connector
(pt 136 776)
(pt 1376 776)
(bus)
)
(connector
(pt 1368 320)
(pt 1376 320)
(bus)
)
(connector
(pt 1376 320)
(pt 1376 776)
(bus)
)
(connector
(pt 136 416)
(pt 136 448)
(bus)
)
(connector
(pt 136 448)
(pt 136 776)
(bus)
)
(connector
(text "PC[15..0]" (rect 1146 632 1189 649)(font "Intel Clear" ))
(pt 1192 648)
(pt 1136 648)
(bus)
)
(connector
(text "R1[15..0]" (rect 1146 648 1188 665)(font "Intel Clear" ))
(pt 1192 664)
(pt 1136 664)
(bus)
)
(connector
(text "R2[15..0]" (rect 1146 664 1188 681)(font "Intel Clear" ))
(pt 1192 680)
(pt 1136 680)
(bus)
)
(connector
(text "R3[15..0]" (rect 1146 680 1188 697)(font "Intel Clear" ))
(pt 1192 696)
(pt 1136 696)
(bus)
)
(connector
(text "R4[15..0]" (rect 1146 696 1188 713)(font "Intel Clear" ))
(pt 1192 712)
(pt 1136 712)
(bus)
)
(connector
(text "R5[15..0]" (rect 1146 712 1188 729)(font "Intel Clear" ))
(pt 1192 728)
(pt 1136 728)
(bus)
)
(connector
(text "R6[15..0]" (rect 1146 728 1188 745)(font "Intel Clear" ))
(pt 1192 744)
(pt 1136 744)
(bus)
)
(connector
(text "R7[15..0]" (rect 1146 744 1188 761)(font "Intel Clear" ))
(pt 1192 760)
(pt 1136 760)
(bus)
)
(connector
(text "instr[15..0]" (rect 1144 616 1193 633)(font "Intel Clear" ))
(pt 1136 632)
(pt 1192 632)
(bus)
)
(connector
(text "stack_out[15..0]" (rect 1114 528 1189 545)(font "Intel Clear" ))
(pt 1112 544)
(pt 1168 544)
(bus)
)
(connector
(text "Rs1[15..0]" (rect 874 528 921 545)(font "Intel Clear" ))
(pt 928 544)
(pt 872 544)
(bus)
)
(connector
(text "CLK" (rect 874 544 894 561)(font "Intel Clear" ))
(pt 928 560)
(pt 872 560)
)
(connector
(text "stack_en" (rect 874 560 916 577)(font "Intel Clear" ))
(pt 928 576)
(pt 872 576)
)
(connector
(text "stack_rst" (rect 874 576 916 593)(font "Intel Clear" ))
(pt 928 592)
(pt 872 592)
)
(connector
(text "stack_rw" (rect 874 592 916 609)(font "Intel Clear" ))
(pt 928 608)
(pt 872 608)
)
(junction (pt 856 192))
(junction (pt 136 320))
(junction (pt 136 352))
(junction (pt 136 384))
(junction (pt 136 416))
(junction (pt 136 448))
(junction (pt 136 256))
(junction (pt 136 288))
(junction (pt 480 208))
(junction (pt 496 224))
(junction (pt 512 240))
(junction (pt 528 256))
(junction (pt 464 192))
(junction (pt 544 272))
(junction (pt 560 288))
(junction (pt 576 304))
(junction (pt 464 400))
(junction (pt 480 416))
(junction (pt 496 432))
(junction (pt 512 448))
(junction (pt 528 464))
(junction (pt 544 480))
(junction (pt 560 496))
(junction (pt 576 512))
(junction (pt 536 192))
(junction (pt 872 24))