digraph "memdemo" { rankdir="LR"; remincross=true; n24 [ shape=octagon, label="clk", color="black", fontcolor="black" ]; n25 [ shape=octagon, label="d", color="black", fontcolor="black" ]; n26 [ shape=diamond, label="mem[0]", color="black", fontcolor="black" ]; n27 [ shape=diamond, label="mem[1]", color="black", fontcolor="black" ]; n28 [ shape=diamond, label="mem[2]", color="black", fontcolor="black" ]; n29 [ shape=diamond, label="mem[3]", color="black", fontcolor="black" ]; n30 [ shape=diamond, label="s1", color="black", fontcolor="black" ]; n31 [ shape=diamond, label="s2", color="black", fontcolor="black" ]; n32 [ shape=octagon, label="y", color="black", fontcolor="black" ]; c36 [ shape=record, label="{{ A| B}|$28\n$add|{ Y}}" ]; c37 [ shape=record, label="{{ A| B}|$31\n$add|{ Y}}" ]; c38 [ shape=record, label="{{ A| B}|$34\n$add|{ Y}}" ]; c39 [ shape=record, label="{{ A| B}|$37\n$add|{ Y}}" ]; c41 [ shape=record, label="{{ A| B| S}|$110\n$mux|{ Y}}" ]; x0 [ shape=record, style=rounded, label=" 1:1 - 0:0 " ]; x0:e -> c41:p40:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; c42 [ shape=record, label="{{ A| B| S}|$113\n$mux|{ Y}}" ]; x1 [ shape=record, style=rounded, label=" 0:0 - 0:0 " ]; x1:e -> c42:p40:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; c43 [ shape=record, label="{{ A| B| S}|$116\n$mux|{ Y}}" ]; x2 [ shape=record, style=rounded, label=" 0:0 - 0:0 " ]; x2:e -> c43:p40:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; v3 [ label="1'1" ]; c44 [ shape=record, label="{{ A| B}|$145\n$and|{ Y}}" ]; v4 [ label="1'1" ]; c45 [ shape=record, label="{{ A| B}|$175\n$and|{ Y}}" ]; v5 [ label="1'1" ]; c46 [ shape=record, label="{{ A| B}|$205\n$and|{ Y}}" ]; v6 [ label="1'1" ]; c47 [ shape=record, label="{{ A| B}|$235\n$and|{ Y}}" ]; v7 [ label="2'00" ]; c48 [ shape=record, label="{{ A| B}|$143\n$eq|{ Y}}" ]; v8 [ label="2'01" ]; c49 [ shape=record, label="{{ A| B}|$173\n$eq|{ Y}}" ]; v9 [ label="2'10" ]; c50 [ shape=record, label="{{ A| B}|$203\n$eq|{ Y}}" ]; v10 [ label="2'11" ]; c51 [ shape=record, label="{{ A| B}|$233\n$eq|{ Y}}" ]; c52 [ shape=record, label="{{ A| B| S}|$147\n$mux|{ Y}}" ]; c53 [ shape=record, label="{{ A| B| S}|$177\n$mux|{ Y}}" ]; c54 [ shape=record, label="{{ A| B| S}|$207\n$mux|{ Y}}" ]; c55 [ shape=record, label="{{ A| B| S}|$237\n$mux|{ Y}}" ]; c59 [ shape=record, label="{{ CLK| D}|$66\n$dff|{ Q}}" ]; c60 [ shape=record, label="{{ CLK| D}|$68\n$dff|{ Q}}" ]; c61 [ shape=record, label="{{ CLK| D}|$70\n$dff|{ Q}}" ]; c62 [ shape=record, label="{{ CLK| D}|$72\n$dff|{ Q}}" ]; c63 [ shape=record, label="{{ CLK| D}|$59\n$dff|{ Q}}" ]; c64 [ shape=record, label="{{ CLK| D}|$63\n$dff|{ Q}}" ]; c65 [ shape=record, label="{{ CLK| D}|$64\n$dff|{ Q}}" ]; c66 [ shape=record, label="{{ A}|$39\n$reduce_bool|{ Y}}" ]; v11 [ label="4'0000" ]; c67 [ shape=record, label="{{ A| B| S}|$40\n$mux|{ Y}}" ]; x12 [ shape=record, style=rounded, label=" 3:2 - 1:0 | 1:0 - 1:0 " ]; c67:p35:e -> x12:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", style="setlinewidth(3)", label=""]; c68 [ shape=record, label="{{ A| B}|$38\n$xor|{ Y}}" ]; x13 [ shape=record, style=rounded, label=" 1:0 - 3:2 | 1:0 - 1:0 " ]; x13:e -> c68:p33:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", style="setlinewidth(3)", label=""]; c36:p35:e -> c52:p33:w [color="black", style="setlinewidth(3)", label=""]; c44:p35:e -> c52:p40:w [color="black", label=""]; c45:p35:e -> c53:p40:w [color="black", label=""]; c46:p35:e -> c54:p40:w [color="black", label=""]; c47:p35:e -> c55:p40:w [color="black", label=""]; c48:p35:e -> c44:p33:w [color="black", label=""]; c49:p35:e -> c45:p33:w [color="black", label=""]; c50:p35:e -> c46:p33:w [color="black", label=""]; c51:p35:e -> c47:p33:w [color="black", label=""]; c52:p35:e -> c59:p57:w [color="black", style="setlinewidth(3)", label=""]; c53:p35:e -> c60:p57:w [color="black", style="setlinewidth(3)", label=""]; c37:p35:e -> c53:p33:w [color="black", style="setlinewidth(3)", label=""]; c54:p35:e -> c61:p57:w [color="black", style="setlinewidth(3)", label=""]; c55:p35:e -> c62:p57:w [color="black", style="setlinewidth(3)", label=""]; c66:p35:e -> c67:p40:w [color="black", label=""]; c68:p35:e -> c67:p34:w [color="black", style="setlinewidth(3)", label=""]; n24:e -> c59:p56:w [color="black", label=""]; n24:e -> c60:p56:w [color="black", label=""]; n24:e -> c61:p56:w [color="black", label=""]; n24:e -> c62:p56:w [color="black", label=""]; n24:e -> c63:p56:w [color="black", label=""]; n24:e -> c64:p56:w [color="black", label=""]; n24:e -> c65:p56:w [color="black", label=""]; n25:e -> c52:p34:w [color="black", style="setlinewidth(3)", label=""]; n25:e -> c53:p34:w [color="black", style="setlinewidth(3)", label=""]; n25:e -> c54:p34:w [color="black", style="setlinewidth(3)", label=""]; n25:e -> c55:p34:w [color="black", style="setlinewidth(3)", label=""]; n25:e -> c66:p33:w [color="black", style="setlinewidth(3)", label=""]; n25:e -> c68:p34:w [color="black", style="setlinewidth(3)", label=""]; c59:p58:e -> n26:w [color="black", style="setlinewidth(3)", label=""]; n26:e -> c38:p34:w [color="black", style="setlinewidth(3)", label=""]; n26:e -> c39:p33:w [color="black", style="setlinewidth(3)", label=""]; n26:e -> c42:p33:w [color="black", style="setlinewidth(3)", label=""]; c60:p58:e -> n27:w [color="black", style="setlinewidth(3)", label=""]; n27:e -> c36:p33:w [color="black", style="setlinewidth(3)", label=""]; n27:e -> c39:p34:w [color="black", style="setlinewidth(3)", label=""]; n27:e -> c42:p34:w [color="black", style="setlinewidth(3)", label=""]; c61:p58:e -> n28:w [color="black", style="setlinewidth(3)", label=""]; n28:e -> c36:p34:w [color="black", style="setlinewidth(3)", label=""]; n28:e -> c37:p33:w [color="black", style="setlinewidth(3)", label=""]; n28:e -> c43:p33:w [color="black", style="setlinewidth(3)", label=""]; c62:p58:e -> n29:w [color="black", style="setlinewidth(3)", label=""]; n29:e -> c37:p34:w [color="black", style="setlinewidth(3)", label=""]; n29:e -> c38:p33:w [color="black", style="setlinewidth(3)", label=""]; n29:e -> c43:p34:w [color="black", style="setlinewidth(3)", label=""]; c38:p35:e -> c54:p33:w [color="black", style="setlinewidth(3)", label=""]; c63:p58:e -> n30:w [color="black", style="setlinewidth(3)", label=""]; n30:e -> x13:s1:w [color="black", style="setlinewidth(3)", label=""]; c64:p58:e -> n31:w [color="black", style="setlinewidth(3)", label=""]; n31:e -> x13:s0:w [color="black", style="setlinewidth(3)", label=""]; c65:p58:e -> n32:w [color="black", style="setlinewidth(3)", label=""]; c39:p35:e -> c55:p33:w [color="black", style="setlinewidth(3)", label=""]; n5 [ shape=point ]; x12:s0:e -> n5:w [color="black", style="setlinewidth(3)", label=""]; n5:e -> c48:p34:w [color="black", style="setlinewidth(3)", label=""]; n5:e -> c49:p34:w [color="black", style="setlinewidth(3)", label=""]; n5:e -> c50:p34:w [color="black", style="setlinewidth(3)", label=""]; n5:e -> c51:p34:w [color="black", style="setlinewidth(3)", label=""]; n5:e -> c63:p57:w [color="black", style="setlinewidth(3)", label=""]; n6 [ shape=point ]; x12:s1:e -> n6:w [color="black", style="setlinewidth(3)", label=""]; n6:e -> c64:p57:w [color="black", style="setlinewidth(3)", label=""]; n6:e -> x0:s0:w [color="black", style="setlinewidth(3)", label=""]; n6:e -> x1:s0:w [color="black", style="setlinewidth(3)", label=""]; n6:e -> x2:s0:w [color="black", style="setlinewidth(3)", label=""]; c41:p35:e -> c65:p57:w [color="black", style="setlinewidth(3)", label=""]; c42:p35:e -> c41:p33:w [color="black", style="setlinewidth(3)", label=""]; c43:p35:e -> c41:p34:w [color="black", style="setlinewidth(3)", label=""]; v10:e -> c51:p33:w [color="black", style="setlinewidth(3)", label=""]; v11:e -> c67:p33:w [color="black", style="setlinewidth(3)", label=""]; v3:e -> c44:p34:w [color="black", label=""]; v4:e -> c45:p34:w [color="black", label=""]; v5:e -> c46:p34:w [color="black", label=""]; v6:e -> c47:p34:w [color="black", label=""]; v7:e -> c48:p33:w [color="black", style="setlinewidth(3)", label=""]; v8:e -> c49:p33:w [color="black", style="setlinewidth(3)", label=""]; v9:e -> c50:p33:w [color="black", style="setlinewidth(3)", label=""]; };