diff options
author | joshua <joshua@joshuayun.com> | 2022-05-16 11:00:23 -0400 |
---|---|---|
committer | joshua <joshua@joshuayun.com> | 2022-05-16 11:00:23 -0400 |
commit | 7a8afb2b6659f88881139fcbcb02de5476952152 (patch) | |
tree | 446ca228be5746e0b6af24f44072a42289c13899 | |
parent | b8936029065835366e9e057a219c0c5194db8662 (diff) | |
download | riscv-processor-inorder-7a8afb2b6659f88881139fcbcb02de5476952152.tar.gz |
Yes
53 files changed, 1133 insertions, 3829 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f8fc67f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +**/obj_dir diff --git a/verilog/alu/backup/alu2.dot b/verilog/alu/backup/alu2.dot deleted file mode 100644 index ae04559..0000000 --- a/verilog/alu/backup/alu2.dot +++ /dev/null @@ -1,179 +0,0 @@ -digraph "alu" { -label="alu"; -rankdir="LR"; -remincross=true; -n37 [ shape=diamond, label="result", color="black", fontcolor="black" ]; -n38 [ shape=diamond, label="diff", color="black", fontcolor="black" ]; -n39 [ shape=octagon, label="alu_output", color="black", fontcolor="black" ]; -n40 [ shape=octagon, label="alu_op_i", color="black", fontcolor="black" ]; -n41 [ shape=octagon, label="alu_in_2", color="black", fontcolor="black" ]; -n42 [ shape=octagon, label="alu_in_1", color="black", fontcolor="black" ]; -c46 [ shape=record, label="{{<p43> A|<p44> B}|$35\n$or|{<p45> Y}}" ]; -v0 [ label="0" ]; -c48 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$34\n$mux|{<p45> Y}}" ]; -v1 [ label="32'11111111111111111111111111111111" ]; -c49 [ shape=record, label="{{<p43> A|<p44> B}|$33\n$shl|{<p45> Y}}" ]; -c50 [ shape=record, label="{{<p43> A|<p44> B}|$32\n$add|{<p45> Y}}" ]; -v3 [ label="0" ]; -c51 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$31\n$mux|{<p45> Y}}" ]; -x2 [ shape=record, style=rounded, label="<s0> 0:0 - 0:0 " ]; -x2:e -> c51:p47:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v4 [ label="5'00001" ]; -c52 [ shape=record, label="{{<p43> A}|$30\n$pos|{<p45> Y}}" ]; -c53 [ shape=record, label="{{<p43> A|<p44> B}|$29\n$add|{<p45> Y}}" ]; -v6 [ label="0" ]; -c54 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$28\n$mux|{<p45> Y}}" ]; -x5 [ shape=record, style=rounded, label="<s0> 1:1 - 0:0 " ]; -x5:e -> c54:p47:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v7 [ label="5'00010" ]; -c55 [ shape=record, label="{{<p43> A}|$27\n$pos|{<p45> Y}}" ]; -c56 [ shape=record, label="{{<p43> A|<p44> B}|$26\n$add|{<p45> Y}}" ]; -v9 [ label="0" ]; -c57 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$25\n$mux|{<p45> Y}}" ]; -x8 [ shape=record, style=rounded, label="<s0> 2:2 - 0:0 " ]; -x8:e -> c57:p47:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v10 [ label="5'00100" ]; -c58 [ shape=record, label="{{<p43> A}|$24\n$pos|{<p45> Y}}" ]; -c59 [ shape=record, label="{{<p43> A|<p44> B}|$23\n$add|{<p45> Y}}" ]; -v12 [ label="0" ]; -c60 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$22\n$mux|{<p45> Y}}" ]; -x11 [ shape=record, style=rounded, label="<s0> 3:3 - 0:0 " ]; -x11:e -> c60:p47:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v13 [ label="5'01000" ]; -c61 [ shape=record, label="{{<p43> A}|$21\n$pos|{<p45> Y}}" ]; -v15 [ label="0" ]; -c62 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$20\n$mux|{<p45> Y}}" ]; -x14 [ shape=record, style=rounded, label="<s0> 4:4 - 0:0 " ]; -x14:e -> c62:p47:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v16 [ label="5'10000" ]; -c63 [ shape=record, label="{{<p43> A}|$19\n$pos|{<p45> Y}}" ]; -v17 [ label="1'0" ]; -c64 [ shape=record, label="{{<p43> A|<p44> B}|$18\n$eq|{<p45> Y}}" ]; -x18 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x18:e -> c64:p43:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -c65 [ shape=record, label="{{<p43> A|<p44> B}|$17\n$shr|{<p45> Y}}" ]; -c66 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$16\n$mux|{<p45> Y}}" ]; -v19 [ label="1" ]; -v20 [ label="0" ]; -c67 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$15\n$mux|{<p45> Y}}" ]; -v21 [ label="1'1" ]; -c68 [ shape=record, label="{{<p43> A|<p44> B}|$14\n$eq|{<p45> Y}}" ]; -x22 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x22:e -> c68:p43:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v23 [ label="0" ]; -v24 [ label="1" ]; -c69 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$13\n$mux|{<p45> Y}}" ]; -v25 [ label="1'0" ]; -c70 [ shape=record, label="{{<p43> A|<p44> B}|$12\n$eq|{<p45> Y}}" ]; -x26 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x26:e -> c70:p43:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -c71 [ shape=record, label="{{<p43> A|<p44> B}|$11\n$eq|{<p45> Y}}" ]; -x27 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x27:e -> c71:p44:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -x28 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x28:e -> c71:p43:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v29 [ label="1" ]; -v30 [ label="0" ]; -c72 [ shape=record, label="{{<p43> A|<p44> B|<p47> S}|$10\n$mux|{<p45> Y}}" ]; -c73 [ shape=record, label="{{<p43> A|<p44> B}|$9\n$lt|{<p45> Y}}" ]; -c74 [ shape=record, label="{{<p43> A|<p44> B}|$8\n$shr|{<p45> Y}}" ]; -c75 [ shape=record, label="{{<p43> A|<p44> B}|$7\n$shr|{<p45> Y}}" ]; -c76 [ shape=record, label="{{<p43> A|<p44> B}|$6\n$and|{<p45> Y}}" ]; -c77 [ shape=record, label="{{<p43> A|<p44> B}|$5\n$or|{<p45> Y}}" ]; -c78 [ shape=record, label="{{<p43> A|<p44> B}|$4\n$sub|{<p45> Y}}" ]; -c79 [ shape=record, label="{{<p43> A|<p44> B}|$3\n$add|{<p45> Y}}" ]; -c80 [ shape=record, label="{{<p43> A|<p44> B}|$1\n$sub|{<p45> Y}}" ]; -p31 [shape=box, style=rounded, label="PROC $2\nalu.v:18.1-38.4"]; -x32 [shape=box, style=rounded, label="BUF"]; -x33 [shape=box, style=rounded, label="BUF"]; -c46:p45:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -c56:p45:e -> c53:p43:w [color="black", style="setlinewidth(3)", label=""]; -c57:p45:e -> c56:p44:w [color="black", style="setlinewidth(3)", label=""]; -c58:p45:e -> c57:p43:w [color="black", style="setlinewidth(3)", label=""]; -c59:p45:e -> c56:p43:w [color="black", style="setlinewidth(3)", label=""]; -c60:p45:e -> c59:p44:w [color="black", style="setlinewidth(3)", label=""]; -c61:p45:e -> c60:p43:w [color="black", style="setlinewidth(3)", label=""]; -c62:p45:e -> c59:p43:w [color="black", style="setlinewidth(3)", label=""]; -c63:p45:e -> c62:p43:w [color="black", style="setlinewidth(3)", label=""]; -c64:p45:e -> c48:p47:w [color="black", label=""]; -c65:p45:e -> c46:p43:w [color="black", style="setlinewidth(3)", label=""]; -c48:p45:e -> c46:p44:w [color="black", style="setlinewidth(3)", label=""]; -c66:p45:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -c67:p45:e -> c66:p43:w [color="black", style="setlinewidth(3)", label=""]; -c68:p45:e -> c67:p47:w [color="black", label=""]; -c69:p45:e -> c66:p44:w [color="black", style="setlinewidth(3)", label=""]; -c70:p45:e -> c69:p47:w [color="black", label=""]; -c71:p45:e -> c66:p47:w [color="black", label=""]; -c72:p45:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -c73:p45:e -> c72:p47:w [color="black", label=""]; -c74:p45:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -c75:p45:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -c49:p45:e -> c48:p43:w [color="black", style="setlinewidth(3)", label=""]; -c76:p45:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -c77:p45:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -c78:p45:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -c79:p45:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -c80:p45:e -> x32:w:w [color="black", style="setlinewidth(3)", label=""]; -p31:e -> n37:w [color="black", style="setlinewidth(3)", label=""]; -n37:e -> x33:w:w [color="black", style="setlinewidth(3)", label=""]; -x32:e:e -> n38:w [color="black", style="setlinewidth(3)", label=""]; -n38:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -n38:e -> x26:s0:w [color="black", style="setlinewidth(3)", label=""]; -x33:e:e -> n39:w [color="black", style="setlinewidth(3)", label=""]; -c50:p45:e -> c49:p44:w [color="black", style="setlinewidth(3)", label=""]; -n40:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> c65:p44:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> c73:p44:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> c74:p44:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> c75:p44:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> c76:p44:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> c77:p44:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> c78:p44:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> c79:p44:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> x11:s0:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> x14:s0:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> x27:s0:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> x2:s0:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> x5:s0:w [color="black", style="setlinewidth(3)", label=""]; -n41:e -> x8:s0:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c65:p43:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c73:p43:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c74:p43:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c75:p43:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c76:p43:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c77:p43:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c78:p43:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c79:p43:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c80:p43:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> c80:p44:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> p31:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> x18:s0:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> x22:s0:w [color="black", style="setlinewidth(3)", label=""]; -n42:e -> x28:s0:w [color="black", style="setlinewidth(3)", label=""]; -c51:p45:e -> c50:p44:w [color="black", style="setlinewidth(3)", label=""]; -c52:p45:e -> c51:p43:w [color="black", style="setlinewidth(3)", label=""]; -c53:p45:e -> c50:p43:w [color="black", style="setlinewidth(3)", label=""]; -c54:p45:e -> c53:p44:w [color="black", style="setlinewidth(3)", label=""]; -c55:p45:e -> c54:p43:w [color="black", style="setlinewidth(3)", label=""]; -v0:e -> c48:p44:w [color="black", style="setlinewidth(3)", label=""]; -v1:e -> c49:p43:w [color="black", style="setlinewidth(3)", label=""]; -v10:e -> c58:p43:w [color="black", style="setlinewidth(3)", label=""]; -v12:e -> c60:p44:w [color="black", style="setlinewidth(3)", label=""]; -v13:e -> c61:p43:w [color="black", style="setlinewidth(3)", label=""]; -v15:e -> c62:p44:w [color="black", style="setlinewidth(3)", label=""]; -v16:e -> c63:p43:w [color="black", style="setlinewidth(3)", label=""]; -v17:e -> c64:p44:w [color="black", label=""]; -v19:e -> c67:p44:w [color="black", style="setlinewidth(3)", label=""]; -v20:e -> c67:p43:w [color="black", style="setlinewidth(3)", label=""]; -v21:e -> c68:p44:w [color="black", label=""]; -v23:e -> c69:p44:w [color="black", style="setlinewidth(3)", label=""]; -v24:e -> c69:p43:w [color="black", style="setlinewidth(3)", label=""]; -v25:e -> c70:p44:w [color="black", label=""]; -v29:e -> c72:p44:w [color="black", style="setlinewidth(3)", label=""]; -v3:e -> c51:p44:w [color="black", style="setlinewidth(3)", label=""]; -v30:e -> c72:p43:w [color="black", style="setlinewidth(3)", label=""]; -v4:e -> c52:p43:w [color="black", style="setlinewidth(3)", label=""]; -v6:e -> c54:p44:w [color="black", style="setlinewidth(3)", label=""]; -v7:e -> c55:p43:w [color="black", style="setlinewidth(3)", label=""]; -v9:e -> c57:p44:w [color="black", style="setlinewidth(3)", label=""]; -} diff --git a/verilog/alu/backup/alu3.dot b/verilog/alu/backup/alu3.dot deleted file mode 100644 index bc9fed2..0000000 --- a/verilog/alu/backup/alu3.dot +++ /dev/null @@ -1,143 +0,0 @@ -digraph "alu" { -label="alu"; -rankdir="LR"; -remincross=true; -n28 [ shape=diamond, label="result", color="black", fontcolor="black" ]; -n29 [ shape=diamond, label="diff", color="black", fontcolor="black" ]; -n30 [ shape=octagon, label="alu_output", color="black", fontcolor="black" ]; -n31 [ shape=octagon, label="alu_op_i", color="black", fontcolor="black" ]; -n32 [ shape=octagon, label="alu_in_2", color="black", fontcolor="black" ]; -n33 [ shape=octagon, label="alu_in_1", color="black", fontcolor="black" ]; -c37 [ shape=record, label="{{<p34> A|<p35> B}|$26\n$or|{<p36> Y}}" ]; -v0 [ label="0" ]; -c39 [ shape=record, label="{{<p34> A|<p35> B|<p38> S}|$25\n$mux|{<p36> Y}}" ]; -v2 [ label="32'11111111111111111111111111111111" ]; -c40 [ shape=record, label="{{<p34> A|<p35> B}|$24\n$shl|{<p36> Y}}" ]; -x1 [ shape=record, style=rounded, label="<s4> 0:0 - 4:4 |<s3> 0:0 - 3:3 |<s2> 0:0 - 2:2 |<s1> 0:0 - 1:1 |<s0> 0:0 - 0:0 " ]; -x1:e -> c40:p35:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", style="setlinewidth(3)", label=""]; -c41 [ shape=record, label="{{<p34> A}|$23\n$not|{<p36> Y}}" ]; -x3 [ shape=record, style=rounded, label="<s0> 4:4 - 0:0 " ]; -x3:e -> c41:p34:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -c42 [ shape=record, label="{{<p34> A}|$22\n$not|{<p36> Y}}" ]; -x4 [ shape=record, style=rounded, label="<s0> 3:3 - 0:0 " ]; -x4:e -> c42:p34:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -c43 [ shape=record, label="{{<p34> A}|$21\n$not|{<p36> Y}}" ]; -x5 [ shape=record, style=rounded, label="<s0> 2:2 - 0:0 " ]; -x5:e -> c43:p34:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -c44 [ shape=record, label="{{<p34> A}|$20\n$not|{<p36> Y}}" ]; -x6 [ shape=record, style=rounded, label="<s0> 1:1 - 0:0 " ]; -x6:e -> c44:p34:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -c45 [ shape=record, label="{{<p34> A}|$19\n$not|{<p36> Y}}" ]; -x7 [ shape=record, style=rounded, label="<s0> 0:0 - 0:0 " ]; -x7:e -> c45:p34:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v8 [ label="1'0" ]; -c46 [ shape=record, label="{{<p34> A|<p35> B}|$18\n$eq|{<p36> Y}}" ]; -x9 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x9:e -> c46:p34:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -c47 [ shape=record, label="{{<p34> A|<p35> B}|$17\n$shr|{<p36> Y}}" ]; -c48 [ shape=record, label="{{<p34> A|<p35> B|<p38> S}|$16\n$mux|{<p36> Y}}" ]; -v10 [ label="1" ]; -v11 [ label="0" ]; -c49 [ shape=record, label="{{<p34> A|<p35> B|<p38> S}|$15\n$mux|{<p36> Y}}" ]; -v12 [ label="1'1" ]; -c50 [ shape=record, label="{{<p34> A|<p35> B}|$14\n$eq|{<p36> Y}}" ]; -x13 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x13:e -> c50:p34:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v14 [ label="0" ]; -v15 [ label="1" ]; -c51 [ shape=record, label="{{<p34> A|<p35> B|<p38> S}|$13\n$mux|{<p36> Y}}" ]; -v16 [ label="1'0" ]; -c52 [ shape=record, label="{{<p34> A|<p35> B}|$12\n$eq|{<p36> Y}}" ]; -x17 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x17:e -> c52:p34:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -c53 [ shape=record, label="{{<p34> A|<p35> B}|$11\n$eq|{<p36> Y}}" ]; -x18 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x18:e -> c53:p35:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -x19 [ shape=record, style=rounded, label="<s0> 31:31 - 0:0 " ]; -x19:e -> c53:p34:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""]; -v20 [ label="1" ]; -v21 [ label="0" ]; -c54 [ shape=record, label="{{<p34> A|<p35> B|<p38> S}|$10\n$mux|{<p36> Y}}" ]; -c55 [ shape=record, label="{{<p34> A|<p35> B}|$9\n$lt|{<p36> Y}}" ]; -c56 [ shape=record, label="{{<p34> A|<p35> B}|$8\n$shr|{<p36> Y}}" ]; -c57 [ shape=record, label="{{<p34> A|<p35> B}|$7\n$shr|{<p36> Y}}" ]; -c58 [ shape=record, label="{{<p34> A|<p35> B}|$6\n$and|{<p36> Y}}" ]; -c59 [ shape=record, label="{{<p34> A|<p35> B}|$5\n$or|{<p36> Y}}" ]; -c60 [ shape=record, label="{{<p34> A|<p35> B}|$4\n$sub|{<p36> Y}}" ]; -c61 [ shape=record, label="{{<p34> A|<p35> B}|$3\n$add|{<p36> Y}}" ]; -c62 [ shape=record, label="{{<p34> A|<p35> B}|$1\n$sub|{<p36> Y}}" ]; -p22 [shape=box, style=rounded, label="PROC $2\nalu.v:18.1-37.4"]; -x23 [shape=box, style=rounded, label="BUF"]; -x24 [shape=box, style=rounded, label="BUF"]; -c37:p36:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -c47:p36:e -> c37:p34:w [color="black", style="setlinewidth(3)", label=""]; -c48:p36:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -c49:p36:e -> c48:p34:w [color="black", style="setlinewidth(3)", label=""]; -c50:p36:e -> c49:p38:w [color="black", label=""]; -c51:p36:e -> c48:p35:w [color="black", style="setlinewidth(3)", label=""]; -c52:p36:e -> c51:p38:w [color="black", label=""]; -c53:p36:e -> c48:p38:w [color="black", label=""]; -c54:p36:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -c55:p36:e -> c54:p38:w [color="black", label=""]; -c56:p36:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -c39:p36:e -> c37:p35:w [color="black", style="setlinewidth(3)", label=""]; -c57:p36:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -c58:p36:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -c59:p36:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -c60:p36:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -c61:p36:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -c62:p36:e -> x23:w:w [color="black", style="setlinewidth(3)", label=""]; -p22:e -> n28:w [color="black", style="setlinewidth(3)", label=""]; -n28:e -> x24:w:w [color="black", style="setlinewidth(3)", label=""]; -x23:e:e -> n29:w [color="black", style="setlinewidth(3)", label=""]; -n29:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -n29:e -> x17:s0:w [color="black", style="setlinewidth(3)", label=""]; -c40:p36:e -> c39:p34:w [color="black", style="setlinewidth(3)", label=""]; -x24:e:e -> n30:w [color="black", style="setlinewidth(3)", label=""]; -n31:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> c47:p35:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> c55:p35:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> c56:p35:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> c57:p35:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> c58:p35:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> c59:p35:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> c60:p35:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> c61:p35:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> x18:s0:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> x3:s0:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> x4:s0:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> x5:s0:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> x6:s0:w [color="black", style="setlinewidth(3)", label=""]; -n32:e -> x7:s0:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c47:p34:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c55:p34:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c56:p34:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c57:p34:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c58:p34:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c59:p34:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c60:p34:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c61:p34:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c62:p34:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> c62:p35:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> p22:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> x13:s0:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> x19:s0:w [color="black", style="setlinewidth(3)", label=""]; -n33:e -> x9:s0:w [color="black", style="setlinewidth(3)", label=""]; -c41:p36:e -> x1:s4:w [color="black", label=""]; -c42:p36:e -> x1:s3:w [color="black", label=""]; -c43:p36:e -> x1:s2:w [color="black", label=""]; -c44:p36:e -> x1:s1:w [color="black", label=""]; -c45:p36:e -> x1:s0:w [color="black", label=""]; -c46:p36:e -> c39:p38:w [color="black", label=""]; -v0:e -> c39:p35:w [color="black", style="setlinewidth(3)", label=""]; -v10:e -> c49:p35:w [color="black", style="setlinewidth(3)", label=""]; -v11:e -> c49:p34:w [color="black", style="setlinewidth(3)", label=""]; -v12:e -> c50:p35:w [color="black", label=""]; -v14:e -> c51:p35:w [color="black", style="setlinewidth(3)", label=""]; -v15:e -> c51:p34:w [color="black", style="setlinewidth(3)", label=""]; -v16:e -> c52:p35:w [color="black", label=""]; -v2:e -> c40:p34:w [color="black", style="setlinewidth(3)", label=""]; -v20:e -> c54:p35:w [color="black", style="setlinewidth(3)", label=""]; -v21:e -> c54:p34:w [color="black", style="setlinewidth(3)", label=""]; -v8:e -> c46:p35:w [color="black", label=""]; -} diff --git a/verilog/alu/obj_dir/Valu b/verilog/alu/obj_dir/Valu Binary files differdeleted file mode 100755 index de4fc59..0000000 --- a/verilog/alu/obj_dir/Valu +++ /dev/null diff --git a/verilog/alu/obj_dir/Valu.cpp b/verilog/alu/obj_dir/Valu.cpp deleted file mode 100644 index 7d020e4..0000000 --- a/verilog/alu/obj_dir/Valu.cpp +++ /dev/null @@ -1,118 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Model implementation (design independent parts) - -#include "Valu.h" -#include "Valu__Syms.h" -#include "verilated_vcd_c.h" - -//============================================================ -// Constructors - -Valu::Valu(VerilatedContext* _vcontextp__, const char* _vcname__) - : vlSymsp{new Valu__Syms(_vcontextp__, _vcname__, this)} - , op{vlSymsp->TOP.op} - , in1{vlSymsp->TOP.in1} - , in2{vlSymsp->TOP.in2} - , out{vlSymsp->TOP.out} - , rootp{&(vlSymsp->TOP)} -{ -} - -Valu::Valu(const char* _vcname__) - : Valu(nullptr, _vcname__) -{ -} - -//============================================================ -// Destructor - -Valu::~Valu() { - delete vlSymsp; -} - -//============================================================ -// Evaluation loop - -void Valu___024root___eval_initial(Valu___024root* vlSelf); -void Valu___024root___eval_settle(Valu___024root* vlSelf); -void Valu___024root___eval(Valu___024root* vlSelf); -#ifdef VL_DEBUG -void Valu___024root___eval_debug_assertions(Valu___024root* vlSelf); -#endif // VL_DEBUG -void Valu___024root___final(Valu___024root* vlSelf); - -static void _eval_initial_loop(Valu__Syms* __restrict vlSymsp) { - vlSymsp->__Vm_didInit = true; - Valu___024root___eval_initial(&(vlSymsp->TOP)); - // Evaluate till stable - vlSymsp->__Vm_activity = true; - do { - VL_DEBUG_IF(VL_DBG_MSGF("+ Initial loop\n");); - Valu___024root___eval_settle(&(vlSymsp->TOP)); - Valu___024root___eval(&(vlSymsp->TOP)); - } while (0); -} - -void Valu::eval_step() { - VL_DEBUG_IF(VL_DBG_MSGF("+++++TOP Evaluate Valu::eval_step\n"); ); -#ifdef VL_DEBUG - // Debug assertions - Valu___024root___eval_debug_assertions(&(vlSymsp->TOP)); -#endif // VL_DEBUG - // Initialize - if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) _eval_initial_loop(vlSymsp); - // Evaluate till stable - vlSymsp->__Vm_activity = true; - do { - VL_DEBUG_IF(VL_DBG_MSGF("+ Clock loop\n");); - Valu___024root___eval(&(vlSymsp->TOP)); - } while (0); - // Evaluate cleanup -} - -//============================================================ -// Utilities - -VerilatedContext* Valu::contextp() const { - return vlSymsp->_vm_contextp__; -} - -const char* Valu::name() const { - return vlSymsp->name(); -} - -//============================================================ -// Invoke final blocks - -VL_ATTR_COLD void Valu::final() { - Valu___024root___final(&(vlSymsp->TOP)); -} - -//============================================================ -// Trace configuration - -void Valu___024root__trace_init_top(Valu___024root* vlSelf, VerilatedVcd* tracep); - -VL_ATTR_COLD static void trace_init(void* voidSelf, VerilatedVcd* tracep, uint32_t code) { - // Callback from tracep->open() - Valu___024root* const __restrict vlSelf VL_ATTR_UNUSED = static_cast<Valu___024root*>(voidSelf); - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - if (!vlSymsp->_vm_contextp__->calcUnusedSigs()) { - VL_FATAL_MT(__FILE__, __LINE__, __FILE__, - "Turning on wave traces requires Verilated::traceEverOn(true) call before time 0."); - } - vlSymsp->__Vm_baseCode = code; - tracep->scopeEscape(' '); - tracep->pushNamePrefix(std::string{vlSymsp->name()} + ' '); - Valu___024root__trace_init_top(vlSelf, tracep); - tracep->popNamePrefix(); - tracep->scopeEscape('.'); -} - -VL_ATTR_COLD void Valu___024root__trace_register(Valu___024root* vlSelf, VerilatedVcd* tracep); - -VL_ATTR_COLD void Valu::trace(VerilatedVcdC* tfp, int levels, int options) { - if (false && levels && options) {} // Prevent unused - tfp->spTrace()->addInitCb(&trace_init, &(vlSymsp->TOP)); - Valu___024root__trace_register(&(vlSymsp->TOP), tfp->spTrace()); -} diff --git a/verilog/alu/obj_dir/Valu.h b/verilog/alu/obj_dir/Valu.h deleted file mode 100644 index 57738b5..0000000 --- a/verilog/alu/obj_dir/Valu.h +++ /dev/null @@ -1,73 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Primary model header -// -// This header should be included by all source files instantiating the design. -// The class here is then constructed to instantiate the design. -// See the Verilator manual for examples. - -#ifndef VERILATED_VALU_H_ -#define VERILATED_VALU_H_ // guard - -#include "verilated.h" - -class Valu__Syms; -class Valu___024root; -class VerilatedVcdC; - -// This class is the main interface to the Verilated model -class Valu VL_NOT_FINAL { - private: - // Symbol table holding complete model state (owned by this class) - Valu__Syms* const vlSymsp; - - public: - - // PORTS - // The application code writes and reads these signals to - // propagate new values into/out from the Verilated model. - VL_IN8(&op,3,0); - VL_IN(&in1,31,0); - VL_IN(&in2,31,0); - VL_OUT(&out,31,0); - - // CELLS - // Public to allow access to /* verilator public */ items. - // Otherwise the application code can consider these internals. - - // Root instance pointer to allow access to model internals, - // including inlined /* verilator public_flat_* */ items. - Valu___024root* const rootp; - - // CONSTRUCTORS - /// Construct the model; called by application code - /// If contextp is null, then the model will use the default global context - /// If name is "", then makes a wrapper with a - /// single model invisible with respect to DPI scope names. - explicit Valu(VerilatedContext* contextp, const char* name = "TOP"); - explicit Valu(const char* name = "TOP"); - /// Destroy the model; called (often implicitly) by application code - virtual ~Valu(); - private: - VL_UNCOPYABLE(Valu); ///< Copying not allowed - - public: - // API METHODS - /// Evaluate the model. Application must call when inputs change. - void eval() { eval_step(); } - /// Evaluate when calling multiple units/models per time step. - void eval_step(); - /// Evaluate at end of a timestep for tracing, when using eval_step(). - /// Application must call after all eval() and before time changes. - void eval_end_step() {} - /// Simulation complete, run final blocks. Application must call on completion. - void final(); - /// Trace signals in the model; called by application code - void trace(VerilatedVcdC* tfp, int levels, int options = 0); - /// Return current simulation context for this model. - /// Used to get to e.g. simulation time via contextp()->time() - VerilatedContext* contextp() const; - /// Retrieve name of this model instance (as passed to constructor). - const char* name() const; -} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES); - -#endif // guard diff --git a/verilog/alu/obj_dir/Valu.mk b/verilog/alu/obj_dir/Valu.mk deleted file mode 100644 index 15a2c2f..0000000 --- a/verilog/alu/obj_dir/Valu.mk +++ /dev/null @@ -1,68 +0,0 @@ -# Verilated -*- Makefile -*- -# DESCRIPTION: Verilator output: Makefile for building Verilated archive or executable -# -# Execute this makefile from the object directory: -# make -f Valu.mk - -default: Valu - -### Constants... -# Perl executable (from $PERL) -PERL = perl -# Path to Verilator kit (from $VERILATOR_ROOT) -VERILATOR_ROOT = /usr/share/verilator -# SystemC include directory with systemc.h (from $SYSTEMC_INCLUDE) -SYSTEMC_INCLUDE ?= -# SystemC library directory with libsystemc.a (from $SYSTEMC_LIBDIR) -SYSTEMC_LIBDIR ?= - -### Switches... -# C++ code coverage 0/1 (from --prof-c) -VM_PROFC = 0 -# SystemC output mode? 0/1 (from --sc) -VM_SC = 0 -# Legacy or SystemC output mode? 0/1 (from --sc) -VM_SP_OR_SC = $(VM_SC) -# Deprecated -VM_PCLI = 1 -# Deprecated: SystemC architecture to find link library path (from $SYSTEMC_ARCH) -VM_SC_TARGET_ARCH = linux - -### Vars... -# Design prefix (from --prefix) -VM_PREFIX = Valu -# Module prefix (from --prefix) -VM_MODPREFIX = Valu -# User CFLAGS (from -CFLAGS on Verilator command line) -VM_USER_CFLAGS = \ - -# User LDLIBS (from -LDFLAGS on Verilator command line) -VM_USER_LDLIBS = \ - -# User .cpp files (from .cpp's on Verilator command line) -VM_USER_CLASSES = \ - tbalu \ - -# User .cpp directories (from .cpp's on Verilator command line) -VM_USER_DIR = \ - . \ - - -### Default rules... -# Include list of all generated classes -include Valu_classes.mk -# Include global rules -include $(VERILATOR_ROOT)/include/verilated.mk - -### Executable rules... (from --exe) -VPATH += $(VM_USER_DIR) - -tbalu.o: tbalu.cpp - $(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $< - -### Link rules... (from --exe) -Valu: $(VK_USER_OBJS) $(VK_GLOBAL_OBJS) $(VM_PREFIX)__ALL.a $(VM_HIER_LIBS) - $(LINK) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) $(LIBS) $(SC_LIBS) -o $@ - - -# Verilated -*- Makefile -*- diff --git a/verilog/alu/obj_dir/Valu__ALL.a b/verilog/alu/obj_dir/Valu__ALL.a Binary files differdeleted file mode 100644 index 4ad5286..0000000 --- a/verilog/alu/obj_dir/Valu__ALL.a +++ /dev/null diff --git a/verilog/alu/obj_dir/Valu__ALL.cpp b/verilog/alu/obj_dir/Valu__ALL.cpp deleted file mode 100644 index ed815ee..0000000 --- a/verilog/alu/obj_dir/Valu__ALL.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// DESCRIPTION: Generated by verilator_includer via makefile -#define VL_INCLUDE_OPT include -#include "Valu.cpp" -#include "Valu___024root__DepSet_ha59b247d__0.cpp" -#include "Valu__Trace__0.cpp" -#include "Valu___024root__Slow.cpp" -#include "Valu___024root__DepSet_ha59b247d__0__Slow.cpp" -#include "Valu__Syms.cpp" -#include "Valu__Trace__0__Slow.cpp" diff --git a/verilog/alu/obj_dir/Valu__ALL.d b/verilog/alu/obj_dir/Valu__ALL.d deleted file mode 100644 index 636205f..0000000 --- a/verilog/alu/obj_dir/Valu__ALL.d +++ /dev/null @@ -1,13 +0,0 @@ -Valu__ALL.o: Valu__ALL.cpp Valu.cpp Valu.h \ - /usr/share/verilator/include/verilated.h \ - /usr/share/verilator/include/verilatedos.h \ - /usr/share/verilator/include/verilated_config.h \ - /usr/share/verilator/include/verilated_types.h \ - /usr/share/verilator/include/verilated_funcs.h Valu__Syms.h \ - Valu___024root.h /usr/share/verilator/include/verilated_vcd_c.h \ - /usr/share/verilator/include/verilated.h \ - /usr/share/verilator/include/verilated_trace.h \ - /usr/share/verilator/include/verilated_trace_defs.h \ - Valu___024root__DepSet_ha59b247d__0.cpp Valu__Trace__0.cpp \ - Valu___024root__Slow.cpp Valu___024root__DepSet_ha59b247d__0__Slow.cpp \ - Valu__Syms.cpp Valu__Trace__0__Slow.cpp diff --git a/verilog/alu/obj_dir/Valu__ALL.o b/verilog/alu/obj_dir/Valu__ALL.o Binary files differdeleted file mode 100644 index 1377001..0000000 --- a/verilog/alu/obj_dir/Valu__ALL.o +++ /dev/null diff --git a/verilog/alu/obj_dir/Valu__Syms.cpp b/verilog/alu/obj_dir/Valu__Syms.cpp deleted file mode 100644 index bd9fdd1..0000000 --- a/verilog/alu/obj_dir/Valu__Syms.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Symbol table implementation internals - -#include "Valu__Syms.h" -#include "Valu.h" -#include "Valu___024root.h" - -// FUNCTIONS -Valu__Syms::~Valu__Syms() -{ -} - -Valu__Syms::Valu__Syms(VerilatedContext* contextp, const char* namep,Valu* modelp) - : VerilatedSyms{contextp} - // Setup internal state of the Syms class - , __Vm_modelp{modelp} - // Setup module instances - , TOP(namep) -{ - // Configure time unit / time precision - _vm_contextp__->timeunit(-6); - _vm_contextp__->timeprecision(-9); - // Setup each module's pointers to their submodules - // Setup each module's pointer back to symbol table (for public functions) - TOP.__Vconfigure(this, true); -} diff --git a/verilog/alu/obj_dir/Valu__Syms.h b/verilog/alu/obj_dir/Valu__Syms.h deleted file mode 100644 index e69592b..0000000 --- a/verilog/alu/obj_dir/Valu__Syms.h +++ /dev/null @@ -1,39 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Symbol table internal header -// -// Internal details; most calling programs do not need this header, -// unless using verilator public meta comments. - -#ifndef VERILATED_VALU__SYMS_H_ -#define VERILATED_VALU__SYMS_H_ // guard - -#include "verilated.h" - -// INCLUDE MODEL CLASS - -#include "Valu.h" - -// INCLUDE MODULE CLASSES -#include "Valu___024root.h" - -// SYMS CLASS (contains all model state) -class Valu__Syms final : public VerilatedSyms { - public: - // INTERNAL STATE - Valu* const __Vm_modelp; - bool __Vm_activity = false; ///< Used by trace routines to determine change occurred - uint32_t __Vm_baseCode = 0; ///< Used by trace routines when tracing multiple models - bool __Vm_didInit = false; - - // MODULE INSTANCE STATE - Valu___024root TOP; - - // CONSTRUCTORS - Valu__Syms(VerilatedContext* contextp, const char* namep, Valu* modelp); - ~Valu__Syms(); - - // METHODS - const char* name() { return TOP.name(); } -} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES); - -#endif // guard diff --git a/verilog/alu/obj_dir/Valu__Trace__0.cpp b/verilog/alu/obj_dir/Valu__Trace__0.cpp deleted file mode 100644 index 4713f0f..0000000 --- a/verilog/alu/obj_dir/Valu__Trace__0.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Tracing implementation internals -#include "verilated_vcd_c.h" -#include "Valu__Syms.h" - - -void Valu___024root__trace_chg_sub_0(Valu___024root* vlSelf, VerilatedVcd* tracep); - -void Valu___024root__trace_chg_top_0(void* voidSelf, VerilatedVcd* tracep) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root__trace_chg_top_0\n"); ); - // Init - Valu___024root* const __restrict vlSelf VL_ATTR_UNUSED = static_cast<Valu___024root*>(voidSelf); - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - if (VL_UNLIKELY(!vlSymsp->__Vm_activity)) return; - // Body - Valu___024root__trace_chg_sub_0((&vlSymsp->TOP), tracep); -} - -void Valu___024root__trace_chg_sub_0(Valu___024root* vlSelf, VerilatedVcd* tracep) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root__trace_chg_sub_0\n"); ); - // Init - vluint32_t* const oldp VL_ATTR_UNUSED = tracep->oldp(vlSymsp->__Vm_baseCode + 1); - // Body - tracep->chgIData(oldp+0,(vlSelf->in1),32); - tracep->chgIData(oldp+1,(vlSelf->in2),32); - tracep->chgCData(oldp+2,(vlSelf->op),4); - tracep->chgIData(oldp+3,(vlSelf->out),32); - tracep->chgIData(oldp+4,(vlSelf->alu__DOT__result),32); -} - -void Valu___024root__trace_cleanup(void* voidSelf, VerilatedVcd* /*unused*/) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root__trace_cleanup\n"); ); - // Init - Valu___024root* const __restrict vlSelf VL_ATTR_UNUSED = static_cast<Valu___024root*>(voidSelf); - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VlUnpacked<CData/*0:0*/, 1> __Vm_traceActivity; - // Body - vlSymsp->__Vm_activity = false; - __Vm_traceActivity[0U] = 0U; -} diff --git a/verilog/alu/obj_dir/Valu__Trace__0__Slow.cpp b/verilog/alu/obj_dir/Valu__Trace__0__Slow.cpp deleted file mode 100644 index 25d47f5..0000000 --- a/verilog/alu/obj_dir/Valu__Trace__0__Slow.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Tracing implementation internals -#include "verilated_vcd_c.h" -#include "Valu__Syms.h" - - -VL_ATTR_COLD void Valu___024root__trace_init_sub__TOP__0(Valu___024root* vlSelf, VerilatedVcd* tracep) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root__trace_init_sub__TOP__0\n"); ); - // Init - const int c = vlSymsp->__Vm_baseCode; - // Body - tracep->declBus(c+1,"in1", false,-1, 31,0); - tracep->declBus(c+2,"in2", false,-1, 31,0); - tracep->declBus(c+3,"op", false,-1, 3,0); - tracep->declBus(c+4,"out", false,-1, 31,0); - tracep->pushNamePrefix("alu "); - tracep->declBus(c+1,"in1", false,-1, 31,0); - tracep->declBus(c+2,"in2", false,-1, 31,0); - tracep->declBus(c+3,"op", false,-1, 3,0); - tracep->declBus(c+4,"out", false,-1, 31,0); - tracep->declBus(c+6,"diff", false,-1, 31,0); - tracep->declBus(c+5,"result", false,-1, 31,0); - tracep->popNamePrefix(1); -} - -VL_ATTR_COLD void Valu___024root__trace_init_top(Valu___024root* vlSelf, VerilatedVcd* tracep) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root__trace_init_top\n"); ); - // Body - Valu___024root__trace_init_sub__TOP__0(vlSelf, tracep); -} - -VL_ATTR_COLD void Valu___024root__trace_full_top_0(void* voidSelf, VerilatedVcd* tracep); -void Valu___024root__trace_chg_top_0(void* voidSelf, VerilatedVcd* tracep); -void Valu___024root__trace_cleanup(void* voidSelf, VerilatedVcd* /*unused*/); - -VL_ATTR_COLD void Valu___024root__trace_register(Valu___024root* vlSelf, VerilatedVcd* tracep) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root__trace_register\n"); ); - // Body - tracep->addFullCb(&Valu___024root__trace_full_top_0, vlSelf); - tracep->addChgCb(&Valu___024root__trace_chg_top_0, vlSelf); - tracep->addCleanupCb(&Valu___024root__trace_cleanup, vlSelf); -} - -VL_ATTR_COLD void Valu___024root__trace_full_sub_0(Valu___024root* vlSelf, VerilatedVcd* tracep); - -VL_ATTR_COLD void Valu___024root__trace_full_top_0(void* voidSelf, VerilatedVcd* tracep) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root__trace_full_top_0\n"); ); - // Init - Valu___024root* const __restrict vlSelf VL_ATTR_UNUSED = static_cast<Valu___024root*>(voidSelf); - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - // Body - Valu___024root__trace_full_sub_0((&vlSymsp->TOP), tracep); -} - -VL_ATTR_COLD void Valu___024root__trace_full_sub_0(Valu___024root* vlSelf, VerilatedVcd* tracep) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root__trace_full_sub_0\n"); ); - // Init - vluint32_t* const oldp VL_ATTR_UNUSED = tracep->oldp(vlSymsp->__Vm_baseCode); - // Body - tracep->fullIData(oldp+1,(vlSelf->in1),32); - tracep->fullIData(oldp+2,(vlSelf->in2),32); - tracep->fullCData(oldp+3,(vlSelf->op),4); - tracep->fullIData(oldp+4,(vlSelf->out),32); - tracep->fullIData(oldp+5,(vlSelf->alu__DOT__result),32); - tracep->fullIData(oldp+6,(0U),32); -} diff --git a/verilog/alu/obj_dir/Valu___024root.h b/verilog/alu/obj_dir/Valu___024root.h deleted file mode 100644 index 18b3f2f..0000000 --- a/verilog/alu/obj_dir/Valu___024root.h +++ /dev/null @@ -1,34 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design internal header -// See Valu.h for the primary calling header - -#ifndef VERILATED_VALU___024ROOT_H_ -#define VERILATED_VALU___024ROOT_H_ // guard - -#include "verilated.h" - -class Valu__Syms; -VL_MODULE(Valu___024root) { - public: - - // DESIGN SPECIFIC STATE - VL_IN8(op,3,0); - VL_IN(in1,31,0); - VL_IN(in2,31,0); - VL_OUT(out,31,0); - IData/*31:0*/ alu__DOT__result; - - // INTERNAL VARIABLES - Valu__Syms* vlSymsp; // Symbol table - - // CONSTRUCTORS - Valu___024root(const char* name); - ~Valu___024root(); - VL_UNCOPYABLE(Valu___024root); - - // INTERNAL METHODS - void __Vconfigure(Valu__Syms* symsp, bool first); -} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES); - - -#endif // guard diff --git a/verilog/alu/obj_dir/Valu___024root__DepSet_ha59b247d__0.cpp b/verilog/alu/obj_dir/Valu___024root__DepSet_ha59b247d__0.cpp deleted file mode 100644 index 99146ec..0000000 --- a/verilog/alu/obj_dir/Valu___024root__DepSet_ha59b247d__0.cpp +++ /dev/null @@ -1,117 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Valu.h for the primary calling header - -#include "verilated.h" - -#include "Valu___024root.h" - -VL_INLINE_OPT void Valu___024root___combo__TOP__0(Valu___024root* vlSelf) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___combo__TOP__0\n"); ); - // Body - vlSelf->alu__DOT__result = ((8U & (IData)(vlSelf->op)) - ? ((4U & (IData)(vlSelf->op)) - ? ((2U & (IData)(vlSelf->op)) - ? ((1U & (IData)(vlSelf->op)) - ? vlSelf->in1 - : 0U) : - ((1U & (IData)(vlSelf->op)) - ? (((0x1fU - >= vlSelf->in2) - ? (vlSelf->in1 - >> vlSelf->in2) - : 0U) - | ((vlSelf->in1 - >> 0x1fU) - ? - ((IData)(0xffffffffU) - << - ((0x10U - & ((~ - (vlSelf->in2 - >> 4U)) - << 4U)) - | ((8U - & ((~ - (vlSelf->in2 - >> 3U)) - << 3U)) - | ((4U - & ((~ - (vlSelf->in2 - >> 2U)) - << 2U)) - | ((2U - & ((~ - (vlSelf->in2 - >> 1U)) - << 1U)) - | (1U - & (~ vlSelf->in2))))))) - : 0U)) - : 0U)) : 0U) - : ((4U & (IData)(vlSelf->op)) - ? ((2U & (IData)(vlSelf->op)) - ? ((1U & (IData)(vlSelf->op)) - ? (vlSelf->in1 - & vlSelf->in2) - : (vlSelf->in1 - | vlSelf->in2)) - : ((1U & (IData)(vlSelf->op)) - ? ((0x1fU - >= vlSelf->in2) - ? - (vlSelf->in1 - >> vlSelf->in2) - : 0U) - : (vlSelf->in1 - - vlSelf->in2))) - : ((2U & (IData)(vlSelf->op)) - ? ((1U & (IData)(vlSelf->op)) - ? ((vlSelf->in1 - < vlSelf->in2) - ? 1U - : 0U) - : (((vlSelf->in1 - >> 0x1fU) - == - (vlSelf->in2 - >> 0x1fU)) - ? 0U - : - ((vlSelf->in1 - >> 0x1fU) - ? 1U - : 0U))) - : ((1U & (IData)(vlSelf->op)) - ? ((0x1fU - >= vlSelf->in2) - ? - (vlSelf->in1 - >> vlSelf->in2) - : 0U) - : (vlSelf->in1 - + vlSelf->in2))))); - vlSelf->out = vlSelf->alu__DOT__result; -} - -void Valu___024root___eval(Valu___024root* vlSelf) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___eval\n"); ); - // Body - Valu___024root___combo__TOP__0(vlSelf); -} - -#ifdef VL_DEBUG -void Valu___024root___eval_debug_assertions(Valu___024root* vlSelf) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___eval_debug_assertions\n"); ); - // Body - if (VL_UNLIKELY((vlSelf->op & 0xf0U))) { - Verilated::overWidthError("op");} -} -#endif // VL_DEBUG diff --git a/verilog/alu/obj_dir/Valu___024root__DepSet_ha59b247d__0__Slow.cpp b/verilog/alu/obj_dir/Valu___024root__DepSet_ha59b247d__0__Slow.cpp deleted file mode 100644 index 99dde1e..0000000 --- a/verilog/alu/obj_dir/Valu___024root__DepSet_ha59b247d__0__Slow.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Valu.h for the primary calling header - -#include "verilated.h" - -#include "Valu___024root.h" - -VL_ATTR_COLD void Valu___024root___eval_initial(Valu___024root* vlSelf) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___eval_initial\n"); ); -} - -void Valu___024root___combo__TOP__0(Valu___024root* vlSelf); - -VL_ATTR_COLD void Valu___024root___eval_settle(Valu___024root* vlSelf) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___eval_settle\n"); ); - // Body - Valu___024root___combo__TOP__0(vlSelf); -} - -VL_ATTR_COLD void Valu___024root___final(Valu___024root* vlSelf) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___final\n"); ); -} - -VL_ATTR_COLD void Valu___024root___ctor_var_reset(Valu___024root* vlSelf) { - if (false && vlSelf) {} // Prevent unused - Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___ctor_var_reset\n"); ); - // Body - vlSelf->in1 = VL_RAND_RESET_I(32); - vlSelf->in2 = VL_RAND_RESET_I(32); - vlSelf->op = VL_RAND_RESET_I(4); - vlSelf->out = VL_RAND_RESET_I(32); - vlSelf->alu__DOT__result = VL_RAND_RESET_I(32); -} diff --git a/verilog/alu/obj_dir/Valu___024root__Slow.cpp b/verilog/alu/obj_dir/Valu___024root__Slow.cpp deleted file mode 100644 index 7e197c5..0000000 --- a/verilog/alu/obj_dir/Valu___024root__Slow.cpp +++ /dev/null @@ -1,25 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Valu.h for the primary calling header - -#include "verilated.h" - -#include "Valu__Syms.h" -#include "Valu___024root.h" - -void Valu___024root___ctor_var_reset(Valu___024root* vlSelf); - -Valu___024root::Valu___024root(const char* _vcname__) - : VerilatedModule(_vcname__) - { - // Reset structure values - Valu___024root___ctor_var_reset(this); -} - -void Valu___024root::__Vconfigure(Valu__Syms* _vlSymsp, bool first) { - if (false && first) {} // Prevent unused - this->vlSymsp = _vlSymsp; -} - -Valu___024root::~Valu___024root() { -} diff --git a/verilog/alu/obj_dir/Valu__ver.d b/verilog/alu/obj_dir/Valu__ver.d deleted file mode 100644 index 050f4a2..0000000 --- a/verilog/alu/obj_dir/Valu__ver.d +++ /dev/null @@ -1 +0,0 @@ -obj_dir/Valu.cpp obj_dir/Valu.h obj_dir/Valu.mk obj_dir/Valu__Syms.cpp obj_dir/Valu__Syms.h obj_dir/Valu__Trace__0.cpp obj_dir/Valu__Trace__0__Slow.cpp obj_dir/Valu___024root.h obj_dir/Valu___024root__DepSet_ha59b247d__0.cpp obj_dir/Valu___024root__DepSet_ha59b247d__0__Slow.cpp obj_dir/Valu___024root__Slow.cpp obj_dir/Valu__ver.d obj_dir/Valu_classes.mk : /usr/bin/verilator_bin /usr/bin/verilator_bin alu.v aluOp.vh diff --git a/verilog/alu/obj_dir/Valu__verFiles.dat b/verilog/alu/obj_dir/Valu__verFiles.dat deleted file mode 100644 index 9886e43..0000000 --- a/verilog/alu/obj_dir/Valu__verFiles.dat +++ /dev/null @@ -1,19 +0,0 @@ -# DESCRIPTION: Verilator output: Timestamp data for --skip-identical. Delete at will. -C "-Wall --cc --exe --build tbalu.cpp alu.v --trace" -S 8301864 49571880 1647534899 665184882 1647204701 0 "/usr/bin/verilator_bin" -S 826 47450694 1650399377 438046012 1650399377 438046012 "alu.v" -S 391 47450690 1650315291 577169333 1650315291 577169333 "aluOp.vh" -T 3738 47972485 1650399379 228051294 1650399379 228051294 "obj_dir/Valu.cpp" -T 2663 47972468 1650399379 228051294 1650399379 228051294 "obj_dir/Valu.h" -T 1808 47972982 1650399379 228051294 1650399379 228051294 "obj_dir/Valu.mk" -T 735 47972353 1650399379 228051294 1650399379 228051294 "obj_dir/Valu__Syms.cpp" -T 1073 47972356 1650399379 228051294 1650399379 228051294 "obj_dir/Valu__Syms.h" -T 1816 47972973 1650399379 228051294 1650399379 228051294 "obj_dir/Valu__Trace__0.cpp" -T 3410 47972972 1650399379 228051294 1650399379 228051294 "obj_dir/Valu__Trace__0__Slow.cpp" -T 765 47972494 1650399379 228051294 1650399379 228051294 "obj_dir/Valu___024root.h" -T 6435 47972971 1650399379 228051294 1650399379 228051294 "obj_dir/Valu___024root__DepSet_ha59b247d__0.cpp" -T 1597 47972817 1650399379 228051294 1650399379 228051294 "obj_dir/Valu___024root__DepSet_ha59b247d__0__Slow.cpp" -T 630 47972816 1650399379 228051294 1650399379 228051294 "obj_dir/Valu___024root__Slow.cpp" -T 421 47972983 1650399379 228051294 1650399379 228051294 "obj_dir/Valu__ver.d" -T 0 0 1650399379 228051294 1650399379 228051294 "obj_dir/Valu__verFiles.dat" -T 1735 47972979 1650399379 228051294 1650399379 228051294 "obj_dir/Valu_classes.mk" diff --git a/verilog/alu/obj_dir/Valu_classes.mk b/verilog/alu/obj_dir/Valu_classes.mk deleted file mode 100644 index ba99411..0000000 --- a/verilog/alu/obj_dir/Valu_classes.mk +++ /dev/null @@ -1,54 +0,0 @@ -# Verilated -*- Makefile -*- -# DESCRIPTION: Verilator output: Make include file with class lists -# -# This file lists generated Verilated files, for including in higher level makefiles. -# See Valu.mk for the caller. - -### Switches... -# C11 constructs required? 0/1 (always on now) -VM_C11 = 1 -# Coverage output mode? 0/1 (from --coverage) -VM_COVERAGE = 0 -# Parallel builds? 0/1 (from --output-split) -VM_PARALLEL_BUILDS = 0 -# Threaded output mode? 0/1/N threads (from --threads) -VM_THREADS = 0 -# Tracing output mode? 0/1 (from --trace/--trace-fst) -VM_TRACE = 1 -# Tracing output mode in FST format? 0/1 (from --trace-fst) -VM_TRACE_FST = 0 -# Tracing threaded output mode? 0/1/N threads (from --trace-thread) -VM_TRACE_THREADS = 0 -# Separate FST writer thread? 0/1 (from --trace-fst with --trace-thread > 0) -VM_TRACE_FST_WRITER_THREAD = 0 - -### Object file lists... -# Generated module classes, fast-path, compile with highest optimization -VM_CLASSES_FAST += \ - Valu \ - Valu___024root__DepSet_ha59b247d__0 \ - -# Generated module classes, non-fast-path, compile with low/medium optimization -VM_CLASSES_SLOW += \ - Valu___024root__Slow \ - Valu___024root__DepSet_ha59b247d__0__Slow \ - -# Generated support classes, fast-path, compile with highest optimization -VM_SUPPORT_FAST += \ - Valu__Trace__0 \ - -# Generated support classes, non-fast-path, compile with low/medium optimization -VM_SUPPORT_SLOW += \ - Valu__Syms \ - Valu__Trace__0__Slow \ - -# Global classes, need linked once per executable, fast-path, compile with highest optimization -VM_GLOBAL_FAST += \ - verilated \ - verilated_vcd_c \ - -# Global classes, need linked once per executable, non-fast-path, compile with low/medium optimization -VM_GLOBAL_SLOW += \ - - -# Verilated -*- Makefile -*- diff --git a/verilog/alu/obj_dir/tbalu.d b/verilog/alu/obj_dir/tbalu.d deleted file mode 100644 index 4964d6f..0000000 --- a/verilog/alu/obj_dir/tbalu.d +++ /dev/null @@ -1,9 +0,0 @@ -tbalu.o: ../tbalu.cpp /usr/share/verilator/include/verilated.h \ - /usr/share/verilator/include/verilatedos.h \ - /usr/share/verilator/include/verilated_config.h \ - /usr/share/verilator/include/verilated_types.h \ - /usr/share/verilator/include/verilated_funcs.h \ - /usr/share/verilator/include/verilated_vcd_c.h \ - /usr/share/verilator/include/verilated.h \ - /usr/share/verilator/include/verilated_trace.h \ - /usr/share/verilator/include/verilated_trace_defs.h Valu.h ../aluOp.h diff --git a/verilog/alu/obj_dir/tbalu.o b/verilog/alu/obj_dir/tbalu.o Binary files differdeleted file mode 100644 index 1612e2b..0000000 --- a/verilog/alu/obj_dir/tbalu.o +++ /dev/null diff --git a/verilog/alu/obj_dir/verilated.d b/verilog/alu/obj_dir/verilated.d deleted file mode 100644 index 7f4c5e4..0000000 --- a/verilog/alu/obj_dir/verilated.d +++ /dev/null @@ -1,9 +0,0 @@ -verilated.o: /usr/share/verilator/include/verilated.cpp \ - /usr/share/verilator/include/verilatedos.h \ - /usr/share/verilator/include/verilated_imp.h \ - /usr/share/verilator/include/verilated.h \ - /usr/share/verilator/include/verilated_config.h \ - /usr/share/verilator/include/verilated_types.h \ - /usr/share/verilator/include/verilated_funcs.h \ - /usr/share/verilator/include/verilated_syms.h \ - /usr/share/verilator/include/verilated_sym_props.h diff --git a/verilog/alu/obj_dir/verilated.o b/verilog/alu/obj_dir/verilated.o Binary files differdeleted file mode 100644 index a226a8b..0000000 --- a/verilog/alu/obj_dir/verilated.o +++ /dev/null diff --git a/verilog/alu/obj_dir/verilated_vcd_c.d b/verilog/alu/obj_dir/verilated_vcd_c.d deleted file mode 100644 index 667485f..0000000 --- a/verilog/alu/obj_dir/verilated_vcd_c.d +++ /dev/null @@ -1,11 +0,0 @@ -verilated_vcd_c.o: /usr/share/verilator/include/verilated_vcd_c.cpp \ - /usr/share/verilator/include/verilatedos.h \ - /usr/share/verilator/include/verilated.h \ - /usr/share/verilator/include/verilated_config.h \ - /usr/share/verilator/include/verilated_types.h \ - /usr/share/verilator/include/verilated_funcs.h \ - /usr/share/verilator/include/verilated_vcd_c.h \ - /usr/share/verilator/include/verilated_trace.h \ - /usr/share/verilator/include/verilated_trace_defs.h \ - /usr/share/verilator/include/verilated_trace_imp.cpp \ - /usr/share/verilator/include/verilated_intrinsics.h diff --git a/verilog/alu/obj_dir/verilated_vcd_c.o b/verilog/alu/obj_dir/verilated_vcd_c.o Binary files differdeleted file mode 100644 index 469c75e..0000000 --- a/verilog/alu/obj_dir/verilated_vcd_c.o +++ /dev/null diff --git a/verilog/alu/v6/obj_dir/Valu6 b/verilog/alu/v6/obj_dir/Valu6 Binary files differindex 1614e40..9c3d7d9 100755 --- a/verilog/alu/v6/obj_dir/Valu6 +++ b/verilog/alu/v6/obj_dir/Valu6 diff --git a/verilog/alu/v6/obj_dir/Valu6.cpp b/verilog/alu/v6/obj_dir/Valu6.cpp index 2e02259..75840d5 100644 --- a/verilog/alu/v6/obj_dir/Valu6.cpp +++ b/verilog/alu/v6/obj_dir/Valu6.cpp @@ -1,207 +1,118 @@ // Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Valu6.h for the primary calling header +// DESCRIPTION: Verilator output: Model implementation (design independent parts) #include "Valu6.h" #include "Valu6__Syms.h" +#include "verilated_vcd_c.h" -//========== +//============================================================ +// Constructors + +Valu6::Valu6(VerilatedContext* _vcontextp__, const char* _vcname__) + : vlSymsp{new Valu6__Syms(_vcontextp__, _vcname__, this)} + , alu_op_i{vlSymsp->TOP.alu_op_i} + , alu_in_1{vlSymsp->TOP.alu_in_1} + , alu_in_2{vlSymsp->TOP.alu_in_2} + , alu_output{vlSymsp->TOP.alu_output} + , rootp{&(vlSymsp->TOP)} +{ +} + +Valu6::Valu6(const char* _vcname__) + : Valu6(nullptr, _vcname__) +{ +} + +//============================================================ +// Destructor + +Valu6::~Valu6() { + delete vlSymsp; +} + +//============================================================ +// Evaluation loop + +void Valu6___024root___eval_initial(Valu6___024root* vlSelf); +void Valu6___024root___eval_settle(Valu6___024root* vlSelf); +void Valu6___024root___eval(Valu6___024root* vlSelf); +#ifdef VL_DEBUG +void Valu6___024root___eval_debug_assertions(Valu6___024root* vlSelf); +#endif // VL_DEBUG +void Valu6___024root___final(Valu6___024root* vlSelf); + +static void _eval_initial_loop(Valu6__Syms* __restrict vlSymsp) { + vlSymsp->__Vm_didInit = true; + Valu6___024root___eval_initial(&(vlSymsp->TOP)); + // Evaluate till stable + vlSymsp->__Vm_activity = true; + do { + VL_DEBUG_IF(VL_DBG_MSGF("+ Initial loop\n");); + Valu6___024root___eval_settle(&(vlSymsp->TOP)); + Valu6___024root___eval(&(vlSymsp->TOP)); + } while (0); +} void Valu6::eval_step() { - VL_DEBUG_IF(VL_DBG_MSGF("+++++TOP Evaluate Valu6::eval\n"); ); - Valu6__Syms* __restrict vlSymsp = this->__VlSymsp; // Setup global symbol table - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + VL_DEBUG_IF(VL_DBG_MSGF("+++++TOP Evaluate Valu6::eval_step\n"); ); #ifdef VL_DEBUG // Debug assertions - _eval_debug_assertions(); + Valu6___024root___eval_debug_assertions(&(vlSymsp->TOP)); #endif // VL_DEBUG // Initialize if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) _eval_initial_loop(vlSymsp); // Evaluate till stable - int __VclockLoop = 0; - QData __Vchange = 1; + vlSymsp->__Vm_activity = true; do { VL_DEBUG_IF(VL_DBG_MSGF("+ Clock loop\n");); - vlSymsp->__Vm_activity = true; - _eval(vlSymsp); - if (VL_UNLIKELY(++__VclockLoop > 100)) { - // About to fail, so enable debug to see what's not settling. - // Note you must run make with OPT=-DVL_DEBUG for debug prints. - int __Vsaved_debug = Verilated::debug(); - Verilated::debug(1); - __Vchange = _change_request(vlSymsp); - Verilated::debug(__Vsaved_debug); - VL_FATAL_MT("alu6.v", 6, "", - "Verilated model didn't converge\n" - "- See DIDNOTCONVERGE in the Verilator manual"); - } else { - __Vchange = _change_request(vlSymsp); - } - } while (VL_UNLIKELY(__Vchange)); + Valu6___024root___eval(&(vlSymsp->TOP)); + } while (0); + // Evaluate cleanup } -void Valu6::_eval_initial_loop(Valu6__Syms* __restrict vlSymsp) { - vlSymsp->__Vm_didInit = true; - _eval_initial(vlSymsp); - vlSymsp->__Vm_activity = true; - // Evaluate till stable - int __VclockLoop = 0; - QData __Vchange = 1; - do { - _eval_settle(vlSymsp); - _eval(vlSymsp); - if (VL_UNLIKELY(++__VclockLoop > 100)) { - // About to fail, so enable debug to see what's not settling. - // Note you must run make with OPT=-DVL_DEBUG for debug prints. - int __Vsaved_debug = Verilated::debug(); - Verilated::debug(1); - __Vchange = _change_request(vlSymsp); - Verilated::debug(__Vsaved_debug); - VL_FATAL_MT("alu6.v", 6, "", - "Verilated model didn't DC converge\n" - "- See DIDNOTCONVERGE in the Verilator manual"); - } else { - __Vchange = _change_request(vlSymsp); - } - } while (VL_UNLIKELY(__Vchange)); -} +//============================================================ +// Utilities -VL_INLINE_OPT void Valu6::_combo__TOP__1(Valu6__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6::_combo__TOP__1\n"); ); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Body - vlTOPp->alu6__DOT__sum = (vlTOPp->alu_in_1 + ((1U - & (((IData)(vlTOPp->alu_op_i) - >> 3U) - | (((IData)(vlTOPp->alu_op_i) - >> 1U) - & (~ (IData)(vlTOPp->alu_op_i))))) - ? - ((IData)(1U) - + - (~ vlTOPp->alu_in_2)) - : vlTOPp->alu_in_2)); - vlTOPp->alu_output = ((0U == (7U & (IData)(vlTOPp->alu_op_i))) - ? vlTOPp->alu6__DOT__sum - : ((4U == (7U & (IData)(vlTOPp->alu_op_i))) - ? (vlTOPp->alu_in_1 - ^ vlTOPp->alu_in_2) - : ((6U == (7U & (IData)(vlTOPp->alu_op_i))) - ? (vlTOPp->alu_in_1 - | vlTOPp->alu_in_2) - : ((7U == (7U & (IData)(vlTOPp->alu_op_i))) - ? (vlTOPp->alu_in_1 - & vlTOPp->alu_in_2) - : ((1U == (7U - & (IData)(vlTOPp->alu_op_i))) - ? ((0x40U - & vlTOPp->alu_in_2) - ? 0U - : ((0x1fU - >= - (0x3fU - & vlTOPp->alu_in_2)) - ? - (vlTOPp->alu_in_1 - << - (0x3fU - & vlTOPp->alu_in_2)) - : 0U)) - : ((5U == - (7U - & (IData)(vlTOPp->alu_op_i))) - ? (( - (0x1fU - >= - (0x3fU - & vlTOPp->alu_in_2)) - ? - (vlTOPp->alu_in_1 - >> - (0x3fU - & vlTOPp->alu_in_2)) - : 0U) - | ((8U - & (IData)(vlTOPp->alu_op_i)) - ? - ((IData)(0xffffffffU) - << - ((0x80000000U - & vlTOPp->alu_in_2) - ? 0U - : - ((0x10U - & ((~ - (vlTOPp->alu_in_2 - >> 4U)) - << 4U)) - | ((8U - & ((~ - (vlTOPp->alu_in_2 - >> 3U)) - << 3U)) - | ((4U - & ((~ - (vlTOPp->alu_in_2 - >> 2U)) - << 2U)) - | ((2U - & ((~ - (vlTOPp->alu_in_2 - >> 1U)) - << 1U)) - | (1U - & (~ vlTOPp->alu_in_2)))))))) - : 0U)) - : ((2U - == - (7U - & (IData)(vlTOPp->alu_op_i))) - ? - (1U - & (vlTOPp->alu6__DOT__sum - >> 0x1fU)) - : - ((3U - == - (7U - & (IData)(vlTOPp->alu_op_i))) - ? - ((vlTOPp->alu_in_1 - < vlTOPp->alu_in_2) - ? 1U - : 0U) - : 0U)))))))); +VerilatedContext* Valu6::contextp() const { + return vlSymsp->_vm_contextp__; } -void Valu6::_eval(Valu6__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6::_eval\n"); ); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Body - vlTOPp->_combo__TOP__1(vlSymsp); +const char* Valu6::name() const { + return vlSymsp->name(); } -VL_INLINE_OPT QData Valu6::_change_request(Valu6__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6::_change_request\n"); ); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Body - return (vlTOPp->_change_request_1(vlSymsp)); +//============================================================ +// Invoke final blocks + +VL_ATTR_COLD void Valu6::final() { + Valu6___024root___final(&(vlSymsp->TOP)); } -VL_INLINE_OPT QData Valu6::_change_request_1(Valu6__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6::_change_request_1\n"); ); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Body - // Change detection - QData __req = false; // Logically a bool - return __req; +//============================================================ +// Trace configuration + +void Valu6___024root__trace_init_top(Valu6___024root* vlSelf, VerilatedVcd* tracep); + +VL_ATTR_COLD static void trace_init(void* voidSelf, VerilatedVcd* tracep, uint32_t code) { + // Callback from tracep->open() + Valu6___024root* const __restrict vlSelf VL_ATTR_UNUSED = static_cast<Valu6___024root*>(voidSelf); + Valu6__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; + if (!vlSymsp->_vm_contextp__->calcUnusedSigs()) { + VL_FATAL_MT(__FILE__, __LINE__, __FILE__, + "Turning on wave traces requires Verilated::traceEverOn(true) call before time 0."); + } + vlSymsp->__Vm_baseCode = code; + tracep->scopeEscape(' '); + tracep->pushNamePrefix(std::string{vlSymsp->name()} + ' '); + Valu6___024root__trace_init_top(vlSelf, tracep); + tracep->popNamePrefix(); + tracep->scopeEscape('.'); } -#ifdef VL_DEBUG -void Valu6::_eval_debug_assertions() { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6::_eval_debug_assertions\n"); ); - // Body - if (VL_UNLIKELY((alu_op_i & 0xf0U))) { - Verilated::overWidthError("alu_op_i");} +VL_ATTR_COLD void Valu6___024root__trace_register(Valu6___024root* vlSelf, VerilatedVcd* tracep); + +VL_ATTR_COLD void Valu6::trace(VerilatedVcdC* tfp, int levels, int options) { + if (false && levels && options) {} // Prevent unused + tfp->spTrace()->addInitCb(&trace_init, &(vlSymsp->TOP)); + Valu6___024root__trace_register(&(vlSymsp->TOP), tfp->spTrace()); } -#endif // VL_DEBUG diff --git a/verilog/alu/v6/obj_dir/Valu6.h b/verilog/alu/v6/obj_dir/Valu6.h index 9cddec9..b7d0b23 100644 --- a/verilog/alu/v6/obj_dir/Valu6.h +++ b/verilog/alu/v6/obj_dir/Valu6.h @@ -1,59 +1,56 @@ // Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Primary design header +// DESCRIPTION: Verilator output: Primary model header // // This header should be included by all source files instantiating the design. // The class here is then constructed to instantiate the design. // See the Verilator manual for examples. -#ifndef _VALU6_H_ -#define _VALU6_H_ // guard +#ifndef VERILATED_VALU6_H_ +#define VERILATED_VALU6_H_ // guard -#include "verilated_heavy.h" - -//========== +#include "verilated.h" class Valu6__Syms; -class Valu6_VerilatedVcd; - +class Valu6___024root; +class VerilatedVcdC; -//---------- +// This class is the main interface to the Verilated model +class Valu6 VL_NOT_FINAL { + private: + // Symbol table holding complete model state (owned by this class) + Valu6__Syms* const vlSymsp; -VL_MODULE(Valu6) { public: - + // PORTS // The application code writes and reads these signals to // propagate new values into/out from the Verilated model. - VL_IN8(alu_op_i,3,0); - VL_IN(alu_in_1,31,0); - VL_IN(alu_in_2,31,0); - VL_OUT(alu_output,31,0); - - // LOCAL SIGNALS - // Internals; generally not touched by application code - IData/*31:0*/ alu6__DOT__sum; - - // LOCAL VARIABLES - // Internals; generally not touched by application code - CData/*0:0*/ __Vm_traceActivity[1]; - - // INTERNAL VARIABLES - // Internals; generally not touched by application code - Valu6__Syms* __VlSymsp; // Symbol table - + VL_IN8(&alu_op_i,3,0); + VL_IN(&alu_in_1,31,0); + VL_IN(&alu_in_2,31,0); + VL_OUT(&alu_output,31,0); + + // CELLS + // Public to allow access to /* verilator public */ items. + // Otherwise the application code can consider these internals. + + // Root instance pointer to allow access to model internals, + // including inlined /* verilator public_flat_* */ items. + Valu6___024root* const rootp; + // CONSTRUCTORS - private: - VL_UNCOPYABLE(Valu6); ///< Copying not allowed - public: /// Construct the model; called by application code - /// The special name may be used to make a wrapper with a + /// If contextp is null, then the model will use the default global context + /// If name is "", then makes a wrapper with a /// single model invisible with respect to DPI scope names. - Valu6(const char* name = "TOP"); + explicit Valu6(VerilatedContext* contextp, const char* name = "TOP"); + explicit Valu6(const char* name = "TOP"); /// Destroy the model; called (often implicitly) by application code - ~Valu6(); - /// Trace signals in the model; called by application code - void trace(VerilatedVcdC* tfp, int levels, int options = 0); - + virtual ~Valu6(); + private: + VL_UNCOPYABLE(Valu6); ///< Copying not allowed + + public: // API METHODS /// Evaluate the model. Application must call when inputs change. void eval() { eval_step(); } @@ -64,39 +61,13 @@ VL_MODULE(Valu6) { void eval_end_step() {} /// Simulation complete, run final blocks. Application must call on completion. void final(); - - // INTERNAL METHODS - static void _eval_initial_loop(Valu6__Syms* __restrict vlSymsp); - void __Vconfigure(Valu6__Syms* symsp, bool first); - private: - static QData _change_request(Valu6__Syms* __restrict vlSymsp); - static QData _change_request_1(Valu6__Syms* __restrict vlSymsp); - public: - static void _combo__TOP__1(Valu6__Syms* __restrict vlSymsp); - private: - void _ctor_var_reset() VL_ATTR_COLD; - public: - static void _eval(Valu6__Syms* __restrict vlSymsp); - private: -#ifdef VL_DEBUG - void _eval_debug_assertions(); -#endif // VL_DEBUG - public: - static void _eval_initial(Valu6__Syms* __restrict vlSymsp) VL_ATTR_COLD; - static void _eval_settle(Valu6__Syms* __restrict vlSymsp) VL_ATTR_COLD; - private: - static void traceChgSub0(void* userp, VerilatedVcd* tracep); - static void traceChgTop0(void* userp, VerilatedVcd* tracep); - static void traceCleanup(void* userp, VerilatedVcd* /*unused*/); - static void traceFullSub0(void* userp, VerilatedVcd* tracep) VL_ATTR_COLD; - static void traceFullTop0(void* userp, VerilatedVcd* tracep) VL_ATTR_COLD; - static void traceInitSub0(void* userp, VerilatedVcd* tracep) VL_ATTR_COLD; - static void traceInitTop(void* userp, VerilatedVcd* tracep) VL_ATTR_COLD; - void traceRegister(VerilatedVcd* tracep) VL_ATTR_COLD; - static void traceInit(void* userp, VerilatedVcd* tracep, uint32_t code) VL_ATTR_COLD; + /// Trace signals in the model; called by application code + void trace(VerilatedVcdC* tfp, int levels, int options = 0); + /// Return current simulation context for this model. + /// Used to get to e.g. simulation time via contextp()->time() + VerilatedContext* contextp() const; + /// Retrieve name of this model instance (as passed to constructor). + const char* name() const; } VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES); -//---------- - - #endif // guard diff --git a/verilog/alu/v6/obj_dir/Valu6.mk b/verilog/alu/v6/obj_dir/Valu6.mk index d782d11..adf8ed7 100644 --- a/verilog/alu/v6/obj_dir/Valu6.mk +++ b/verilog/alu/v6/obj_dir/Valu6.mk @@ -17,6 +17,8 @@ SYSTEMC_INCLUDE ?= SYSTEMC_LIBDIR ?= ### Switches... +# C++ code coverage 0/1 (from --prof-c) +VM_PROFC = 0 # SystemC output mode? 0/1 (from --sc) VM_SC = 0 # Legacy or SystemC output mode? 0/1 (from --sc) diff --git a/verilog/alu/v6/obj_dir/Valu6__ALL.a b/verilog/alu/v6/obj_dir/Valu6__ALL.a Binary files differindex b05f397..22e235a 100644 --- a/verilog/alu/v6/obj_dir/Valu6__ALL.a +++ b/verilog/alu/v6/obj_dir/Valu6__ALL.a diff --git a/verilog/alu/v6/obj_dir/Valu6__ALL.o b/verilog/alu/v6/obj_dir/Valu6__ALL.o Binary files differindex 93f9ee6..d9eaf6c 100644 --- a/verilog/alu/v6/obj_dir/Valu6__ALL.o +++ b/verilog/alu/v6/obj_dir/Valu6__ALL.o diff --git a/verilog/alu/v6/obj_dir/Valu6__Slow.cpp b/verilog/alu/v6/obj_dir/Valu6__Slow.cpp deleted file mode 100644 index 6cd030d..0000000 --- a/verilog/alu/v6/obj_dir/Valu6__Slow.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Valu6.h for the primary calling header - -#include "Valu6.h" -#include "Valu6__Syms.h" - -//========== - -VL_CTOR_IMP(Valu6) { - Valu6__Syms* __restrict vlSymsp = __VlSymsp = new Valu6__Syms(this, name()); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Reset internal values - - // Reset structure values - _ctor_var_reset(); -} - -void Valu6::__Vconfigure(Valu6__Syms* vlSymsp, bool first) { - if (false && first) {} // Prevent unused - this->__VlSymsp = vlSymsp; - if (false && this->__VlSymsp) {} // Prevent unused - Verilated::timeunit(-6); - Verilated::timeprecision(-9); -} - -Valu6::~Valu6() { - VL_DO_CLEAR(delete __VlSymsp, __VlSymsp = nullptr); -} - -void Valu6::_eval_initial(Valu6__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6::_eval_initial\n"); ); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; -} - -void Valu6::final() { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6::final\n"); ); - // Variables - Valu6__Syms* __restrict vlSymsp = this->__VlSymsp; - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; -} - -void Valu6::_eval_settle(Valu6__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6::_eval_settle\n"); ); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Body - vlTOPp->_combo__TOP__1(vlSymsp); -} - -void Valu6::_ctor_var_reset() { - VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6::_ctor_var_reset\n"); ); - // Body - alu_in_1 = VL_RAND_RESET_I(32); - alu_in_2 = VL_RAND_RESET_I(32); - alu_op_i = VL_RAND_RESET_I(4); - alu_output = VL_RAND_RESET_I(32); - alu6__DOT__sum = VL_RAND_RESET_I(32); - for (int __Vi0=0; __Vi0<1; ++__Vi0) { - __Vm_traceActivity[__Vi0] = VL_RAND_RESET_I(1); - } -} diff --git a/verilog/alu/v6/obj_dir/Valu6__Syms.cpp b/verilog/alu/v6/obj_dir/Valu6__Syms.cpp index c9b82af..fe8a162 100644 --- a/verilog/alu/v6/obj_dir/Valu6__Syms.cpp +++ b/verilog/alu/v6/obj_dir/Valu6__Syms.cpp @@ -3,25 +3,24 @@ #include "Valu6__Syms.h" #include "Valu6.h" - - +#include "Valu6___024root.h" // FUNCTIONS Valu6__Syms::~Valu6__Syms() { } -Valu6__Syms::Valu6__Syms(Valu6* topp, const char* namep) - // Setup locals - : __Vm_namep(namep) - , __Vm_activity(false) - , __Vm_baseCode(0) - , __Vm_didInit(false) - // Setup submodule names +Valu6__Syms::Valu6__Syms(VerilatedContext* contextp, const char* namep,Valu6* modelp) + : VerilatedSyms{contextp} + // Setup internal state of the Syms class + , __Vm_modelp{modelp} + // Setup module instances + , TOP{this, namep} { - // Pointer to top level - TOPp = topp; + // Configure time unit / time precision + _vm_contextp__->timeunit(-6); + _vm_contextp__->timeprecision(-9); // Setup each module's pointers to their submodules // Setup each module's pointer back to symbol table (for public functions) - TOPp->__Vconfigure(this, true); + TOP.__Vconfigure(true); } diff --git a/verilog/alu/v6/obj_dir/Valu6__Syms.h b/verilog/alu/v6/obj_dir/Valu6__Syms.h index dcbc3c1..7c4690b 100644 --- a/verilog/alu/v6/obj_dir/Valu6__Syms.h +++ b/verilog/alu/v6/obj_dir/Valu6__Syms.h @@ -4,34 +4,36 @@ // Internal details; most calling programs do not need this header, // unless using verilator public meta comments. -#ifndef _VALU6__SYMS_H_ -#define _VALU6__SYMS_H_ // guard +#ifndef VERILATED_VALU6__SYMS_H_ +#define VERILATED_VALU6__SYMS_H_ // guard -#include "verilated_heavy.h" +#include "verilated.h" + +// INCLUDE MODEL CLASS -// INCLUDE MODULE CLASSES #include "Valu6.h" -// SYMS CLASS -class Valu6__Syms : public VerilatedSyms { +// INCLUDE MODULE CLASSES +#include "Valu6___024root.h" + +// SYMS CLASS (contains all model state) +class Valu6__Syms final : public VerilatedSyms { public: - - // LOCAL STATE - const char* __Vm_namep; - bool __Vm_activity; ///< Used by trace routines to determine change occurred - uint32_t __Vm_baseCode; ///< Used by trace routines when tracing multiple models - bool __Vm_didInit; - - // SUBCELL STATE - Valu6* TOPp; - - // CREATORS - Valu6__Syms(Valu6* topp, const char* namep); + // INTERNAL STATE + Valu6* const __Vm_modelp; + bool __Vm_activity = false; ///< Used by trace routines to determine change occurred + uint32_t __Vm_baseCode = 0; ///< Used by trace routines when tracing multiple models + bool __Vm_didInit = false; + + // MODULE INSTANCE STATE + Valu6___024root TOP; + + // CONSTRUCTORS + Valu6__Syms(VerilatedContext* contextp, const char* namep, Valu6* modelp); ~Valu6__Syms(); - + // METHODS - inline const char* name() { return __Vm_namep; } - + const char* name() { return TOP.name(); } } VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES); #endif // guard diff --git a/verilog/alu/v6/obj_dir/Valu6__Trace.cpp b/verilog/alu/v6/obj_dir/Valu6__Trace.cpp deleted file mode 100644 index e2e3658..0000000 --- a/verilog/alu/v6/obj_dir/Valu6__Trace.cpp +++ /dev/null @@ -1,76 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Tracing implementation internals -#include "verilated_vcd_c.h" -#include "Valu6__Syms.h" - - -void Valu6::traceChgTop0(void* userp, VerilatedVcd* tracep) { - Valu6__Syms* __restrict vlSymsp = static_cast<Valu6__Syms*>(userp); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Variables - if (VL_UNLIKELY(!vlSymsp->__Vm_activity)) return; - // Body - { - vlTOPp->traceChgSub0(userp, tracep); - } -} - -void Valu6::traceChgSub0(void* userp, VerilatedVcd* tracep) { - Valu6__Syms* __restrict vlSymsp = static_cast<Valu6__Syms*>(userp); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - vluint32_t* const oldp = tracep->oldp(vlSymsp->__Vm_baseCode + 1); - if (false && oldp) {} // Prevent unused - // Body - { - tracep->chgIData(oldp+0,(vlTOPp->alu_in_1),32); - tracep->chgIData(oldp+1,(vlTOPp->alu_in_2),32); - tracep->chgCData(oldp+2,(vlTOPp->alu_op_i),4); - tracep->chgIData(oldp+3,(vlTOPp->alu_output),32); - tracep->chgIData(oldp+4,(((IData)(1U) + (~ vlTOPp->alu_in_2))),32); - tracep->chgIData(oldp+5,(vlTOPp->alu6__DOT__sum),32); - tracep->chgIData(oldp+6,((((0x1fU >= (0x3fU - & vlTOPp->alu_in_2)) - ? (vlTOPp->alu_in_1 - >> (0x3fU & vlTOPp->alu_in_2)) - : 0U) | ((8U & (IData)(vlTOPp->alu_op_i)) - ? ((IData)(0xffffffffU) - << - ((0x80000000U - & vlTOPp->alu_in_2) - ? 0U - : - ((0x10U - & ((~ - (vlTOPp->alu_in_2 - >> 4U)) - << 4U)) - | ((8U - & ((~ - (vlTOPp->alu_in_2 - >> 3U)) - << 3U)) - | ((4U - & ((~ - (vlTOPp->alu_in_2 - >> 2U)) - << 2U)) - | ((2U - & ((~ - (vlTOPp->alu_in_2 - >> 1U)) - << 1U)) - | (1U - & (~ vlTOPp->alu_in_2)))))))) - : 0U))),32); - } -} - -void Valu6::traceCleanup(void* userp, VerilatedVcd* /*unused*/) { - Valu6__Syms* __restrict vlSymsp = static_cast<Valu6__Syms*>(userp); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Body - { - vlSymsp->__Vm_activity = false; - vlTOPp->__Vm_traceActivity[0U] = 0U; - } -} diff --git a/verilog/alu/v6/obj_dir/Valu6__Trace__0.cpp b/verilog/alu/v6/obj_dir/Valu6__Trace__0.cpp index b2933ac..71768c8 100644 --- a/verilog/alu/v6/obj_dir/Valu6__Trace__0.cpp +++ b/verilog/alu/v6/obj_dir/Valu6__Trace__0.cpp @@ -21,17 +21,15 @@ void Valu6___024root__trace_chg_sub_0(Valu6___024root* vlSelf, VerilatedVcd* tra Valu6__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6___024root__trace_chg_sub_0\n"); ); // Init - vluint32_t* const oldp VL_ATTR_UNUSED = tracep->oldp(vlSymsp->__Vm_baseCode + 1); + uint32_t* const oldp VL_ATTR_UNUSED = tracep->oldp(vlSymsp->__Vm_baseCode + 1); // Body tracep->chgIData(oldp+0,(vlSelf->alu_in_1),32); tracep->chgIData(oldp+1,(vlSelf->alu_in_2),32); tracep->chgCData(oldp+2,(vlSelf->alu_op_i),4); tracep->chgIData(oldp+3,(vlSelf->alu_output),32); - tracep->chgIData(oldp+4,(vlSelf->debugsum),32); - tracep->chgCData(oldp+5,(vlSelf->debugop),4); - tracep->chgIData(oldp+6,(((IData)(1U) + (~ vlSelf->alu_in_2))),32); - tracep->chgIData(oldp+7,(vlSelf->alu6__DOT__sum),32); - tracep->chgIData(oldp+8,((((0x1fU >= (0x3fU & vlSelf->alu_in_2)) + tracep->chgIData(oldp+4,(((IData)(1U) + (~ vlSelf->alu_in_2))),32); + tracep->chgIData(oldp+5,(vlSelf->alu6__DOT__sum),32); + tracep->chgIData(oldp+6,((((0x1fU >= (0x3fU & vlSelf->alu_in_2)) ? (vlSelf->alu_in_1 >> (0x3fU & vlSelf->alu_in_2)) : 0U) | ((8U & (IData)(vlSelf->alu_op_i)) diff --git a/verilog/alu/v6/obj_dir/Valu6__Trace__0__Slow.cpp b/verilog/alu/v6/obj_dir/Valu6__Trace__0__Slow.cpp index 83ce895..e16a25e 100644 --- a/verilog/alu/v6/obj_dir/Valu6__Trace__0__Slow.cpp +++ b/verilog/alu/v6/obj_dir/Valu6__Trace__0__Slow.cpp @@ -15,18 +15,14 @@ VL_ATTR_COLD void Valu6___024root__trace_init_sub__TOP__0(Valu6___024root* vlSel tracep->declBus(c+2,"alu_in_2", false,-1, 31,0); tracep->declBus(c+3,"alu_op_i", false,-1, 3,0); tracep->declBus(c+4,"alu_output", false,-1, 31,0); - tracep->declBus(c+5,"debugsum", false,-1, 31,0); - tracep->declBus(c+6,"debugop", false,-1, 3,0); tracep->pushNamePrefix("alu6 "); tracep->declBus(c+1,"alu_in_1", false,-1, 31,0); tracep->declBus(c+2,"alu_in_2", false,-1, 31,0); tracep->declBus(c+3,"alu_op_i", false,-1, 3,0); tracep->declBus(c+4,"alu_output", false,-1, 31,0); - tracep->declBus(c+5,"debugsum", false,-1, 31,0); - tracep->declBus(c+6,"debugop", false,-1, 3,0); - tracep->declBus(c+7,"complement2", false,-1, 31,0); - tracep->declBus(c+8,"sum", false,-1, 31,0); - tracep->declBus(c+9,"right", false,-1, 31,0); + tracep->declBus(c+5,"complement2", false,-1, 31,0); + tracep->declBus(c+6,"sum", false,-1, 31,0); + tracep->declBus(c+7,"right", false,-1, 31,0); tracep->popNamePrefix(1); } @@ -68,17 +64,15 @@ VL_ATTR_COLD void Valu6___024root__trace_full_sub_0(Valu6___024root* vlSelf, Ver Valu6__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6___024root__trace_full_sub_0\n"); ); // Init - vluint32_t* const oldp VL_ATTR_UNUSED = tracep->oldp(vlSymsp->__Vm_baseCode); + uint32_t* const oldp VL_ATTR_UNUSED = tracep->oldp(vlSymsp->__Vm_baseCode); // Body tracep->fullIData(oldp+1,(vlSelf->alu_in_1),32); tracep->fullIData(oldp+2,(vlSelf->alu_in_2),32); tracep->fullCData(oldp+3,(vlSelf->alu_op_i),4); tracep->fullIData(oldp+4,(vlSelf->alu_output),32); - tracep->fullIData(oldp+5,(vlSelf->debugsum),32); - tracep->fullCData(oldp+6,(vlSelf->debugop),4); - tracep->fullIData(oldp+7,(((IData)(1U) + (~ vlSelf->alu_in_2))),32); - tracep->fullIData(oldp+8,(vlSelf->alu6__DOT__sum),32); - tracep->fullIData(oldp+9,((((0x1fU >= (0x3fU & vlSelf->alu_in_2)) + tracep->fullIData(oldp+5,(((IData)(1U) + (~ vlSelf->alu_in_2))),32); + tracep->fullIData(oldp+6,(vlSelf->alu6__DOT__sum),32); + tracep->fullIData(oldp+7,((((0x1fU >= (0x3fU & vlSelf->alu_in_2)) ? (vlSelf->alu_in_1 >> (0x3fU & vlSelf->alu_in_2)) : 0U) | ((8U & (IData)(vlSelf->alu_op_i)) diff --git a/verilog/alu/v6/obj_dir/Valu6__Trace__Slow.cpp b/verilog/alu/v6/obj_dir/Valu6__Trace__Slow.cpp deleted file mode 100644 index 89bdf46..0000000 --- a/verilog/alu/v6/obj_dir/Valu6__Trace__Slow.cpp +++ /dev/null @@ -1,127 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Tracing implementation internals -#include "verilated_vcd_c.h" -#include "Valu6__Syms.h" - - -//====================== - -void Valu6::trace(VerilatedVcdC* tfp, int, int) { - tfp->spTrace()->addInitCb(&traceInit, __VlSymsp); - traceRegister(tfp->spTrace()); -} - -void Valu6::traceInit(void* userp, VerilatedVcd* tracep, uint32_t code) { - // Callback from tracep->open() - Valu6__Syms* __restrict vlSymsp = static_cast<Valu6__Syms*>(userp); - if (!Verilated::calcUnusedSigs()) { - VL_FATAL_MT(__FILE__, __LINE__, __FILE__, - "Turning on wave traces requires Verilated::traceEverOn(true) call before time 0."); - } - vlSymsp->__Vm_baseCode = code; - tracep->module(vlSymsp->name()); - tracep->scopeEscape(' '); - Valu6::traceInitTop(vlSymsp, tracep); - tracep->scopeEscape('.'); -} - -//====================== - - -void Valu6::traceInitTop(void* userp, VerilatedVcd* tracep) { - Valu6__Syms* __restrict vlSymsp = static_cast<Valu6__Syms*>(userp); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Body - { - vlTOPp->traceInitSub0(userp, tracep); - } -} - -void Valu6::traceInitSub0(void* userp, VerilatedVcd* tracep) { - Valu6__Syms* __restrict vlSymsp = static_cast<Valu6__Syms*>(userp); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - const int c = vlSymsp->__Vm_baseCode; - if (false && tracep && c) {} // Prevent unused - // Body - { - tracep->declBus(c+1,"alu_in_1", false,-1, 31,0); - tracep->declBus(c+2,"alu_in_2", false,-1, 31,0); - tracep->declBus(c+3,"alu_op_i", false,-1, 3,0); - tracep->declBus(c+4,"alu_output", false,-1, 31,0); - tracep->declBus(c+1,"alu6 alu_in_1", false,-1, 31,0); - tracep->declBus(c+2,"alu6 alu_in_2", false,-1, 31,0); - tracep->declBus(c+3,"alu6 alu_op_i", false,-1, 3,0); - tracep->declBus(c+4,"alu6 alu_output", false,-1, 31,0); - tracep->declBus(c+5,"alu6 complement2", false,-1, 31,0); - tracep->declBus(c+6,"alu6 sum", false,-1, 31,0); - tracep->declBus(c+7,"alu6 right", false,-1, 31,0); - } -} - -void Valu6::traceRegister(VerilatedVcd* tracep) { - // Body - { - tracep->addFullCb(&traceFullTop0, __VlSymsp); - tracep->addChgCb(&traceChgTop0, __VlSymsp); - tracep->addCleanupCb(&traceCleanup, __VlSymsp); - } -} - -void Valu6::traceFullTop0(void* userp, VerilatedVcd* tracep) { - Valu6__Syms* __restrict vlSymsp = static_cast<Valu6__Syms*>(userp); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Body - { - vlTOPp->traceFullSub0(userp, tracep); - } -} - -void Valu6::traceFullSub0(void* userp, VerilatedVcd* tracep) { - Valu6__Syms* __restrict vlSymsp = static_cast<Valu6__Syms*>(userp); - Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - vluint32_t* const oldp = tracep->oldp(vlSymsp->__Vm_baseCode); - if (false && oldp) {} // Prevent unused - // Body - { - tracep->fullIData(oldp+1,(vlTOPp->alu_in_1),32); - tracep->fullIData(oldp+2,(vlTOPp->alu_in_2),32); - tracep->fullCData(oldp+3,(vlTOPp->alu_op_i),4); - tracep->fullIData(oldp+4,(vlTOPp->alu_output),32); - tracep->fullIData(oldp+5,(((IData)(1U) + (~ vlTOPp->alu_in_2))),32); - tracep->fullIData(oldp+6,(vlTOPp->alu6__DOT__sum),32); - tracep->fullIData(oldp+7,((((0x1fU >= (0x3fU - & vlTOPp->alu_in_2)) - ? (vlTOPp->alu_in_1 - >> (0x3fU & vlTOPp->alu_in_2)) - : 0U) | ((8U & (IData)(vlTOPp->alu_op_i)) - ? ((IData)(0xffffffffU) - << - ((0x80000000U - & vlTOPp->alu_in_2) - ? 0U - : - ((0x10U - & ((~ - (vlTOPp->alu_in_2 - >> 4U)) - << 4U)) - | ((8U - & ((~ - (vlTOPp->alu_in_2 - >> 3U)) - << 3U)) - | ((4U - & ((~ - (vlTOPp->alu_in_2 - >> 2U)) - << 2U)) - | ((2U - & ((~ - (vlTOPp->alu_in_2 - >> 1U)) - << 1U)) - | (1U - & (~ vlTOPp->alu_in_2)))))))) - : 0U))),32); - } -} diff --git a/verilog/alu/v6/obj_dir/Valu6___024root.h b/verilog/alu/v6/obj_dir/Valu6___024root.h index f568bf9..968e6b6 100644 --- a/verilog/alu/v6/obj_dir/Valu6___024root.h +++ b/verilog/alu/v6/obj_dir/Valu6___024root.h @@ -13,23 +13,21 @@ VL_MODULE(Valu6___024root) { // DESIGN SPECIFIC STATE VL_IN8(alu_op_i,3,0); - VL_OUT8(debugop,3,0); VL_IN(alu_in_1,31,0); VL_IN(alu_in_2,31,0); VL_OUT(alu_output,31,0); - VL_OUT(debugsum,31,0); IData/*31:0*/ alu6__DOT__sum; // INTERNAL VARIABLES - Valu6__Syms* vlSymsp; // Symbol table + Valu6__Syms* const vlSymsp; // CONSTRUCTORS - Valu6___024root(const char* name); + Valu6___024root(Valu6__Syms* symsp, const char* name); ~Valu6___024root(); VL_UNCOPYABLE(Valu6___024root); // INTERNAL METHODS - void __Vconfigure(Valu6__Syms* symsp, bool first); + void __Vconfigure(bool first); } VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES); diff --git a/verilog/alu/v6/obj_dir/Valu6___024root__DepSet_he7565067__0.cpp b/verilog/alu/v6/obj_dir/Valu6___024root__DepSet_he7565067__0.cpp index afd43c4..4a9f08e 100644 --- a/verilog/alu/v6/obj_dir/Valu6___024root__DepSet_he7565067__0.cpp +++ b/verilog/alu/v6/obj_dir/Valu6___024root__DepSet_he7565067__0.cpp @@ -11,7 +11,6 @@ VL_INLINE_OPT void Valu6___024root___combo__TOP__0(Valu6___024root* vlSelf) { Valu6__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6___024root___combo__TOP__0\n"); ); // Body - vlSelf->debugop = vlSelf->alu_op_i; vlSelf->alu6__DOT__sum = (vlSelf->alu_in_1 + ((IData)( (((IData)(vlSelf->alu_op_i) >> 3U) @@ -24,7 +23,6 @@ VL_INLINE_OPT void Valu6___024root___combo__TOP__0(Valu6___024root* vlSelf) { + (~ vlSelf->alu_in_2)) : vlSelf->alu_in_2)); - vlSelf->debugsum = vlSelf->alu6__DOT__sum; vlSelf->alu_output = ((0U == (7U & (IData)(vlSelf->alu_op_i))) ? vlSelf->alu6__DOT__sum : ((4U == (7U & (IData)(vlSelf->alu_op_i))) diff --git a/verilog/alu/v6/obj_dir/Valu6___024root__DepSet_he7565067__0__Slow.cpp b/verilog/alu/v6/obj_dir/Valu6___024root__DepSet_he7565067__0__Slow.cpp index 896483f..88991f6 100644 --- a/verilog/alu/v6/obj_dir/Valu6___024root__DepSet_he7565067__0__Slow.cpp +++ b/verilog/alu/v6/obj_dir/Valu6___024root__DepSet_he7565067__0__Slow.cpp @@ -37,7 +37,5 @@ VL_ATTR_COLD void Valu6___024root___ctor_var_reset(Valu6___024root* vlSelf) { vlSelf->alu_in_2 = VL_RAND_RESET_I(32); vlSelf->alu_op_i = VL_RAND_RESET_I(4); vlSelf->alu_output = VL_RAND_RESET_I(32); - vlSelf->debugsum = VL_RAND_RESET_I(32); - vlSelf->debugop = VL_RAND_RESET_I(4); vlSelf->alu6__DOT__sum = VL_RAND_RESET_I(32); } diff --git a/verilog/alu/v6/obj_dir/Valu6___024root__Slow.cpp b/verilog/alu/v6/obj_dir/Valu6___024root__Slow.cpp index 9918041..4167b09 100644 --- a/verilog/alu/v6/obj_dir/Valu6___024root__Slow.cpp +++ b/verilog/alu/v6/obj_dir/Valu6___024root__Slow.cpp @@ -9,16 +9,16 @@ void Valu6___024root___ctor_var_reset(Valu6___024root* vlSelf); -Valu6___024root::Valu6___024root(const char* _vcname__) - : VerilatedModule(_vcname__) +Valu6___024root::Valu6___024root(Valu6__Syms* symsp, const char* name) + : VerilatedModule{name} + , vlSymsp{symsp} { // Reset structure values Valu6___024root___ctor_var_reset(this); } -void Valu6___024root::__Vconfigure(Valu6__Syms* _vlSymsp, bool first) { +void Valu6___024root::__Vconfigure(bool first) { if (false && first) {} // Prevent unused - this->vlSymsp = _vlSymsp; } Valu6___024root::~Valu6___024root() { diff --git a/verilog/alu/v6/obj_dir/Valu6__ver.d b/verilog/alu/v6/obj_dir/Valu6__ver.d index 38bf8e0..6294dcb 100644 --- a/verilog/alu/v6/obj_dir/Valu6__ver.d +++ b/verilog/alu/v6/obj_dir/Valu6__ver.d @@ -1 +1 @@ -obj_dir/Valu6.cpp obj_dir/Valu6.h obj_dir/Valu6.mk obj_dir/Valu6__Slow.cpp obj_dir/Valu6__Syms.cpp obj_dir/Valu6__Syms.h obj_dir/Valu6__Trace.cpp obj_dir/Valu6__Trace__Slow.cpp obj_dir/Valu6__ver.d obj_dir/Valu6_classes.mk : /usr/bin/verilator_bin /usr/bin/verilator_bin alu6.v aluOp.vh +obj_dir/Valu6.cpp obj_dir/Valu6.h obj_dir/Valu6.mk obj_dir/Valu6__Syms.cpp obj_dir/Valu6__Syms.h obj_dir/Valu6__Trace__0.cpp obj_dir/Valu6__Trace__0__Slow.cpp obj_dir/Valu6___024root.h obj_dir/Valu6___024root__DepSet_he7565067__0.cpp obj_dir/Valu6___024root__DepSet_he7565067__0__Slow.cpp obj_dir/Valu6___024root__Slow.cpp obj_dir/Valu6__ver.d obj_dir/Valu6_classes.mk : /usr/bin/verilator_bin /usr/bin/verilator_bin alu6.v aluOp.vh diff --git a/verilog/alu/v6/obj_dir/Valu6__verFiles.dat b/verilog/alu/v6/obj_dir/Valu6__verFiles.dat index 389cc3d..2eb12ee 100644 --- a/verilog/alu/v6/obj_dir/Valu6__verFiles.dat +++ b/verilog/alu/v6/obj_dir/Valu6__verFiles.dat @@ -1,16 +1,19 @@ # DESCRIPTION: Verilator output: Timestamp data for --skip-identical. Delete at will. C "-Wall --cc --exe --build tbalu.cpp alu6.v --trace" -S 7544824 425500 1651977992 501242168 1627086909 0 "/usr/bin/verilator_bin" -S 982 195432 1652382291 705526780 1652382291 704526776 "alu6.v" -S 369 130885 1652206009 461809710 1652206009 461809710 "aluOp.vh" -T 10458 130865 1652382292 927532038 1652382292 927532038 "obj_dir/Valu6.cpp" -T 3600 130864 1652382292 927532038 1652382292 927532038 "obj_dir/Valu6.h" -T 1760 130873 1652382292 927532038 1652382292 927532038 "obj_dir/Valu6.mk" -T 1849 195436 1652382292 927532038 1652382292 927532038 "obj_dir/Valu6__Slow.cpp" -T 617 130862 1652382292 926532034 1652382292 926532034 "obj_dir/Valu6__Syms.cpp" -T 946 130863 1652382292 926532034 1652382292 926532034 "obj_dir/Valu6__Syms.h" -T 3801 195435 1652382292 927532038 1652382292 927532038 "obj_dir/Valu6__Trace.cpp" -T 5706 195434 1652382292 927532038 1652382292 927532038 "obj_dir/Valu6__Trace__Slow.cpp" -T 289 130861 1652382292 927532038 1652382292 927532038 "obj_dir/Valu6__ver.d" -T 0 0 1652382292 927532038 1652382292 927532038 "obj_dir/Valu6__verFiles.dat" -T 1641 130872 1652382292 927532038 1652382292 927532038 "obj_dir/Valu6_classes.mk" +S 8318248 12607448 1652499360 168084664 1652156559 0 "/usr/bin/verilator_bin" +S 982 10642998 1652590884 626885564 1652590884 626885564 "alu6.v" +S 369 10643000 1652590884 626885564 1652590884 626885564 "aluOp.vh" +T 3826 10643007 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6.cpp" +T 2697 10643006 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6.h" +T 1814 10643015 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6.mk" +T 743 10643004 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6__Syms.cpp" +T 1082 10643005 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6__Syms.h" +T 4056 10643013 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6__Trace__0.cpp" +T 5759 10643012 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6__Trace__0__Slow.cpp" +T 785 10643008 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6___024root.h" +T 7924 10643011 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6___024root__DepSet_he7565067__0.cpp" +T 1639 10643010 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6___024root__DepSet_he7565067__0__Slow.cpp" +T 620 10643009 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6___024root__Slow.cpp" +T 435 10643016 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6__ver.d" +T 0 0 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6__verFiles.dat" +T 1743 10643014 1652590925 168103129 1652590925 168103129 "obj_dir/Valu6_classes.mk" diff --git a/verilog/alu/v6/obj_dir/Valu6_classes.mk b/verilog/alu/v6/obj_dir/Valu6_classes.mk index e08ed68..6ef8f77 100644 --- a/verilog/alu/v6/obj_dir/Valu6_classes.mk +++ b/verilog/alu/v6/obj_dir/Valu6_classes.mk @@ -26,19 +26,21 @@ VM_TRACE_FST_WRITER_THREAD = 0 # Generated module classes, fast-path, compile with highest optimization VM_CLASSES_FAST += \ Valu6 \ + Valu6___024root__DepSet_he7565067__0 \ # Generated module classes, non-fast-path, compile with low/medium optimization VM_CLASSES_SLOW += \ - Valu6__Slow \ + Valu6___024root__Slow \ + Valu6___024root__DepSet_he7565067__0__Slow \ # Generated support classes, fast-path, compile with highest optimization VM_SUPPORT_FAST += \ - Valu6__Trace \ + Valu6__Trace__0 \ # Generated support classes, non-fast-path, compile with low/medium optimization VM_SUPPORT_SLOW += \ Valu6__Syms \ - Valu6__Trace__Slow \ + Valu6__Trace__0__Slow \ # Global classes, need linked once per executable, fast-path, compile with highest optimization VM_GLOBAL_FAST += \ diff --git a/verilog/alu/v6/obj_dir/tbalu.o b/verilog/alu/v6/obj_dir/tbalu.o Binary files differindex f612394..16e8370 100644 --- a/verilog/alu/v6/obj_dir/tbalu.o +++ b/verilog/alu/v6/obj_dir/tbalu.o diff --git a/verilog/alu/v6/obj_dir/verilated.o b/verilog/alu/v6/obj_dir/verilated.o Binary files differindex a226a8b..a6100ef 100644 --- a/verilog/alu/v6/obj_dir/verilated.o +++ b/verilog/alu/v6/obj_dir/verilated.o diff --git a/verilog/alu/v6/obj_dir/verilated_vcd_c.o b/verilog/alu/v6/obj_dir/verilated_vcd_c.o Binary files differindex 469c75e..a454467 100644 --- a/verilog/alu/v6/obj_dir/verilated_vcd_c.o +++ b/verilog/alu/v6/obj_dir/verilated_vcd_c.o diff --git a/verilog/alu/v6/out b/verilog/alu/v6/out index 0337062..162c0f0 100644 --- a/verilog/alu/v6/out +++ b/verilog/alu/v6/out @@ -1,1200 +1,400 @@ SRA: -10 >>A -10 = -1 -00000000000000000000000000000000 -1101 SRA: -10 >>A -9 = -1 -11111111111111111111111111111111 -1101 SRA: -10 >>A -8 = -1 -11111111111111111111111111111110 -1101 SRA: -10 >>A -7 = -1 -11111111111111111111111111111101 -1101 SRA: -10 >>A -6 = -1 -11111111111111111111111111111100 -1101 SRA: -10 >>A -5 = -1 -11111111111111111111111111111011 -1101 SRA: -10 >>A -4 = -1 -11111111111111111111111111111010 -1101 SRA: -10 >>A -3 = -1 -11111111111111111111111111111001 -1101 SRA: -10 >>A -2 = -1 -11111111111111111111111111111000 -1101 SRA: -10 >>A -1 = -1 -11111111111111111111111111110111 -1101 SRA: -10 >>A 0 = -10 -11111111111111111111111111110110 -1101 SRA: -10 >>A 1 = -5 -11111111111111111111111111110101 -1101 SRA: -10 >>A 2 = -3 -11111111111111111111111111110100 -1101 SRA: -10 >>A 3 = -2 -11111111111111111111111111110011 -1101 SRA: -10 >>A 4 = -1 -11111111111111111111111111110010 -1101 SRA: -10 >>A 5 = -1 -11111111111111111111111111110001 -1101 SRA: -10 >>A 6 = -1 -11111111111111111111111111110000 -1101 SRA: -10 >>A 7 = -1 -11111111111111111111111111101111 -1101 SRA: -10 >>A 8 = -1 -11111111111111111111111111101110 -1101 SRA: -10 >>A 9 = -1 -11111111111111111111111111101101 -1101 SRA: -9 >>A -10 = -1 -00000000000000000000000000000001 -1101 SRA: -9 >>A -9 = -1 -00000000000000000000000000000000 -1101 SRA: -9 >>A -8 = -1 -11111111111111111111111111111111 -1101 SRA: -9 >>A -7 = -1 -11111111111111111111111111111110 -1101 SRA: -9 >>A -6 = -1 -11111111111111111111111111111101 -1101 SRA: -9 >>A -5 = -1 -11111111111111111111111111111100 -1101 SRA: -9 >>A -4 = -1 -11111111111111111111111111111011 -1101 SRA: -9 >>A -3 = -1 -11111111111111111111111111111010 -1101 SRA: -9 >>A -2 = -1 -11111111111111111111111111111001 -1101 SRA: -9 >>A -1 = -1 -11111111111111111111111111111000 -1101 SRA: -9 >>A 0 = -9 -11111111111111111111111111110111 -1101 SRA: -9 >>A 1 = -5 -11111111111111111111111111110110 -1101 SRA: -9 >>A 2 = -3 -11111111111111111111111111110101 -1101 SRA: -9 >>A 3 = -2 -11111111111111111111111111110100 -1101 SRA: -9 >>A 4 = -1 -11111111111111111111111111110011 -1101 SRA: -9 >>A 5 = -1 -11111111111111111111111111110010 -1101 SRA: -9 >>A 6 = -1 -11111111111111111111111111110001 -1101 SRA: -9 >>A 7 = -1 -11111111111111111111111111110000 -1101 SRA: -9 >>A 8 = -1 -11111111111111111111111111101111 -1101 SRA: -9 >>A 9 = -1 -11111111111111111111111111101110 -1101 SRA: -8 >>A -10 = -1 -00000000000000000000000000000010 -1101 SRA: -8 >>A -9 = -1 -00000000000000000000000000000001 -1101 SRA: -8 >>A -8 = -1 -00000000000000000000000000000000 -1101 SRA: -8 >>A -7 = -1 -11111111111111111111111111111111 -1101 SRA: -8 >>A -6 = -1 -11111111111111111111111111111110 -1101 SRA: -8 >>A -5 = -1 -11111111111111111111111111111101 -1101 SRA: -8 >>A -4 = -1 -11111111111111111111111111111100 -1101 SRA: -8 >>A -3 = -1 -11111111111111111111111111111011 -1101 SRA: -8 >>A -2 = -1 -11111111111111111111111111111010 -1101 SRA: -8 >>A -1 = -1 -11111111111111111111111111111001 -1101 SRA: -8 >>A 0 = -8 -11111111111111111111111111111000 -1101 SRA: -8 >>A 1 = -4 -11111111111111111111111111110111 -1101 SRA: -8 >>A 2 = -2 -11111111111111111111111111110110 -1101 SRA: -8 >>A 3 = -1 -11111111111111111111111111110101 -1101 SRA: -8 >>A 4 = -1 -11111111111111111111111111110100 -1101 SRA: -8 >>A 5 = -1 -11111111111111111111111111110011 -1101 SRA: -8 >>A 6 = -1 -11111111111111111111111111110010 -1101 SRA: -8 >>A 7 = -1 -11111111111111111111111111110001 -1101 SRA: -8 >>A 8 = -1 -11111111111111111111111111110000 -1101 SRA: -8 >>A 9 = -1 -11111111111111111111111111101111 -1101 SRA: -7 >>A -10 = -1 -00000000000000000000000000000011 -1101 SRA: -7 >>A -9 = -1 -00000000000000000000000000000010 -1101 SRA: -7 >>A -8 = -1 -00000000000000000000000000000001 -1101 SRA: -7 >>A -7 = -1 -00000000000000000000000000000000 -1101 SRA: -7 >>A -6 = -1 -11111111111111111111111111111111 -1101 SRA: -7 >>A -5 = -1 -11111111111111111111111111111110 -1101 SRA: -7 >>A -4 = -1 -11111111111111111111111111111101 -1101 SRA: -7 >>A -3 = -1 -11111111111111111111111111111100 -1101 SRA: -7 >>A -2 = -1 -11111111111111111111111111111011 -1101 SRA: -7 >>A -1 = -1 -11111111111111111111111111111010 -1101 SRA: -7 >>A 0 = -7 -11111111111111111111111111111001 -1101 SRA: -7 >>A 1 = -4 -11111111111111111111111111111000 -1101 SRA: -7 >>A 2 = -2 -11111111111111111111111111110111 -1101 SRA: -7 >>A 3 = -1 -11111111111111111111111111110110 -1101 SRA: -7 >>A 4 = -1 -11111111111111111111111111110101 -1101 SRA: -7 >>A 5 = -1 -11111111111111111111111111110100 -1101 SRA: -7 >>A 6 = -1 -11111111111111111111111111110011 -1101 SRA: -7 >>A 7 = -1 -11111111111111111111111111110010 -1101 SRA: -7 >>A 8 = -1 -11111111111111111111111111110001 -1101 SRA: -7 >>A 9 = -1 -11111111111111111111111111110000 -1101 SRA: -6 >>A -10 = -1 -00000000000000000000000000000100 -1101 SRA: -6 >>A -9 = -1 -00000000000000000000000000000011 -1101 SRA: -6 >>A -8 = -1 -00000000000000000000000000000010 -1101 SRA: -6 >>A -7 = -1 -00000000000000000000000000000001 -1101 SRA: -6 >>A -6 = -1 -00000000000000000000000000000000 -1101 SRA: -6 >>A -5 = -1 -11111111111111111111111111111111 -1101 SRA: -6 >>A -4 = -1 -11111111111111111111111111111110 -1101 SRA: -6 >>A -3 = -1 -11111111111111111111111111111101 -1101 SRA: -6 >>A -2 = -1 -11111111111111111111111111111100 -1101 SRA: -6 >>A -1 = -1 -11111111111111111111111111111011 -1101 SRA: -6 >>A 0 = -6 -11111111111111111111111111111010 -1101 SRA: -6 >>A 1 = -3 -11111111111111111111111111111001 -1101 SRA: -6 >>A 2 = -2 -11111111111111111111111111111000 -1101 SRA: -6 >>A 3 = -1 -11111111111111111111111111110111 -1101 SRA: -6 >>A 4 = -1 -11111111111111111111111111110110 -1101 SRA: -6 >>A 5 = -1 -11111111111111111111111111110101 -1101 SRA: -6 >>A 6 = -1 -11111111111111111111111111110100 -1101 SRA: -6 >>A 7 = -1 -11111111111111111111111111110011 -1101 SRA: -6 >>A 8 = -1 -11111111111111111111111111110010 -1101 SRA: -6 >>A 9 = -1 -11111111111111111111111111110001 -1101 SRA: -5 >>A -10 = -1 -00000000000000000000000000000101 -1101 SRA: -5 >>A -9 = -1 -00000000000000000000000000000100 -1101 SRA: -5 >>A -8 = -1 -00000000000000000000000000000011 -1101 SRA: -5 >>A -7 = -1 -00000000000000000000000000000010 -1101 SRA: -5 >>A -6 = -1 -00000000000000000000000000000001 -1101 SRA: -5 >>A -5 = -1 -00000000000000000000000000000000 -1101 SRA: -5 >>A -4 = -1 -11111111111111111111111111111111 -1101 SRA: -5 >>A -3 = -1 -11111111111111111111111111111110 -1101 SRA: -5 >>A -2 = -1 -11111111111111111111111111111101 -1101 SRA: -5 >>A -1 = -1 -11111111111111111111111111111100 -1101 SRA: -5 >>A 0 = -5 -11111111111111111111111111111011 -1101 SRA: -5 >>A 1 = -3 -11111111111111111111111111111010 -1101 SRA: -5 >>A 2 = -2 -11111111111111111111111111111001 -1101 SRA: -5 >>A 3 = -1 -11111111111111111111111111111000 -1101 SRA: -5 >>A 4 = -1 -11111111111111111111111111110111 -1101 SRA: -5 >>A 5 = -1 -11111111111111111111111111110110 -1101 SRA: -5 >>A 6 = -1 -11111111111111111111111111110101 -1101 SRA: -5 >>A 7 = -1 -11111111111111111111111111110100 -1101 SRA: -5 >>A 8 = -1 -11111111111111111111111111110011 -1101 SRA: -5 >>A 9 = -1 -11111111111111111111111111110010 -1101 SRA: -4 >>A -10 = -1 -00000000000000000000000000000110 -1101 SRA: -4 >>A -9 = -1 -00000000000000000000000000000101 -1101 SRA: -4 >>A -8 = -1 -00000000000000000000000000000100 -1101 SRA: -4 >>A -7 = -1 -00000000000000000000000000000011 -1101 SRA: -4 >>A -6 = -1 -00000000000000000000000000000010 -1101 SRA: -4 >>A -5 = -1 -00000000000000000000000000000001 -1101 SRA: -4 >>A -4 = -1 -00000000000000000000000000000000 -1101 SRA: -4 >>A -3 = -1 -11111111111111111111111111111111 -1101 SRA: -4 >>A -2 = -1 -11111111111111111111111111111110 -1101 SRA: -4 >>A -1 = -1 -11111111111111111111111111111101 -1101 SRA: -4 >>A 0 = -4 -11111111111111111111111111111100 -1101 SRA: -4 >>A 1 = -2 -11111111111111111111111111111011 -1101 SRA: -4 >>A 2 = -1 -11111111111111111111111111111010 -1101 SRA: -4 >>A 3 = -1 -11111111111111111111111111111001 -1101 SRA: -4 >>A 4 = -1 -11111111111111111111111111111000 -1101 SRA: -4 >>A 5 = -1 -11111111111111111111111111110111 -1101 SRA: -4 >>A 6 = -1 -11111111111111111111111111110110 -1101 SRA: -4 >>A 7 = -1 -11111111111111111111111111110101 -1101 SRA: -4 >>A 8 = -1 -11111111111111111111111111110100 -1101 SRA: -4 >>A 9 = -1 -11111111111111111111111111110011 -1101 SRA: -3 >>A -10 = -1 -00000000000000000000000000000111 -1101 SRA: -3 >>A -9 = -1 -00000000000000000000000000000110 -1101 SRA: -3 >>A -8 = -1 -00000000000000000000000000000101 -1101 SRA: -3 >>A -7 = -1 -00000000000000000000000000000100 -1101 SRA: -3 >>A -6 = -1 -00000000000000000000000000000011 -1101 SRA: -3 >>A -5 = -1 -00000000000000000000000000000010 -1101 SRA: -3 >>A -4 = -1 -00000000000000000000000000000001 -1101 SRA: -3 >>A -3 = -1 -00000000000000000000000000000000 -1101 SRA: -3 >>A -2 = -1 -11111111111111111111111111111111 -1101 SRA: -3 >>A -1 = -1 -11111111111111111111111111111110 -1101 SRA: -3 >>A 0 = -3 -11111111111111111111111111111101 -1101 SRA: -3 >>A 1 = -2 -11111111111111111111111111111100 -1101 SRA: -3 >>A 2 = -1 -11111111111111111111111111111011 -1101 SRA: -3 >>A 3 = -1 -11111111111111111111111111111010 -1101 SRA: -3 >>A 4 = -1 -11111111111111111111111111111001 -1101 SRA: -3 >>A 5 = -1 -11111111111111111111111111111000 -1101 SRA: -3 >>A 6 = -1 -11111111111111111111111111110111 -1101 SRA: -3 >>A 7 = -1 -11111111111111111111111111110110 -1101 SRA: -3 >>A 8 = -1 -11111111111111111111111111110101 -1101 SRA: -3 >>A 9 = -1 -11111111111111111111111111110100 -1101 SRA: -2 >>A -10 = -1 -00000000000000000000000000001000 -1101 SRA: -2 >>A -9 = -1 -00000000000000000000000000000111 -1101 SRA: -2 >>A -8 = -1 -00000000000000000000000000000110 -1101 SRA: -2 >>A -7 = -1 -00000000000000000000000000000101 -1101 SRA: -2 >>A -6 = -1 -00000000000000000000000000000100 -1101 SRA: -2 >>A -5 = -1 -00000000000000000000000000000011 -1101 SRA: -2 >>A -4 = -1 -00000000000000000000000000000010 -1101 SRA: -2 >>A -3 = -1 -00000000000000000000000000000001 -1101 SRA: -2 >>A -2 = -1 -00000000000000000000000000000000 -1101 SRA: -2 >>A -1 = -1 -11111111111111111111111111111111 -1101 SRA: -2 >>A 0 = -2 -11111111111111111111111111111110 -1101 SRA: -2 >>A 1 = -1 -11111111111111111111111111111101 -1101 SRA: -2 >>A 2 = -1 -11111111111111111111111111111100 -1101 SRA: -2 >>A 3 = -1 -11111111111111111111111111111011 -1101 SRA: -2 >>A 4 = -1 -11111111111111111111111111111010 -1101 SRA: -2 >>A 5 = -1 -11111111111111111111111111111001 -1101 SRA: -2 >>A 6 = -1 -11111111111111111111111111111000 -1101 SRA: -2 >>A 7 = -1 -11111111111111111111111111110111 -1101 SRA: -2 >>A 8 = -1 -11111111111111111111111111110110 -1101 SRA: -2 >>A 9 = -1 -11111111111111111111111111110101 -1101 SRA: -1 >>A -10 = -1 -00000000000000000000000000001001 -1101 SRA: -1 >>A -9 = -1 -00000000000000000000000000001000 -1101 SRA: -1 >>A -8 = -1 -00000000000000000000000000000111 -1101 SRA: -1 >>A -7 = -1 -00000000000000000000000000000110 -1101 SRA: -1 >>A -6 = -1 -00000000000000000000000000000101 -1101 SRA: -1 >>A -5 = -1 -00000000000000000000000000000100 -1101 SRA: -1 >>A -4 = -1 -00000000000000000000000000000011 -1101 SRA: -1 >>A -3 = -1 -00000000000000000000000000000010 -1101 SRA: -1 >>A -2 = -1 -00000000000000000000000000000001 -1101 SRA: -1 >>A -1 = -1 -00000000000000000000000000000000 -1101 SRA: -1 >>A 0 = -1 -11111111111111111111111111111111 -1101 SRA: -1 >>A 1 = -1 -11111111111111111111111111111110 -1101 SRA: -1 >>A 2 = -1 -11111111111111111111111111111101 -1101 SRA: -1 >>A 3 = -1 -11111111111111111111111111111100 -1101 SRA: -1 >>A 4 = -1 -11111111111111111111111111111011 -1101 SRA: -1 >>A 5 = -1 -11111111111111111111111111111010 -1101 SRA: -1 >>A 6 = -1 -11111111111111111111111111111001 -1101 SRA: -1 >>A 7 = -1 -11111111111111111111111111111000 -1101 SRA: -1 >>A 8 = -1 -11111111111111111111111111110111 -1101 SRA: -1 >>A 9 = -1 -11111111111111111111111111110110 -1101 SRA: 0 >>A -10 = -1 -00000000000000000000000000001010 -1101 SRA: 0 >>A -9 = -1 -00000000000000000000000000001001 -1101 SRA: 0 >>A -8 = -1 -00000000000000000000000000001000 -1101 SRA: 0 >>A -7 = -1 -00000000000000000000000000000111 -1101 SRA: 0 >>A -6 = -1 -00000000000000000000000000000110 -1101 SRA: 0 >>A -5 = -1 -00000000000000000000000000000101 -1101 SRA: 0 >>A -4 = -1 -00000000000000000000000000000100 -1101 SRA: 0 >>A -3 = -1 -00000000000000000000000000000011 -1101 SRA: 0 >>A -2 = -1 -00000000000000000000000000000010 -1101 SRA: 0 >>A -1 = -1 -00000000000000000000000000000001 -1101 SRA: 0 >>A 0 = -2147483648 -00000000000000000000000000000000 -1101 SRA: 0 >>A 1 = -1073741824 -11111111111111111111111111111111 -1101 SRA: 0 >>A 2 = -536870912 -11111111111111111111111111111110 -1101 SRA: 0 >>A 3 = -268435456 -11111111111111111111111111111101 -1101 SRA: 0 >>A 4 = -134217728 -11111111111111111111111111111100 -1101 SRA: 0 >>A 5 = -67108864 -11111111111111111111111111111011 -1101 SRA: 0 >>A 6 = -33554432 -11111111111111111111111111111010 -1101 SRA: 0 >>A 7 = -16777216 -11111111111111111111111111111001 -1101 SRA: 0 >>A 8 = -8388608 -11111111111111111111111111111000 -1101 SRA: 0 >>A 9 = -4194304 -11111111111111111111111111110111 -1101 SRA: 1 >>A -10 = -1 -00000000000000000000000000001011 -1101 SRA: 1 >>A -9 = -1 -00000000000000000000000000001010 -1101 SRA: 1 >>A -8 = -1 -00000000000000000000000000001001 -1101 SRA: 1 >>A -7 = -1 -00000000000000000000000000001000 -1101 SRA: 1 >>A -6 = -1 -00000000000000000000000000000111 -1101 SRA: 1 >>A -5 = -1 -00000000000000000000000000000110 -1101 SRA: 1 >>A -4 = -1 -00000000000000000000000000000101 -1101 SRA: 1 >>A -3 = -1 -00000000000000000000000000000100 -1101 SRA: 1 >>A -2 = -1 -00000000000000000000000000000011 -1101 SRA: 1 >>A -1 = -1 -00000000000000000000000000000010 -1101 SRA: 1 >>A 0 = -2147483647 -00000000000000000000000000000001 -1101 SRA: 1 >>A 1 = -1073741824 -00000000000000000000000000000000 -1101 SRA: 1 >>A 2 = -536870912 -11111111111111111111111111111111 -1101 SRA: 1 >>A 3 = -268435456 -11111111111111111111111111111110 -1101 SRA: 1 >>A 4 = -134217728 -11111111111111111111111111111101 -1101 SRA: 1 >>A 5 = -67108864 -11111111111111111111111111111100 -1101 SRA: 1 >>A 6 = -33554432 -11111111111111111111111111111011 -1101 SRA: 1 >>A 7 = -16777216 -11111111111111111111111111111010 -1101 SRA: 1 >>A 8 = -8388608 -11111111111111111111111111111001 -1101 SRA: 1 >>A 9 = -4194304 -11111111111111111111111111111000 -1101 SRA: 2 >>A -10 = -1 -00000000000000000000000000001100 -1101 SRA: 2 >>A -9 = -1 -00000000000000000000000000001011 -1101 SRA: 2 >>A -8 = -1 -00000000000000000000000000001010 -1101 SRA: 2 >>A -7 = -1 -00000000000000000000000000001001 -1101 SRA: 2 >>A -6 = -1 -00000000000000000000000000001000 -1101 SRA: 2 >>A -5 = -1 -00000000000000000000000000000111 -1101 SRA: 2 >>A -4 = -1 -00000000000000000000000000000110 -1101 SRA: 2 >>A -3 = -1 -00000000000000000000000000000101 -1101 SRA: 2 >>A -2 = -1 -00000000000000000000000000000100 -1101 SRA: 2 >>A -1 = -1 -00000000000000000000000000000011 -1101 SRA: 2 >>A 0 = -2147483646 -00000000000000000000000000000010 -1101 SRA: 2 >>A 1 = -1073741823 -00000000000000000000000000000001 -1101 SRA: 2 >>A 2 = -536870912 -00000000000000000000000000000000 -1101 SRA: 2 >>A 3 = -268435456 -11111111111111111111111111111111 -1101 SRA: 2 >>A 4 = -134217728 -11111111111111111111111111111110 -1101 SRA: 2 >>A 5 = -67108864 -11111111111111111111111111111101 -1101 SRA: 2 >>A 6 = -33554432 -11111111111111111111111111111100 -1101 SRA: 2 >>A 7 = -16777216 -11111111111111111111111111111011 -1101 SRA: 2 >>A 8 = -8388608 -11111111111111111111111111111010 -1101 SRA: 2 >>A 9 = -4194304 -11111111111111111111111111111001 -1101 SRA: 3 >>A -10 = -1 -00000000000000000000000000001101 -1101 SRA: 3 >>A -9 = -1 -00000000000000000000000000001100 -1101 SRA: 3 >>A -8 = -1 -00000000000000000000000000001011 -1101 SRA: 3 >>A -7 = -1 -00000000000000000000000000001010 -1101 SRA: 3 >>A -6 = -1 -00000000000000000000000000001001 -1101 SRA: 3 >>A -5 = -1 -00000000000000000000000000001000 -1101 SRA: 3 >>A -4 = -1 -00000000000000000000000000000111 -1101 SRA: 3 >>A -3 = -1 -00000000000000000000000000000110 -1101 SRA: 3 >>A -2 = -1 -00000000000000000000000000000101 -1101 SRA: 3 >>A -1 = -1 -00000000000000000000000000000100 -1101 SRA: 3 >>A 0 = -2147483645 -00000000000000000000000000000011 -1101 SRA: 3 >>A 1 = -1073741823 -00000000000000000000000000000010 -1101 SRA: 3 >>A 2 = -536870912 -00000000000000000000000000000001 -1101 SRA: 3 >>A 3 = -268435456 -00000000000000000000000000000000 -1101 SRA: 3 >>A 4 = -134217728 -11111111111111111111111111111111 -1101 SRA: 3 >>A 5 = -67108864 -11111111111111111111111111111110 -1101 SRA: 3 >>A 6 = -33554432 -11111111111111111111111111111101 -1101 SRA: 3 >>A 7 = -16777216 -11111111111111111111111111111100 -1101 SRA: 3 >>A 8 = -8388608 -11111111111111111111111111111011 -1101 SRA: 3 >>A 9 = -4194304 -11111111111111111111111111111010 -1101 SRA: 4 >>A -10 = -1 -00000000000000000000000000001110 -1101 SRA: 4 >>A -9 = -1 -00000000000000000000000000001101 -1101 SRA: 4 >>A -8 = -1 -00000000000000000000000000001100 -1101 SRA: 4 >>A -7 = -1 -00000000000000000000000000001011 -1101 SRA: 4 >>A -6 = -1 -00000000000000000000000000001010 -1101 SRA: 4 >>A -5 = -1 -00000000000000000000000000001001 -1101 SRA: 4 >>A -4 = -1 -00000000000000000000000000001000 -1101 SRA: 4 >>A -3 = -1 -00000000000000000000000000000111 -1101 SRA: 4 >>A -2 = -1 -00000000000000000000000000000110 -1101 SRA: 4 >>A -1 = -1 -00000000000000000000000000000101 -1101 SRA: 4 >>A 0 = -2147483644 -00000000000000000000000000000100 -1101 SRA: 4 >>A 1 = -1073741822 -00000000000000000000000000000011 -1101 SRA: 4 >>A 2 = -536870911 -00000000000000000000000000000010 -1101 SRA: 4 >>A 3 = -268435456 -00000000000000000000000000000001 -1101 SRA: 4 >>A 4 = -134217728 -00000000000000000000000000000000 -1101 SRA: 4 >>A 5 = -67108864 -11111111111111111111111111111111 -1101 SRA: 4 >>A 6 = -33554432 -11111111111111111111111111111110 -1101 SRA: 4 >>A 7 = -16777216 -11111111111111111111111111111101 -1101 SRA: 4 >>A 8 = -8388608 -11111111111111111111111111111100 -1101 SRA: 4 >>A 9 = -4194304 -11111111111111111111111111111011 -1101 SRA: 5 >>A -10 = -1 -00000000000000000000000000001111 -1101 SRA: 5 >>A -9 = -1 -00000000000000000000000000001110 -1101 SRA: 5 >>A -8 = -1 -00000000000000000000000000001101 -1101 SRA: 5 >>A -7 = -1 -00000000000000000000000000001100 -1101 SRA: 5 >>A -6 = -1 -00000000000000000000000000001011 -1101 SRA: 5 >>A -5 = -1 -00000000000000000000000000001010 -1101 SRA: 5 >>A -4 = -1 -00000000000000000000000000001001 -1101 SRA: 5 >>A -3 = -1 -00000000000000000000000000001000 -1101 SRA: 5 >>A -2 = -1 -00000000000000000000000000000111 -1101 SRA: 5 >>A -1 = -1 -00000000000000000000000000000110 -1101 SRA: 5 >>A 0 = -2147483643 -00000000000000000000000000000101 -1101 SRA: 5 >>A 1 = -1073741822 -00000000000000000000000000000100 -1101 SRA: 5 >>A 2 = -536870911 -00000000000000000000000000000011 -1101 SRA: 5 >>A 3 = -268435456 -00000000000000000000000000000010 -1101 SRA: 5 >>A 4 = -134217728 -00000000000000000000000000000001 -1101 SRA: 5 >>A 5 = -67108864 -00000000000000000000000000000000 -1101 SRA: 5 >>A 6 = -33554432 -11111111111111111111111111111111 -1101 SRA: 5 >>A 7 = -16777216 -11111111111111111111111111111110 -1101 SRA: 5 >>A 8 = -8388608 -11111111111111111111111111111101 -1101 SRA: 5 >>A 9 = -4194304 -11111111111111111111111111111100 -1101 SRA: 6 >>A -10 = -1 -00000000000000000000000000010000 -1101 SRA: 6 >>A -9 = -1 -00000000000000000000000000001111 -1101 SRA: 6 >>A -8 = -1 -00000000000000000000000000001110 -1101 SRA: 6 >>A -7 = -1 -00000000000000000000000000001101 -1101 SRA: 6 >>A -6 = -1 -00000000000000000000000000001100 -1101 SRA: 6 >>A -5 = -1 -00000000000000000000000000001011 -1101 SRA: 6 >>A -4 = -1 -00000000000000000000000000001010 -1101 SRA: 6 >>A -3 = -1 -00000000000000000000000000001001 -1101 SRA: 6 >>A -2 = -1 -00000000000000000000000000001000 -1101 SRA: 6 >>A -1 = -1 -00000000000000000000000000000111 -1101 SRA: 6 >>A 0 = -2147483642 -00000000000000000000000000000110 -1101 SRA: 6 >>A 1 = -1073741821 -00000000000000000000000000000101 -1101 SRA: 6 >>A 2 = -536870911 -00000000000000000000000000000100 -1101 SRA: 6 >>A 3 = -268435456 -00000000000000000000000000000011 -1101 SRA: 6 >>A 4 = -134217728 -00000000000000000000000000000010 -1101 SRA: 6 >>A 5 = -67108864 -00000000000000000000000000000001 -1101 SRA: 6 >>A 6 = -33554432 -00000000000000000000000000000000 -1101 SRA: 6 >>A 7 = -16777216 -11111111111111111111111111111111 -1101 SRA: 6 >>A 8 = -8388608 -11111111111111111111111111111110 -1101 SRA: 6 >>A 9 = -4194304 -11111111111111111111111111111101 -1101 SRA: 7 >>A -10 = -1 -00000000000000000000000000010001 -1101 SRA: 7 >>A -9 = -1 -00000000000000000000000000010000 -1101 SRA: 7 >>A -8 = -1 -00000000000000000000000000001111 -1101 SRA: 7 >>A -7 = -1 -00000000000000000000000000001110 -1101 SRA: 7 >>A -6 = -1 -00000000000000000000000000001101 -1101 SRA: 7 >>A -5 = -1 -00000000000000000000000000001100 -1101 SRA: 7 >>A -4 = -1 -00000000000000000000000000001011 -1101 SRA: 7 >>A -3 = -1 -00000000000000000000000000001010 -1101 SRA: 7 >>A -2 = -1 -00000000000000000000000000001001 -1101 SRA: 7 >>A -1 = -1 -00000000000000000000000000001000 -1101 SRA: 7 >>A 0 = -2147483641 -00000000000000000000000000000111 -1101 SRA: 7 >>A 1 = -1073741821 -00000000000000000000000000000110 -1101 SRA: 7 >>A 2 = -536870911 -00000000000000000000000000000101 -1101 SRA: 7 >>A 3 = -268435456 -00000000000000000000000000000100 -1101 SRA: 7 >>A 4 = -134217728 -00000000000000000000000000000011 -1101 SRA: 7 >>A 5 = -67108864 -00000000000000000000000000000010 -1101 SRA: 7 >>A 6 = -33554432 -00000000000000000000000000000001 -1101 SRA: 7 >>A 7 = -16777216 -00000000000000000000000000000000 -1101 SRA: 7 >>A 8 = -8388608 -11111111111111111111111111111111 -1101 SRA: 7 >>A 9 = -4194304 -11111111111111111111111111111110 -1101 SRA: 8 >>A -10 = -1 -00000000000000000000000000010010 -1101 SRA: 8 >>A -9 = -1 -00000000000000000000000000010001 -1101 SRA: 8 >>A -8 = -1 -00000000000000000000000000010000 -1101 SRA: 8 >>A -7 = -1 -00000000000000000000000000001111 -1101 SRA: 8 >>A -6 = -1 -00000000000000000000000000001110 -1101 SRA: 8 >>A -5 = -1 -00000000000000000000000000001101 -1101 SRA: 8 >>A -4 = -1 -00000000000000000000000000001100 -1101 SRA: 8 >>A -3 = -1 -00000000000000000000000000001011 -1101 SRA: 8 >>A -2 = -1 -00000000000000000000000000001010 -1101 SRA: 8 >>A -1 = -1 -00000000000000000000000000001001 -1101 SRA: 8 >>A 0 = -2147483640 -00000000000000000000000000001000 -1101 SRA: 8 >>A 1 = -1073741820 -00000000000000000000000000000111 -1101 SRA: 8 >>A 2 = -536870910 -00000000000000000000000000000110 -1101 SRA: 8 >>A 3 = -268435455 -00000000000000000000000000000101 -1101 SRA: 8 >>A 4 = -134217728 -00000000000000000000000000000100 -1101 SRA: 8 >>A 5 = -67108864 -00000000000000000000000000000011 -1101 SRA: 8 >>A 6 = -33554432 -00000000000000000000000000000010 -1101 SRA: 8 >>A 7 = -16777216 -00000000000000000000000000000001 -1101 SRA: 8 >>A 8 = -8388608 -00000000000000000000000000000000 -1101 SRA: 8 >>A 9 = -4194304 -11111111111111111111111111111111 -1101 SRA: 9 >>A -10 = -1 -00000000000000000000000000010011 -1101 SRA: 9 >>A -9 = -1 -00000000000000000000000000010010 -1101 SRA: 9 >>A -8 = -1 -00000000000000000000000000010001 -1101 SRA: 9 >>A -7 = -1 -00000000000000000000000000010000 -1101 SRA: 9 >>A -6 = -1 -00000000000000000000000000001111 -1101 SRA: 9 >>A -5 = -1 -00000000000000000000000000001110 -1101 SRA: 9 >>A -4 = -1 -00000000000000000000000000001101 -1101 SRA: 9 >>A -3 = -1 -00000000000000000000000000001100 -1101 SRA: 9 >>A -2 = -1 -00000000000000000000000000001011 -1101 SRA: 9 >>A -1 = -1 -00000000000000000000000000001010 -1101 SRA: 9 >>A 0 = -2147483639 -00000000000000000000000000001001 -1101 SRA: 9 >>A 1 = -1073741820 -00000000000000000000000000001000 -1101 SRA: 9 >>A 2 = -536870910 -00000000000000000000000000000111 -1101 SRA: 9 >>A 3 = -268435455 -00000000000000000000000000000110 -1101 SRA: 9 >>A 4 = -134217728 -00000000000000000000000000000101 -1101 SRA: 9 >>A 5 = -67108864 -00000000000000000000000000000100 -1101 SRA: 9 >>A 6 = -33554432 -00000000000000000000000000000011 -1101 SRA: 9 >>A 7 = -16777216 -00000000000000000000000000000010 -1101 SRA: 9 >>A 8 = -8388608 -00000000000000000000000000000001 -1101 SRA: 9 >>A 9 = -4194304 -00000000000000000000000000000000 -1101 diff --git a/verilog/alu/v6/waveform.vcd b/verilog/alu/v6/waveform.vcd index 045e968..38c5080 100644 --- a/verilog/alu/v6/waveform.vcd +++ b/verilog/alu/v6/waveform.vcd @@ -1,5 +1,5 @@ $version Generated by VerilatedVcd $end -$date Sun Apr 24 19:01:39 2022 $end +$date Sun May 15 01:02:15 2022 $end $timescale 1ns $end $scope module TOP $end @@ -7,18 +7,14 @@ $timescale 1ns $end $var wire 32 $ alu_in_2 [31:0] $end $var wire 4 % alu_op_i [3:0] $end $var wire 32 & alu_output [31:0] $end - $var wire 4 ( debugop [3:0] $end - $var wire 32 ' debugsum [31:0] $end $scope module alu6 $end $var wire 32 # alu_in_1 [31:0] $end $var wire 32 $ alu_in_2 [31:0] $end $var wire 4 % alu_op_i [3:0] $end $var wire 32 & alu_output [31:0] $end - $var wire 32 ) complement2 [31:0] $end - $var wire 4 ( debugop [3:0] $end - $var wire 32 ' debugsum [31:0] $end - $var wire 32 + right [31:0] $end - $var wire 32 * sum [31:0] $end + $var wire 32 ' complement2 [31:0] $end + $var wire 32 ) right [31:0] $end + $var wire 32 ( sum [31:0] $end $upscope $end $upscope $end $enddefinitions $end @@ -29,2308 +25,1907 @@ b11111111111111111111111111110110 # b11111111111111111111111111110110 $ b1101 % b11111111111111111111111111111111 & -b00000000000000000000000000000000 ' -b1101 ( -b00000000000000000000000000001010 ) -b00000000000000000000000000000000 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000000000 ( +b11111111111111111111111111111111 ) #2 b11111111111111111111111111110111 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000001001 ) -b11111111111111111111111111111111 * +b00000000000000000000000000001001 ' +b11111111111111111111111111111111 ( #3 b11111111111111111111111111111000 $ -b11111111111111111111111111111110 ' -b00000000000000000000000000001000 ) -b11111111111111111111111111111110 * +b00000000000000000000000000001000 ' +b11111111111111111111111111111110 ( #4 b11111111111111111111111111111001 $ -b11111111111111111111111111111101 ' -b00000000000000000000000000000111 ) -b11111111111111111111111111111101 * +b00000000000000000000000000000111 ' +b11111111111111111111111111111101 ( #5 b11111111111111111111111111111010 $ -b11111111111111111111111111111100 ' -b00000000000000000000000000000110 ) -b11111111111111111111111111111100 * +b00000000000000000000000000000110 ' +b11111111111111111111111111111100 ( #6 b11111111111111111111111111111011 $ -b11111111111111111111111111111011 ' -b00000000000000000000000000000101 ) -b11111111111111111111111111111011 * +b00000000000000000000000000000101 ' +b11111111111111111111111111111011 ( #7 b11111111111111111111111111111100 $ -b11111111111111111111111111111010 ' -b00000000000000000000000000000100 ) -b11111111111111111111111111111010 * +b00000000000000000000000000000100 ' +b11111111111111111111111111111010 ( #8 b11111111111111111111111111111101 $ -b11111111111111111111111111111001 ' -b00000000000000000000000000000011 ) -b11111111111111111111111111111001 * +b00000000000000000000000000000011 ' +b11111111111111111111111111111001 ( #9 b11111111111111111111111111111110 $ -b11111111111111111111111111111000 ' -b00000000000000000000000000000010 ) -b11111111111111111111111111111000 * +b00000000000000000000000000000010 ' +b11111111111111111111111111111000 ( #10 b11111111111111111111111111111111 $ -b11111111111111111111111111110111 ' -b00000000000000000000000000000001 ) -b11111111111111111111111111110111 * +b00000000000000000000000000000001 ' +b11111111111111111111111111110111 ( #11 b00000000000000000000000000000000 $ b11111111111111111111111111110110 & -b11111111111111111111111111110110 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111110110 * -b11111111111111111111111111110110 + +b00000000000000000000000000000000 ' +b11111111111111111111111111110110 ( +b11111111111111111111111111110110 ) #12 b00000000000000000000000000000001 $ b11111111111111111111111111111011 & -b11111111111111111111111111110101 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111110101 * -b11111111111111111111111111111011 + +b11111111111111111111111111111111 ' +b11111111111111111111111111110101 ( +b11111111111111111111111111111011 ) #13 b00000000000000000000000000000010 $ b11111111111111111111111111111101 & -b11111111111111111111111111110100 ' -b11111111111111111111111111111110 ) -b11111111111111111111111111110100 * -b11111111111111111111111111111101 + +b11111111111111111111111111111110 ' +b11111111111111111111111111110100 ( +b11111111111111111111111111111101 ) #14 b00000000000000000000000000000011 $ b11111111111111111111111111111110 & -b11111111111111111111111111110011 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111110011 * -b11111111111111111111111111111110 + +b11111111111111111111111111111101 ' +b11111111111111111111111111110011 ( +b11111111111111111111111111111110 ) #15 b00000000000000000000000000000100 $ b11111111111111111111111111111111 & -b11111111111111111111111111110010 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111110010 * -b11111111111111111111111111111111 + +b11111111111111111111111111111100 ' +b11111111111111111111111111110010 ( +b11111111111111111111111111111111 ) #16 b00000000000000000000000000000101 $ -b11111111111111111111111111110001 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111110001 * +b11111111111111111111111111111011 ' +b11111111111111111111111111110001 ( #17 b00000000000000000000000000000110 $ -b11111111111111111111111111110000 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111110000 * +b11111111111111111111111111111010 ' +b11111111111111111111111111110000 ( #18 b00000000000000000000000000000111 $ -b11111111111111111111111111101111 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111101111 * +b11111111111111111111111111111001 ' +b11111111111111111111111111101111 ( #19 b00000000000000000000000000001000 $ -b11111111111111111111111111101110 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111101110 * +b11111111111111111111111111111000 ' +b11111111111111111111111111101110 ( #20 b00000000000000000000000000001001 $ -b11111111111111111111111111101101 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111101101 * +b11111111111111111111111111110111 ' +b11111111111111111111111111101101 ( #21 b11111111111111111111111111110111 # b11111111111111111111111111110110 $ -b00000000000000000000000000000001 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000000001 * +b00000000000000000000000000001010 ' +b00000000000000000000000000000001 ( #22 b11111111111111111111111111110111 $ -b00000000000000000000000000000000 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000000000 * +b00000000000000000000000000001001 ' +b00000000000000000000000000000000 ( #23 b11111111111111111111111111111000 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000001000 ) -b11111111111111111111111111111111 * +b00000000000000000000000000001000 ' +b11111111111111111111111111111111 ( #24 b11111111111111111111111111111001 $ -b11111111111111111111111111111110 ' -b00000000000000000000000000000111 ) -b11111111111111111111111111111110 * +b00000000000000000000000000000111 ' +b11111111111111111111111111111110 ( #25 b11111111111111111111111111111010 $ -b11111111111111111111111111111101 ' -b00000000000000000000000000000110 ) -b11111111111111111111111111111101 * +b00000000000000000000000000000110 ' +b11111111111111111111111111111101 ( #26 b11111111111111111111111111111011 $ -b11111111111111111111111111111100 ' -b00000000000000000000000000000101 ) -b11111111111111111111111111111100 * +b00000000000000000000000000000101 ' +b11111111111111111111111111111100 ( #27 b11111111111111111111111111111100 $ -b11111111111111111111111111111011 ' -b00000000000000000000000000000100 ) -b11111111111111111111111111111011 * +b00000000000000000000000000000100 ' +b11111111111111111111111111111011 ( #28 b11111111111111111111111111111101 $ -b11111111111111111111111111111010 ' -b00000000000000000000000000000011 ) -b11111111111111111111111111111010 * +b00000000000000000000000000000011 ' +b11111111111111111111111111111010 ( #29 b11111111111111111111111111111110 $ -b11111111111111111111111111111001 ' -b00000000000000000000000000000010 ) -b11111111111111111111111111111001 * +b00000000000000000000000000000010 ' +b11111111111111111111111111111001 ( #30 b11111111111111111111111111111111 $ -b11111111111111111111111111111000 ' -b00000000000000000000000000000001 ) -b11111111111111111111111111111000 * +b00000000000000000000000000000001 ' +b11111111111111111111111111111000 ( #31 b00000000000000000000000000000000 $ b11111111111111111111111111110111 & -b11111111111111111111111111110111 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111110111 * -b11111111111111111111111111110111 + +b00000000000000000000000000000000 ' +b11111111111111111111111111110111 ( +b11111111111111111111111111110111 ) #32 b00000000000000000000000000000001 $ b11111111111111111111111111111011 & -b11111111111111111111111111110110 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111110110 * -b11111111111111111111111111111011 + +b11111111111111111111111111111111 ' +b11111111111111111111111111110110 ( +b11111111111111111111111111111011 ) #33 b00000000000000000000000000000010 $ b11111111111111111111111111111101 & -b11111111111111111111111111110101 ' -b11111111111111111111111111111110 ) -b11111111111111111111111111110101 * -b11111111111111111111111111111101 + +b11111111111111111111111111111110 ' +b11111111111111111111111111110101 ( +b11111111111111111111111111111101 ) #34 b00000000000000000000000000000011 $ b11111111111111111111111111111110 & -b11111111111111111111111111110100 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111110100 * -b11111111111111111111111111111110 + +b11111111111111111111111111111101 ' +b11111111111111111111111111110100 ( +b11111111111111111111111111111110 ) #35 b00000000000000000000000000000100 $ b11111111111111111111111111111111 & -b11111111111111111111111111110011 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111110011 * -b11111111111111111111111111111111 + +b11111111111111111111111111111100 ' +b11111111111111111111111111110011 ( +b11111111111111111111111111111111 ) #36 b00000000000000000000000000000101 $ -b11111111111111111111111111110010 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111110010 * +b11111111111111111111111111111011 ' +b11111111111111111111111111110010 ( #37 b00000000000000000000000000000110 $ -b11111111111111111111111111110001 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111110001 * +b11111111111111111111111111111010 ' +b11111111111111111111111111110001 ( #38 b00000000000000000000000000000111 $ -b11111111111111111111111111110000 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111110000 * +b11111111111111111111111111111001 ' +b11111111111111111111111111110000 ( #39 b00000000000000000000000000001000 $ -b11111111111111111111111111101111 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111101111 * +b11111111111111111111111111111000 ' +b11111111111111111111111111101111 ( #40 b00000000000000000000000000001001 $ -b11111111111111111111111111101110 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111101110 * +b11111111111111111111111111110111 ' +b11111111111111111111111111101110 ( #41 b11111111111111111111111111111000 # b11111111111111111111111111110110 $ -b00000000000000000000000000000010 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000000010 * +b00000000000000000000000000001010 ' +b00000000000000000000000000000010 ( #42 b11111111111111111111111111110111 $ -b00000000000000000000000000000001 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000000001 * +b00000000000000000000000000001001 ' +b00000000000000000000000000000001 ( #43 b11111111111111111111111111111000 $ -b00000000000000000000000000000000 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000000000 * +b00000000000000000000000000001000 ' +b00000000000000000000000000000000 ( #44 b11111111111111111111111111111001 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000000111 ) -b11111111111111111111111111111111 * +b00000000000000000000000000000111 ' +b11111111111111111111111111111111 ( #45 b11111111111111111111111111111010 $ -b11111111111111111111111111111110 ' -b00000000000000000000000000000110 ) -b11111111111111111111111111111110 * +b00000000000000000000000000000110 ' +b11111111111111111111111111111110 ( #46 b11111111111111111111111111111011 $ -b11111111111111111111111111111101 ' -b00000000000000000000000000000101 ) -b11111111111111111111111111111101 * +b00000000000000000000000000000101 ' +b11111111111111111111111111111101 ( #47 b11111111111111111111111111111100 $ -b11111111111111111111111111111100 ' -b00000000000000000000000000000100 ) -b11111111111111111111111111111100 * +b00000000000000000000000000000100 ' +b11111111111111111111111111111100 ( #48 b11111111111111111111111111111101 $ -b11111111111111111111111111111011 ' -b00000000000000000000000000000011 ) -b11111111111111111111111111111011 * +b00000000000000000000000000000011 ' +b11111111111111111111111111111011 ( #49 b11111111111111111111111111111110 $ -b11111111111111111111111111111010 ' -b00000000000000000000000000000010 ) -b11111111111111111111111111111010 * +b00000000000000000000000000000010 ' +b11111111111111111111111111111010 ( #50 b11111111111111111111111111111111 $ -b11111111111111111111111111111001 ' -b00000000000000000000000000000001 ) -b11111111111111111111111111111001 * +b00000000000000000000000000000001 ' +b11111111111111111111111111111001 ( #51 b00000000000000000000000000000000 $ b11111111111111111111111111111000 & -b11111111111111111111111111111000 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111111000 * -b11111111111111111111111111111000 + +b00000000000000000000000000000000 ' +b11111111111111111111111111111000 ( +b11111111111111111111111111111000 ) #52 b00000000000000000000000000000001 $ b11111111111111111111111111111100 & -b11111111111111111111111111110111 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111110111 * -b11111111111111111111111111111100 + +b11111111111111111111111111111111 ' +b11111111111111111111111111110111 ( +b11111111111111111111111111111100 ) #53 b00000000000000000000000000000010 $ b11111111111111111111111111111110 & -b11111111111111111111111111110110 ' +b11111111111111111111111111111110 ' +b11111111111111111111111111110110 ( b11111111111111111111111111111110 ) -b11111111111111111111111111110110 * -b11111111111111111111111111111110 + #54 b00000000000000000000000000000011 $ b11111111111111111111111111111111 & -b11111111111111111111111111110101 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111110101 * -b11111111111111111111111111111111 + +b11111111111111111111111111111101 ' +b11111111111111111111111111110101 ( +b11111111111111111111111111111111 ) #55 b00000000000000000000000000000100 $ -b11111111111111111111111111110100 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111110100 * +b11111111111111111111111111111100 ' +b11111111111111111111111111110100 ( #56 b00000000000000000000000000000101 $ -b11111111111111111111111111110011 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111110011 * +b11111111111111111111111111111011 ' +b11111111111111111111111111110011 ( #57 b00000000000000000000000000000110 $ -b11111111111111111111111111110010 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111110010 * +b11111111111111111111111111111010 ' +b11111111111111111111111111110010 ( #58 b00000000000000000000000000000111 $ -b11111111111111111111111111110001 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111110001 * +b11111111111111111111111111111001 ' +b11111111111111111111111111110001 ( #59 b00000000000000000000000000001000 $ -b11111111111111111111111111110000 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111110000 * +b11111111111111111111111111111000 ' +b11111111111111111111111111110000 ( #60 b00000000000000000000000000001001 $ -b11111111111111111111111111101111 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111101111 * +b11111111111111111111111111110111 ' +b11111111111111111111111111101111 ( #61 b11111111111111111111111111111001 # b11111111111111111111111111110110 $ -b00000000000000000000000000000011 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000000011 * +b00000000000000000000000000001010 ' +b00000000000000000000000000000011 ( #62 b11111111111111111111111111110111 $ -b00000000000000000000000000000010 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000000010 * +b00000000000000000000000000001001 ' +b00000000000000000000000000000010 ( #63 b11111111111111111111111111111000 $ -b00000000000000000000000000000001 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000000001 * +b00000000000000000000000000001000 ' +b00000000000000000000000000000001 ( #64 b11111111111111111111111111111001 $ -b00000000000000000000000000000000 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000000000 * +b00000000000000000000000000000111 ' +b00000000000000000000000000000000 ( #65 b11111111111111111111111111111010 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000000110 ) -b11111111111111111111111111111111 * +b00000000000000000000000000000110 ' +b11111111111111111111111111111111 ( #66 b11111111111111111111111111111011 $ -b11111111111111111111111111111110 ' -b00000000000000000000000000000101 ) -b11111111111111111111111111111110 * +b00000000000000000000000000000101 ' +b11111111111111111111111111111110 ( #67 b11111111111111111111111111111100 $ -b11111111111111111111111111111101 ' -b00000000000000000000000000000100 ) -b11111111111111111111111111111101 * +b00000000000000000000000000000100 ' +b11111111111111111111111111111101 ( #68 b11111111111111111111111111111101 $ -b11111111111111111111111111111100 ' -b00000000000000000000000000000011 ) -b11111111111111111111111111111100 * +b00000000000000000000000000000011 ' +b11111111111111111111111111111100 ( #69 b11111111111111111111111111111110 $ -b11111111111111111111111111111011 ' -b00000000000000000000000000000010 ) -b11111111111111111111111111111011 * +b00000000000000000000000000000010 ' +b11111111111111111111111111111011 ( #70 b11111111111111111111111111111111 $ -b11111111111111111111111111111010 ' -b00000000000000000000000000000001 ) -b11111111111111111111111111111010 * +b00000000000000000000000000000001 ' +b11111111111111111111111111111010 ( #71 b00000000000000000000000000000000 $ b11111111111111111111111111111001 & -b11111111111111111111111111111001 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111111001 * -b11111111111111111111111111111001 + +b00000000000000000000000000000000 ' +b11111111111111111111111111111001 ( +b11111111111111111111111111111001 ) #72 b00000000000000000000000000000001 $ b11111111111111111111111111111100 & -b11111111111111111111111111111000 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111111000 * -b11111111111111111111111111111100 + +b11111111111111111111111111111111 ' +b11111111111111111111111111111000 ( +b11111111111111111111111111111100 ) #73 b00000000000000000000000000000010 $ b11111111111111111111111111111110 & -b11111111111111111111111111110111 ' +b11111111111111111111111111111110 ' +b11111111111111111111111111110111 ( b11111111111111111111111111111110 ) -b11111111111111111111111111110111 * -b11111111111111111111111111111110 + #74 b00000000000000000000000000000011 $ b11111111111111111111111111111111 & -b11111111111111111111111111110110 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111110110 * -b11111111111111111111111111111111 + +b11111111111111111111111111111101 ' +b11111111111111111111111111110110 ( +b11111111111111111111111111111111 ) #75 b00000000000000000000000000000100 $ -b11111111111111111111111111110101 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111110101 * +b11111111111111111111111111111100 ' +b11111111111111111111111111110101 ( #76 b00000000000000000000000000000101 $ -b11111111111111111111111111110100 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111110100 * +b11111111111111111111111111111011 ' +b11111111111111111111111111110100 ( #77 b00000000000000000000000000000110 $ -b11111111111111111111111111110011 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111110011 * +b11111111111111111111111111111010 ' +b11111111111111111111111111110011 ( #78 b00000000000000000000000000000111 $ -b11111111111111111111111111110010 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111110010 * +b11111111111111111111111111111001 ' +b11111111111111111111111111110010 ( #79 b00000000000000000000000000001000 $ -b11111111111111111111111111110001 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111110001 * +b11111111111111111111111111111000 ' +b11111111111111111111111111110001 ( #80 b00000000000000000000000000001001 $ -b11111111111111111111111111110000 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111110000 * +b11111111111111111111111111110111 ' +b11111111111111111111111111110000 ( #81 b11111111111111111111111111111010 # b11111111111111111111111111110110 $ -b00000000000000000000000000000100 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000000100 * +b00000000000000000000000000001010 ' +b00000000000000000000000000000100 ( #82 b11111111111111111111111111110111 $ -b00000000000000000000000000000011 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000000011 * +b00000000000000000000000000001001 ' +b00000000000000000000000000000011 ( #83 b11111111111111111111111111111000 $ -b00000000000000000000000000000010 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000000010 * +b00000000000000000000000000001000 ' +b00000000000000000000000000000010 ( #84 b11111111111111111111111111111001 $ -b00000000000000000000000000000001 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000000001 * +b00000000000000000000000000000111 ' +b00000000000000000000000000000001 ( #85 b11111111111111111111111111111010 $ -b00000000000000000000000000000000 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000000000 * +b00000000000000000000000000000110 ' +b00000000000000000000000000000000 ( #86 b11111111111111111111111111111011 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000000101 ) -b11111111111111111111111111111111 * +b00000000000000000000000000000101 ' +b11111111111111111111111111111111 ( #87 b11111111111111111111111111111100 $ -b11111111111111111111111111111110 ' -b00000000000000000000000000000100 ) -b11111111111111111111111111111110 * +b00000000000000000000000000000100 ' +b11111111111111111111111111111110 ( #88 b11111111111111111111111111111101 $ -b11111111111111111111111111111101 ' -b00000000000000000000000000000011 ) -b11111111111111111111111111111101 * +b00000000000000000000000000000011 ' +b11111111111111111111111111111101 ( #89 b11111111111111111111111111111110 $ -b11111111111111111111111111111100 ' -b00000000000000000000000000000010 ) -b11111111111111111111111111111100 * +b00000000000000000000000000000010 ' +b11111111111111111111111111111100 ( #90 b11111111111111111111111111111111 $ -b11111111111111111111111111111011 ' -b00000000000000000000000000000001 ) -b11111111111111111111111111111011 * +b00000000000000000000000000000001 ' +b11111111111111111111111111111011 ( #91 b00000000000000000000000000000000 $ b11111111111111111111111111111010 & -b11111111111111111111111111111010 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111111010 * -b11111111111111111111111111111010 + +b00000000000000000000000000000000 ' +b11111111111111111111111111111010 ( +b11111111111111111111111111111010 ) #92 b00000000000000000000000000000001 $ b11111111111111111111111111111101 & -b11111111111111111111111111111001 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111111001 * -b11111111111111111111111111111101 + +b11111111111111111111111111111111 ' +b11111111111111111111111111111001 ( +b11111111111111111111111111111101 ) #93 b00000000000000000000000000000010 $ b11111111111111111111111111111110 & -b11111111111111111111111111111000 ' +b11111111111111111111111111111110 ' +b11111111111111111111111111111000 ( b11111111111111111111111111111110 ) -b11111111111111111111111111111000 * -b11111111111111111111111111111110 + #94 b00000000000000000000000000000011 $ b11111111111111111111111111111111 & -b11111111111111111111111111110111 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111110111 * -b11111111111111111111111111111111 + +b11111111111111111111111111111101 ' +b11111111111111111111111111110111 ( +b11111111111111111111111111111111 ) #95 b00000000000000000000000000000100 $ -b11111111111111111111111111110110 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111110110 * +b11111111111111111111111111111100 ' +b11111111111111111111111111110110 ( #96 b00000000000000000000000000000101 $ -b11111111111111111111111111110101 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111110101 * +b11111111111111111111111111111011 ' +b11111111111111111111111111110101 ( #97 b00000000000000000000000000000110 $ -b11111111111111111111111111110100 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111110100 * +b11111111111111111111111111111010 ' +b11111111111111111111111111110100 ( #98 b00000000000000000000000000000111 $ -b11111111111111111111111111110011 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111110011 * +b11111111111111111111111111111001 ' +b11111111111111111111111111110011 ( #99 b00000000000000000000000000001000 $ -b11111111111111111111111111110010 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111110010 * +b11111111111111111111111111111000 ' +b11111111111111111111111111110010 ( #100 b00000000000000000000000000001001 $ -b11111111111111111111111111110001 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111110001 * +b11111111111111111111111111110111 ' +b11111111111111111111111111110001 ( #101 b11111111111111111111111111111011 # b11111111111111111111111111110110 $ -b00000000000000000000000000000101 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000000101 * +b00000000000000000000000000001010 ' +b00000000000000000000000000000101 ( #102 b11111111111111111111111111110111 $ -b00000000000000000000000000000100 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000000100 * +b00000000000000000000000000001001 ' +b00000000000000000000000000000100 ( #103 b11111111111111111111111111111000 $ -b00000000000000000000000000000011 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000000011 * +b00000000000000000000000000001000 ' +b00000000000000000000000000000011 ( #104 b11111111111111111111111111111001 $ -b00000000000000000000000000000010 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000000010 * +b00000000000000000000000000000111 ' +b00000000000000000000000000000010 ( #105 b11111111111111111111111111111010 $ -b00000000000000000000000000000001 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000000001 * +b00000000000000000000000000000110 ' +b00000000000000000000000000000001 ( #106 b11111111111111111111111111111011 $ -b00000000000000000000000000000000 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000000000 * +b00000000000000000000000000000101 ' +b00000000000000000000000000000000 ( #107 b11111111111111111111111111111100 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000000100 ) -b11111111111111111111111111111111 * +b00000000000000000000000000000100 ' +b11111111111111111111111111111111 ( #108 b11111111111111111111111111111101 $ -b11111111111111111111111111111110 ' -b00000000000000000000000000000011 ) -b11111111111111111111111111111110 * +b00000000000000000000000000000011 ' +b11111111111111111111111111111110 ( #109 b11111111111111111111111111111110 $ -b11111111111111111111111111111101 ' -b00000000000000000000000000000010 ) -b11111111111111111111111111111101 * +b00000000000000000000000000000010 ' +b11111111111111111111111111111101 ( #110 b11111111111111111111111111111111 $ -b11111111111111111111111111111100 ' -b00000000000000000000000000000001 ) -b11111111111111111111111111111100 * +b00000000000000000000000000000001 ' +b11111111111111111111111111111100 ( #111 b00000000000000000000000000000000 $ b11111111111111111111111111111011 & -b11111111111111111111111111111011 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111111011 * -b11111111111111111111111111111011 + +b00000000000000000000000000000000 ' +b11111111111111111111111111111011 ( +b11111111111111111111111111111011 ) #112 b00000000000000000000000000000001 $ b11111111111111111111111111111101 & -b11111111111111111111111111111010 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111111010 * -b11111111111111111111111111111101 + +b11111111111111111111111111111111 ' +b11111111111111111111111111111010 ( +b11111111111111111111111111111101 ) #113 b00000000000000000000000000000010 $ b11111111111111111111111111111110 & -b11111111111111111111111111111001 ' +b11111111111111111111111111111110 ' +b11111111111111111111111111111001 ( b11111111111111111111111111111110 ) -b11111111111111111111111111111001 * -b11111111111111111111111111111110 + #114 b00000000000000000000000000000011 $ b11111111111111111111111111111111 & -b11111111111111111111111111111000 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111111000 * -b11111111111111111111111111111111 + +b11111111111111111111111111111101 ' +b11111111111111111111111111111000 ( +b11111111111111111111111111111111 ) #115 b00000000000000000000000000000100 $ -b11111111111111111111111111110111 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111110111 * +b11111111111111111111111111111100 ' +b11111111111111111111111111110111 ( #116 b00000000000000000000000000000101 $ -b11111111111111111111111111110110 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111110110 * +b11111111111111111111111111111011 ' +b11111111111111111111111111110110 ( #117 b00000000000000000000000000000110 $ -b11111111111111111111111111110101 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111110101 * +b11111111111111111111111111111010 ' +b11111111111111111111111111110101 ( #118 b00000000000000000000000000000111 $ -b11111111111111111111111111110100 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111110100 * +b11111111111111111111111111111001 ' +b11111111111111111111111111110100 ( #119 b00000000000000000000000000001000 $ -b11111111111111111111111111110011 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111110011 * +b11111111111111111111111111111000 ' +b11111111111111111111111111110011 ( #120 b00000000000000000000000000001001 $ -b11111111111111111111111111110010 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111110010 * +b11111111111111111111111111110111 ' +b11111111111111111111111111110010 ( #121 b11111111111111111111111111111100 # b11111111111111111111111111110110 $ -b00000000000000000000000000000110 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000000110 * +b00000000000000000000000000001010 ' +b00000000000000000000000000000110 ( #122 b11111111111111111111111111110111 $ -b00000000000000000000000000000101 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000000101 * +b00000000000000000000000000001001 ' +b00000000000000000000000000000101 ( #123 b11111111111111111111111111111000 $ -b00000000000000000000000000000100 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000000100 * +b00000000000000000000000000001000 ' +b00000000000000000000000000000100 ( #124 b11111111111111111111111111111001 $ -b00000000000000000000000000000011 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000000011 * +b00000000000000000000000000000111 ' +b00000000000000000000000000000011 ( #125 b11111111111111111111111111111010 $ -b00000000000000000000000000000010 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000000010 * +b00000000000000000000000000000110 ' +b00000000000000000000000000000010 ( #126 b11111111111111111111111111111011 $ -b00000000000000000000000000000001 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000000001 * +b00000000000000000000000000000101 ' +b00000000000000000000000000000001 ( #127 b11111111111111111111111111111100 $ -b00000000000000000000000000000000 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000000000 * +b00000000000000000000000000000100 ' +b00000000000000000000000000000000 ( #128 b11111111111111111111111111111101 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000000011 ) -b11111111111111111111111111111111 * +b00000000000000000000000000000011 ' +b11111111111111111111111111111111 ( #129 b11111111111111111111111111111110 $ -b11111111111111111111111111111110 ' -b00000000000000000000000000000010 ) -b11111111111111111111111111111110 * +b00000000000000000000000000000010 ' +b11111111111111111111111111111110 ( #130 b11111111111111111111111111111111 $ -b11111111111111111111111111111101 ' -b00000000000000000000000000000001 ) -b11111111111111111111111111111101 * +b00000000000000000000000000000001 ' +b11111111111111111111111111111101 ( #131 b00000000000000000000000000000000 $ b11111111111111111111111111111100 & -b11111111111111111111111111111100 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111111100 * -b11111111111111111111111111111100 + +b00000000000000000000000000000000 ' +b11111111111111111111111111111100 ( +b11111111111111111111111111111100 ) #132 b00000000000000000000000000000001 $ b11111111111111111111111111111110 & -b11111111111111111111111111111011 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111111011 * -b11111111111111111111111111111110 + +b11111111111111111111111111111111 ' +b11111111111111111111111111111011 ( +b11111111111111111111111111111110 ) #133 b00000000000000000000000000000010 $ b11111111111111111111111111111111 & -b11111111111111111111111111111010 ' -b11111111111111111111111111111110 ) -b11111111111111111111111111111010 * -b11111111111111111111111111111111 + +b11111111111111111111111111111110 ' +b11111111111111111111111111111010 ( +b11111111111111111111111111111111 ) #134 b00000000000000000000000000000011 $ -b11111111111111111111111111111001 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111111001 * +b11111111111111111111111111111101 ' +b11111111111111111111111111111001 ( #135 b00000000000000000000000000000100 $ -b11111111111111111111111111111000 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111111000 * +b11111111111111111111111111111100 ' +b11111111111111111111111111111000 ( #136 b00000000000000000000000000000101 $ -b11111111111111111111111111110111 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111110111 * +b11111111111111111111111111111011 ' +b11111111111111111111111111110111 ( #137 b00000000000000000000000000000110 $ -b11111111111111111111111111110110 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111110110 * +b11111111111111111111111111111010 ' +b11111111111111111111111111110110 ( #138 b00000000000000000000000000000111 $ -b11111111111111111111111111110101 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111110101 * +b11111111111111111111111111111001 ' +b11111111111111111111111111110101 ( #139 b00000000000000000000000000001000 $ -b11111111111111111111111111110100 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111110100 * +b11111111111111111111111111111000 ' +b11111111111111111111111111110100 ( #140 b00000000000000000000000000001001 $ -b11111111111111111111111111110011 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111110011 * +b11111111111111111111111111110111 ' +b11111111111111111111111111110011 ( #141 b11111111111111111111111111111101 # b11111111111111111111111111110110 $ -b00000000000000000000000000000111 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000000111 * +b00000000000000000000000000001010 ' +b00000000000000000000000000000111 ( #142 b11111111111111111111111111110111 $ -b00000000000000000000000000000110 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000000110 * +b00000000000000000000000000001001 ' +b00000000000000000000000000000110 ( #143 b11111111111111111111111111111000 $ -b00000000000000000000000000000101 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000000101 * +b00000000000000000000000000001000 ' +b00000000000000000000000000000101 ( #144 b11111111111111111111111111111001 $ -b00000000000000000000000000000100 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000000100 * +b00000000000000000000000000000111 ' +b00000000000000000000000000000100 ( #145 b11111111111111111111111111111010 $ -b00000000000000000000000000000011 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000000011 * +b00000000000000000000000000000110 ' +b00000000000000000000000000000011 ( #146 b11111111111111111111111111111011 $ -b00000000000000000000000000000010 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000000010 * +b00000000000000000000000000000101 ' +b00000000000000000000000000000010 ( #147 b11111111111111111111111111111100 $ -b00000000000000000000000000000001 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000000001 * +b00000000000000000000000000000100 ' +b00000000000000000000000000000001 ( #148 b11111111111111111111111111111101 $ -b00000000000000000000000000000000 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000000000 * +b00000000000000000000000000000011 ' +b00000000000000000000000000000000 ( #149 b11111111111111111111111111111110 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000000010 ) -b11111111111111111111111111111111 * +b00000000000000000000000000000010 ' +b11111111111111111111111111111111 ( #150 b11111111111111111111111111111111 $ -b11111111111111111111111111111110 ' -b00000000000000000000000000000001 ) -b11111111111111111111111111111110 * +b00000000000000000000000000000001 ' +b11111111111111111111111111111110 ( #151 b00000000000000000000000000000000 $ b11111111111111111111111111111101 & -b11111111111111111111111111111101 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111111101 * -b11111111111111111111111111111101 + +b00000000000000000000000000000000 ' +b11111111111111111111111111111101 ( +b11111111111111111111111111111101 ) #152 b00000000000000000000000000000001 $ b11111111111111111111111111111110 & -b11111111111111111111111111111100 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111111100 * -b11111111111111111111111111111110 + +b11111111111111111111111111111111 ' +b11111111111111111111111111111100 ( +b11111111111111111111111111111110 ) #153 b00000000000000000000000000000010 $ b11111111111111111111111111111111 & -b11111111111111111111111111111011 ' -b11111111111111111111111111111110 ) -b11111111111111111111111111111011 * -b11111111111111111111111111111111 + +b11111111111111111111111111111110 ' +b11111111111111111111111111111011 ( +b11111111111111111111111111111111 ) #154 b00000000000000000000000000000011 $ -b11111111111111111111111111111010 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111111010 * +b11111111111111111111111111111101 ' +b11111111111111111111111111111010 ( #155 b00000000000000000000000000000100 $ -b11111111111111111111111111111001 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111111001 * +b11111111111111111111111111111100 ' +b11111111111111111111111111111001 ( #156 b00000000000000000000000000000101 $ -b11111111111111111111111111111000 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111111000 * +b11111111111111111111111111111011 ' +b11111111111111111111111111111000 ( #157 b00000000000000000000000000000110 $ -b11111111111111111111111111110111 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111110111 * +b11111111111111111111111111111010 ' +b11111111111111111111111111110111 ( #158 b00000000000000000000000000000111 $ -b11111111111111111111111111110110 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111110110 * +b11111111111111111111111111111001 ' +b11111111111111111111111111110110 ( #159 b00000000000000000000000000001000 $ -b11111111111111111111111111110101 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111110101 * +b11111111111111111111111111111000 ' +b11111111111111111111111111110101 ( #160 b00000000000000000000000000001001 $ -b11111111111111111111111111110100 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111110100 * +b11111111111111111111111111110111 ' +b11111111111111111111111111110100 ( #161 b11111111111111111111111111111110 # b11111111111111111111111111110110 $ -b00000000000000000000000000001000 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000001000 * +b00000000000000000000000000001010 ' +b00000000000000000000000000001000 ( #162 b11111111111111111111111111110111 $ -b00000000000000000000000000000111 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000000111 * +b00000000000000000000000000001001 ' +b00000000000000000000000000000111 ( #163 b11111111111111111111111111111000 $ -b00000000000000000000000000000110 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000000110 * +b00000000000000000000000000001000 ' +b00000000000000000000000000000110 ( #164 b11111111111111111111111111111001 $ -b00000000000000000000000000000101 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000000101 * +b00000000000000000000000000000111 ' +b00000000000000000000000000000101 ( #165 b11111111111111111111111111111010 $ -b00000000000000000000000000000100 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000000100 * +b00000000000000000000000000000110 ' +b00000000000000000000000000000100 ( #166 b11111111111111111111111111111011 $ -b00000000000000000000000000000011 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000000011 * +b00000000000000000000000000000101 ' +b00000000000000000000000000000011 ( #167 b11111111111111111111111111111100 $ -b00000000000000000000000000000010 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000000010 * +b00000000000000000000000000000100 ' +b00000000000000000000000000000010 ( #168 b11111111111111111111111111111101 $ -b00000000000000000000000000000001 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000000001 * +b00000000000000000000000000000011 ' +b00000000000000000000000000000001 ( #169 b11111111111111111111111111111110 $ -b00000000000000000000000000000000 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000000000 * +b00000000000000000000000000000010 ' +b00000000000000000000000000000000 ( #170 b11111111111111111111111111111111 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000000001 ) -b11111111111111111111111111111111 * +b00000000000000000000000000000001 ' +b11111111111111111111111111111111 ( #171 b00000000000000000000000000000000 $ b11111111111111111111111111111110 & -b11111111111111111111111111111110 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111111110 * -b11111111111111111111111111111110 + +b00000000000000000000000000000000 ' +b11111111111111111111111111111110 ( +b11111111111111111111111111111110 ) #172 b00000000000000000000000000000001 $ b11111111111111111111111111111111 & -b11111111111111111111111111111101 ' +b11111111111111111111111111111111 ' +b11111111111111111111111111111101 ( b11111111111111111111111111111111 ) -b11111111111111111111111111111101 * -b11111111111111111111111111111111 + #173 b00000000000000000000000000000010 $ -b11111111111111111111111111111100 ' -b11111111111111111111111111111110 ) -b11111111111111111111111111111100 * +b11111111111111111111111111111110 ' +b11111111111111111111111111111100 ( #174 b00000000000000000000000000000011 $ -b11111111111111111111111111111011 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111111011 * +b11111111111111111111111111111101 ' +b11111111111111111111111111111011 ( #175 b00000000000000000000000000000100 $ -b11111111111111111111111111111010 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111111010 * +b11111111111111111111111111111100 ' +b11111111111111111111111111111010 ( #176 b00000000000000000000000000000101 $ -b11111111111111111111111111111001 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111111001 * +b11111111111111111111111111111011 ' +b11111111111111111111111111111001 ( #177 b00000000000000000000000000000110 $ -b11111111111111111111111111111000 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111111000 * +b11111111111111111111111111111010 ' +b11111111111111111111111111111000 ( #178 b00000000000000000000000000000111 $ -b11111111111111111111111111110111 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111110111 * +b11111111111111111111111111111001 ' +b11111111111111111111111111110111 ( #179 b00000000000000000000000000001000 $ -b11111111111111111111111111110110 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111110110 * +b11111111111111111111111111111000 ' +b11111111111111111111111111110110 ( #180 b00000000000000000000000000001001 $ -b11111111111111111111111111110101 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111110101 * +b11111111111111111111111111110111 ' +b11111111111111111111111111110101 ( #181 b11111111111111111111111111111111 # b11111111111111111111111111110110 $ -b00000000000000000000000000001001 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000001001 * +b00000000000000000000000000001010 ' +b00000000000000000000000000001001 ( #182 b11111111111111111111111111110111 $ -b00000000000000000000000000001000 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000001000 * +b00000000000000000000000000001001 ' +b00000000000000000000000000001000 ( #183 b11111111111111111111111111111000 $ -b00000000000000000000000000000111 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000000111 * +b00000000000000000000000000001000 ' +b00000000000000000000000000000111 ( #184 b11111111111111111111111111111001 $ -b00000000000000000000000000000110 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000000110 * +b00000000000000000000000000000111 ' +b00000000000000000000000000000110 ( #185 b11111111111111111111111111111010 $ -b00000000000000000000000000000101 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000000101 * +b00000000000000000000000000000110 ' +b00000000000000000000000000000101 ( #186 b11111111111111111111111111111011 $ -b00000000000000000000000000000100 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000000100 * +b00000000000000000000000000000101 ' +b00000000000000000000000000000100 ( #187 b11111111111111111111111111111100 $ -b00000000000000000000000000000011 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000000011 * +b00000000000000000000000000000100 ' +b00000000000000000000000000000011 ( #188 b11111111111111111111111111111101 $ -b00000000000000000000000000000010 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000000010 * +b00000000000000000000000000000011 ' +b00000000000000000000000000000010 ( #189 b11111111111111111111111111111110 $ -b00000000000000000000000000000001 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000000001 * +b00000000000000000000000000000010 ' +b00000000000000000000000000000001 ( #190 b11111111111111111111111111111111 $ -b00000000000000000000000000000000 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000000000 * +b00000000000000000000000000000001 ' +b00000000000000000000000000000000 ( #191 b00000000000000000000000000000000 $ -b11111111111111111111111111111111 ' -b00000000000000000000000000000000 ) -b11111111111111111111111111111111 * +b00000000000000000000000000000000 ' +b11111111111111111111111111111111 ( #192 b00000000000000000000000000000001 $ -b11111111111111111111111111111110 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111111110 * +b11111111111111111111111111111111 ' +b11111111111111111111111111111110 ( #193 b00000000000000000000000000000010 $ -b11111111111111111111111111111101 ' -b11111111111111111111111111111110 ) -b11111111111111111111111111111101 * +b11111111111111111111111111111110 ' +b11111111111111111111111111111101 ( #194 b00000000000000000000000000000011 $ -b11111111111111111111111111111100 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111111100 * +b11111111111111111111111111111101 ' +b11111111111111111111111111111100 ( #195 b00000000000000000000000000000100 $ -b11111111111111111111111111111011 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111111011 * +b11111111111111111111111111111100 ' +b11111111111111111111111111111011 ( #196 b00000000000000000000000000000101 $ -b11111111111111111111111111111010 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111111010 * +b11111111111111111111111111111011 ' +b11111111111111111111111111111010 ( #197 b00000000000000000000000000000110 $ -b11111111111111111111111111111001 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111111001 * +b11111111111111111111111111111010 ' +b11111111111111111111111111111001 ( #198 b00000000000000000000000000000111 $ -b11111111111111111111111111111000 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111111000 * +b11111111111111111111111111111001 ' +b11111111111111111111111111111000 ( #199 b00000000000000000000000000001000 $ -b11111111111111111111111111110111 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111110111 * +b11111111111111111111111111111000 ' +b11111111111111111111111111110111 ( #200 b00000000000000000000000000001001 $ -b11111111111111111111111111110110 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111110110 * +b11111111111111111111111111110111 ' +b11111111111111111111111111110110 ( #201 b00000000000000000000000000000000 # b11111111111111111111111111110110 $ b00000000000000000000000000001010 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000001010 * +b00000000000000000000000000001010 ( #202 b11111111111111111111111111110111 $ b00000000000000000000000000001001 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000001001 * +b00000000000000000000000000001001 ( #203 b11111111111111111111111111111000 $ b00000000000000000000000000001000 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000001000 * +b00000000000000000000000000001000 ( #204 b11111111111111111111111111111001 $ b00000000000000000000000000000111 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000000111 * +b00000000000000000000000000000111 ( #205 b11111111111111111111111111111010 $ b00000000000000000000000000000110 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000000110 * +b00000000000000000000000000000110 ( #206 b11111111111111111111111111111011 $ b00000000000000000000000000000101 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000000101 * +b00000000000000000000000000000101 ( #207 b11111111111111111111111111111100 $ b00000000000000000000000000000100 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000000100 * +b00000000000000000000000000000100 ( #208 b11111111111111111111111111111101 $ b00000000000000000000000000000011 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000000011 * +b00000000000000000000000000000011 ( #209 b11111111111111111111111111111110 $ b00000000000000000000000000000010 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000000010 * +b00000000000000000000000000000010 ( #210 b11111111111111111111111111111111 $ b00000000000000000000000000000001 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000000001 * +b00000000000000000000000000000001 ( #211 b00000000000000000000000000000000 $ b10000000000000000000000000000000 & b00000000000000000000000000000000 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000000000 * -b10000000000000000000000000000000 + +b00000000000000000000000000000000 ( +b10000000000000000000000000000000 ) #212 b00000000000000000000000000000001 $ b11000000000000000000000000000000 & b11111111111111111111111111111111 ' -b11111111111111111111111111111111 ) -b11111111111111111111111111111111 * -b11000000000000000000000000000000 + +b11111111111111111111111111111111 ( +b11000000000000000000000000000000 ) #213 b00000000000000000000000000000010 $ b11100000000000000000000000000000 & b11111111111111111111111111111110 ' -b11111111111111111111111111111110 ) -b11111111111111111111111111111110 * -b11100000000000000000000000000000 + +b11111111111111111111111111111110 ( +b11100000000000000000000000000000 ) #214 b00000000000000000000000000000011 $ b11110000000000000000000000000000 & b11111111111111111111111111111101 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111111101 * -b11110000000000000000000000000000 + +b11111111111111111111111111111101 ( +b11110000000000000000000000000000 ) #215 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & b11111111111111111111111111111100 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111111100 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ( +b11111000000000000000000000000000 ) #216 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & b11111111111111111111111111111011 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111111011 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ( +b11111100000000000000000000000000 ) #217 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & b11111111111111111111111111111010 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111111010 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ( +b11111110000000000000000000000000 ) #218 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & b11111111111111111111111111111001 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111111001 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ( +b11111111000000000000000000000000 ) #219 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & b11111111111111111111111111111000 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111111000 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ( +b11111111100000000000000000000000 ) #220 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & b11111111111111111111111111110111 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111110111 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ( +b11111111110000000000000000000000 ) #221 b00000000000000000000000000000001 # b11111111111111111111111111110110 $ b11111111111111111111111111111111 & -b00000000000000000000000000001011 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000001011 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000001011 ( +b11111111111111111111111111111111 ) #222 b11111111111111111111111111110111 $ -b00000000000000000000000000001010 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000001010 * +b00000000000000000000000000001001 ' +b00000000000000000000000000001010 ( #223 b11111111111111111111111111111000 $ -b00000000000000000000000000001001 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000001001 * +b00000000000000000000000000001000 ' +b00000000000000000000000000001001 ( #224 b11111111111111111111111111111001 $ -b00000000000000000000000000001000 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000001000 * +b00000000000000000000000000000111 ' +b00000000000000000000000000001000 ( #225 b11111111111111111111111111111010 $ -b00000000000000000000000000000111 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000000111 * +b00000000000000000000000000000110 ' +b00000000000000000000000000000111 ( #226 b11111111111111111111111111111011 $ -b00000000000000000000000000000110 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000000110 * +b00000000000000000000000000000101 ' +b00000000000000000000000000000110 ( #227 b11111111111111111111111111111100 $ -b00000000000000000000000000000101 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000000101 * +b00000000000000000000000000000100 ' +b00000000000000000000000000000101 ( #228 b11111111111111111111111111111101 $ -b00000000000000000000000000000100 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000000100 * +b00000000000000000000000000000011 ' +b00000000000000000000000000000100 ( #229 b11111111111111111111111111111110 $ -b00000000000000000000000000000011 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000000011 * +b00000000000000000000000000000010 ' +b00000000000000000000000000000011 ( #230 b11111111111111111111111111111111 $ -b00000000000000000000000000000010 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000000010 * +b00000000000000000000000000000001 ' +b00000000000000000000000000000010 ( #231 b00000000000000000000000000000000 $ b10000000000000000000000000000001 & -b00000000000000000000000000000001 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000000001 * -b10000000000000000000000000000001 + +b00000000000000000000000000000000 ' +b00000000000000000000000000000001 ( +b10000000000000000000000000000001 ) #232 b00000000000000000000000000000001 $ b11000000000000000000000000000000 & -b00000000000000000000000000000000 ' -b11111111111111111111111111111111 ) -b00000000000000000000000000000000 * -b11000000000000000000000000000000 + +b11111111111111111111111111111111 ' +b00000000000000000000000000000000 ( +b11000000000000000000000000000000 ) #233 b00000000000000000000000000000010 $ b11100000000000000000000000000000 & -b11111111111111111111111111111111 ' -b11111111111111111111111111111110 ) -b11111111111111111111111111111111 * -b11100000000000000000000000000000 + +b11111111111111111111111111111110 ' +b11111111111111111111111111111111 ( +b11100000000000000000000000000000 ) #234 b00000000000000000000000000000011 $ b11110000000000000000000000000000 & -b11111111111111111111111111111110 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111111110 * -b11110000000000000000000000000000 + +b11111111111111111111111111111101 ' +b11111111111111111111111111111110 ( +b11110000000000000000000000000000 ) #235 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & -b11111111111111111111111111111101 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111111101 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ' +b11111111111111111111111111111101 ( +b11111000000000000000000000000000 ) #236 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & -b11111111111111111111111111111100 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111111100 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ' +b11111111111111111111111111111100 ( +b11111100000000000000000000000000 ) #237 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & -b11111111111111111111111111111011 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111111011 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ' +b11111111111111111111111111111011 ( +b11111110000000000000000000000000 ) #238 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & -b11111111111111111111111111111010 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111111010 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ' +b11111111111111111111111111111010 ( +b11111111000000000000000000000000 ) #239 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & -b11111111111111111111111111111001 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111111001 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ' +b11111111111111111111111111111001 ( +b11111111100000000000000000000000 ) #240 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & -b11111111111111111111111111111000 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111111000 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ' +b11111111111111111111111111111000 ( +b11111111110000000000000000000000 ) #241 b00000000000000000000000000000010 # b11111111111111111111111111110110 $ b11111111111111111111111111111111 & -b00000000000000000000000000001100 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000001100 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000001100 ( +b11111111111111111111111111111111 ) #242 b11111111111111111111111111110111 $ -b00000000000000000000000000001011 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000001011 * +b00000000000000000000000000001001 ' +b00000000000000000000000000001011 ( #243 b11111111111111111111111111111000 $ -b00000000000000000000000000001010 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000001010 * +b00000000000000000000000000001000 ' +b00000000000000000000000000001010 ( #244 b11111111111111111111111111111001 $ -b00000000000000000000000000001001 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000001001 * +b00000000000000000000000000000111 ' +b00000000000000000000000000001001 ( #245 b11111111111111111111111111111010 $ -b00000000000000000000000000001000 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000001000 * +b00000000000000000000000000000110 ' +b00000000000000000000000000001000 ( #246 b11111111111111111111111111111011 $ -b00000000000000000000000000000111 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000000111 * +b00000000000000000000000000000101 ' +b00000000000000000000000000000111 ( #247 b11111111111111111111111111111100 $ -b00000000000000000000000000000110 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000000110 * +b00000000000000000000000000000100 ' +b00000000000000000000000000000110 ( #248 b11111111111111111111111111111101 $ -b00000000000000000000000000000101 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000000101 * +b00000000000000000000000000000011 ' +b00000000000000000000000000000101 ( #249 b11111111111111111111111111111110 $ -b00000000000000000000000000000100 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000000100 * +b00000000000000000000000000000010 ' +b00000000000000000000000000000100 ( #250 b11111111111111111111111111111111 $ -b00000000000000000000000000000011 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000000011 * +b00000000000000000000000000000001 ' +b00000000000000000000000000000011 ( #251 b00000000000000000000000000000000 $ b10000000000000000000000000000010 & -b00000000000000000000000000000010 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000000010 * -b10000000000000000000000000000010 + +b00000000000000000000000000000000 ' +b00000000000000000000000000000010 ( +b10000000000000000000000000000010 ) #252 b00000000000000000000000000000001 $ b11000000000000000000000000000001 & -b00000000000000000000000000000001 ' -b11111111111111111111111111111111 ) -b00000000000000000000000000000001 * -b11000000000000000000000000000001 + +b11111111111111111111111111111111 ' +b00000000000000000000000000000001 ( +b11000000000000000000000000000001 ) #253 b00000000000000000000000000000010 $ b11100000000000000000000000000000 & -b00000000000000000000000000000000 ' -b11111111111111111111111111111110 ) -b00000000000000000000000000000000 * -b11100000000000000000000000000000 + +b11111111111111111111111111111110 ' +b00000000000000000000000000000000 ( +b11100000000000000000000000000000 ) #254 b00000000000000000000000000000011 $ b11110000000000000000000000000000 & -b11111111111111111111111111111111 ' -b11111111111111111111111111111101 ) -b11111111111111111111111111111111 * -b11110000000000000000000000000000 + +b11111111111111111111111111111101 ' +b11111111111111111111111111111111 ( +b11110000000000000000000000000000 ) #255 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & -b11111111111111111111111111111110 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111111110 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ' +b11111111111111111111111111111110 ( +b11111000000000000000000000000000 ) #256 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & -b11111111111111111111111111111101 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111111101 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ' +b11111111111111111111111111111101 ( +b11111100000000000000000000000000 ) #257 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & -b11111111111111111111111111111100 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111111100 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ' +b11111111111111111111111111111100 ( +b11111110000000000000000000000000 ) #258 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & -b11111111111111111111111111111011 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111111011 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ' +b11111111111111111111111111111011 ( +b11111111000000000000000000000000 ) #259 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & -b11111111111111111111111111111010 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111111010 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ' +b11111111111111111111111111111010 ( +b11111111100000000000000000000000 ) #260 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & -b11111111111111111111111111111001 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111111001 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ' +b11111111111111111111111111111001 ( +b11111111110000000000000000000000 ) #261 b00000000000000000000000000000011 # b11111111111111111111111111110110 $ b11111111111111111111111111111111 & -b00000000000000000000000000001101 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000001101 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000001101 ( +b11111111111111111111111111111111 ) #262 b11111111111111111111111111110111 $ -b00000000000000000000000000001100 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000001100 * +b00000000000000000000000000001001 ' +b00000000000000000000000000001100 ( #263 b11111111111111111111111111111000 $ -b00000000000000000000000000001011 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000001011 * +b00000000000000000000000000001000 ' +b00000000000000000000000000001011 ( #264 b11111111111111111111111111111001 $ -b00000000000000000000000000001010 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000001010 * +b00000000000000000000000000000111 ' +b00000000000000000000000000001010 ( #265 b11111111111111111111111111111010 $ -b00000000000000000000000000001001 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000001001 * +b00000000000000000000000000000110 ' +b00000000000000000000000000001001 ( #266 b11111111111111111111111111111011 $ -b00000000000000000000000000001000 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000001000 * +b00000000000000000000000000000101 ' +b00000000000000000000000000001000 ( #267 b11111111111111111111111111111100 $ -b00000000000000000000000000000111 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000000111 * +b00000000000000000000000000000100 ' +b00000000000000000000000000000111 ( #268 b11111111111111111111111111111101 $ -b00000000000000000000000000000110 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000000110 * +b00000000000000000000000000000011 ' +b00000000000000000000000000000110 ( #269 b11111111111111111111111111111110 $ -b00000000000000000000000000000101 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000000101 * +b00000000000000000000000000000010 ' +b00000000000000000000000000000101 ( #270 b11111111111111111111111111111111 $ -b00000000000000000000000000000100 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000000100 * +b00000000000000000000000000000001 ' +b00000000000000000000000000000100 ( #271 b00000000000000000000000000000000 $ b10000000000000000000000000000011 & -b00000000000000000000000000000011 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000000011 * -b10000000000000000000000000000011 + +b00000000000000000000000000000000 ' +b00000000000000000000000000000011 ( +b10000000000000000000000000000011 ) #272 b00000000000000000000000000000001 $ b11000000000000000000000000000001 & -b00000000000000000000000000000010 ' -b11111111111111111111111111111111 ) -b00000000000000000000000000000010 * -b11000000000000000000000000000001 + +b11111111111111111111111111111111 ' +b00000000000000000000000000000010 ( +b11000000000000000000000000000001 ) #273 b00000000000000000000000000000010 $ b11100000000000000000000000000000 & -b00000000000000000000000000000001 ' -b11111111111111111111111111111110 ) -b00000000000000000000000000000001 * -b11100000000000000000000000000000 + +b11111111111111111111111111111110 ' +b00000000000000000000000000000001 ( +b11100000000000000000000000000000 ) #274 b00000000000000000000000000000011 $ b11110000000000000000000000000000 & -b00000000000000000000000000000000 ' -b11111111111111111111111111111101 ) -b00000000000000000000000000000000 * -b11110000000000000000000000000000 + +b11111111111111111111111111111101 ' +b00000000000000000000000000000000 ( +b11110000000000000000000000000000 ) #275 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & -b11111111111111111111111111111111 ' -b11111111111111111111111111111100 ) -b11111111111111111111111111111111 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ' +b11111111111111111111111111111111 ( +b11111000000000000000000000000000 ) #276 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & -b11111111111111111111111111111110 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111111110 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ' +b11111111111111111111111111111110 ( +b11111100000000000000000000000000 ) #277 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & -b11111111111111111111111111111101 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111111101 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ' +b11111111111111111111111111111101 ( +b11111110000000000000000000000000 ) #278 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & -b11111111111111111111111111111100 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111111100 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ' +b11111111111111111111111111111100 ( +b11111111000000000000000000000000 ) #279 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & -b11111111111111111111111111111011 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111111011 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ' +b11111111111111111111111111111011 ( +b11111111100000000000000000000000 ) #280 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & -b11111111111111111111111111111010 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111111010 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ' +b11111111111111111111111111111010 ( +b11111111110000000000000000000000 ) #281 b00000000000000000000000000000100 # b11111111111111111111111111110110 $ b11111111111111111111111111111111 & -b00000000000000000000000000001110 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000001110 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000001110 ( +b11111111111111111111111111111111 ) #282 b11111111111111111111111111110111 $ -b00000000000000000000000000001101 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000001101 * +b00000000000000000000000000001001 ' +b00000000000000000000000000001101 ( #283 b11111111111111111111111111111000 $ -b00000000000000000000000000001100 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000001100 * +b00000000000000000000000000001000 ' +b00000000000000000000000000001100 ( #284 b11111111111111111111111111111001 $ -b00000000000000000000000000001011 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000001011 * +b00000000000000000000000000000111 ' +b00000000000000000000000000001011 ( #285 b11111111111111111111111111111010 $ -b00000000000000000000000000001010 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000001010 * +b00000000000000000000000000000110 ' +b00000000000000000000000000001010 ( #286 b11111111111111111111111111111011 $ -b00000000000000000000000000001001 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000001001 * +b00000000000000000000000000000101 ' +b00000000000000000000000000001001 ( #287 b11111111111111111111111111111100 $ -b00000000000000000000000000001000 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000001000 * +b00000000000000000000000000000100 ' +b00000000000000000000000000001000 ( #288 b11111111111111111111111111111101 $ -b00000000000000000000000000000111 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000000111 * +b00000000000000000000000000000011 ' +b00000000000000000000000000000111 ( #289 b11111111111111111111111111111110 $ -b00000000000000000000000000000110 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000000110 * +b00000000000000000000000000000010 ' +b00000000000000000000000000000110 ( #290 b11111111111111111111111111111111 $ -b00000000000000000000000000000101 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000000101 * +b00000000000000000000000000000001 ' +b00000000000000000000000000000101 ( #291 b00000000000000000000000000000000 $ b10000000000000000000000000000100 & -b00000000000000000000000000000100 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000000100 * -b10000000000000000000000000000100 + +b00000000000000000000000000000000 ' +b00000000000000000000000000000100 ( +b10000000000000000000000000000100 ) #292 b00000000000000000000000000000001 $ b11000000000000000000000000000010 & -b00000000000000000000000000000011 ' -b11111111111111111111111111111111 ) -b00000000000000000000000000000011 * -b11000000000000000000000000000010 + +b11111111111111111111111111111111 ' +b00000000000000000000000000000011 ( +b11000000000000000000000000000010 ) #293 b00000000000000000000000000000010 $ b11100000000000000000000000000001 & -b00000000000000000000000000000010 ' -b11111111111111111111111111111110 ) -b00000000000000000000000000000010 * -b11100000000000000000000000000001 + +b11111111111111111111111111111110 ' +b00000000000000000000000000000010 ( +b11100000000000000000000000000001 ) #294 b00000000000000000000000000000011 $ b11110000000000000000000000000000 & -b00000000000000000000000000000001 ' -b11111111111111111111111111111101 ) -b00000000000000000000000000000001 * -b11110000000000000000000000000000 + +b11111111111111111111111111111101 ' +b00000000000000000000000000000001 ( +b11110000000000000000000000000000 ) #295 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & -b00000000000000000000000000000000 ' -b11111111111111111111111111111100 ) -b00000000000000000000000000000000 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ' +b00000000000000000000000000000000 ( +b11111000000000000000000000000000 ) #296 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & -b11111111111111111111111111111111 ' -b11111111111111111111111111111011 ) -b11111111111111111111111111111111 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ' +b11111111111111111111111111111111 ( +b11111100000000000000000000000000 ) #297 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & -b11111111111111111111111111111110 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111111110 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ' +b11111111111111111111111111111110 ( +b11111110000000000000000000000000 ) #298 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & -b11111111111111111111111111111101 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111111101 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ' +b11111111111111111111111111111101 ( +b11111111000000000000000000000000 ) #299 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & -b11111111111111111111111111111100 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111111100 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ' +b11111111111111111111111111111100 ( +b11111111100000000000000000000000 ) #300 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & -b11111111111111111111111111111011 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111111011 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ' +b11111111111111111111111111111011 ( +b11111111110000000000000000000000 ) #301 b00000000000000000000000000000101 # b11111111111111111111111111110110 $ b11111111111111111111111111111111 & -b00000000000000000000000000001111 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000001111 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000001111 ( +b11111111111111111111111111111111 ) #302 b11111111111111111111111111110111 $ -b00000000000000000000000000001110 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000001110 * +b00000000000000000000000000001001 ' +b00000000000000000000000000001110 ( #303 b11111111111111111111111111111000 $ -b00000000000000000000000000001101 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000001101 * +b00000000000000000000000000001000 ' +b00000000000000000000000000001101 ( #304 b11111111111111111111111111111001 $ -b00000000000000000000000000001100 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000001100 * +b00000000000000000000000000000111 ' +b00000000000000000000000000001100 ( #305 b11111111111111111111111111111010 $ -b00000000000000000000000000001011 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000001011 * +b00000000000000000000000000000110 ' +b00000000000000000000000000001011 ( #306 b11111111111111111111111111111011 $ -b00000000000000000000000000001010 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000001010 * +b00000000000000000000000000000101 ' +b00000000000000000000000000001010 ( #307 b11111111111111111111111111111100 $ -b00000000000000000000000000001001 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000001001 * +b00000000000000000000000000000100 ' +b00000000000000000000000000001001 ( #308 b11111111111111111111111111111101 $ -b00000000000000000000000000001000 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000001000 * +b00000000000000000000000000000011 ' +b00000000000000000000000000001000 ( #309 b11111111111111111111111111111110 $ -b00000000000000000000000000000111 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000000111 * +b00000000000000000000000000000010 ' +b00000000000000000000000000000111 ( #310 b11111111111111111111111111111111 $ -b00000000000000000000000000000110 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000000110 * +b00000000000000000000000000000001 ' +b00000000000000000000000000000110 ( #311 b00000000000000000000000000000000 $ b10000000000000000000000000000101 & -b00000000000000000000000000000101 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000000101 * -b10000000000000000000000000000101 + +b00000000000000000000000000000000 ' +b00000000000000000000000000000101 ( +b10000000000000000000000000000101 ) #312 b00000000000000000000000000000001 $ b11000000000000000000000000000010 & -b00000000000000000000000000000100 ' -b11111111111111111111111111111111 ) -b00000000000000000000000000000100 * -b11000000000000000000000000000010 + +b11111111111111111111111111111111 ' +b00000000000000000000000000000100 ( +b11000000000000000000000000000010 ) #313 b00000000000000000000000000000010 $ b11100000000000000000000000000001 & -b00000000000000000000000000000011 ' -b11111111111111111111111111111110 ) -b00000000000000000000000000000011 * -b11100000000000000000000000000001 + +b11111111111111111111111111111110 ' +b00000000000000000000000000000011 ( +b11100000000000000000000000000001 ) #314 b00000000000000000000000000000011 $ b11110000000000000000000000000000 & -b00000000000000000000000000000010 ' -b11111111111111111111111111111101 ) -b00000000000000000000000000000010 * -b11110000000000000000000000000000 + +b11111111111111111111111111111101 ' +b00000000000000000000000000000010 ( +b11110000000000000000000000000000 ) #315 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & -b00000000000000000000000000000001 ' -b11111111111111111111111111111100 ) -b00000000000000000000000000000001 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ' +b00000000000000000000000000000001 ( +b11111000000000000000000000000000 ) #316 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & -b00000000000000000000000000000000 ' -b11111111111111111111111111111011 ) -b00000000000000000000000000000000 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ' +b00000000000000000000000000000000 ( +b11111100000000000000000000000000 ) #317 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & -b11111111111111111111111111111111 ' -b11111111111111111111111111111010 ) -b11111111111111111111111111111111 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ' +b11111111111111111111111111111111 ( +b11111110000000000000000000000000 ) #318 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & -b11111111111111111111111111111110 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111111110 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ' +b11111111111111111111111111111110 ( +b11111111000000000000000000000000 ) #319 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & -b11111111111111111111111111111101 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111111101 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ' +b11111111111111111111111111111101 ( +b11111111100000000000000000000000 ) #320 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & -b11111111111111111111111111111100 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111111100 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ' +b11111111111111111111111111111100 ( +b11111111110000000000000000000000 ) #321 b00000000000000000000000000000110 # b11111111111111111111111111110110 $ b11111111111111111111111111111111 & -b00000000000000000000000000010000 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000010000 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000010000 ( +b11111111111111111111111111111111 ) #322 b11111111111111111111111111110111 $ -b00000000000000000000000000001111 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000001111 * +b00000000000000000000000000001001 ' +b00000000000000000000000000001111 ( #323 b11111111111111111111111111111000 $ -b00000000000000000000000000001110 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000001110 * +b00000000000000000000000000001000 ' +b00000000000000000000000000001110 ( #324 b11111111111111111111111111111001 $ -b00000000000000000000000000001101 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000001101 * +b00000000000000000000000000000111 ' +b00000000000000000000000000001101 ( #325 b11111111111111111111111111111010 $ -b00000000000000000000000000001100 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000001100 * +b00000000000000000000000000000110 ' +b00000000000000000000000000001100 ( #326 b11111111111111111111111111111011 $ -b00000000000000000000000000001011 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000001011 * +b00000000000000000000000000000101 ' +b00000000000000000000000000001011 ( #327 b11111111111111111111111111111100 $ -b00000000000000000000000000001010 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000001010 * +b00000000000000000000000000000100 ' +b00000000000000000000000000001010 ( #328 b11111111111111111111111111111101 $ -b00000000000000000000000000001001 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000001001 * +b00000000000000000000000000000011 ' +b00000000000000000000000000001001 ( #329 b11111111111111111111111111111110 $ -b00000000000000000000000000001000 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000001000 * +b00000000000000000000000000000010 ' +b00000000000000000000000000001000 ( #330 b11111111111111111111111111111111 $ -b00000000000000000000000000000111 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000000111 * +b00000000000000000000000000000001 ' +b00000000000000000000000000000111 ( #331 b00000000000000000000000000000000 $ b10000000000000000000000000000110 & -b00000000000000000000000000000110 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000000110 * -b10000000000000000000000000000110 + +b00000000000000000000000000000000 ' +b00000000000000000000000000000110 ( +b10000000000000000000000000000110 ) #332 b00000000000000000000000000000001 $ b11000000000000000000000000000011 & -b00000000000000000000000000000101 ' -b11111111111111111111111111111111 ) -b00000000000000000000000000000101 * -b11000000000000000000000000000011 + +b11111111111111111111111111111111 ' +b00000000000000000000000000000101 ( +b11000000000000000000000000000011 ) #333 b00000000000000000000000000000010 $ b11100000000000000000000000000001 & -b00000000000000000000000000000100 ' -b11111111111111111111111111111110 ) -b00000000000000000000000000000100 * -b11100000000000000000000000000001 + +b11111111111111111111111111111110 ' +b00000000000000000000000000000100 ( +b11100000000000000000000000000001 ) #334 b00000000000000000000000000000011 $ b11110000000000000000000000000000 & -b00000000000000000000000000000011 ' -b11111111111111111111111111111101 ) -b00000000000000000000000000000011 * -b11110000000000000000000000000000 + +b11111111111111111111111111111101 ' +b00000000000000000000000000000011 ( +b11110000000000000000000000000000 ) #335 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & -b00000000000000000000000000000010 ' -b11111111111111111111111111111100 ) -b00000000000000000000000000000010 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ' +b00000000000000000000000000000010 ( +b11111000000000000000000000000000 ) #336 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & -b00000000000000000000000000000001 ' -b11111111111111111111111111111011 ) -b00000000000000000000000000000001 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ' +b00000000000000000000000000000001 ( +b11111100000000000000000000000000 ) #337 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & -b00000000000000000000000000000000 ' -b11111111111111111111111111111010 ) -b00000000000000000000000000000000 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ' +b00000000000000000000000000000000 ( +b11111110000000000000000000000000 ) #338 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & -b11111111111111111111111111111111 ' -b11111111111111111111111111111001 ) -b11111111111111111111111111111111 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ' +b11111111111111111111111111111111 ( +b11111111000000000000000000000000 ) #339 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & -b11111111111111111111111111111110 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111111110 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ' +b11111111111111111111111111111110 ( +b11111111100000000000000000000000 ) #340 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & -b11111111111111111111111111111101 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111111101 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ' +b11111111111111111111111111111101 ( +b11111111110000000000000000000000 ) #341 b00000000000000000000000000000111 # b11111111111111111111111111110110 $ b11111111111111111111111111111111 & -b00000000000000000000000000010001 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000010001 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000010001 ( +b11111111111111111111111111111111 ) #342 b11111111111111111111111111110111 $ -b00000000000000000000000000010000 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000010000 * +b00000000000000000000000000001001 ' +b00000000000000000000000000010000 ( #343 b11111111111111111111111111111000 $ -b00000000000000000000000000001111 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000001111 * +b00000000000000000000000000001000 ' +b00000000000000000000000000001111 ( #344 b11111111111111111111111111111001 $ -b00000000000000000000000000001110 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000001110 * +b00000000000000000000000000000111 ' +b00000000000000000000000000001110 ( #345 b11111111111111111111111111111010 $ -b00000000000000000000000000001101 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000001101 * +b00000000000000000000000000000110 ' +b00000000000000000000000000001101 ( #346 b11111111111111111111111111111011 $ -b00000000000000000000000000001100 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000001100 * +b00000000000000000000000000000101 ' +b00000000000000000000000000001100 ( #347 b11111111111111111111111111111100 $ -b00000000000000000000000000001011 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000001011 * +b00000000000000000000000000000100 ' +b00000000000000000000000000001011 ( #348 b11111111111111111111111111111101 $ -b00000000000000000000000000001010 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000001010 * +b00000000000000000000000000000011 ' +b00000000000000000000000000001010 ( #349 b11111111111111111111111111111110 $ -b00000000000000000000000000001001 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000001001 * +b00000000000000000000000000000010 ' +b00000000000000000000000000001001 ( #350 b11111111111111111111111111111111 $ -b00000000000000000000000000001000 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000001000 * +b00000000000000000000000000000001 ' +b00000000000000000000000000001000 ( #351 b00000000000000000000000000000000 $ b10000000000000000000000000000111 & -b00000000000000000000000000000111 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000000111 * -b10000000000000000000000000000111 + +b00000000000000000000000000000000 ' +b00000000000000000000000000000111 ( +b10000000000000000000000000000111 ) #352 b00000000000000000000000000000001 $ b11000000000000000000000000000011 & -b00000000000000000000000000000110 ' -b11111111111111111111111111111111 ) -b00000000000000000000000000000110 * -b11000000000000000000000000000011 + +b11111111111111111111111111111111 ' +b00000000000000000000000000000110 ( +b11000000000000000000000000000011 ) #353 b00000000000000000000000000000010 $ b11100000000000000000000000000001 & -b00000000000000000000000000000101 ' -b11111111111111111111111111111110 ) -b00000000000000000000000000000101 * -b11100000000000000000000000000001 + +b11111111111111111111111111111110 ' +b00000000000000000000000000000101 ( +b11100000000000000000000000000001 ) #354 b00000000000000000000000000000011 $ b11110000000000000000000000000000 & -b00000000000000000000000000000100 ' -b11111111111111111111111111111101 ) -b00000000000000000000000000000100 * -b11110000000000000000000000000000 + +b11111111111111111111111111111101 ' +b00000000000000000000000000000100 ( +b11110000000000000000000000000000 ) #355 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & -b00000000000000000000000000000011 ' -b11111111111111111111111111111100 ) -b00000000000000000000000000000011 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ' +b00000000000000000000000000000011 ( +b11111000000000000000000000000000 ) #356 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & -b00000000000000000000000000000010 ' -b11111111111111111111111111111011 ) -b00000000000000000000000000000010 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ' +b00000000000000000000000000000010 ( +b11111100000000000000000000000000 ) #357 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & -b00000000000000000000000000000001 ' -b11111111111111111111111111111010 ) -b00000000000000000000000000000001 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ' +b00000000000000000000000000000001 ( +b11111110000000000000000000000000 ) #358 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & -b00000000000000000000000000000000 ' -b11111111111111111111111111111001 ) -b00000000000000000000000000000000 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ' +b00000000000000000000000000000000 ( +b11111111000000000000000000000000 ) #359 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & -b11111111111111111111111111111111 ' -b11111111111111111111111111111000 ) -b11111111111111111111111111111111 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ' +b11111111111111111111111111111111 ( +b11111111100000000000000000000000 ) #360 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & -b11111111111111111111111111111110 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111111110 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ' +b11111111111111111111111111111110 ( +b11111111110000000000000000000000 ) #361 b00000000000000000000000000001000 # b11111111111111111111111111110110 $ b11111111111111111111111111111111 & -b00000000000000000000000000010010 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000010010 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000010010 ( +b11111111111111111111111111111111 ) #362 b11111111111111111111111111110111 $ -b00000000000000000000000000010001 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000010001 * +b00000000000000000000000000001001 ' +b00000000000000000000000000010001 ( #363 b11111111111111111111111111111000 $ -b00000000000000000000000000010000 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000010000 * +b00000000000000000000000000001000 ' +b00000000000000000000000000010000 ( #364 b11111111111111111111111111111001 $ -b00000000000000000000000000001111 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000001111 * +b00000000000000000000000000000111 ' +b00000000000000000000000000001111 ( #365 b11111111111111111111111111111010 $ -b00000000000000000000000000001110 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000001110 * +b00000000000000000000000000000110 ' +b00000000000000000000000000001110 ( #366 b11111111111111111111111111111011 $ -b00000000000000000000000000001101 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000001101 * +b00000000000000000000000000000101 ' +b00000000000000000000000000001101 ( #367 b11111111111111111111111111111100 $ -b00000000000000000000000000001100 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000001100 * +b00000000000000000000000000000100 ' +b00000000000000000000000000001100 ( #368 b11111111111111111111111111111101 $ -b00000000000000000000000000001011 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000001011 * +b00000000000000000000000000000011 ' +b00000000000000000000000000001011 ( #369 b11111111111111111111111111111110 $ -b00000000000000000000000000001010 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000001010 * +b00000000000000000000000000000010 ' +b00000000000000000000000000001010 ( #370 b11111111111111111111111111111111 $ -b00000000000000000000000000001001 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000001001 * +b00000000000000000000000000000001 ' +b00000000000000000000000000001001 ( #371 b00000000000000000000000000000000 $ b10000000000000000000000000001000 & -b00000000000000000000000000001000 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000001000 * -b10000000000000000000000000001000 + +b00000000000000000000000000000000 ' +b00000000000000000000000000001000 ( +b10000000000000000000000000001000 ) #372 b00000000000000000000000000000001 $ b11000000000000000000000000000100 & -b00000000000000000000000000000111 ' -b11111111111111111111111111111111 ) -b00000000000000000000000000000111 * -b11000000000000000000000000000100 + +b11111111111111111111111111111111 ' +b00000000000000000000000000000111 ( +b11000000000000000000000000000100 ) #373 b00000000000000000000000000000010 $ b11100000000000000000000000000010 & -b00000000000000000000000000000110 ' -b11111111111111111111111111111110 ) -b00000000000000000000000000000110 * -b11100000000000000000000000000010 + +b11111111111111111111111111111110 ' +b00000000000000000000000000000110 ( +b11100000000000000000000000000010 ) #374 b00000000000000000000000000000011 $ b11110000000000000000000000000001 & -b00000000000000000000000000000101 ' -b11111111111111111111111111111101 ) -b00000000000000000000000000000101 * -b11110000000000000000000000000001 + +b11111111111111111111111111111101 ' +b00000000000000000000000000000101 ( +b11110000000000000000000000000001 ) #375 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & -b00000000000000000000000000000100 ' -b11111111111111111111111111111100 ) -b00000000000000000000000000000100 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ' +b00000000000000000000000000000100 ( +b11111000000000000000000000000000 ) #376 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & -b00000000000000000000000000000011 ' -b11111111111111111111111111111011 ) -b00000000000000000000000000000011 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ' +b00000000000000000000000000000011 ( +b11111100000000000000000000000000 ) #377 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & -b00000000000000000000000000000010 ' -b11111111111111111111111111111010 ) -b00000000000000000000000000000010 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ' +b00000000000000000000000000000010 ( +b11111110000000000000000000000000 ) #378 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & -b00000000000000000000000000000001 ' -b11111111111111111111111111111001 ) -b00000000000000000000000000000001 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ' +b00000000000000000000000000000001 ( +b11111111000000000000000000000000 ) #379 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & -b00000000000000000000000000000000 ' -b11111111111111111111111111111000 ) -b00000000000000000000000000000000 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ' +b00000000000000000000000000000000 ( +b11111111100000000000000000000000 ) #380 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & -b11111111111111111111111111111111 ' -b11111111111111111111111111110111 ) -b11111111111111111111111111111111 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ' +b11111111111111111111111111111111 ( +b11111111110000000000000000000000 ) #381 b00000000000000000000000000001001 # b11111111111111111111111111110110 $ b11111111111111111111111111111111 & -b00000000000000000000000000010011 ' -b00000000000000000000000000001010 ) -b00000000000000000000000000010011 * -b11111111111111111111111111111111 + +b00000000000000000000000000001010 ' +b00000000000000000000000000010011 ( +b11111111111111111111111111111111 ) #382 b11111111111111111111111111110111 $ -b00000000000000000000000000010010 ' -b00000000000000000000000000001001 ) -b00000000000000000000000000010010 * +b00000000000000000000000000001001 ' +b00000000000000000000000000010010 ( #383 b11111111111111111111111111111000 $ -b00000000000000000000000000010001 ' -b00000000000000000000000000001000 ) -b00000000000000000000000000010001 * +b00000000000000000000000000001000 ' +b00000000000000000000000000010001 ( #384 b11111111111111111111111111111001 $ -b00000000000000000000000000010000 ' -b00000000000000000000000000000111 ) -b00000000000000000000000000010000 * +b00000000000000000000000000000111 ' +b00000000000000000000000000010000 ( #385 b11111111111111111111111111111010 $ -b00000000000000000000000000001111 ' -b00000000000000000000000000000110 ) -b00000000000000000000000000001111 * +b00000000000000000000000000000110 ' +b00000000000000000000000000001111 ( #386 b11111111111111111111111111111011 $ -b00000000000000000000000000001110 ' -b00000000000000000000000000000101 ) -b00000000000000000000000000001110 * +b00000000000000000000000000000101 ' +b00000000000000000000000000001110 ( #387 b11111111111111111111111111111100 $ -b00000000000000000000000000001101 ' -b00000000000000000000000000000100 ) -b00000000000000000000000000001101 * +b00000000000000000000000000000100 ' +b00000000000000000000000000001101 ( #388 b11111111111111111111111111111101 $ -b00000000000000000000000000001100 ' -b00000000000000000000000000000011 ) -b00000000000000000000000000001100 * +b00000000000000000000000000000011 ' +b00000000000000000000000000001100 ( #389 b11111111111111111111111111111110 $ -b00000000000000000000000000001011 ' -b00000000000000000000000000000010 ) -b00000000000000000000000000001011 * +b00000000000000000000000000000010 ' +b00000000000000000000000000001011 ( #390 b11111111111111111111111111111111 $ -b00000000000000000000000000001010 ' -b00000000000000000000000000000001 ) -b00000000000000000000000000001010 * +b00000000000000000000000000000001 ' +b00000000000000000000000000001010 ( #391 b00000000000000000000000000000000 $ b10000000000000000000000000001001 & -b00000000000000000000000000001001 ' -b00000000000000000000000000000000 ) -b00000000000000000000000000001001 * -b10000000000000000000000000001001 + +b00000000000000000000000000000000 ' +b00000000000000000000000000001001 ( +b10000000000000000000000000001001 ) #392 b00000000000000000000000000000001 $ b11000000000000000000000000000100 & -b00000000000000000000000000001000 ' -b11111111111111111111111111111111 ) -b00000000000000000000000000001000 * -b11000000000000000000000000000100 + +b11111111111111111111111111111111 ' +b00000000000000000000000000001000 ( +b11000000000000000000000000000100 ) #393 b00000000000000000000000000000010 $ b11100000000000000000000000000010 & -b00000000000000000000000000000111 ' -b11111111111111111111111111111110 ) -b00000000000000000000000000000111 * -b11100000000000000000000000000010 + +b11111111111111111111111111111110 ' +b00000000000000000000000000000111 ( +b11100000000000000000000000000010 ) #394 b00000000000000000000000000000011 $ b11110000000000000000000000000001 & -b00000000000000000000000000000110 ' -b11111111111111111111111111111101 ) -b00000000000000000000000000000110 * -b11110000000000000000000000000001 + +b11111111111111111111111111111101 ' +b00000000000000000000000000000110 ( +b11110000000000000000000000000001 ) #395 b00000000000000000000000000000100 $ b11111000000000000000000000000000 & -b00000000000000000000000000000101 ' -b11111111111111111111111111111100 ) -b00000000000000000000000000000101 * -b11111000000000000000000000000000 + +b11111111111111111111111111111100 ' +b00000000000000000000000000000101 ( +b11111000000000000000000000000000 ) #396 b00000000000000000000000000000101 $ b11111100000000000000000000000000 & -b00000000000000000000000000000100 ' -b11111111111111111111111111111011 ) -b00000000000000000000000000000100 * -b11111100000000000000000000000000 + +b11111111111111111111111111111011 ' +b00000000000000000000000000000100 ( +b11111100000000000000000000000000 ) #397 b00000000000000000000000000000110 $ b11111110000000000000000000000000 & -b00000000000000000000000000000011 ' -b11111111111111111111111111111010 ) -b00000000000000000000000000000011 * -b11111110000000000000000000000000 + +b11111111111111111111111111111010 ' +b00000000000000000000000000000011 ( +b11111110000000000000000000000000 ) #398 b00000000000000000000000000000111 $ b11111111000000000000000000000000 & -b00000000000000000000000000000010 ' -b11111111111111111111111111111001 ) -b00000000000000000000000000000010 * -b11111111000000000000000000000000 + +b11111111111111111111111111111001 ' +b00000000000000000000000000000010 ( +b11111111000000000000000000000000 ) #399 b00000000000000000000000000001000 $ b11111111100000000000000000000000 & -b00000000000000000000000000000001 ' -b11111111111111111111111111111000 ) -b00000000000000000000000000000001 * -b11111111100000000000000000000000 + +b11111111111111111111111111111000 ' +b00000000000000000000000000000001 ( +b11111111100000000000000000000000 ) #400 b00000000000000000000000000001001 $ b11111111110000000000000000000000 & -b00000000000000000000000000000000 ' -b11111111111111111111111111110111 ) -b00000000000000000000000000000000 * -b11111111110000000000000000000000 + +b11111111111111111111111111110111 ' +b00000000000000000000000000000000 ( +b11111111110000000000000000000000 ) |