ELEC40006-P1-CW/CPUProject.bdf
Kacper 2f6cbeae56 Debugging complete!
The CPU works now except for the multiply commands. Pipelining is next! Woooo!
2020-06-08 23:07:52 +01:00

2771 lines
62 KiB
Plaintext

/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
Copyright (C) 2018 Intel Corporation. All rights reserved.
Your use of Intel Corporation's design tools, logic functions
and other software and tools, and its AMPP partner logic
functions, and any output files from any of the foregoing
(including device programming or simulation files), and any
associated documentation or information are expressly subject
to the terms and conditions of the Intel Program License
Subscription Agreement, the Intel Quartus Prime License Agreement,
the Intel FPGA IP License Agreement, or other applicable license
agreement, including, without limitation, that your use is for
the sole purpose of programming logic devices manufactured by
Intel and sold by Intel or its authorized distributors. Please
refer to the applicable agreement for further details.
*/
(header "graphic" (version "1.4"))
(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 1232 528 1408 544)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "ALU_carry" (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 1232 560 1408 576)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "Rs1[15..0]" (rect 90 0 141 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 1232 576 1408 592)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "Rs2[15..0]" (rect 90 0 141 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 1232 544 1408 560)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "Rd[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 1232 592 1408 608)
(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 1232 608 1408 624)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "FETCH" (rect 90 0 126 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 1232 624 1408 640)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "EXEC1" (rect 90 0 124 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 1232 640 1408 656)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "EXEC2" (rect 90 0 124 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 1232 512 1408 528)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "reg_in[15..0]" (rect 90 0 151 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 1232 656 1408 672)
(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 1232 672 1408 688)
(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 1232 688 1408 704)
(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 1232 704 1408 720)
(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 1232 720 1408 736)
(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 1232 736 1408 752)
(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 1232 752 1408 768)
(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 1232 768 1408 784)
(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))
)
)
(pin
(output)
(rect 1424 -80 1600 -64)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R1_en" (rect 90 0 121 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 1424 -96 1600 -80)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R0_en" (rect 90 0 121 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 1424 -112 1600 -96)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R0_count" (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 1512 272 1688 288)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "ALU_out[15..0]" (rect 90 0 164 12)(font "Arial" ))
(pt 0 8)
(drawing
(line (pt 0 8)(pt 52 8))
(line (pt 52 4)(pt 78 4))
(line (pt 52 12)(pt 78 12))
(line (pt 52 12)(pt 52 4))
(line (pt 78 4)(pt 82 8))
(line (pt 82 8)(pt 78 12))
(line (pt 78 12)(pt 82 8))
)
)
(pin
(output)
(rect 1424 -64 1600 -48)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R2_en" (rect 90 0 121 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 1424 -48 1600 -32)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R3_en" (rect 90 0 121 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 1424 -32 1600 -16)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R4_en" (rect 90 0 121 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 1424 -16 1600 0)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R5_en" (rect 90 0 121 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 1424 0 1600 16)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R6_en" (rect 90 0 121 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 1424 16 1600 32)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "R7_en" (rect 90 0 121 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 1424 32 1600 48)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "s1[2..0]" (rect 90 0 127 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 1424 48 1600 64)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "s2[2..0]" (rect 90 0 127 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 1424 64 1600 80)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "s3[2..0]" (rect 90 0 127 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 1440 96 1616 112)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "RAMd_wren" (rect 90 0 147 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 1424 112 1600 128)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "RAMd_en" (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 1424 128 1600 144)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "RAMi_en" (rect 90 0 133 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 1424 144 1600 160)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "ALU_en" (rect 90 0 128 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 1424 160 1600 176)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "E2" (rect 90 0 102 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 1424 176 1600 192)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "stack_en" (rect 90 0 134 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 1424 192 1600 208)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "stack_rst" (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 1424 208 1600 224)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "stack_rw" (rect 90 0 133 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 1512 320 1688 336)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "COND" (rect 90 0 123 12)(font "Arial" ))
(pt 0 8)
(drawing
(line (pt 0 8)(pt 52 8))
(line (pt 52 4)(pt 78 4))
(line (pt 52 12)(pt 78 12))
(line (pt 52 12)(pt 52 4))
(line (pt 78 4)(pt 82 8))
(line (pt 82 8)(pt 78 12))
(line (pt 78 12)(pt 82 8))
)
)
(pin
(output)
(rect 1512 288 1688 304)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "RAMD_out[15..0]" (rect 90 0 174 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 1512 304 1688 320)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "stack_out[15..0]" (rect 90 0 170 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 1424 80 1600 96)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "s4" (rect 90 0 101 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 1512 336 1688 352)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "MUL_res[31..0]" (rect 90 0 165 12)(font "Arial" ))
(pt 0 8)
(drawing
(line (pt 0 8)(pt 52 8))
(line (pt 52 4)(pt 78 4))
(line (pt 52 12)(pt 78 12))
(line (pt 52 12)(pt 52 4))
(line (pt 78 4)(pt 82 8))
(line (pt 82 8)(pt 78 12))
(line (pt 78 12)(pt 82 8))
)
)
(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 936 160 1152 304)
(text "ram_data" (rect 81 0 144 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 18 64 32)(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 34 34 48)(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 50 86 64)(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 98 33 112)(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 114 33 128)(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 177 18 219 32)(font "Arial" (font_size 8)))
(line (pt 216 32)(pt 136 32)(line_width 3))
)
(drawing
(text "16 bits" (rect 109 24 121 57)(font "Arial" )(vertical))
(text "2048 words" (rect 120 12 132 67)(font "Arial" )(vertical))
(text "Block type: AUTO" (rect 48 130 137 142)(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 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 896 608 1080 752)
(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))
)
(port
(pt 184 48)
(output)
(text "empty" (rect 0 0 31 12)(font "Arial" ))
(text "empty" (rect 137 43 163 55)(font "Arial" ))
(line (pt 184 48)(pt 168 48))
)
(port
(pt 184 64)
(output)
(text "full" (rect 0 0 15 12)(font "Arial" ))
(text "full" (rect 151 59 163 71)(font "Arial" ))
(line (pt 184 64)(pt 168 64))
)
(drawing
(rectangle (rect 16 16 168 128))
)
)
(symbol
(rect 1256 272 1368 360)
(text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10)))
(text "inst" (rect 3 77 23 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 936 304 1184 496)
(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 248 32)
(output)
(text "Rout[15..0]" (rect 0 0 66 19)(font "Intel Clear" (font_size 8)))
(text "Rout[15..0]" (rect 161 27 227 46)(font "Intel Clear" (font_size 8)))
(line (pt 248 32)(pt 232 32)(line_width 3))
)
(port
(pt 248 48)
(output)
(text "COND" (rect 0 0 36 19)(font "Intel Clear" (font_size 8)))
(text "COND" (rect 191 43 227 62)(font "Intel Clear" (font_size 8)))
(line (pt 248 48)(pt 232 48))
)
(port
(pt 248 64)
(output)
(text "CARRY" (rect 0 0 41 19)(font "Intel Clear" (font_size 8)))
(text "CARRY" (rect 186 59 227 78)(font "Intel Clear" (font_size 8)))
(line (pt 248 64)(pt 232 64))
)
(port
(pt 248 80)
(output)
(text "MUL_res[31..0]" (rect 0 0 90 19)(font "Intel Clear" (font_size 8)))
(text "MUL_res[31..0]" (rect 137 75 227 94)(font "Intel Clear" (font_size 8)))
(line (pt 248 80)(pt 232 80)(line_width 3))
)
(drawing
(rectangle (rect 16 16 232 176))
)
)
(symbol
(rect 600 -8 816 136)
(text "ram_instr" (rect 81 0 144 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 18 64 32)(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 34 34 48)(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 50 86 64)(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 98 33 112)(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 114 33 128)(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 177 18 219 32)(font "Arial" (font_size 8)))
(line (pt 216 32)(pt 136 32)(line_width 3))
)
(drawing
(text "16 bits" (rect 109 24 121 57)(font "Arial" )(vertical))
(text "2048 words" (rect 120 12 132 67)(font "Arial" )(vertical))
(text "Block type: AUTO" (rect 48 130 137 142)(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 1168 -136 1376 264)
(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))
)
(drawing
(rectangle (rect 16 16 192 384))
)
)
(connector
(pt 856 192)
(pt 936 192)
(bus)
)
(connector
(text "instr[10..0]" (rect 882 208 931 225)(font "Intel Clear" ))
(pt 936 224)
(pt 872 224)
(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
(pt 856 352)
(pt 936 352)
(bus)
)
(connector
(pt 856 192)
(pt 856 352)
(bus)
)
(connector
(pt 856 592)
(pt 856 384)
(bus)
)
(connector
(pt 856 384)
(pt 936 384)
(bus)
)
(connector
(text "ALU_en" (rect 890 320 927 337)(font "Intel Clear" ))
(pt 936 336)
(pt 880 336)
)
(connector
(text "EXEC2" (rect 890 400 921 417)(font "Intel Clear" ))
(pt 936 416)
(pt 880 416)
)
(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 416)
(pt 136 448)
(bus)
)
(connector
(pt 136 448)
(pt 136 792)
(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 "Rs2[15..0]" (rect 824 352 871 369)(font "Intel Clear" ))
(pt 936 368)
(pt 824 368)
(bus)
)
(connector
(pt 816 384)
(pt 824 384)
(bus)
)
(connector
(pt 824 384)
(pt 824 368)
(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
(pt 136 792)
(pt 1416 792)
(bus)
)
(connector
(pt 1152 192)
(pt 1160 192)
(bus)
)
(connector
(text "R0_count" (rect 1386 -120 1430 -103)(font "Intel Clear" ))
(pt 1376 -104)
(pt 1424 -104)
)
(connector
(text "R0_en" (rect 1386 -104 1416 -87)(font "Intel Clear" ))
(pt 1376 -88)
(pt 1424 -88)
)
(connector
(text "R1_en" (rect 1386 -88 1416 -71)(font "Intel Clear" ))
(pt 1376 -72)
(pt 1424 -72)
)
(connector
(text "R2_en" (rect 1386 -72 1416 -55)(font "Intel Clear" ))
(pt 1376 -56)
(pt 1424 -56)
)
(connector
(text "R3_en" (rect 1386 -56 1416 -39)(font "Intel Clear" ))
(pt 1376 -40)
(pt 1424 -40)
)
(connector
(text "R4_en" (rect 1386 -40 1416 -23)(font "Intel Clear" ))
(pt 1376 -24)
(pt 1424 -24)
)
(connector
(text "R5_en" (rect 1386 -24 1416 -7)(font "Intel Clear" ))
(pt 1376 -8)
(pt 1424 -8)
)
(connector
(text "R6_en" (rect 1386 -8 1416 9)(font "Intel Clear" ))
(pt 1376 8)
(pt 1424 8)
)
(connector
(text "R7_en" (rect 1386 8 1416 25)(font "Intel Clear" ))
(pt 1376 24)
(pt 1424 24)
)
(connector
(text "s1[2..0]" (rect 1386 24 1420 41)(font "Intel Clear" ))
(pt 1376 40)
(pt 1424 40)
(bus)
)
(connector
(text "s2[2..0]" (rect 1386 40 1420 57)(font "Intel Clear" ))
(pt 1376 56)
(pt 1424 56)
(bus)
)
(connector
(text "s3[2..0]" (rect 1386 56 1420 73)(font "Intel Clear" ))
(pt 1376 72)
(pt 1424 72)
(bus)
)
(connector
(text "RAMd_wren" (rect 1386 88 1445 105)(font "Intel Clear" ))
(pt 1376 104)
(pt 1440 104)
)
(connector
(text "RAMd_en" (rect 1386 104 1433 121)(font "Intel Clear" ))
(pt 1376 120)
(pt 1424 120)
)
(connector
(text "RAMi_en" (rect 1386 120 1429 137)(font "Intel Clear" ))
(pt 1376 136)
(pt 1424 136)
)
(connector
(text "ALU_en" (rect 1386 136 1423 153)(font "Intel Clear" ))
(pt 1376 152)
(pt 1424 152)
)
(connector
(text "E2" (rect 1386 152 1397 169)(font "Intel Clear" ))
(pt 1376 168)
(pt 1424 168)
)
(connector
(text "stack_en" (rect 1386 168 1428 185)(font "Intel Clear" ))
(pt 1376 184)
(pt 1424 184)
)
(connector
(text "stack_rst" (rect 1386 184 1428 201)(font "Intel Clear" ))
(pt 1376 200)
(pt 1424 200)
)
(connector
(text "stack_rw" (rect 1386 200 1428 217)(font "Intel Clear" ))
(pt 1376 216)
(pt 1424 216)
)
(connector
(pt 856 176)
(pt 856 192)
(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
(pt 1416 496)
(pt 1224 496)
(bus)
)
(connector
(pt 1232 520)
(pt 1224 520)
(bus)
)
(connector
(pt 1224 520)
(pt 1224 496)
(bus)
)
(connector
(text "EXEC1" (rect 1186 616 1217 633)(font "Intel Clear" ))
(pt 1176 632)
(pt 1232 632)
)
(connector
(text "EXEC2" (rect 1186 632 1217 649)(font "Intel Clear" ))
(pt 1176 648)
(pt 1232 648)
)
(connector
(text "CARRY" (rect 1186 520 1221 537)(font "Intel Clear" ))
(pt 1176 536)
(pt 1232 536)
)
(connector
(text "Rd[15..0]" (rect 1186 536 1228 553)(font "Intel Clear" ))
(pt 1176 552)
(pt 1232 552)
(bus)
)
(connector
(text "Rs1[15..0]" (rect 1186 552 1233 569)(font "Intel Clear" ))
(pt 1176 568)
(pt 1232 568)
(bus)
)
(connector
(text "Rs2[15..0]" (rect 1186 568 1233 585)(font "Intel Clear" ))
(pt 1176 584)
(pt 1232 584)
(bus)
)
(connector
(text "instr[15..0]" (rect 1184 584 1233 601)(font "Intel Clear" ))
(pt 1176 600)
(pt 1232 600)
(bus)
)
(connector
(text "FETCH" (rect 1186 600 1217 617)(font "Intel Clear" ))
(pt 1176 616)
(pt 1232 616)
)
(connector
(text "PC[15..0]" (rect 1186 648 1229 665)(font "Intel Clear" ))
(pt 1232 664)
(pt 1176 664)
(bus)
)
(connector
(text "R1[15..0]" (rect 1186 664 1228 681)(font "Intel Clear" ))
(pt 1232 680)
(pt 1176 680)
(bus)
)
(connector
(text "R2[15..0]" (rect 1186 680 1228 697)(font "Intel Clear" ))
(pt 1232 696)
(pt 1176 696)
(bus)
)
(connector
(text "R3[15..0]" (rect 1186 696 1228 713)(font "Intel Clear" ))
(pt 1232 712)
(pt 1176 712)
(bus)
)
(connector
(text "R4[15..0]" (rect 1186 712 1228 729)(font "Intel Clear" ))
(pt 1232 728)
(pt 1176 728)
(bus)
)
(connector
(text "R5[15..0]" (rect 1186 728 1228 745)(font "Intel Clear" ))
(pt 1232 744)
(pt 1176 744)
(bus)
)
(connector
(text "R6[15..0]" (rect 1186 744 1228 761)(font "Intel Clear" ))
(pt 1232 760)
(pt 1176 760)
(bus)
)
(connector
(text "R7[15..0]" (rect 1186 760 1228 777)(font "Intel Clear" ))
(pt 1232 776)
(pt 1176 776)
(bus)
)
(connector
(text "CLK" (rect 354 712 374 729)(font "Intel Clear" ))
(pt 344 728)
(pt 392 728)
)
(connector
(text "EXEC1" (rect 1138 -88 1169 -71)(font "Intel Clear" ))
(pt 1128 -72)
(pt 1168 -72)
)
(connector
(text "EXEC2" (rect 1138 -72 1169 -55)(font "Intel Clear" ))
(pt 1128 -56)
(pt 1168 -56)
)
(connector
(text "COND" (rect 1138 -56 1167 -39)(font "Intel Clear" ))
(pt 1128 -40)
(pt 1168 -40)
)
(connector
(text "FETCH" (rect 1138 -104 1169 -87)(font "Intel Clear" ))
(pt 1168 -88)
(pt 1128 -88)
)
(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
(pt 872 24)
(pt 872 224)
(bus)
)
(connector
(text "instr[15..0]" (rect 826 8 875 25)(font "Intel Clear" ))
(pt 816 24)
(pt 872 24)
(bus)
)
(connector
(pt 872 -104)
(pt 872 24)
(bus)
)
(connector
(text "instr[15..0]" (rect 882 -120 931 -103)(font "Intel Clear" ))
(pt 872 -104)
(pt 1168 -104)
(bus)
)
(connector
(text "ALU_out[15..0]" (rect 1448 264 1518 281)(font "Intel Clear" ))
(pt 1440 280)
(pt 1512 280)
(bus)
)
(connector
(text "stack_out[15..0]" (rect 1450 296 1525 313)(font "Intel Clear" ))
(pt 1512 312)
(pt 1440 312)
(bus)
)
(connector
(text "RAMd_out[15..0]" (rect 1442 280 1522 297)(font "Intel Clear" ))
(pt 1512 296)
(pt 1432 296)
(bus)
)
(connector
(text "COND" (rect 1450 312 1479 329)(font "Intel Clear" ))
(pt 1512 328)
(pt 1440 328)
)
(connector
(text "instr[14..9]" (rect 890 384 939 401)(font "Intel Clear" ))
(pt 936 400)
(pt 880 400)
(bus)
)
(connector
(text "Rs1[15..0]" (rect 850 624 897 641)(font "Intel Clear" ))
(pt 840 640)
(pt 896 640)
(bus)
)
(connector
(text "CLK" (rect 850 640 870 657)(font "Intel Clear" ))
(pt 840 656)
(pt 896 656)
)
(connector
(text "stack_en" (rect 850 656 892 673)(font "Intel Clear" ))
(pt 840 672)
(pt 896 672)
)
(connector
(text "stack_rst" (rect 850 672 892 689)(font "Intel Clear" ))
(pt 840 688)
(pt 896 688)
)
(connector
(text "stack_rw" (rect 850 688 892 705)(font "Intel Clear" ))
(pt 840 704)
(pt 896 704)
)
(connector
(pt 1416 320)
(pt 1368 320)
(bus)
)
(connector
(pt 1416 320)
(pt 1416 496)
(bus)
)
(connector
(pt 1416 496)
(pt 1416 792)
(bus)
)
(connector
(pt 1160 192)
(pt 1160 304)
(bus)
)
(connector
(text "RAMd_out[15..0]" (rect 1178 288 1258 305)(font "Intel Clear" ))
(pt 1160 304)
(pt 1256 304)
(bus)
)
(connector
(text "stack_out[15..0]" (rect 1082 624 1157 641)(font "Intel Clear" ))
(pt 1080 640)
(pt 1144 640)
(bus)
)
(connector
(text "CLK" (rect 890 432 910 449)(font "Intel Clear" ))
(pt 936 448)
(pt 880 448)
)
(connector
(text "stack_out[15..0]" (rect 872 416 947 433)(font "Intel Clear" ))
(pt 936 432)
(pt 872 432)
(bus)
)
(connector
(text "s4" (rect 1296 373 1313 383)(font "Intel Clear" )(vertical))
(pt 1312 360)
(pt 1312 392)
)
(connector
(text "s4" (rect 1386 72 1396 89)(font "Intel Clear" ))
(pt 1376 88)
(pt 1424 88)
)
(connector
(text "SM_rst" (rect 354 696 387 713)(font "Intel Clear" ))
(pt 344 712)
(pt 400 712)
)
(connector
(text "ALU_out[15..0]" (rect 1186 320 1256 337)(font "Intel Clear" ))
(pt 1184 336)
(pt 1256 336)
(bus)
)
(connector
(text "COND" (rect 1194 336 1223 353)(font "Intel Clear" ))
(pt 1184 352)
(pt 1232 352)
)
(connector
(text "CARRY" (rect 1186 352 1221 369)(font "Intel Clear" ))
(pt 1184 368)
(pt 1232 368)
)
(connector
(text "MUL_res[31..0]" (rect 1184 368 1255 385)(font "Intel Clear" ))
(pt 1184 384)
(pt 1232 384)
(bus)
)
(connector
(text "MUL_res[31..0]" (rect 1450 328 1521 345)(font "Intel Clear" ))
(pt 1512 344)
(pt 1440 344)
(bus)
)
(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)
)
(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 1416 496))
(junction (pt 872 24))
(junction (pt 536 192))