diff --git a/Changes b/Changes index aa4c4af90..b55fd7448 100644 --- a/Changes +++ b/Changes @@ -24,6 +24,7 @@ Verilator 5.045 devel * Add parsing of solve-before inside foreach (#6934). [Pawel Kojma, Antmicro Ltd.] * Add error when accessing a non-static class field from a static function (#6948). [Artur Bieniek, Antmicro Ltd.] * Add VerilatedContext::useNumaAssign and set on threads() call (#6954). [Yangyu Chen] +* Add coverage type information to verilator_coverage annotation output (#7131) (#7133). * Support modport expression syntax + nested (#2601) (#5581) (#7005). [Leela Pakanati] * Support nested interface as port connection (#5066) (#6986). [Leela Pakanati] * Support solve..before constraints (#5647) (#7123). [Yilou Wang] diff --git a/docs/CONTRIBUTORS b/docs/CONTRIBUTORS index 34b80c77f..5ac1958e1 100644 --- a/docs/CONTRIBUTORS +++ b/docs/CONTRIBUTORS @@ -26,6 +26,7 @@ Anthony Moore Arkadiusz Kozdra Arthur Rosa Artur Bieniek +AUDIY Aylon Chaim Porat Bartłomiej Chmiel Brian Li diff --git a/src/VlcPoint.h b/src/VlcPoint.h index 9d46d7768..7f667adce 100644 --- a/src/VlcPoint.h +++ b/src/VlcPoint.h @@ -108,7 +108,7 @@ public: void dumpAnnotate(std::ostream& os, unsigned annotateMin) const { os << (ok(annotateMin) ? "+" : "-"); os << std::setw(6) << std::setfill('0') << count(); - os << " point: comment=" << comment() << " hier=" << hier(); + os << " point: type=" << type() << " comment=" << comment() << " hier=" << hier(); os << "\n"; } }; diff --git a/test_regress/t/t_cover_expr.out b/test_regress/t/t_cover_expr.out index f973e7fbb..d82c98c8d 100644 --- a/test_regress/t/t_cover_expr.out +++ b/test_regress/t/t_cover_expr.out @@ -36,15 +36,15 @@ function automatic bit invert(bit x); %000005 return ~x; --000004 point: comment=(x==0) => 1 hier=top.t --000005 point: comment=(x==1) => 0 hier=top.t +-000004 point: type=expr comment=(x==0) => 1 hier=top.t +-000005 point: type=expr comment=(x==1) => 0 hier=top.t endfunction function automatic bit and_oper(bit a, bit b); %000005 return a & b; --000004 point: comment=(a==0) => 0 hier=top.t --000002 point: comment=(a==1 && b==1) => 1 hier=top.t --000005 point: comment=(b==0) => 0 hier=top.t +-000004 point: type=expr comment=(a==0) => 0 hier=top.t +-000002 point: type=expr comment=(a==1 && b==1) => 1 hier=top.t +-000005 point: type=expr comment=(b==0) => 0 hier=top.t endfunction localparam int NUM_INTFS = 4; @@ -57,216 +57,216 @@ always @ (posedge clk) begin cyc <= cyc + 1; %000004 if ((~cyc[0] && cyc[1]) || (~cyc[2] && cyc[3])) $write(""); --000002 point: comment=(cyc[0]==0 && cyc[1]==1) => 1 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t --000004 point: comment=(cyc[0]==1 && cyc[3]==0) => 0 hier=top.t --000002 point: comment=(cyc[1]==0 && cyc[2]==1) => 0 hier=top.t --000003 point: comment=(cyc[1]==0 && cyc[3]==0) => 0 hier=top.t --000002 point: comment=(cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==0 && cyc[1]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==1 && cyc[3]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[1]==0 && cyc[2]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[1]==0 && cyc[3]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[2]==0 && cyc[3]==1) => 1 hier=top.t %000004 if ((~cyc2[32] && cyc2[33]) || (~cyc2[34] && cyc2[35])) $write(""); --000002 point: comment=(cyc2[32]==0 && cyc2[33]==1) => 1 hier=top.t --000002 point: comment=(cyc2[32]==1 && cyc2[34]==1) => 0 hier=top.t --000004 point: comment=(cyc2[32]==1 && cyc2[35]==0) => 0 hier=top.t --000002 point: comment=(cyc2[33]==0 && cyc2[34]==1) => 0 hier=top.t --000003 point: comment=(cyc2[33]==0 && cyc2[35]==0) => 0 hier=top.t --000002 point: comment=(cyc2[34]==0 && cyc2[35]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc2[32]==0 && cyc2[33]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc2[32]==1 && cyc2[34]==1) => 0 hier=top.t +-000004 point: type=expr comment=(cyc2[32]==1 && cyc2[35]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc2[33]==0 && cyc2[34]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc2[33]==0 && cyc2[35]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc2[34]==0 && cyc2[35]==1) => 1 hier=top.t %000004 if ((~the_intfs[0].t && the_intfs[1].t) || (~the_intfs[2].t && the_intfs[3].t)) $write(""); --000002 point: comment=(the_intfs[0].t==0 && the_intfs[1].t==1) => 1 hier=top.t --000002 point: comment=(the_intfs[0].t==1 && the_intfs[2].t==1) => 0 hier=top.t --000004 point: comment=(the_intfs[0].t==1 && the_intfs[3].t==0) => 0 hier=top.t --000002 point: comment=(the_intfs[1].t==0 && the_intfs[2].t==1) => 0 hier=top.t --000003 point: comment=(the_intfs[1].t==0 && the_intfs[3].t==0) => 0 hier=top.t --000002 point: comment=(the_intfs[2].t==0 && the_intfs[3].t==1) => 1 hier=top.t +-000002 point: type=expr comment=(the_intfs[0].t==0 && the_intfs[1].t==1) => 1 hier=top.t +-000002 point: type=expr comment=(the_intfs[0].t==1 && the_intfs[2].t==1) => 0 hier=top.t +-000004 point: type=expr comment=(the_intfs[0].t==1 && the_intfs[3].t==0) => 0 hier=top.t +-000002 point: type=expr comment=(the_intfs[1].t==0 && the_intfs[2].t==1) => 0 hier=top.t +-000003 point: type=expr comment=(the_intfs[1].t==0 && the_intfs[3].t==0) => 0 hier=top.t +-000002 point: type=expr comment=(the_intfs[2].t==0 && the_intfs[3].t==1) => 1 hier=top.t %000004 if ((~t1 && t2) || (~t3 && t4)) $write(""); --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t %000005 if (t3 && (t1 == t2)) $write(""); --000005 point: comment=((t1 == t2)==0) => 0 hier=top.t --000005 point: comment=(t3==0) => 0 hier=top.t --000002 point: comment=(t3==1 && (t1 == t2)==1) => 1 hier=top.t +-000005 point: type=expr comment=((t1 == t2)==0) => 0 hier=top.t +-000005 point: type=expr comment=(t3==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==1 && (t1 == t2)==1) => 1 hier=top.t %000005 if (123 == (124 - 32'(t1 || t2))) $write(""); --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000005 point: comment=(t1==1) => 1 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==1) => 1 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t %000004 some_int <= (t2 || t3) ? 345 : 567; --000003 point: comment=(t2==0 && t3==0) => 0 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t --000004 point: comment=(t3==1) => 1 hier=top.t +-000003 point: type=expr comment=(t2==0 && t3==0) => 0 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t +-000004 point: type=expr comment=(t3==1) => 1 hier=top.t %000005 some_bool <= t1 && t2; --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if (t1 & t2) $write(""); --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000004 if ((!t1 && t2) | (~t3 && t4)) $write(""); --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t %000003 if (t1 ^ t2) $write(""); --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 0 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 0 hier=top.t %000005 if (~(t1 & t2)) $write(""); --000004 point: comment=(t1==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 0 hier=top.t --000005 point: comment=(t2==0) => 1 hier=top.t +-000004 point: type=expr comment=(t1==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 1 hier=top.t %000004 if (t1 -> t2) $write(""); --000004 point: comment=(t1==0) => 1 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 0 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t +-000004 point: type=expr comment=(t1==0) => 1 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t %000003 if (t1 <-> t2) $write(""); --000002 point: comment=(t1==0 && t2==0) => 1 hier=top.t --000002 point: comment=(t1==0 && t2==1) => 0 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 0 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t %000005 if (&cyc[2:0]) $write(""); --000004 point: comment=(cyc[2:0][0]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t --000005 point: comment=(cyc[2:0][1]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][2]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][0]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][1]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][2]==0) => 0 hier=top.t %000007 if (&cyc[3:2]) $write(""); --000005 point: comment=(cyc[3:2][0]==0) => 0 hier=top.t --000000 point: comment=(cyc[3:2][0]==1 && cyc[3:2][1]==1) => 1 hier=top.t --000007 point: comment=(cyc[3:2][1]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[3:2][0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[3:2][0]==1 && cyc[3:2][1]==1) => 1 hier=top.t +-000007 point: type=expr comment=(cyc[3:2][1]==0) => 0 hier=top.t %000005 if (|cyc[2:0]) $write(""); --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][0]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][1]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][0]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][1]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][2]==1) => 1 hier=top.t %000002 if (^cyc[2:0]) $write(""); --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 0 hier=top.t --000002 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t %000005 if (|cyc[2:0] || cyc[3]) $write(""); --000000 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0 && cyc[3]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][0]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][1]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][2]==1) => 1 hier=top.t --000002 point: comment=(cyc[3]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0 && cyc[3]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][0]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][1]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][2]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[3]==1) => 1 hier=top.t %000005 if (t1 & t2 & 1'b1) $write(""); --000000 point: comment=(1'h1==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1 && 1'h1==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=expr comment=(1'h1==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1 && 1'h1==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000009 if (t1 & t2 & 1'b0) $write(""); --000009 point: comment=(1'h0==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && 1'h0==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000009 point: type=expr comment=(1'h0==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && 1'h0==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if (t1 & t2 & ONE) $write(""); --000000 point: comment=(ONE==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1 && ONE==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=expr comment=(ONE==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1 && ONE==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000009 if (t1 & t2 & ZERO) $write(""); --000009 point: comment=(ZERO==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && ZERO==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000009 point: type=expr comment=(ZERO==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && ZERO==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if (t1 && t2) begin --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t $write(""); %000003 end else if (t1 || t2) begin --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000003 point: comment=(t1==1) => 1 hier=top.t --000002 point: comment=(t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000003 point: type=expr comment=(t1==1) => 1 hier=top.t +-000002 point: type=expr comment=(t2==1) => 1 hier=top.t $write(""); end %000005 if (invert(t1) && t2) $write(""); --000005 point: comment=(invert(t1)==0) => 0 hier=top.t --000002 point: comment=(invert(t1)==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(invert(t1)==0) => 0 hier=top.t +-000002 point: type=expr comment=(invert(t1)==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t if (and_oper(t1, t2)) $write(""); %000005 if (t2 && t3) begin --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=(t2==1 && t3==1) => 1 hier=top.t --000005 point: comment=(t3==0) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==1 && t3==1) => 1 hier=top.t +-000005 point: type=expr comment=(t3==0) => 0 hier=top.t %000001 if (t1 && t2) $write(""); --000001 point: comment=(t1==0) => 0 hier=top.t --000001 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000000 point: comment=(t2==0) => 0 hier=top.t +-000001 point: type=expr comment=(t1==0) => 0 hier=top.t +-000001 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000000 point: type=expr comment=(t2==0) => 0 hier=top.t end if (0 == 1) begin for (int loop_var = 0; loop_var < 1; loop_var++) begin %000000 if (cyc[loop_var] && t2) $write(""); --000000 point: comment=(cyc[loop_var[4:0]+:1]==0) => 0 hier=top.t --000000 point: comment=(cyc[loop_var[4:0]+:1]==1 && t2==1) => 1 hier=top.t --000000 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[loop_var[4:0]+:1]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[loop_var[4:0]+:1]==1 && t2==1) => 1 hier=top.t +-000000 point: type=expr comment=(t2==0) => 0 hier=top.t end end // stop at the first layer even if there's more to find %000007 if ((cyc[3+32'(t1 && t2)+:2] == cyc[5+32'(t3 || t4)+:2]) || cyc[31]) $write(""); --000002 point: comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==0 && cyc[31]==0) => 0 hier=top.t --000007 point: comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==1) => 1 hier=top.t --000000 point: comment=(cyc[31]==1) => 1 hier=top.t +-000002 point: type=expr comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==0 && cyc[31]==0) => 0 hier=top.t +-000007 point: type=expr comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[31]==1) => 1 hier=top.t // impossible branches and redundant terms %000005 if ((t1 && t2) && ~(t1 && t3) && (t1 || t4)) $write(""); --000003 point: comment=(t1==0 && t4==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && t3==0 && t4==1) => 1 hier=top.t --000001 point: comment=(t1==1 && t2==1 && t3==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000003 point: type=expr comment=(t1==0 && t4==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && t3==0 && t4==1) => 1 hier=top.t +-000001 point: type=expr comment=(t1==1 && t2==1 && t3==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if ((cyc[0] && cyc[1]) && ~(cyc[0] && cyc[2]) && (cyc[0] || cyc[3])) $write(""); --000003 point: comment=(cyc[0]==0 && cyc[3]==0) => 0 hier=top.t --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t --000001 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0) => 1 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[0]==0 && cyc[3]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t // demonstrate current limitations of term matching scheme %000005 if ((cyc[0] && cyc[1]) && ~(cyc[1-1] && cyc[2]) && (cyc[2-2] || cyc[3])) $write(""); --000002 point: comment=(cyc[(32'sh1 - 32'sh1)[4:0]+:1]==1 && cyc[2]==1) => 0 hier=top.t --000003 point: comment=(cyc[(32'sh2 - 32'sh2)[4:0]+:1]==0 && cyc[3]==0) => 0 hier=top.t --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[3]==1) => 1 hier=top.t --000001 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[(32'sh1 - 32'sh1)[4:0]+:1]==1 && cyc[2]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[(32'sh2 - 32'sh2)[4:0]+:1]==0 && cyc[3]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[3]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t //verilator coverage_off if (t1 && t2) $write(""); //verilator coverage_on if ((~t1 && t2) %000004 || --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t (~t3 && t4)) $write(""); // intentionally testing wonkified expression terms if ( cyc[ 0 %000005 ] & --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[1]==1) => 1 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[1]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t cyc [1]) $write(""); // for now each ternary condition is considered in isolation %000005 other_int <= t1 ? t2 ? 1 : 2 : 3; --000004 point: comment=(t1==0) => 0 hier=top.t --000005 point: comment=(t1==1) => 1 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==1) => 1 hier=top.t // no expression coverage for multi-bit expressions if ((cyc[1:0] & cyc[3:2]) == 2'b11) $write(""); // truth table is too large @@ -281,9 +281,9 @@ always_comb begin %000005 if (t1 && t2) $write(""); --000005 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t end logic ta, tb, tc; @@ -302,10 +302,10 @@ tb = '0; tc = '0; %000001 while (ta || tb || tc) begin --000001 point: comment=(ta==0 && tb==0 && tc==0) => 0 hier=top.t --000000 point: comment=(ta==1) => 1 hier=top.t --000000 point: comment=(tb==1) => 1 hier=top.t --000000 point: comment=(tc==1) => 1 hier=top.t +-000001 point: type=expr comment=(ta==0 && tb==0 && tc==0) => 0 hier=top.t +-000000 point: type=expr comment=(ta==1) => 1 hier=top.t +-000000 point: type=expr comment=(tb==1) => 1 hier=top.t +-000000 point: type=expr comment=(tc==1) => 1 hier=top.t tc = tb; tb = ta; ta = '0; @@ -326,7 +326,7 @@ // // Branches which are statically impossible to reach are still reported. // E.g. - // -000000 point: comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t + // -000000 point: type=expr comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t // These could potentially be pruned, but they currently follow suit for // what branch coverage does. Perhaps a switch should be added to not // count statically impossible things. @@ -340,9 +340,9 @@ always_comb begin ~000019 if (p && q) $write(""); -+000017 point: comment=(p==0) => 0 hier=top.t.the_sub_* --000002 point: comment=(p==1 && q==1) => 1 hier=top.t.the_sub_* -+000019 point: comment=(q==0) => 0 hier=top.t.the_sub_* ++000017 point: type=expr comment=(p==0) => 0 hier=top.t.the_sub_* +-000002 point: type=expr comment=(p==1 && q==1) => 1 hier=top.t.the_sub_* ++000019 point: type=expr comment=(q==0) => 0 hier=top.t.the_sub_* end endmodule diff --git a/test_regress/t/t_cover_expr.v b/test_regress/t/t_cover_expr.v index 7026c5b49..488569a2d 100644 --- a/test_regress/t/t_cover_expr.v +++ b/test_regress/t/t_cover_expr.v @@ -162,7 +162,7 @@ module t (/*AUTOARG*/ // // Branches which are statically impossible to reach are still reported. // E.g. - // -000000 point: comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t + // -000000 point: type=expr comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t // These could potentially be pruned, but they currently follow suit for // what branch coverage does. Perhaps a switch should be added to not // count statically impossible things. diff --git a/test_regress/t/t_cover_expr_max.out b/test_regress/t/t_cover_expr_max.out index 1ad79a715..39d5174f4 100644 --- a/test_regress/t/t_cover_expr_max.out +++ b/test_regress/t/t_cover_expr_max.out @@ -36,15 +36,15 @@ function automatic bit invert(bit x); %000005 return ~x; --000004 point: comment=(x==0) => 1 hier=top.t --000005 point: comment=(x==1) => 0 hier=top.t +-000004 point: type=expr comment=(x==0) => 1 hier=top.t +-000005 point: type=expr comment=(x==1) => 0 hier=top.t endfunction function automatic bit and_oper(bit a, bit b); %000005 return a & b; --000004 point: comment=(a==0) => 0 hier=top.t --000002 point: comment=(a==1 && b==1) => 1 hier=top.t --000005 point: comment=(b==0) => 0 hier=top.t +-000004 point: type=expr comment=(a==0) => 0 hier=top.t +-000002 point: type=expr comment=(a==1 && b==1) => 1 hier=top.t +-000005 point: type=expr comment=(b==0) => 0 hier=top.t endfunction localparam int NUM_INTFS = 4; @@ -57,348 +57,348 @@ always @ (posedge clk) begin cyc <= cyc + 1; %000004 if ((~cyc[0] && cyc[1]) || (~cyc[2] && cyc[3])) $write(""); --000002 point: comment=(cyc[0]==0 && cyc[1]==1) => 1 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t --000004 point: comment=(cyc[0]==1 && cyc[3]==0) => 0 hier=top.t --000002 point: comment=(cyc[1]==0 && cyc[2]==1) => 0 hier=top.t --000003 point: comment=(cyc[1]==0 && cyc[3]==0) => 0 hier=top.t --000002 point: comment=(cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==0 && cyc[1]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==1 && cyc[3]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[1]==0 && cyc[2]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[1]==0 && cyc[3]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[2]==0 && cyc[3]==1) => 1 hier=top.t %000004 if ((~cyc2[32] && cyc2[33]) || (~cyc2[34] && cyc2[35])) $write(""); --000002 point: comment=(cyc2[32]==0 && cyc2[33]==1) => 1 hier=top.t --000002 point: comment=(cyc2[32]==1 && cyc2[34]==1) => 0 hier=top.t --000004 point: comment=(cyc2[32]==1 && cyc2[35]==0) => 0 hier=top.t --000002 point: comment=(cyc2[33]==0 && cyc2[34]==1) => 0 hier=top.t --000003 point: comment=(cyc2[33]==0 && cyc2[35]==0) => 0 hier=top.t --000002 point: comment=(cyc2[34]==0 && cyc2[35]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc2[32]==0 && cyc2[33]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc2[32]==1 && cyc2[34]==1) => 0 hier=top.t +-000004 point: type=expr comment=(cyc2[32]==1 && cyc2[35]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc2[33]==0 && cyc2[34]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc2[33]==0 && cyc2[35]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc2[34]==0 && cyc2[35]==1) => 1 hier=top.t %000004 if ((~the_intfs[0].t && the_intfs[1].t) || (~the_intfs[2].t && the_intfs[3].t)) $write(""); --000002 point: comment=(the_intfs[0].t==0 && the_intfs[1].t==1) => 1 hier=top.t --000002 point: comment=(the_intfs[0].t==1 && the_intfs[2].t==1) => 0 hier=top.t --000004 point: comment=(the_intfs[0].t==1 && the_intfs[3].t==0) => 0 hier=top.t --000002 point: comment=(the_intfs[1].t==0 && the_intfs[2].t==1) => 0 hier=top.t --000003 point: comment=(the_intfs[1].t==0 && the_intfs[3].t==0) => 0 hier=top.t --000002 point: comment=(the_intfs[2].t==0 && the_intfs[3].t==1) => 1 hier=top.t +-000002 point: type=expr comment=(the_intfs[0].t==0 && the_intfs[1].t==1) => 1 hier=top.t +-000002 point: type=expr comment=(the_intfs[0].t==1 && the_intfs[2].t==1) => 0 hier=top.t +-000004 point: type=expr comment=(the_intfs[0].t==1 && the_intfs[3].t==0) => 0 hier=top.t +-000002 point: type=expr comment=(the_intfs[1].t==0 && the_intfs[2].t==1) => 0 hier=top.t +-000003 point: type=expr comment=(the_intfs[1].t==0 && the_intfs[3].t==0) => 0 hier=top.t +-000002 point: type=expr comment=(the_intfs[2].t==0 && the_intfs[3].t==1) => 1 hier=top.t %000004 if ((~t1 && t2) || (~t3 && t4)) $write(""); --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t %000005 if (t3 && (t1 == t2)) $write(""); --000005 point: comment=((t1 == t2)==0) => 0 hier=top.t --000005 point: comment=(t3==0) => 0 hier=top.t --000002 point: comment=(t3==1 && (t1 == t2)==1) => 1 hier=top.t +-000005 point: type=expr comment=((t1 == t2)==0) => 0 hier=top.t +-000005 point: type=expr comment=(t3==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==1 && (t1 == t2)==1) => 1 hier=top.t %000005 if (123 == (124 - 32'(t1 || t2))) $write(""); --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000005 point: comment=(t1==1) => 1 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==1) => 1 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t %000004 some_int <= (t2 || t3) ? 345 : 567; --000003 point: comment=(t2==0 && t3==0) => 0 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t --000004 point: comment=(t3==1) => 1 hier=top.t +-000003 point: type=expr comment=(t2==0 && t3==0) => 0 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t +-000004 point: type=expr comment=(t3==1) => 1 hier=top.t %000005 some_bool <= t1 && t2; --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if (t1 & t2) $write(""); --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000004 if ((!t1 && t2) | (~t3 && t4)) $write(""); --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t %000003 if (t1 ^ t2) $write(""); --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 0 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 0 hier=top.t %000005 if (~(t1 & t2)) $write(""); --000004 point: comment=(t1==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 0 hier=top.t --000005 point: comment=(t2==0) => 1 hier=top.t +-000004 point: type=expr comment=(t1==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 1 hier=top.t %000004 if (t1 -> t2) $write(""); --000004 point: comment=(t1==0) => 1 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 0 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t +-000004 point: type=expr comment=(t1==0) => 1 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t %000003 if (t1 <-> t2) $write(""); --000002 point: comment=(t1==0 && t2==0) => 1 hier=top.t --000002 point: comment=(t1==0 && t2==1) => 0 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 0 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t %000005 if (&cyc[2:0]) $write(""); --000004 point: comment=(cyc[2:0][0]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t --000005 point: comment=(cyc[2:0][1]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][2]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][0]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][1]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][2]==0) => 0 hier=top.t %000007 if (&cyc[3:2]) $write(""); --000005 point: comment=(cyc[3:2][0]==0) => 0 hier=top.t --000000 point: comment=(cyc[3:2][0]==1 && cyc[3:2][1]==1) => 1 hier=top.t --000007 point: comment=(cyc[3:2][1]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[3:2][0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[3:2][0]==1 && cyc[3:2][1]==1) => 1 hier=top.t +-000007 point: type=expr comment=(cyc[3:2][1]==0) => 0 hier=top.t %000005 if (|cyc[2:0]) $write(""); --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][0]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][1]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][0]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][1]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][2]==1) => 1 hier=top.t %000002 if (^cyc[2:0]) $write(""); --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 0 hier=top.t --000002 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t %000005 if (|cyc[2:0] || cyc[3]) $write(""); --000000 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0 && cyc[3]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][0]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][1]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][2]==1) => 1 hier=top.t --000002 point: comment=(cyc[3]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0 && cyc[3]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][0]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][1]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][2]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[3]==1) => 1 hier=top.t %000005 if (t1 & t2 & 1'b1) $write(""); --000000 point: comment=(1'h1==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1 && 1'h1==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=expr comment=(1'h1==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1 && 1'h1==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000009 if (t1 & t2 & 1'b0) $write(""); --000009 point: comment=(1'h0==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && 1'h0==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000009 point: type=expr comment=(1'h0==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && 1'h0==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if (t1 & t2 & ONE) $write(""); --000000 point: comment=(ONE==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1 && ONE==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=expr comment=(ONE==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1 && ONE==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000009 if (t1 & t2 & ZERO) $write(""); --000009 point: comment=(ZERO==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && ZERO==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000009 point: type=expr comment=(ZERO==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && ZERO==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if (t1 && t2) begin --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t $write(""); %000003 end else if (t1 || t2) begin --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000003 point: comment=(t1==1) => 1 hier=top.t --000002 point: comment=(t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000003 point: type=expr comment=(t1==1) => 1 hier=top.t +-000002 point: type=expr comment=(t2==1) => 1 hier=top.t $write(""); end %000005 if (invert(t1) && t2) $write(""); --000005 point: comment=(invert(t1)==0) => 0 hier=top.t --000002 point: comment=(invert(t1)==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(invert(t1)==0) => 0 hier=top.t +-000002 point: type=expr comment=(invert(t1)==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t if (and_oper(t1, t2)) $write(""); %000005 if (t2 && t3) begin --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=(t2==1 && t3==1) => 1 hier=top.t --000005 point: comment=(t3==0) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==1 && t3==1) => 1 hier=top.t +-000005 point: type=expr comment=(t3==0) => 0 hier=top.t %000001 if (t1 && t2) $write(""); --000001 point: comment=(t1==0) => 0 hier=top.t --000001 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000000 point: comment=(t2==0) => 0 hier=top.t +-000001 point: type=expr comment=(t1==0) => 0 hier=top.t +-000001 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000000 point: type=expr comment=(t2==0) => 0 hier=top.t end if (0 == 1) begin for (int loop_var = 0; loop_var < 1; loop_var++) begin %000000 if (cyc[loop_var] && t2) $write(""); --000000 point: comment=(cyc[loop_var[4:0]+:1]==0) => 0 hier=top.t --000000 point: comment=(cyc[loop_var[4:0]+:1]==1 && t2==1) => 1 hier=top.t --000000 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[loop_var[4:0]+:1]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[loop_var[4:0]+:1]==1 && t2==1) => 1 hier=top.t +-000000 point: type=expr comment=(t2==0) => 0 hier=top.t end end // stop at the first layer even if there's more to find %000007 if ((cyc[3+32'(t1 && t2)+:2] == cyc[5+32'(t3 || t4)+:2]) || cyc[31]) $write(""); --000002 point: comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==0 && cyc[31]==0) => 0 hier=top.t --000007 point: comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==1) => 1 hier=top.t --000000 point: comment=(cyc[31]==1) => 1 hier=top.t +-000002 point: type=expr comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==0 && cyc[31]==0) => 0 hier=top.t +-000007 point: type=expr comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[31]==1) => 1 hier=top.t // impossible branches and redundant terms %000005 if ((t1 && t2) && ~(t1 && t3) && (t1 || t4)) $write(""); --000003 point: comment=(t1==0 && t4==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && t3==0 && t4==1) => 1 hier=top.t --000001 point: comment=(t1==1 && t2==1 && t3==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000003 point: type=expr comment=(t1==0 && t4==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && t3==0 && t4==1) => 1 hier=top.t +-000001 point: type=expr comment=(t1==1 && t2==1 && t3==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if ((cyc[0] && cyc[1]) && ~(cyc[0] && cyc[2]) && (cyc[0] || cyc[3])) $write(""); --000003 point: comment=(cyc[0]==0 && cyc[3]==0) => 0 hier=top.t --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t --000001 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0) => 1 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[0]==0 && cyc[3]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t // demonstrate current limitations of term matching scheme %000005 if ((cyc[0] && cyc[1]) && ~(cyc[1-1] && cyc[2]) && (cyc[2-2] || cyc[3])) $write(""); --000002 point: comment=(cyc[(32'sh1 - 32'sh1)[4:0]+:1]==1 && cyc[2]==1) => 0 hier=top.t --000003 point: comment=(cyc[(32'sh2 - 32'sh2)[4:0]+:1]==0 && cyc[3]==0) => 0 hier=top.t --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[3]==1) => 1 hier=top.t --000001 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[(32'sh1 - 32'sh1)[4:0]+:1]==1 && cyc[2]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[(32'sh2 - 32'sh2)[4:0]+:1]==0 && cyc[3]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[3]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t //verilator coverage_off if (t1 && t2) $write(""); //verilator coverage_on if ((~t1 && t2) %000004 || --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t (~t3 && t4)) $write(""); // intentionally testing wonkified expression terms if ( cyc[ 0 %000005 ] & --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[1]==1) => 1 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[1]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t cyc [1]) $write(""); // for now each ternary condition is considered in isolation %000005 other_int <= t1 ? t2 ? 1 : 2 : 3; --000004 point: comment=(t1==0) => 0 hier=top.t --000005 point: comment=(t1==1) => 1 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==1) => 1 hier=top.t // no expression coverage for multi-bit expressions if ((cyc[1:0] & cyc[3:2]) == 2'b11) $write(""); // truth table is too large %000001 if (^cyc[6:0]) $write(""); --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000001 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000001 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000001 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000001 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000001 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000001 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000001 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000001 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000001 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t --000000 point: comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==0 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==0 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==0 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==0 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==0 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==0) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==0 && cyc[6:0][6]==1) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[6:0][0]==1 && cyc[6:0][1]==1 && cyc[6:0][2]==1 && cyc[6:0][3]==1 && cyc[6:0][4]==1 && cyc[6:0][5]==1 && cyc[6:0][6]==1) => 1 hier=top.t // this one is too big even for t_cover_expr_max if (^cyc) $write(""); if (cyc==9) begin @@ -409,9 +409,9 @@ always_comb begin %000005 if (t1 && t2) $write(""); --000005 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t end logic ta, tb, tc; @@ -430,10 +430,10 @@ tb = '0; tc = '0; %000001 while (ta || tb || tc) begin --000001 point: comment=(ta==0 && tb==0 && tc==0) => 0 hier=top.t --000000 point: comment=(ta==1) => 1 hier=top.t --000000 point: comment=(tb==1) => 1 hier=top.t --000000 point: comment=(tc==1) => 1 hier=top.t +-000001 point: type=expr comment=(ta==0 && tb==0 && tc==0) => 0 hier=top.t +-000000 point: type=expr comment=(ta==1) => 1 hier=top.t +-000000 point: type=expr comment=(tb==1) => 1 hier=top.t +-000000 point: type=expr comment=(tc==1) => 1 hier=top.t tc = tb; tb = ta; ta = '0; @@ -454,7 +454,7 @@ // // Branches which are statically impossible to reach are still reported. // E.g. - // -000000 point: comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t + // -000000 point: type=expr comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t // These could potentially be pruned, but they currently follow suit for // what branch coverage does. Perhaps a switch should be added to not // count statically impossible things. @@ -468,9 +468,9 @@ always_comb begin ~000019 if (p && q) $write(""); -+000017 point: comment=(p==0) => 0 hier=top.t.the_sub_* --000002 point: comment=(p==1 && q==1) => 1 hier=top.t.the_sub_* -+000019 point: comment=(q==0) => 0 hier=top.t.the_sub_* ++000017 point: type=expr comment=(p==0) => 0 hier=top.t.the_sub_* +-000002 point: type=expr comment=(p==1 && q==1) => 1 hier=top.t.the_sub_* ++000019 point: type=expr comment=(q==0) => 0 hier=top.t.the_sub_* end endmodule diff --git a/test_regress/t/t_cover_expr_trace.out b/test_regress/t/t_cover_expr_trace.out index f973e7fbb..d82c98c8d 100644 --- a/test_regress/t/t_cover_expr_trace.out +++ b/test_regress/t/t_cover_expr_trace.out @@ -36,15 +36,15 @@ function automatic bit invert(bit x); %000005 return ~x; --000004 point: comment=(x==0) => 1 hier=top.t --000005 point: comment=(x==1) => 0 hier=top.t +-000004 point: type=expr comment=(x==0) => 1 hier=top.t +-000005 point: type=expr comment=(x==1) => 0 hier=top.t endfunction function automatic bit and_oper(bit a, bit b); %000005 return a & b; --000004 point: comment=(a==0) => 0 hier=top.t --000002 point: comment=(a==1 && b==1) => 1 hier=top.t --000005 point: comment=(b==0) => 0 hier=top.t +-000004 point: type=expr comment=(a==0) => 0 hier=top.t +-000002 point: type=expr comment=(a==1 && b==1) => 1 hier=top.t +-000005 point: type=expr comment=(b==0) => 0 hier=top.t endfunction localparam int NUM_INTFS = 4; @@ -57,216 +57,216 @@ always @ (posedge clk) begin cyc <= cyc + 1; %000004 if ((~cyc[0] && cyc[1]) || (~cyc[2] && cyc[3])) $write(""); --000002 point: comment=(cyc[0]==0 && cyc[1]==1) => 1 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t --000004 point: comment=(cyc[0]==1 && cyc[3]==0) => 0 hier=top.t --000002 point: comment=(cyc[1]==0 && cyc[2]==1) => 0 hier=top.t --000003 point: comment=(cyc[1]==0 && cyc[3]==0) => 0 hier=top.t --000002 point: comment=(cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==0 && cyc[1]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==1 && cyc[3]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[1]==0 && cyc[2]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[1]==0 && cyc[3]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[2]==0 && cyc[3]==1) => 1 hier=top.t %000004 if ((~cyc2[32] && cyc2[33]) || (~cyc2[34] && cyc2[35])) $write(""); --000002 point: comment=(cyc2[32]==0 && cyc2[33]==1) => 1 hier=top.t --000002 point: comment=(cyc2[32]==1 && cyc2[34]==1) => 0 hier=top.t --000004 point: comment=(cyc2[32]==1 && cyc2[35]==0) => 0 hier=top.t --000002 point: comment=(cyc2[33]==0 && cyc2[34]==1) => 0 hier=top.t --000003 point: comment=(cyc2[33]==0 && cyc2[35]==0) => 0 hier=top.t --000002 point: comment=(cyc2[34]==0 && cyc2[35]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc2[32]==0 && cyc2[33]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc2[32]==1 && cyc2[34]==1) => 0 hier=top.t +-000004 point: type=expr comment=(cyc2[32]==1 && cyc2[35]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc2[33]==0 && cyc2[34]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc2[33]==0 && cyc2[35]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc2[34]==0 && cyc2[35]==1) => 1 hier=top.t %000004 if ((~the_intfs[0].t && the_intfs[1].t) || (~the_intfs[2].t && the_intfs[3].t)) $write(""); --000002 point: comment=(the_intfs[0].t==0 && the_intfs[1].t==1) => 1 hier=top.t --000002 point: comment=(the_intfs[0].t==1 && the_intfs[2].t==1) => 0 hier=top.t --000004 point: comment=(the_intfs[0].t==1 && the_intfs[3].t==0) => 0 hier=top.t --000002 point: comment=(the_intfs[1].t==0 && the_intfs[2].t==1) => 0 hier=top.t --000003 point: comment=(the_intfs[1].t==0 && the_intfs[3].t==0) => 0 hier=top.t --000002 point: comment=(the_intfs[2].t==0 && the_intfs[3].t==1) => 1 hier=top.t +-000002 point: type=expr comment=(the_intfs[0].t==0 && the_intfs[1].t==1) => 1 hier=top.t +-000002 point: type=expr comment=(the_intfs[0].t==1 && the_intfs[2].t==1) => 0 hier=top.t +-000004 point: type=expr comment=(the_intfs[0].t==1 && the_intfs[3].t==0) => 0 hier=top.t +-000002 point: type=expr comment=(the_intfs[1].t==0 && the_intfs[2].t==1) => 0 hier=top.t +-000003 point: type=expr comment=(the_intfs[1].t==0 && the_intfs[3].t==0) => 0 hier=top.t +-000002 point: type=expr comment=(the_intfs[2].t==0 && the_intfs[3].t==1) => 1 hier=top.t %000004 if ((~t1 && t2) || (~t3 && t4)) $write(""); --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t %000005 if (t3 && (t1 == t2)) $write(""); --000005 point: comment=((t1 == t2)==0) => 0 hier=top.t --000005 point: comment=(t3==0) => 0 hier=top.t --000002 point: comment=(t3==1 && (t1 == t2)==1) => 1 hier=top.t +-000005 point: type=expr comment=((t1 == t2)==0) => 0 hier=top.t +-000005 point: type=expr comment=(t3==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==1 && (t1 == t2)==1) => 1 hier=top.t %000005 if (123 == (124 - 32'(t1 || t2))) $write(""); --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000005 point: comment=(t1==1) => 1 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==1) => 1 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t %000004 some_int <= (t2 || t3) ? 345 : 567; --000003 point: comment=(t2==0 && t3==0) => 0 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t --000004 point: comment=(t3==1) => 1 hier=top.t +-000003 point: type=expr comment=(t2==0 && t3==0) => 0 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t +-000004 point: type=expr comment=(t3==1) => 1 hier=top.t %000005 some_bool <= t1 && t2; --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if (t1 & t2) $write(""); --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000004 if ((!t1 && t2) | (~t3 && t4)) $write(""); --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t %000003 if (t1 ^ t2) $write(""); --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 0 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 0 hier=top.t %000005 if (~(t1 & t2)) $write(""); --000004 point: comment=(t1==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 0 hier=top.t --000005 point: comment=(t2==0) => 1 hier=top.t +-000004 point: type=expr comment=(t1==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 1 hier=top.t %000004 if (t1 -> t2) $write(""); --000004 point: comment=(t1==0) => 1 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 0 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t +-000004 point: type=expr comment=(t1==0) => 1 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t %000003 if (t1 <-> t2) $write(""); --000002 point: comment=(t1==0 && t2==0) => 1 hier=top.t --000002 point: comment=(t1==0 && t2==1) => 0 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 0 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t %000005 if (&cyc[2:0]) $write(""); --000004 point: comment=(cyc[2:0][0]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t --000005 point: comment=(cyc[2:0][1]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][2]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][0]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][1]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][2]==0) => 0 hier=top.t %000007 if (&cyc[3:2]) $write(""); --000005 point: comment=(cyc[3:2][0]==0) => 0 hier=top.t --000000 point: comment=(cyc[3:2][0]==1 && cyc[3:2][1]==1) => 1 hier=top.t --000007 point: comment=(cyc[3:2][1]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[3:2][0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[3:2][0]==1 && cyc[3:2][1]==1) => 1 hier=top.t +-000007 point: type=expr comment=(cyc[3:2][1]==0) => 0 hier=top.t %000005 if (|cyc[2:0]) $write(""); --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][0]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][1]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][0]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][1]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][2]==1) => 1 hier=top.t %000002 if (^cyc[2:0]) $write(""); --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 0 hier=top.t --000002 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t %000005 if (|cyc[2:0] || cyc[3]) $write(""); --000000 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0 && cyc[3]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][0]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][1]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][2]==1) => 1 hier=top.t --000002 point: comment=(cyc[3]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0 && cyc[3]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][0]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][1]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][2]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[3]==1) => 1 hier=top.t %000005 if (t1 & t2 & 1'b1) $write(""); --000000 point: comment=(1'h1==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1 && 1'h1==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=expr comment=(1'h1==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1 && 1'h1==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000009 if (t1 & t2 & 1'b0) $write(""); --000009 point: comment=(1'h0==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && 1'h0==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000009 point: type=expr comment=(1'h0==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && 1'h0==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if (t1 & t2 & ONE) $write(""); --000000 point: comment=(ONE==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1 && ONE==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=expr comment=(ONE==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1 && ONE==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000009 if (t1 & t2 & ZERO) $write(""); --000009 point: comment=(ZERO==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && ZERO==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000009 point: type=expr comment=(ZERO==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && ZERO==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if (t1 && t2) begin --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t $write(""); %000003 end else if (t1 || t2) begin --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000003 point: comment=(t1==1) => 1 hier=top.t --000002 point: comment=(t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000003 point: type=expr comment=(t1==1) => 1 hier=top.t +-000002 point: type=expr comment=(t2==1) => 1 hier=top.t $write(""); end %000005 if (invert(t1) && t2) $write(""); --000005 point: comment=(invert(t1)==0) => 0 hier=top.t --000002 point: comment=(invert(t1)==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(invert(t1)==0) => 0 hier=top.t +-000002 point: type=expr comment=(invert(t1)==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t if (and_oper(t1, t2)) $write(""); %000005 if (t2 && t3) begin --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=(t2==1 && t3==1) => 1 hier=top.t --000005 point: comment=(t3==0) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==1 && t3==1) => 1 hier=top.t +-000005 point: type=expr comment=(t3==0) => 0 hier=top.t %000001 if (t1 && t2) $write(""); --000001 point: comment=(t1==0) => 0 hier=top.t --000001 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000000 point: comment=(t2==0) => 0 hier=top.t +-000001 point: type=expr comment=(t1==0) => 0 hier=top.t +-000001 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000000 point: type=expr comment=(t2==0) => 0 hier=top.t end if (0 == 1) begin for (int loop_var = 0; loop_var < 1; loop_var++) begin %000000 if (cyc[loop_var] && t2) $write(""); --000000 point: comment=(cyc[loop_var[4:0]+:1]==0) => 0 hier=top.t --000000 point: comment=(cyc[loop_var[4:0]+:1]==1 && t2==1) => 1 hier=top.t --000000 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[loop_var[4:0]+:1]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[loop_var[4:0]+:1]==1 && t2==1) => 1 hier=top.t +-000000 point: type=expr comment=(t2==0) => 0 hier=top.t end end // stop at the first layer even if there's more to find %000007 if ((cyc[3+32'(t1 && t2)+:2] == cyc[5+32'(t3 || t4)+:2]) || cyc[31]) $write(""); --000002 point: comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==0 && cyc[31]==0) => 0 hier=top.t --000007 point: comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==1) => 1 hier=top.t --000000 point: comment=(cyc[31]==1) => 1 hier=top.t +-000002 point: type=expr comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==0 && cyc[31]==0) => 0 hier=top.t +-000007 point: type=expr comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[31]==1) => 1 hier=top.t // impossible branches and redundant terms %000005 if ((t1 && t2) && ~(t1 && t3) && (t1 || t4)) $write(""); --000003 point: comment=(t1==0 && t4==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && t3==0 && t4==1) => 1 hier=top.t --000001 point: comment=(t1==1 && t2==1 && t3==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000003 point: type=expr comment=(t1==0 && t4==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && t3==0 && t4==1) => 1 hier=top.t +-000001 point: type=expr comment=(t1==1 && t2==1 && t3==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000005 if ((cyc[0] && cyc[1]) && ~(cyc[0] && cyc[2]) && (cyc[0] || cyc[3])) $write(""); --000003 point: comment=(cyc[0]==0 && cyc[3]==0) => 0 hier=top.t --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t --000001 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0) => 1 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[0]==0 && cyc[3]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t // demonstrate current limitations of term matching scheme %000005 if ((cyc[0] && cyc[1]) && ~(cyc[1-1] && cyc[2]) && (cyc[2-2] || cyc[3])) $write(""); --000002 point: comment=(cyc[(32'sh1 - 32'sh1)[4:0]+:1]==1 && cyc[2]==1) => 0 hier=top.t --000003 point: comment=(cyc[(32'sh2 - 32'sh2)[4:0]+:1]==0 && cyc[3]==0) => 0 hier=top.t --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[3]==1) => 1 hier=top.t --000001 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[(32'sh1 - 32'sh1)[4:0]+:1]==1 && cyc[2]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[(32'sh2 - 32'sh2)[4:0]+:1]==0 && cyc[3]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[3]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t //verilator coverage_off if (t1 && t2) $write(""); //verilator coverage_on if ((~t1 && t2) %000004 || --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t (~t3 && t4)) $write(""); // intentionally testing wonkified expression terms if ( cyc[ 0 %000005 ] & --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[1]==1) => 1 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[1]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t cyc [1]) $write(""); // for now each ternary condition is considered in isolation %000005 other_int <= t1 ? t2 ? 1 : 2 : 3; --000004 point: comment=(t1==0) => 0 hier=top.t --000005 point: comment=(t1==1) => 1 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==1) => 1 hier=top.t // no expression coverage for multi-bit expressions if ((cyc[1:0] & cyc[3:2]) == 2'b11) $write(""); // truth table is too large @@ -281,9 +281,9 @@ always_comb begin %000005 if (t1 && t2) $write(""); --000005 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t end logic ta, tb, tc; @@ -302,10 +302,10 @@ tb = '0; tc = '0; %000001 while (ta || tb || tc) begin --000001 point: comment=(ta==0 && tb==0 && tc==0) => 0 hier=top.t --000000 point: comment=(ta==1) => 1 hier=top.t --000000 point: comment=(tb==1) => 1 hier=top.t --000000 point: comment=(tc==1) => 1 hier=top.t +-000001 point: type=expr comment=(ta==0 && tb==0 && tc==0) => 0 hier=top.t +-000000 point: type=expr comment=(ta==1) => 1 hier=top.t +-000000 point: type=expr comment=(tb==1) => 1 hier=top.t +-000000 point: type=expr comment=(tc==1) => 1 hier=top.t tc = tb; tb = ta; ta = '0; @@ -326,7 +326,7 @@ // // Branches which are statically impossible to reach are still reported. // E.g. - // -000000 point: comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t + // -000000 point: type=expr comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t // These could potentially be pruned, but they currently follow suit for // what branch coverage does. Perhaps a switch should be added to not // count statically impossible things. @@ -340,9 +340,9 @@ always_comb begin ~000019 if (p && q) $write(""); -+000017 point: comment=(p==0) => 0 hier=top.t.the_sub_* --000002 point: comment=(p==1 && q==1) => 1 hier=top.t.the_sub_* -+000019 point: comment=(q==0) => 0 hier=top.t.the_sub_* ++000017 point: type=expr comment=(p==0) => 0 hier=top.t.the_sub_* +-000002 point: type=expr comment=(p==1 && q==1) => 1 hier=top.t.the_sub_* ++000019 point: type=expr comment=(q==0) => 0 hier=top.t.the_sub_* end endmodule diff --git a/test_regress/t/t_cover_line.out b/test_regress/t/t_cover_line.out index 182202d24..e04e40fbc 100644 --- a/test_regress/t/t_cover_line.out +++ b/test_regress/t/t_cover_line.out @@ -14,11 +14,11 @@ reg toggle; %000001 initial toggle=0; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t integer cyc; %000001 initial cyc=1; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t wire [7:0] cyc_copy = cyc[7:0]; @@ -56,136 +56,136 @@ .cyc (cyc)); 000010 always @ (posedge clk) begin -+000010 point: comment=block hier=top.t ++000010 point: type=line comment=block hier=top.t ~000010 if (cyc!=0) begin -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t 000010 cyc <= cyc + 1; -+000010 point: comment=if hier=top.t ++000010 point: type=branch comment=if hier=top.t 000010 toggle <= '0; -+000010 point: comment=if hier=top.t ++000010 point: type=branch comment=if hier=top.t // Single and multiline if %000009 if (cyc==3) $write(""); --000001 point: comment=if hier=top.t --000009 point: comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t %000009 if (cyc==3) --000001 point: comment=if hier=top.t --000009 point: comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t %000001 begin --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t %000001 $write(""); --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t end // Single and multiline else %000009 if (cyc==3) ; else $write(""); --000001 point: comment=if hier=top.t --000009 point: comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t %000009 if (cyc==3) ; --000001 point: comment=if hier=top.t --000009 point: comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t else %000009 begin --000009 point: comment=else hier=top.t +-000009 point: type=branch comment=else hier=top.t %000009 $write(""); --000009 point: comment=else hier=top.t +-000009 point: type=branch comment=else hier=top.t end // Single and multiline if else %000009 if (cyc==3) $write(""); else $write(""); --000001 point: comment=if hier=top.t --000009 point: comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t %000009 if (cyc==3) --000001 point: comment=if hier=top.t --000009 point: comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t %000001 begin --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t %000001 $write(""); --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t end else %000009 begin --000009 point: comment=else hier=top.t +-000009 point: type=branch comment=else hier=top.t %000009 $write(""); --000009 point: comment=else hier=top.t +-000009 point: type=branch comment=else hier=top.t end // multiline elseif %000001 if (cyc==3) --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t %000001 begin --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t %000001 $write(""); --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t end %000001 else if (cyc==4) --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t %000001 begin --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t %000001 $write(""); --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t end %000007 else if (cyc==5) --000001 point: comment=if hier=top.t --000007 point: comment=else hier=top.t +-000001 point: type=line comment=if hier=top.t +-000007 point: type=line comment=else hier=top.t %000001 begin --000001 point: comment=if hier=top.t +-000001 point: type=line comment=if hier=top.t %000001 $write(""); --000001 point: comment=if hier=top.t +-000001 point: type=line comment=if hier=top.t end else %000007 begin --000007 point: comment=else hier=top.t +-000007 point: type=line comment=else hier=top.t %000007 $write(""); --000007 point: comment=else hier=top.t +-000007 point: type=line comment=else hier=top.t end // Single and multiline while %000000 while (0); --000000 point: comment=block hier=top.t +-000000 point: type=line comment=block hier=top.t %000000 while (0) begin --000000 point: comment=block hier=top.t +-000000 point: type=line comment=block hier=top.t %000000 $write(""); --000000 point: comment=block hier=top.t +-000000 point: type=line comment=block hier=top.t end %000000 do ; while (0); --000000 point: comment=block hier=top.t +-000000 point: type=line comment=block hier=top.t ~000010 do begin --000000 point: comment=block hier=top.t -+000010 point: comment=block hier=top.t +-000000 point: type=line comment=block hier=top.t ++000010 point: type=line comment=block hier=top.t 000010 $write(""); -+000010 point: comment=block hier=top.t ++000010 point: type=line comment=block hier=top.t ~000010 end while (0); --000000 point: comment=block hier=top.t -+000010 point: comment=block hier=top.t +-000000 point: type=line comment=block hier=top.t ++000010 point: type=line comment=block hier=top.t //=== // Task and complicated %000001 if (cyc==3) begin --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t %000001 toggle <= '1; --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t end %000001 else if (cyc==5) begin --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t `ifdef VERILATOR %000001 $c("this->call_task();"); --000001 point: comment=elsif hier=top.t +-000001 point: type=line comment=elsif hier=top.t `else call_task(); `endif end %000007 else if (cyc==10) begin --000001 point: comment=if hier=top.t --000007 point: comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000007 point: type=branch comment=else hier=top.t %000001 $write("*-* All Finished *-*\n"); --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t %000001 $finish; --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t end end end %000001 task call_task; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t /* verilator public */ %000001 t1.center_task(1'b1); --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t endtask endmodule @@ -197,16 +197,16 @@ input clk; input toggle; 000020 always @ (posedge clk) begin -+000020 point: comment=block hier=top.t.a* ++000020 point: type=line comment=block hier=top.t.a* ~000018 if (toggle) begin // CHECK_COVER(0,"top.t.a*",18) --000002 point: comment=if hier=top.t.a* -+000018 point: comment=else hier=top.t.a* +-000002 point: type=branch comment=if hier=top.t.a* ++000018 point: type=branch comment=else hier=top.t.a* %000002 $write(""); --000002 point: comment=if hier=top.t.a* +-000002 point: type=branch comment=if hier=top.t.a* // t.a1 and t.a2 collapse to a count of 2 end 000018 if (toggle) begin // *** t_cover_line.vlt turns this off -+000018 point: comment=else hier=top.t.a* ++000018 point: type=line comment=else hier=top.t.a* $write(""); // CHECK_COVER_MISSING(0) // This doesn't even get added `ifdef ATTRIBUTE @@ -226,25 +226,25 @@ /* verilator public_module */ 000020 always @ (posedge clk) begin -+000020 point: comment=block hier=top.t.b* ++000020 point: type=line comment=block hier=top.t.b* 000020 $write(""); // Always covered -+000020 point: comment=block hier=top.t.b* ++000020 point: type=line comment=block hier=top.t.b* ~000020 if (0) begin // CHECK_COVER(0,"top.t.b*",0) --000000 point: comment=if hier=top.t.b* -+000020 point: comment=else hier=top.t.b* +-000000 point: type=branch comment=if hier=top.t.b* ++000020 point: type=branch comment=else hier=top.t.b* // Make sure that we don't optimize away zero buckets %000000 $write(""); --000000 point: comment=if hier=top.t.b* +-000000 point: type=branch comment=if hier=top.t.b* end ~000018 if (toggle) begin // CHECK_COVER(0,"top.t.b*",2) --000002 point: comment=if hier=top.t.b* -+000018 point: comment=else hier=top.t.b* +-000002 point: type=branch comment=if hier=top.t.b* ++000018 point: type=branch comment=else hier=top.t.b* // t.b1 and t.b2 collapse to a count of 2 %000002 $write(""); --000002 point: comment=if hier=top.t.b* +-000002 point: type=branch comment=if hier=top.t.b* end 000018 if (toggle) begin : block -+000018 point: comment=else hier=top.t.b* ++000018 point: type=line comment=else hier=top.t.b* // This doesn't `ifdef ATTRIBUTE // verilator coverage_block_off @@ -259,32 +259,32 @@ class Cls; bit m_toggle; 000011 function new(bit toggle); -+000011 point: comment=block hier=top.$unit::Cls__Vclpkg ++000011 point: type=line comment=block hier=top.$unit::Cls__Vclpkg 000011 m_toggle = toggle; -+000011 point: comment=block hier=top.$unit::Cls__Vclpkg ++000011 point: type=line comment=block hier=top.$unit::Cls__Vclpkg ~000011 if (m_toggle) begin // CHECK_COVER(0,"top.$unit::Cls",1) -+000011 point: comment=if hier=top.$unit::Cls__Vclpkg --000000 point: comment=else hier=top.$unit::Cls__Vclpkg ++000011 point: type=branch comment=if hier=top.$unit::Cls__Vclpkg +-000000 point: type=branch comment=else hier=top.$unit::Cls__Vclpkg 000011 $write(""); -+000011 point: comment=if hier=top.$unit::Cls__Vclpkg ++000011 point: type=branch comment=if hier=top.$unit::Cls__Vclpkg end endfunction 000011 static function void fstatic(bit toggle); -+000011 point: comment=block hier=top.$unit::Cls__Vclpkg ++000011 point: type=line comment=block hier=top.$unit::Cls__Vclpkg ~000011 if (1) begin // CHECK_COVER(0,"top.$unit::Cls",1) -+000011 point: comment=if hier=top.$unit::Cls__Vclpkg --000000 point: comment=else hier=top.$unit::Cls__Vclpkg ++000011 point: type=branch comment=if hier=top.$unit::Cls__Vclpkg +-000000 point: type=branch comment=else hier=top.$unit::Cls__Vclpkg 000011 $write(""); -+000011 point: comment=if hier=top.$unit::Cls__Vclpkg ++000011 point: type=branch comment=if hier=top.$unit::Cls__Vclpkg end endfunction 000011 function void fauto(); -+000011 point: comment=block hier=top.$unit::Cls__Vclpkg ++000011 point: type=line comment=block hier=top.$unit::Cls__Vclpkg ~000011 if (m_toggle) begin // CHECK_COVER(0,"top.$unit::Cls",11) -+000011 point: comment=if hier=top.$unit::Cls__Vclpkg --000000 point: comment=else hier=top.$unit::Cls__Vclpkg ++000011 point: type=branch comment=if hier=top.$unit::Cls__Vclpkg +-000000 point: type=branch comment=else hier=top.$unit::Cls__Vclpkg 000011 $write(""); -+000011 point: comment=if hier=top.$unit::Cls__Vclpkg ++000011 point: type=branch comment=if hier=top.$unit::Cls__Vclpkg end endfunction endclass @@ -299,39 +299,39 @@ /* verilator public_module */ 000010 always @ (posedge clk) begin -+000010 point: comment=block hier=top.t.t1 ++000010 point: type=line comment=block hier=top.t.t1 000010 center_task(1'b0); -+000010 point: comment=block hier=top.t.t1 ++000010 point: type=line comment=block hier=top.t.t1 end 000011 task automatic center_task; -+000011 point: comment=block hier=top.t.t1 ++000011 point: type=line comment=block hier=top.t.t1 input external; 000011 begin -+000011 point: comment=block hier=top.t.t1 ++000011 point: type=line comment=block hier=top.t.t1 ~000010 if (toggle) begin // CHECK_COVER(0,"top.t.t1",1) --000001 point: comment=if hier=top.t.t1 -+000010 point: comment=else hier=top.t.t1 +-000001 point: type=branch comment=if hier=top.t.t1 ++000010 point: type=branch comment=else hier=top.t.t1 %000001 $write(""); --000001 point: comment=if hier=top.t.t1 +-000001 point: type=branch comment=if hier=top.t.t1 end ~000010 if (external) begin // CHECK_COVER(0,"top.t.t1",1) --000001 point: comment=if hier=top.t.t1 -+000010 point: comment=else hier=top.t.t1 +-000001 point: type=branch comment=if hier=top.t.t1 ++000010 point: type=branch comment=else hier=top.t.t1 %000001 $write("[%0t] Got external pulse\n", $time); --000001 point: comment=if hier=top.t.t1 +-000001 point: type=branch comment=if hier=top.t.t1 end end 000011 begin -+000011 point: comment=block hier=top.t.t1 ++000011 point: type=line comment=block hier=top.t.t1 000011 Cls c; -+000011 point: comment=block hier=top.t.t1 ++000011 point: type=line comment=block hier=top.t.t1 000011 c = new(1'b1); -+000011 point: comment=block hier=top.t.t1 ++000011 point: type=line comment=block hier=top.t.t1 000011 c.fauto(); -+000011 point: comment=block hier=top.t.t1 ++000011 point: type=line comment=block hier=top.t.t1 000011 Cls::fstatic(1'b1); -+000011 point: comment=block hier=top.t.t1 ++000011 point: type=line comment=block hier=top.t.t1 end endtask endmodule @@ -352,16 +352,16 @@ end // verilator coverage_on 000010 always @ (posedge clk) begin -+000010 point: comment=block hier=top.t.o1 ++000010 point: type=line comment=block hier=top.t.o1 %000009 if (toggle) begin --000001 point: comment=if hier=top.t.o1 --000009 point: comment=else hier=top.t.o1 +-000001 point: type=branch comment=if hier=top.t.o1 +-000009 point: type=branch comment=else hier=top.t.o1 // because under coverage_module_off %000001 $write(""); --000001 point: comment=if hier=top.t.o1 +-000001 point: type=branch comment=if hier=top.t.o1 %000001 if (0) ; // CHECK_COVER(0,"top.t.o1",1) --000000 point: comment=if hier=top.t.o1 --000001 point: comment=else hier=top.t.o1 +-000000 point: type=branch comment=if hier=top.t.o1 +-000001 point: type=branch comment=else hier=top.t.o1 end end endmodule @@ -371,28 +371,28 @@ int decoded; 000010 always @ (posedge clk) begin -+000010 point: comment=block hier=top.t.tab1 ++000010 point: type=line comment=block hier=top.t.tab1 000010 case (cyc4) -+000010 point: comment=block hier=top.t.tab1 ++000010 point: type=line comment=block hier=top.t.tab1 %000001 1: decoded = 10; --000001 point: comment=case hier=top.t.tab1 +-000001 point: type=line comment=case hier=top.t.tab1 %000001 2: decoded = 20; --000001 point: comment=case hier=top.t.tab1 +-000001 point: type=line comment=case hier=top.t.tab1 %000001 3: decoded = 30; --000001 point: comment=case hier=top.t.tab1 +-000001 point: type=line comment=case hier=top.t.tab1 %000001 4: decoded = 40; --000001 point: comment=case hier=top.t.tab1 +-000001 point: type=line comment=case hier=top.t.tab1 %000001 5: decoded = 50; --000001 point: comment=case hier=top.t.tab1 +-000001 point: type=line comment=case hier=top.t.tab1 %000005 default: decoded = 0; --000005 point: comment=case hier=top.t.tab1 +-000005 point: type=line comment=case hier=top.t.tab1 endcase end 000010 always @ (posedge clk) begin -+000010 point: comment=block hier=top.t.tab1 ++000010 point: type=line comment=block hier=top.t.tab1 000010 cyc4 <= cyc4 + 1; -+000010 point: comment=block hier=top.t.tab1 ++000010 point: type=line comment=block hier=top.t.tab1 end endmodule @@ -403,35 +403,35 @@ // seems safer for functions used both at elaboration time and not - but may // revisit this. %000000 function automatic int param_func(int i); --000000 point: comment=block hier=top.t.par1 +-000000 point: type=line comment=block hier=top.t.par1 %000000 if (i == 0) begin --000000 point: comment=if hier=top.t.par1 --000000 point: comment=else hier=top.t.par1 +-000000 point: type=branch comment=if hier=top.t.par1 +-000000 point: type=branch comment=else hier=top.t.par1 %000000 i = 99; // Uncovered --000000 point: comment=if hier=top.t.par1 +-000000 point: type=branch comment=if hier=top.t.par1 end %000000 else begin --000000 point: comment=else hier=top.t.par1 +-000000 point: type=branch comment=else hier=top.t.par1 %000000 i = i + 1; --000000 point: comment=else hier=top.t.par1 +-000000 point: type=branch comment=else hier=top.t.par1 end %000000 return i; --000000 point: comment=block hier=top.t.par1 +-000000 point: type=line comment=block hier=top.t.par1 endfunction endmodule package my_pkg; %000001 int x = 1 ? 1 : 0; --000001 point: comment=block hier=top.my_pkg +-000001 point: type=line comment=block hier=top.my_pkg endpackage %000001 class Getter1; --000001 point: comment=block hier=top.$unit::Getter1__Vclpkg +-000001 point: type=line comment=block hier=top.$unit::Getter1__Vclpkg 000020 function int get_1; -+000020 point: comment=block hier=top.$unit::Getter1__Vclpkg ++000020 point: type=line comment=block hier=top.$unit::Getter1__Vclpkg 000020 return 1; -+000020 point: comment=block hier=top.$unit::Getter1__Vclpkg ++000020 point: type=line comment=block hier=top.$unit::Getter1__Vclpkg endfunction endclass @@ -441,7 +441,7 @@ typedef logic [7:0] arr_t[1:0]; arr_t data[1:0]; %000001 Getter1 getter1 = new; --000001 point: comment=block hier=top.t.cond1 +-000001 point: type=line comment=block hier=top.t.cond1 string s; struct packed { @@ -450,109 +450,109 @@ } pstruct; 000021 function logic func_side_effect; -+000021 point: comment=block hier=top.t.cond1 ++000021 point: type=line comment=block hier=top.t.cond1 000021 $display("SIDE EFFECT"); -+000021 point: comment=block hier=top.t.cond1 ++000021 point: type=line comment=block hier=top.t.cond1 000021 return 1; -+000021 point: comment=block hier=top.t.cond1 ++000021 point: type=line comment=block hier=top.t.cond1 endfunction 000010 function arr_t get_arr; -+000010 point: comment=block hier=top.t.cond1 ++000010 point: type=line comment=block hier=top.t.cond1 000010 arr_t arr; -+000010 point: comment=block hier=top.t.cond1 ++000010 point: type=line comment=block hier=top.t.cond1 000010 return arr; -+000010 point: comment=block hier=top.t.cond1 ++000010 point: type=line comment=block hier=top.t.cond1 endfunction ~000031 assign a = (cyc == 0) ? clk : 1'bz; --000000 point: comment=cond_then hier=top.t.cond1 -+000031 point: comment=cond_else hier=top.t.cond1 +-000000 point: type=branch comment=cond_then hier=top.t.cond1 ++000031 point: type=branch comment=cond_else hier=top.t.cond1 ~000028 assign b = (cyc == 1) ? clk : 0; --000003 point: comment=cond_then hier=top.t.cond1 -+000028 point: comment=cond_else hier=top.t.cond1 +-000003 point: type=branch comment=cond_then hier=top.t.cond1 ++000028 point: type=branch comment=cond_else hier=top.t.cond1 ~000021 assign c = func_side_effect() ? clk : 0; -+000021 point: comment=cond_then hier=top.t.cond1 --000000 point: comment=cond_else hier=top.t.cond1 ++000021 point: type=branch comment=cond_then hier=top.t.cond1 +-000000 point: type=branch comment=cond_else hier=top.t.cond1 000010 always @(posedge clk) begin -+000010 point: comment=block hier=top.t.cond1 ++000010 point: type=line comment=block hier=top.t.cond1 ~000010 d = (cyc % 3 == 0) ? 1 : 0; -+000010 point: comment=block hier=top.t.cond1 --000003 point: comment=cond_then hier=top.t.cond1 --000007 point: comment=cond_else hier=top.t.cond1 ++000010 point: type=line comment=block hier=top.t.cond1 +-000003 point: type=branch comment=cond_then hier=top.t.cond1 +-000007 point: type=branch comment=cond_else hier=top.t.cond1 ~000010 s = (getter1.get_1() == 0) ? "abcd" : $sformatf("%d", getter1.get_1()[4:0]); -+000010 point: comment=block hier=top.t.cond1 --000000 point: comment=cond_then hier=top.t.cond1 -+000010 point: comment=cond_else hier=top.t.cond1 ++000010 point: type=line comment=block hier=top.t.cond1 +-000000 point: type=branch comment=cond_then hier=top.t.cond1 ++000010 point: type=branch comment=cond_else hier=top.t.cond1 end ~000019 assign e = (cyc % 3 == 1) ? (clk ? 1 : 0) : 1; -+000012 point: comment=cond_then hier=top.t.cond1 -+000019 point: comment=cond_else hier=top.t.cond1 --000007 point: comment=cond_then hier=top.t.cond1 --000005 point: comment=cond_else hier=top.t.cond1 ++000012 point: type=branch comment=cond_then hier=top.t.cond1 ++000019 point: type=branch comment=cond_else hier=top.t.cond1 +-000007 point: type=branch comment=cond_then hier=top.t.cond1 +-000005 point: type=branch comment=cond_else hier=top.t.cond1 // ternary operator in condition shouldn't be included to the coverae ~000011 assign f = (cyc != 0 ? 1 : 0) ? 1 : 0; -+000011 point: comment=cond_then hier=top.t.cond1 --000000 point: comment=cond_else hier=top.t.cond1 ++000011 point: type=branch comment=cond_then hier=top.t.cond1 +-000000 point: type=branch comment=cond_else hier=top.t.cond1 // the same as in index assign tab[clk ? 1 : 0] = 1; assign m = tab[clk ? 3 : 4]; for (genvar i = 0; i < 2; i++) begin 000011 assign g = clk ? 1 : 0; -+000010 point: comment=cond_then hier=top.t.cond1 -+000011 point: comment=cond_else hier=top.t.cond1 ++000010 point: type=branch comment=cond_then hier=top.t.cond1 ++000011 point: type=branch comment=cond_else hier=top.t.cond1 end 000011 always begin -+000011 point: comment=block hier=top.t.cond1 ++000011 point: type=line comment=block hier=top.t.cond1 ~000010 if (cyc == 5) h = cyc > 5 ? 1 : 0; --000000 point: comment=cond_then hier=top.t.cond1 --000001 point: comment=cond_else hier=top.t.cond1 --000001 point: comment=if hier=top.t.cond1 -+000010 point: comment=else hier=top.t.cond1 +-000000 point: type=branch comment=cond_then hier=top.t.cond1 +-000001 point: type=branch comment=cond_else hier=top.t.cond1 +-000001 point: type=branch comment=if hier=top.t.cond1 ++000010 point: type=branch comment=else hier=top.t.cond1 000010 else h = 1; -+000010 point: comment=else hier=top.t.cond1 ++000010 point: type=branch comment=else hier=top.t.cond1 ~000011 data[0] = (cyc == 2) ? '{8'h01, 8'h02} : get_arr(); -+000011 point: comment=block hier=top.t.cond1 --000001 point: comment=cond_then hier=top.t.cond1 -+000010 point: comment=cond_else hier=top.t.cond1 ++000011 point: type=line comment=block hier=top.t.cond1 +-000001 point: type=branch comment=cond_then hier=top.t.cond1 ++000010 point: type=branch comment=cond_else hier=top.t.cond1 // ternary operator in conditions should be skipped 000055 for (int i = 0; (i < 5) ? 1 : 0; i++) begin -+000011 point: comment=block hier=top.t.cond1 -+000055 point: comment=block hier=top.t.cond1 ++000011 point: type=line comment=block hier=top.t.cond1 ++000055 point: type=line comment=block hier=top.t.cond1 000055 k = 1'(i); -+000055 point: comment=block hier=top.t.cond1 ++000055 point: type=line comment=block hier=top.t.cond1 end 000044 for (int i = 0; i < 7; i = (i > 4) ? i + 1 : i + 2) begin -+000011 point: comment=block hier=top.t.cond1 -+000011 point: comment=cond_then hier=top.t.cond1 -+000033 point: comment=cond_else hier=top.t.cond1 -+000044 point: comment=block hier=top.t.cond1 ++000011 point: type=line comment=block hier=top.t.cond1 ++000011 point: type=branch comment=cond_then hier=top.t.cond1 ++000033 point: type=branch comment=cond_else hier=top.t.cond1 ++000044 point: type=line comment=block hier=top.t.cond1 000044 k = 1'(i); -+000044 point: comment=block hier=top.t.cond1 ++000044 point: type=line comment=block hier=top.t.cond1 end ~000011 if (k ? 1 : 0) k = 1; --000000 point: comment=if hier=top.t.cond1 -+000011 point: comment=else hier=top.t.cond1 +-000000 point: type=branch comment=if hier=top.t.cond1 ++000011 point: type=branch comment=else hier=top.t.cond1 000011 else k = 0; -+000011 point: comment=else hier=top.t.cond1 ++000011 point: type=branch comment=else hier=top.t.cond1 end ~000010 assign pstruct.a = cyc == 1 ? 16'd2 : 16'd3; --000001 point: comment=cond_then hier=top.t.cond1 -+000010 point: comment=cond_else hier=top.t.cond1 +-000001 point: type=branch comment=cond_then hier=top.t.cond1 ++000010 point: type=branch comment=cond_else hier=top.t.cond1 assign pstruct.b = 16'd0; 000010 always @(posedge clk) begin -+000010 point: comment=block hier=top.t.cond1 ++000010 point: type=line comment=block hier=top.t.cond1 %000009 if (cyc == 2) $display("%08x", pstruct); --000001 point: comment=if hier=top.t.cond1 --000009 point: comment=else hier=top.t.cond1 +-000001 point: type=branch comment=if hier=top.t.cond1 +-000009 point: type=branch comment=else hier=top.t.cond1 end endmodule diff --git a/test_regress/t/t_cover_line_expr.out b/test_regress/t/t_cover_line_expr.out index 752549445..df46e1e92 100644 --- a/test_regress/t/t_cover_line_expr.out +++ b/test_regress/t/t_cover_line_expr.out @@ -6,7 +6,7 @@ // SPDX-License-Identifier: CC0-1.0 %000001 class cls; --000001 point: comment=block hier=top.$unit::cls__Vclpkg +-000001 point: type=line comment=block hier=top.$unit::cls__Vclpkg rand int x; endclass @@ -19,11 +19,11 @@ integer cyc; %000001 initial cyc=1; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t logic [63:32] cyc2; %000001 always_comb cyc2 = cyc; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t integer some_int; integer other_int; @@ -38,406 +38,406 @@ localparam bit ZERO = 1'b0; %000009 function automatic bit invert(bit x); --000009 point: comment=block hier=top.t +-000009 point: type=line comment=block hier=top.t %000009 return ~x; --000009 point: comment=block hier=top.t --000004 point: comment=(x==0) => 1 hier=top.t --000005 point: comment=(x==1) => 0 hier=top.t +-000009 point: type=line comment=block hier=top.t +-000004 point: type=expr comment=(x==0) => 1 hier=top.t +-000005 point: type=expr comment=(x==1) => 0 hier=top.t endfunction %000009 function automatic bit and_oper(bit a, bit b); --000009 point: comment=block hier=top.t +-000009 point: type=line comment=block hier=top.t %000009 return a & b; --000009 point: comment=block hier=top.t --000004 point: comment=(a==0) => 0 hier=top.t --000002 point: comment=(a==1 && b==1) => 1 hier=top.t --000005 point: comment=(b==0) => 0 hier=top.t +-000009 point: type=line comment=block hier=top.t +-000004 point: type=expr comment=(a==0) => 0 hier=top.t +-000002 point: type=expr comment=(a==1 && b==1) => 1 hier=top.t +-000005 point: type=expr comment=(b==0) => 0 hier=top.t endfunction localparam int NUM_INTFS = 4; intf the_intfs [NUM_INTFS-1:0] (); genvar intf_i; %000004 for (intf_i = 0; intf_i < NUM_INTFS; intf_i++) begin --000004 point: comment=block hier=top.t +-000004 point: type=line comment=block hier=top.t %000004 always_comb the_intfs[intf_i].t = cyc[intf_i]; --000004 point: comment=block hier=top.t +-000004 point: type=line comment=block hier=top.t end %000009 always @ (posedge clk) begin --000009 point: comment=block hier=top.t +-000009 point: type=line comment=block hier=top.t %000009 cyc <= cyc + 1; --000009 point: comment=block hier=top.t +-000009 point: type=line comment=block hier=top.t %000005 if ((~cyc[0] && cyc[1]) || (~cyc[2] && cyc[3])) $write(""); --000005 point: comment=else hier=top.t --000002 point: comment=(cyc[0]==0 && cyc[1]==1) => 1 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t --000004 point: comment=(cyc[0]==1 && cyc[3]==0) => 0 hier=top.t --000002 point: comment=(cyc[1]==0 && cyc[2]==1) => 0 hier=top.t --000003 point: comment=(cyc[1]==0 && cyc[3]==0) => 0 hier=top.t --000002 point: comment=(cyc[2]==0 && cyc[3]==1) => 1 hier=top.t --000004 point: comment=if hier=top.t +-000005 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(cyc[0]==0 && cyc[1]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==1 && cyc[3]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[1]==0 && cyc[2]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[1]==0 && cyc[3]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000004 point: type=branch comment=if hier=top.t %000005 if ((~cyc2[32] && cyc2[33]) || (~cyc2[34] && cyc2[35])) $write(""); --000005 point: comment=else hier=top.t --000002 point: comment=(cyc2[32]==0 && cyc2[33]==1) => 1 hier=top.t --000002 point: comment=(cyc2[32]==1 && cyc2[34]==1) => 0 hier=top.t --000004 point: comment=(cyc2[32]==1 && cyc2[35]==0) => 0 hier=top.t --000002 point: comment=(cyc2[33]==0 && cyc2[34]==1) => 0 hier=top.t --000003 point: comment=(cyc2[33]==0 && cyc2[35]==0) => 0 hier=top.t --000002 point: comment=(cyc2[34]==0 && cyc2[35]==1) => 1 hier=top.t --000004 point: comment=if hier=top.t +-000005 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(cyc2[32]==0 && cyc2[33]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc2[32]==1 && cyc2[34]==1) => 0 hier=top.t +-000004 point: type=expr comment=(cyc2[32]==1 && cyc2[35]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc2[33]==0 && cyc2[34]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc2[33]==0 && cyc2[35]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc2[34]==0 && cyc2[35]==1) => 1 hier=top.t +-000004 point: type=branch comment=if hier=top.t %000005 if ((~the_intfs[0].t && the_intfs[1].t) || (~the_intfs[2].t && the_intfs[3].t)) $write(""); --000005 point: comment=else hier=top.t --000002 point: comment=(the_intfs[0].t==0 && the_intfs[1].t==1) => 1 hier=top.t --000002 point: comment=(the_intfs[0].t==1 && the_intfs[2].t==1) => 0 hier=top.t --000004 point: comment=(the_intfs[0].t==1 && the_intfs[3].t==0) => 0 hier=top.t --000002 point: comment=(the_intfs[1].t==0 && the_intfs[2].t==1) => 0 hier=top.t --000003 point: comment=(the_intfs[1].t==0 && the_intfs[3].t==0) => 0 hier=top.t --000002 point: comment=(the_intfs[2].t==0 && the_intfs[3].t==1) => 1 hier=top.t --000004 point: comment=if hier=top.t +-000005 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(the_intfs[0].t==0 && the_intfs[1].t==1) => 1 hier=top.t +-000002 point: type=expr comment=(the_intfs[0].t==1 && the_intfs[2].t==1) => 0 hier=top.t +-000004 point: type=expr comment=(the_intfs[0].t==1 && the_intfs[3].t==0) => 0 hier=top.t +-000002 point: type=expr comment=(the_intfs[1].t==0 && the_intfs[2].t==1) => 0 hier=top.t +-000003 point: type=expr comment=(the_intfs[1].t==0 && the_intfs[3].t==0) => 0 hier=top.t +-000002 point: type=expr comment=(the_intfs[2].t==0 && the_intfs[3].t==1) => 1 hier=top.t +-000004 point: type=branch comment=if hier=top.t %000005 if ((~t1 && t2) || (~t3 && t4)) $write(""); --000005 point: comment=else hier=top.t --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t --000004 point: comment=if hier=top.t +-000005 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t +-000004 point: type=branch comment=if hier=top.t %000007 if (t3 && (t1 == t2)) $write(""); --000007 point: comment=else hier=top.t --000005 point: comment=((t1 == t2)==0) => 0 hier=top.t --000005 point: comment=(t3==0) => 0 hier=top.t --000002 point: comment=(t3==1 && (t1 == t2)==1) => 1 hier=top.t --000002 point: comment=if hier=top.t +-000007 point: type=branch comment=else hier=top.t +-000005 point: type=expr comment=((t1 == t2)==0) => 0 hier=top.t +-000005 point: type=expr comment=(t3==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==1 && (t1 == t2)==1) => 1 hier=top.t +-000002 point: type=branch comment=if hier=top.t %000007 if (123 == (124 - 32'(t1 || t2))) $write(""); --000002 point: comment=else hier=top.t --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000005 point: comment=(t1==1) => 1 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t --000007 point: comment=if hier=top.t +-000002 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==1) => 1 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t +-000007 point: type=branch comment=if hier=top.t %000009 some_int <= (t2 || t3) ? 345 : 567; --000009 point: comment=block hier=top.t --000003 point: comment=(t2==0 && t3==0) => 0 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t --000004 point: comment=(t3==1) => 1 hier=top.t --000006 point: comment=cond_then hier=top.t --000003 point: comment=cond_else hier=top.t +-000009 point: type=line comment=block hier=top.t +-000003 point: type=expr comment=(t2==0 && t3==0) => 0 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t +-000004 point: type=expr comment=(t3==1) => 1 hier=top.t +-000006 point: type=branch comment=cond_then hier=top.t +-000003 point: type=branch comment=cond_else hier=top.t %000009 some_bool <= t1 && t2; --000009 point: comment=block hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t +-000009 point: type=line comment=block hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t %000007 if (t1 & t2) $write(""); --000007 point: comment=else hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=if hier=top.t +-000007 point: type=branch comment=else hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=branch comment=if hier=top.t %000005 if ((!t1 && t2) | (~t3 && t4)) $write(""); --000005 point: comment=else hier=top.t --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t --000004 point: comment=if hier=top.t +-000005 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t +-000004 point: type=branch comment=if hier=top.t %000005 if (t1 ^ t2) $write(""); --000004 point: comment=else hier=top.t --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 0 hier=top.t --000005 point: comment=if hier=top.t +-000004 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 0 hier=top.t +-000005 point: type=branch comment=if hier=top.t %000007 if (~(t1 & t2)) $write(""); --000002 point: comment=else hier=top.t --000004 point: comment=(t1==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 0 hier=top.t --000005 point: comment=(t2==0) => 1 hier=top.t --000007 point: comment=if hier=top.t +-000002 point: type=branch comment=else hier=top.t +-000004 point: type=expr comment=(t1==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 1 hier=top.t +-000007 point: type=branch comment=if hier=top.t %000006 if (t1 -> t2) $write(""); --000003 point: comment=else hier=top.t --000004 point: comment=(t1==0) => 1 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 0 hier=top.t --000004 point: comment=(t2==1) => 1 hier=top.t --000006 point: comment=if hier=top.t +-000003 point: type=branch comment=else hier=top.t +-000004 point: type=expr comment=(t1==0) => 1 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 0 hier=top.t +-000004 point: type=expr comment=(t2==1) => 1 hier=top.t +-000006 point: type=branch comment=if hier=top.t %000005 if (t1 <-> t2) $write(""); --000005 point: comment=else hier=top.t --000002 point: comment=(t1==0 && t2==0) => 1 hier=top.t --000002 point: comment=(t1==0 && t2==1) => 0 hier=top.t --000003 point: comment=(t1==1 && t2==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000004 point: comment=if hier=top.t +-000005 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 0 hier=top.t +-000003 point: type=expr comment=(t1==1 && t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000004 point: type=branch comment=if hier=top.t %000008 if (&cyc[2:0]) $write(""); --000008 point: comment=else hier=top.t --000004 point: comment=(cyc[2:0][0]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t --000005 point: comment=(cyc[2:0][1]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][2]==0) => 0 hier=top.t --000001 point: comment=if hier=top.t +-000008 point: type=branch comment=else hier=top.t +-000004 point: type=expr comment=(cyc[2:0][0]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][1]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][2]==0) => 0 hier=top.t +-000001 point: type=branch comment=if hier=top.t %000009 if (&cyc[3:2]) $write(""); --000009 point: comment=else hier=top.t --000005 point: comment=(cyc[3:2][0]==0) => 0 hier=top.t --000000 point: comment=(cyc[3:2][0]==1 && cyc[3:2][1]==1) => 1 hier=top.t --000007 point: comment=(cyc[3:2][1]==0) => 0 hier=top.t --000000 point: comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t +-000005 point: type=expr comment=(cyc[3:2][0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[3:2][0]==1 && cyc[3:2][1]==1) => 1 hier=top.t +-000007 point: type=expr comment=(cyc[3:2][1]==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t %000008 if (|cyc[2:0]) $write(""); --000001 point: comment=else hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][0]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][1]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][2]==1) => 1 hier=top.t --000008 point: comment=if hier=top.t +-000001 point: type=branch comment=else hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][0]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][1]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][2]==1) => 1 hier=top.t +-000008 point: type=branch comment=if hier=top.t %000005 if (^cyc[2:0]) $write(""); --000004 point: comment=else hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 0 hier=top.t --000002 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 1 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 0 hier=top.t --000001 point: comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t --000005 point: comment=if hier=top.t +-000004 point: type=branch comment=else hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==0) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==0 && cyc[2:0][2]==1) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==0) => 0 hier=top.t +-000001 point: type=expr comment=(cyc[2:0][0]==1 && cyc[2:0][1]==1 && cyc[2:0][2]==1) => 1 hier=top.t +-000005 point: type=branch comment=if hier=top.t %000009 if (|cyc[2:0] || cyc[3]) $write(""); --000000 point: comment=else hier=top.t --000000 point: comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0 && cyc[3]==0) => 0 hier=top.t --000005 point: comment=(cyc[2:0][0]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][1]==1) => 1 hier=top.t --000004 point: comment=(cyc[2:0][2]==1) => 1 hier=top.t --000002 point: comment=(cyc[3]==1) => 1 hier=top.t --000009 point: comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t +-000000 point: type=expr comment=(cyc[2:0][0]==0 && cyc[2:0][1]==0 && cyc[2:0][2]==0 && cyc[3]==0) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[2:0][0]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][1]==1) => 1 hier=top.t +-000004 point: type=expr comment=(cyc[2:0][2]==1) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[3]==1) => 1 hier=top.t +-000009 point: type=branch comment=if hier=top.t %000007 if (t1 & t2 & 1'b1) $write(""); --000007 point: comment=else hier=top.t --000000 point: comment=(1'h1==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1 && 1'h1==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=if hier=top.t +-000007 point: type=branch comment=else hier=top.t +-000000 point: type=expr comment=(1'h1==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1 && 1'h1==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=branch comment=if hier=top.t %000009 if (t1 & t2 & 1'b0) $write(""); --000009 point: comment=else hier=top.t --000009 point: comment=(1'h0==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && 1'h0==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000000 point: comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t +-000009 point: type=expr comment=(1'h0==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && 1'h0==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t %000007 if (t1 & t2 & ONE) $write(""); --000007 point: comment=else hier=top.t --000000 point: comment=(ONE==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1 && ONE==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=if hier=top.t +-000007 point: type=branch comment=else hier=top.t +-000000 point: type=expr comment=(ONE==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1 && ONE==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=branch comment=if hier=top.t %000009 if (t1 & t2 & ZERO) $write(""); --000009 point: comment=else hier=top.t --000009 point: comment=(ZERO==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && ZERO==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000000 point: comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t +-000009 point: type=expr comment=(ZERO==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && ZERO==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t %000005 if (t1 && t2) begin --000004 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=elsif hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=line comment=elsif hier=top.t %000002 $write(""); --000002 point: comment=elsif hier=top.t +-000002 point: type=line comment=elsif hier=top.t %000005 end else if (t1 || t2) begin --000005 point: comment=if hier=top.t --000002 point: comment=else hier=top.t --000002 point: comment=(t1==0 && t2==0) => 0 hier=top.t --000003 point: comment=(t1==1) => 1 hier=top.t --000002 point: comment=(t2==1) => 1 hier=top.t +-000005 point: type=branch comment=if hier=top.t +-000002 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==0) => 0 hier=top.t +-000003 point: type=expr comment=(t1==1) => 1 hier=top.t +-000002 point: type=expr comment=(t2==1) => 1 hier=top.t %000005 $write(""); --000005 point: comment=if hier=top.t +-000005 point: type=branch comment=if hier=top.t end %000007 if (invert(t1) && t2) $write(""); --000007 point: comment=else hier=top.t --000005 point: comment=(invert(t1)==0) => 0 hier=top.t --000002 point: comment=(invert(t1)==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=if hier=top.t +-000007 point: type=branch comment=else hier=top.t +-000005 point: type=expr comment=(invert(t1)==0) => 0 hier=top.t +-000002 point: type=expr comment=(invert(t1)==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=branch comment=if hier=top.t %000007 if (and_oper(t1, t2)) $write(""); --000007 point: comment=else hier=top.t --000002 point: comment=if hier=top.t +-000007 point: type=branch comment=else hier=top.t +-000002 point: type=branch comment=if hier=top.t %000007 if (t2 && t3) begin --000007 point: comment=else hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=(t2==1 && t3==1) => 1 hier=top.t --000005 point: comment=(t3==0) => 0 hier=top.t --000002 point: comment=if hier=top.t +-000007 point: type=branch comment=else hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==1 && t3==1) => 1 hier=top.t +-000005 point: type=expr comment=(t3==0) => 0 hier=top.t +-000002 point: type=branch comment=if hier=top.t %000001 if (t1 && t2) $write(""); --000001 point: comment=if hier=top.t --000001 point: comment=else hier=top.t --000001 point: comment=(t1==0) => 0 hier=top.t --000001 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000000 point: comment=(t2==0) => 0 hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000001 point: type=branch comment=else hier=top.t +-000001 point: type=expr comment=(t1==0) => 0 hier=top.t +-000001 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000000 point: type=expr comment=(t2==0) => 0 hier=top.t end %000009 if (0 == 1) begin --000009 point: comment=else hier=top.t --000000 point: comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t +-000000 point: type=branch comment=if hier=top.t %000000 for (int loop_var = 0; loop_var < 1; loop_var++) begin --000000 point: comment=if hier=top.t --000000 point: comment=block hier=top.t +-000000 point: type=branch comment=if hier=top.t +-000000 point: type=line comment=block hier=top.t %000000 if (cyc[loop_var] && t2) $write(""); --000000 point: comment=if hier=top.t --000000 point: comment=else hier=top.t --000000 point: comment=(cyc[loop_var[4:0]+:1]==0) => 0 hier=top.t --000000 point: comment=(cyc[loop_var[4:0]+:1]==1 && t2==1) => 1 hier=top.t --000000 point: comment=(t2==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t +-000000 point: type=expr comment=(cyc[loop_var[4:0]+:1]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[loop_var[4:0]+:1]==1 && t2==1) => 1 hier=top.t +-000000 point: type=expr comment=(t2==0) => 0 hier=top.t end end // stop at the first layer even if there's more to find %000007 if ((cyc[3+32'(t1 && t2)+:2] == cyc[5+32'(t3 || t4)+:2]) || cyc[31]) $write(""); --000002 point: comment=else hier=top.t --000002 point: comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==0 && cyc[31]==0) => 0 hier=top.t --000007 point: comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==1) => 1 hier=top.t --000000 point: comment=(cyc[31]==1) => 1 hier=top.t --000007 point: comment=if hier=top.t +-000002 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==0 && cyc[31]==0) => 0 hier=top.t +-000007 point: type=expr comment=((cyc[(32'sh3 + (t1 && t2))[4:0]+:2] == cyc[(32'sh5 + (t3 || t4))[4:0]+:2])==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[31]==1) => 1 hier=top.t +-000007 point: type=branch comment=if hier=top.t // impossible branches and redundant terms %000008 if ((t1 && t2) && ~(t1 && t3) && (t1 || t4)) $write(""); --000008 point: comment=else hier=top.t --000003 point: comment=(t1==0 && t4==0) => 0 hier=top.t --000004 point: comment=(t1==0) => 0 hier=top.t --000000 point: comment=(t1==1 && t2==1 && t3==0 && t4==1) => 1 hier=top.t --000001 point: comment=(t1==1 && t2==1 && t3==0) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000001 point: comment=if hier=top.t +-000008 point: type=branch comment=else hier=top.t +-000003 point: type=expr comment=(t1==0 && t4==0) => 0 hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000000 point: type=expr comment=(t1==1 && t2==1 && t3==0 && t4==1) => 1 hier=top.t +-000001 point: type=expr comment=(t1==1 && t2==1 && t3==0) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000001 point: type=branch comment=if hier=top.t %000008 if ((cyc[0] && cyc[1]) && ~(cyc[0] && cyc[2]) && (cyc[0] || cyc[3])) $write(""); --000008 point: comment=else hier=top.t --000003 point: comment=(cyc[0]==0 && cyc[3]==0) => 0 hier=top.t --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t --000001 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0) => 1 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t --000001 point: comment=if hier=top.t +-000008 point: type=branch comment=else hier=top.t +-000003 point: type=expr comment=(cyc[0]==0 && cyc[3]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0) => 1 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[2]==1) => 0 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t +-000001 point: type=branch comment=if hier=top.t // demonstrate current limitations of term matching scheme %000008 if ((cyc[0] && cyc[1]) && ~(cyc[1-1] && cyc[2]) && (cyc[2-2] || cyc[3])) $write(""); --000008 point: comment=else hier=top.t --000002 point: comment=(cyc[(32'sh1 - 32'sh1)[4:0]+:1]==1 && cyc[2]==1) => 0 hier=top.t --000003 point: comment=(cyc[(32'sh2 - 32'sh2)[4:0]+:1]==0 && cyc[3]==0) => 0 hier=top.t --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[3]==1) => 1 hier=top.t --000001 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t --000000 point: comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t --000001 point: comment=if hier=top.t +-000008 point: type=branch comment=else hier=top.t +-000002 point: type=expr comment=(cyc[(32'sh1 - 32'sh1)[4:0]+:1]==1 && cyc[2]==1) => 0 hier=top.t +-000003 point: type=expr comment=(cyc[(32'sh2 - 32'sh2)[4:0]+:1]==0 && cyc[3]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[(32'sh1 - 32'sh1)[4:0]+:1]==0 && cyc[3]==1) => 1 hier=top.t +-000001 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[(32'sh2 - 32'sh2)[4:0]+:1]==1) => 1 hier=top.t +-000000 point: type=expr comment=(cyc[0]==1 && cyc[1]==1 && cyc[2]==0 && cyc[3]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t +-000001 point: type=branch comment=if hier=top.t //verilator coverage_off if (t1 && t2) $write(""); //verilator coverage_on %000005 if ((~t1 && t2) --000005 point: comment=else hier=top.t --000004 point: comment=if hier=top.t +-000005 point: type=branch comment=else hier=top.t +-000004 point: type=branch comment=if hier=top.t %000004 || --000002 point: comment=(t1==0 && t2==1) => 1 hier=top.t --000002 point: comment=(t1==1 && t3==1) => 0 hier=top.t --000004 point: comment=(t1==1 && t4==0) => 0 hier=top.t --000002 point: comment=(t2==0 && t3==1) => 0 hier=top.t --000003 point: comment=(t2==0 && t4==0) => 0 hier=top.t --000002 point: comment=(t3==0 && t4==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==0 && t2==1) => 1 hier=top.t +-000002 point: type=expr comment=(t1==1 && t3==1) => 0 hier=top.t +-000004 point: type=expr comment=(t1==1 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t2==0 && t3==1) => 0 hier=top.t +-000003 point: type=expr comment=(t2==0 && t4==0) => 0 hier=top.t +-000002 point: type=expr comment=(t3==0 && t4==1) => 1 hier=top.t %000004 (~t3 && t4)) $write(""); --000004 point: comment=if hier=top.t +-000004 point: type=branch comment=if hier=top.t // intentionally testing wonkified expression terms %000007 if ( --000007 point: comment=else hier=top.t --000002 point: comment=if hier=top.t +-000007 point: type=branch comment=else hier=top.t +-000002 point: type=branch comment=if hier=top.t cyc[ 0 %000005 ] & --000004 point: comment=(cyc[0]==0) => 0 hier=top.t --000002 point: comment=(cyc[0]==1 && cyc[1]==1) => 1 hier=top.t --000005 point: comment=(cyc[1]==0) => 0 hier=top.t +-000004 point: type=expr comment=(cyc[0]==0) => 0 hier=top.t +-000002 point: type=expr comment=(cyc[0]==1 && cyc[1]==1) => 1 hier=top.t +-000005 point: type=expr comment=(cyc[1]==0) => 0 hier=top.t cyc %000002 [1]) $write(""); --000002 point: comment=if hier=top.t +-000002 point: type=branch comment=if hier=top.t // for now each ternary condition is considered in isolation %000009 other_int <= t1 ? t2 ? 1 : 2 : 3; --000004 point: comment=(t1==0) => 0 hier=top.t --000005 point: comment=(t1==1) => 1 hier=top.t --000005 point: comment=cond_then hier=top.t --000004 point: comment=cond_else hier=top.t --000002 point: comment=cond_then hier=top.t --000003 point: comment=cond_else hier=top.t --000009 point: comment=block hier=top.t +-000004 point: type=expr comment=(t1==0) => 0 hier=top.t +-000005 point: type=expr comment=(t1==1) => 1 hier=top.t +-000005 point: type=branch comment=cond_then hier=top.t +-000004 point: type=branch comment=cond_else hier=top.t +-000002 point: type=branch comment=cond_then hier=top.t +-000003 point: type=branch comment=cond_else hier=top.t +-000009 point: type=line comment=block hier=top.t // no expression coverage for multi-bit expressions %000009 if ((cyc[1:0] & cyc[3:2]) == 2'b11) $write(""); --000009 point: comment=else hier=top.t --000000 point: comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t +-000000 point: type=branch comment=if hier=top.t // truth table is too large %000005 if (^cyc[6:0]) $write(""); --000004 point: comment=else hier=top.t --000005 point: comment=if hier=top.t +-000004 point: type=branch comment=else hier=top.t +-000005 point: type=branch comment=if hier=top.t // this one is too big even for t_cover_expr_max %000005 if (^cyc) $write(""); --000004 point: comment=else hier=top.t --000005 point: comment=if hier=top.t +-000004 point: type=branch comment=else hier=top.t +-000005 point: type=branch comment=if hier=top.t %000008 if (cyc==9) begin --000008 point: comment=else hier=top.t --000001 point: comment=if hier=top.t +-000008 point: type=branch comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t %000001 $write("*-* All Finished *-*\n"); --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t %000001 $finish; --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t end end 000010 always_comb begin -+000010 point: comment=block hier=top.t ++000010 point: type=line comment=block hier=top.t %000008 if (t1 && t2) $write(""); --000008 point: comment=else hier=top.t --000005 point: comment=(t1==0) => 0 hier=top.t --000002 point: comment=(t1==1 && t2==1) => 1 hier=top.t --000005 point: comment=(t2==0) => 0 hier=top.t --000002 point: comment=if hier=top.t +-000008 point: type=branch comment=else hier=top.t +-000005 point: type=expr comment=(t1==0) => 0 hier=top.t +-000002 point: type=expr comment=(t1==1 && t2==1) => 1 hier=top.t +-000005 point: type=expr comment=(t2==0) => 0 hier=top.t +-000002 point: type=branch comment=if hier=top.t end logic ta, tb, tc; %000001 initial begin --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 automatic cls obj = new; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 automatic cls null_obj = null; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 automatic int q[5]; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 automatic int qv[$]; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 q = '{1, 2, 2, 4, 3}; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t // lambas not handled // NB: there is a bug w/ tracing find_first (maybe lambdas in general?) // tracing_off does not work around the bug %000001 qv = q.find_first with (item[0] & item[1]); --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 ta = '1; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 tb = '0; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 tc = '0; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000003 while (ta || tb || tc) begin --000001 point: comment=(ta==0 && tb==0 && tc==0) => 0 hier=top.t --000000 point: comment=(ta==1) => 1 hier=top.t --000000 point: comment=(tb==1) => 1 hier=top.t --000000 point: comment=(tc==1) => 1 hier=top.t --000003 point: comment=block hier=top.t +-000001 point: type=expr comment=(ta==0 && tb==0 && tc==0) => 0 hier=top.t +-000000 point: type=expr comment=(ta==1) => 1 hier=top.t +-000000 point: type=expr comment=(tb==1) => 1 hier=top.t +-000000 point: type=expr comment=(tc==1) => 1 hier=top.t +-000003 point: type=line comment=block hier=top.t %000003 tc = tb; --000003 point: comment=block hier=top.t +-000003 point: type=line comment=block hier=top.t %000003 tb = ta; --000003 point: comment=block hier=top.t +-000003 point: type=line comment=block hier=top.t %000003 ta = '0; --000003 point: comment=block hier=top.t +-000003 point: type=line comment=block hier=top.t end %000001 if (!bit'(obj.randomize() with {x < 100;})) $write(""); --000000 point: comment=else hier=top.t --000001 point: comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t %000001 if (null_obj != null && null_obj.x == 5) $write(""); --000001 point: comment=else hier=top.t --000000 point: comment=if hier=top.t +-000001 point: type=branch comment=else hier=top.t +-000000 point: type=branch comment=if hier=top.t end sub the_sub_1 (.p(t1), .q(t2)); @@ -452,7 +452,7 @@ // // Branches which are statically impossible to reach are still reported. // E.g. - // -000000 point: comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t + // -000000 point: type=expr comment=(t1=1 && t2=1 && 1'h0=1) => 1 hier=top.t // These could potentially be pruned, but they currently follow suit for // what branch coverage does. Perhaps a switch should be added to not // count statically impossible things. @@ -465,13 +465,13 @@ ); 000030 always_comb begin -+000030 point: comment=block hier=top.t.the_sub_* ++000030 point: type=line comment=block hier=top.t.the_sub_* ~000028 if (p && q) $write(""); -+000028 point: comment=else hier=top.t.the_sub_* -+000017 point: comment=(p==0) => 0 hier=top.t.the_sub_* --000002 point: comment=(p==1 && q==1) => 1 hier=top.t.the_sub_* -+000019 point: comment=(q==0) => 0 hier=top.t.the_sub_* --000002 point: comment=if hier=top.t.the_sub_* ++000028 point: type=branch comment=else hier=top.t.the_sub_* ++000017 point: type=expr comment=(p==0) => 0 hier=top.t.the_sub_* +-000002 point: type=expr comment=(p==1 && q==1) => 1 hier=top.t.the_sub_* ++000019 point: type=expr comment=(q==0) => 0 hier=top.t.the_sub_* +-000002 point: type=branch comment=if hier=top.t.the_sub_* end endmodule diff --git a/test_regress/t/t_cover_line_wide_ternary.out b/test_regress/t/t_cover_line_wide_ternary.out index e35cbd240..692bb31a9 100644 --- a/test_regress/t/t_cover_line_wide_ternary.out +++ b/test_regress/t/t_cover_line_wide_ternary.out @@ -20,7 +20,7 @@ integer cyc; %000001 initial cyc=1; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t intf intfs [2] (); intf intf_sel_ff(); @@ -28,66 +28,66 @@ intf intf_sel_assign(); %000001 always_comb begin --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 intfs[0].bar = 123; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 intfs[1].bar = 456; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t end %000009 always_ff @ (posedge clk) begin --000009 point: comment=block hier=top.t +-000009 point: type=line comment=block hier=top.t %000009 {intf_sel_ff.foo, intf_sel_ff.bar, intf_sel_ff.baz} <= --000009 point: comment=block hier=top.t +-000009 point: type=line comment=block hier=top.t %000009 cyc[0] ? --000009 point: comment=cond_then hier=top.t +-000009 point: type=branch comment=cond_then hier=top.t %000009 {intfs[1].foo, intfs[1].bar, intfs[1].baz} : --000009 point: comment=cond_then hier=top.t --000009 point: comment=cond_else hier=top.t +-000009 point: type=branch comment=cond_then hier=top.t +-000009 point: type=branch comment=cond_else hier=top.t %000009 {intfs[0].foo, intfs[0].bar, intfs[0].baz}; --000009 point: comment=cond_else hier=top.t +-000009 point: type=branch comment=cond_else hier=top.t end 000010 always_comb begin -+000010 point: comment=block hier=top.t ++000010 point: type=line comment=block hier=top.t 000010 {intf_sel_comb.foo, intf_sel_comb.bar, intf_sel_comb.baz} = -+000010 point: comment=block hier=top.t ++000010 point: type=line comment=block hier=top.t 000010 cyc[0] ? -+000010 point: comment=cond_then hier=top.t ++000010 point: type=branch comment=cond_then hier=top.t 000010 {intfs[1].foo, intfs[1].bar, intfs[1].baz} : -+000010 point: comment=cond_then hier=top.t -+000010 point: comment=cond_else hier=top.t ++000010 point: type=branch comment=cond_then hier=top.t ++000010 point: type=branch comment=cond_else hier=top.t 000010 {intfs[0].foo, intfs[0].bar, intfs[0].baz}; -+000010 point: comment=cond_else hier=top.t ++000010 point: type=branch comment=cond_else hier=top.t end assign {intf_sel_assign.foo, intf_sel_assign.bar, intf_sel_assign.baz} = 000010 cyc[0] ? -+000010 point: comment=cond_then hier=top.t ++000010 point: type=branch comment=cond_then hier=top.t 000010 {intfs[1].foo, intfs[1].bar, intfs[1].baz} : -+000010 point: comment=cond_then hier=top.t -+000010 point: comment=cond_else hier=top.t ++000010 point: type=branch comment=cond_then hier=top.t ++000010 point: type=branch comment=cond_else hier=top.t 000010 {intfs[0].foo, intfs[0].bar, intfs[0].baz}; -+000010 point: comment=cond_else hier=top.t ++000010 point: type=branch comment=cond_else hier=top.t %000009 always @ (posedge clk) begin --000009 point: comment=block hier=top.t +-000009 point: type=line comment=block hier=top.t %000009 cyc <= cyc + 1; --000009 point: comment=block hier=top.t +-000009 point: type=line comment=block hier=top.t %000008 if (cyc==9) begin --000008 point: comment=else hier=top.t --000001 point: comment=if hier=top.t +-000008 point: type=branch comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t %000001 if (intf_sel_ff.bar != 123) $stop(); --000001 point: comment=else hier=top.t +-000001 point: type=line comment=else hier=top.t %000001 if (intf_sel_comb.bar != 456) $stop(); --000001 point: comment=else hier=top.t +-000001 point: type=line comment=else hier=top.t %000001 if (intf_sel_assign.bar != 456) $stop(); --000001 point: comment=else hier=top.t +-000001 point: type=line comment=else hier=top.t %000001 $write("*-* All Finished *-*\n"); --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t %000001 $finish; --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t end end endmodule diff --git a/test_regress/t/t_cover_sys_line_expr.out b/test_regress/t/t_cover_sys_line_expr.out index e284d684a..b6548b542 100644 --- a/test_regress/t/t_cover_sys_line_expr.out +++ b/test_regress/t/t_cover_sys_line_expr.out @@ -12,324 +12,324 @@ int cyc, bump, result; logic foo; %000001 initial begin --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 cyc = 0; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t %000001 foo = '1; --000001 point: comment=block hier=top.t +-000001 point: type=line comment=block hier=top.t end 000010 always @(posedge clk) begin -+000010 point: comment=block hier=top.t ++000010 point: type=line comment=block hier=top.t ~000010 if (($time != 0) && foo) bump <= bump + 1; -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($realtime != 0) && foo) bump <= bump + 1; -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($stime != 0) && foo) bump <= bump + 1; -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($bitstoreal(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($bitstoreal(64'h7b) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($bitstoreal(64'h7b) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($bitstoreal(64'h7b) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($bitstoreal(64'h7b) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($itor(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($itor($signed(32'sh7b)) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($itor($signed(32'sh7b)) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($itor($signed(32'sh7b)) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($itor($signed(32'sh7b)) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($signed(3) != 0) && foo) bump <= bump + 1; --000000 point: comment=((32'sh3 != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=((32'sh3 != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=((32'sh3 != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=((32'sh3 != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($realtobits(1.23) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($realtobits(1.23) != 64'h0)==0) => 0 hier=top.t -+000010 point: comment=(($realtobits(1.23) != 64'h0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($realtobits(1.23) != 64'h0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($realtobits(1.23) != 64'h0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($rtoi(1.23) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($rtoi(1.23) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($rtoi(1.23) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($rtoi(1.23) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($rtoi(1.23) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($unsigned(-3) != 0) && foo) bump <= bump + 1; --000000 point: comment=(((- 32'sh3) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(((- 32'sh3) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(((- 32'sh3) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(((- 32'sh3) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($clog2(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($clog2(32'sh7b) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($clog2(32'sh7b) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($clog2(32'sh7b) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($clog2(32'sh7b) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($ln(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($ln($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($ln($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($ln($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($ln($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($log10(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($log10($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($log10($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($log10($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($log10($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($exp(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($exp($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($exp($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($exp($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($exp($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($sqrt(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($sqrt($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($sqrt($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($sqrt($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($sqrt($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($pow(123, 2) != 0) && foo) bump <= bump + 1; --000000 point: comment=((($itor($signed(32'sh7b)) ** $itor($signed(32'sh2))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=((($itor($signed(32'sh7b)) ** $itor($signed(32'sh2))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=((($itor($signed(32'sh7b)) ** $itor($signed(32'sh2))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=((($itor($signed(32'sh7b)) ** $itor($signed(32'sh2))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($floor(1.23) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($floor(1.23) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($floor(1.23) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($floor(1.23) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($floor(1.23) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($ceil(1.23) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($ceil(1.23) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($ceil(1.23) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($ceil(1.23) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($ceil(1.23) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($sin(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($sin($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($sin($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($sin($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($sin($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($cos(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($cos($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($cos($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($cos($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($cos($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($tan(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($tan($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($tan($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($tan($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($tan($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($asin(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($asin($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($asin($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($asin($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($asin($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($acos(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($acos($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($acos($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($acos($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($acos($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($atan(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($atan($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($atan($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($atan($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($atan($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($atan2(123, 2) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($atan2($itor($signed(32'sh7b)),$itor($signed(32'sh2))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($atan2($itor($signed(32'sh7b)),$itor($signed(32'sh2))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($atan2($itor($signed(32'sh7b)),$itor($signed(32'sh2))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($atan2($itor($signed(32'sh7b)),$itor($signed(32'sh2))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($hypot(123, 2) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($hypot($itor($signed(32'sh7b)),$itor($signed(32'sh2))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($hypot($itor($signed(32'sh7b)),$itor($signed(32'sh2))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($hypot($itor($signed(32'sh7b)),$itor($signed(32'sh2))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($hypot($itor($signed(32'sh7b)),$itor($signed(32'sh2))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($sinh(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($sinh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($sinh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($sinh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($sinh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($cosh(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($cosh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($cosh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($cosh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($cosh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($tanh(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($tanh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($tanh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($tanh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($tanh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($asinh(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($asinh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($asinh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($asinh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($asinh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($acosh(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($acosh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($acosh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($acosh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($acosh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($atanh(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($atanh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t -+000010 point: comment=(($atanh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($atanh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==0) => 0 hier=top.t ++000010 point: type=expr comment=(($atanh($itor($signed(32'sh7b))) != $itor($signed(32'sh0)))==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($countbits(123, 2) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($countbits(32'sh7b, 32'sh2, , 32'sh2) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($countbits(32'sh7b, 32'sh2, , 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($countbits(32'sh7b, 32'sh2, , 32'sh2) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($countbits(32'sh7b, 32'sh2, , 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($onehot(123) != 0) && foo) bump <= bump + 1; -+000010 point: comment=(($onehot(32'sh7b) != 32'sh0)==0) => 0 hier=top.t --000000 point: comment=(($onehot(32'sh7b) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000000 point: comment=if hier=top.t -+000010 point: comment=else hier=top.t ++000010 point: type=expr comment=(($onehot(32'sh7b) != 32'sh0)==0) => 0 hier=top.t +-000000 point: type=expr comment=(($onehot(32'sh7b) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t ++000010 point: type=branch comment=else hier=top.t ~000010 if ($isunknown(foo) && foo) bump <= bump + 1; -+000010 point: comment=($isunknown(foo)==0) => 0 hier=top.t --000000 point: comment=($isunknown(foo)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000000 point: comment=if hier=top.t -+000010 point: comment=else hier=top.t ++000010 point: type=expr comment=($isunknown(foo)==0) => 0 hier=top.t +-000000 point: type=expr comment=($isunknown(foo)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t ++000010 point: type=branch comment=else hier=top.t ~000010 if (($countones(123) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($countones(32'sh7b) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($countones(32'sh7b) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($countones(32'sh7b) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($countones(32'sh7b) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($onehot0(123) != 0) && foo) bump <= bump + 1; -+000010 point: comment=(($onehot0(32'sh7b) != 32'sh0)==0) => 0 hier=top.t --000000 point: comment=(($onehot0(32'sh7b) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000000 point: comment=if hier=top.t -+000010 point: comment=else hier=top.t ++000010 point: type=expr comment=(($onehot0(32'sh7b) != 32'sh0)==0) => 0 hier=top.t +-000000 point: type=expr comment=(($onehot0(32'sh7b) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t ++000010 point: type=branch comment=else hier=top.t ~000010 if (($sampled(foo) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($sampled(foo) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($sampled(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($sampled(foo) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($sampled(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($fell(foo) != 0) && foo) bump <= bump + 1; -+000010 point: comment=(($fell(foo) != 32'sh0)==0) => 0 hier=top.t --000000 point: comment=(($fell(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000000 point: comment=if hier=top.t -+000010 point: comment=else hier=top.t ++000010 point: type=expr comment=(($fell(foo) != 32'sh0)==0) => 0 hier=top.t +-000000 point: type=expr comment=(($fell(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t ++000010 point: type=branch comment=else hier=top.t %000009 if (($changed(foo) != 0) && foo) bump <= bump + 1; --000009 point: comment=(((! $stable(foo)) != 32'sh0)==0) => 0 hier=top.t --000001 point: comment=(((! $stable(foo)) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000001 point: comment=if hier=top.t --000009 point: comment=else hier=top.t +-000009 point: type=expr comment=(((! $stable(foo)) != 32'sh0)==0) => 0 hier=top.t +-000001 point: type=expr comment=(((! $stable(foo)) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t %000009 if (($rose(foo) != 0) && foo) bump <= bump + 1; --000009 point: comment=(($rose(foo) != 32'sh0)==0) => 0 hier=top.t --000001 point: comment=(($rose(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000001 point: comment=if hier=top.t --000009 point: comment=else hier=top.t +-000009 point: type=expr comment=(($rose(foo) != 32'sh0)==0) => 0 hier=top.t +-000001 point: type=expr comment=(($rose(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t %000009 if (($stable(foo) != 0) && foo) bump <= bump + 1; --000001 point: comment=(($stable(foo) != 32'sh0)==0) => 0 hier=top.t --000009 point: comment=(($stable(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000009 point: comment=if hier=top.t --000001 point: comment=else hier=top.t +-000001 point: type=expr comment=(($stable(foo) != 32'sh0)==0) => 0 hier=top.t +-000009 point: type=expr comment=(($stable(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000009 point: type=branch comment=if hier=top.t +-000001 point: type=branch comment=else hier=top.t %000009 if (($past(foo) != 0) && foo) bump <= bump + 1; --000001 point: comment=(($past(foo) != 32'sh0)==0) => 0 hier=top.t --000009 point: comment=(($past(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000009 point: comment=if hier=top.t --000001 point: comment=else hier=top.t +-000001 point: type=expr comment=(($past(foo) != 32'sh0)==0) => 0 hier=top.t +-000009 point: type=expr comment=(($past(foo) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000009 point: type=branch comment=if hier=top.t +-000001 point: type=branch comment=else hier=top.t ~000010 if (($random != 0) && foo) bump <= bump + 1; -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($dist_erlang(result, 2, 3) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($dist_erlang(result, 32'sh2, 32'sh3) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($dist_erlang(result, 32'sh2, 32'sh3) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($dist_erlang(result, 32'sh2, 32'sh3) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($dist_erlang(result, 32'sh2, 32'sh3) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($dist_normal(result, 2, 3) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($dist_normal(result, 32'sh2, 32'sh3) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($dist_normal(result, 32'sh2, 32'sh3) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($dist_normal(result, 32'sh2, 32'sh3) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($dist_normal(result, 32'sh2, 32'sh3) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($dist_t(result, 2) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($dist_t(result, 32'sh2) != 32'sh0)==0) => 0 hier=top.t --000000 point: comment=(($dist_t(result, 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000000 point: comment=if hier=top.t -+000010 point: comment=else hier=top.t +-000000 point: type=expr comment=(($dist_t(result, 32'sh2) != 32'sh0)==0) => 0 hier=top.t +-000000 point: type=expr comment=(($dist_t(result, 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t ++000010 point: type=branch comment=else hier=top.t ~000010 if (($dist_chi_square(result, 2) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($dist_chi_square(result, 32'sh2) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($dist_chi_square(result, 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($dist_chi_square(result, 32'sh2) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($dist_chi_square(result, 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($dist_exponential(result, 2) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($dist_exponential(result, 32'sh2) != 32'sh0)==0) => 0 hier=top.t --000000 point: comment=(($dist_exponential(result, 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($dist_exponential(result, 32'sh2) != 32'sh0)==0) => 0 hier=top.t +-000000 point: type=expr comment=(($dist_exponential(result, 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($dist_poisson(result, 2) != 0) && foo) bump <= bump + 1; -+000010 point: comment=(($dist_poisson(result, 32'sh2) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($dist_poisson(result, 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t ++000010 point: type=expr comment=(($dist_poisson(result, 32'sh2) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($dist_poisson(result, 32'sh2) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($dist_uniform(result, 2, 3) != 0) && foo) bump <= bump + 1; --000000 point: comment=(($dist_uniform(result, 32'sh2, 32'sh3) != 32'sh0)==0) => 0 hier=top.t -+000010 point: comment=(($dist_uniform(result, 32'sh2, 32'sh3) != 32'sh0)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(($dist_uniform(result, 32'sh2, 32'sh3) != 32'sh0)==0) => 0 hier=top.t ++000010 point: type=expr comment=(($dist_uniform(result, 32'sh2, 32'sh3) != 32'sh0)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t ~000010 if (($sformatf("abc") != "abc") && foo) bump <= bump + 1; -+000010 point: comment=(($sformatf(%22abc%22);%0A != %22abc%22)==0) => 0 hier=top.t --000000 point: comment=(($sformatf(%22abc%22);%0A != %22abc%22)==1 && foo==1) => 1 hier=top.t --000000 point: comment=(foo==0) => 0 hier=top.t --000000 point: comment=if hier=top.t -+000010 point: comment=else hier=top.t ++000010 point: type=expr comment=(($sformatf(%22abc%22);%0A != %22abc%22)==0) => 0 hier=top.t +-000000 point: type=expr comment=(($sformatf(%22abc%22);%0A != %22abc%22)==1 && foo==1) => 1 hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t +-000000 point: type=branch comment=if hier=top.t ++000010 point: type=branch comment=else hier=top.t ~000010 if (foo && foo) bump <= bump + 1; --000000 point: comment=(foo==0) => 0 hier=top.t -+000010 point: comment=(foo==1) => 1 hier=top.t -+000010 point: comment=if hier=top.t --000000 point: comment=else hier=top.t +-000000 point: type=expr comment=(foo==0) => 0 hier=top.t ++000010 point: type=expr comment=(foo==1) => 1 hier=top.t ++000010 point: type=branch comment=if hier=top.t +-000000 point: type=branch comment=else hier=top.t 000010 cyc <= cyc + 1; -+000010 point: comment=block hier=top.t ++000010 point: type=line comment=block hier=top.t %000009 if (cyc == 9) begin --000001 point: comment=if hier=top.t --000009 point: comment=else hier=top.t +-000001 point: type=branch comment=if hier=top.t +-000009 point: type=branch comment=else hier=top.t %000001 $write("*-* All Finished *-*\n"); --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t %000001 $finish; --000001 point: comment=if hier=top.t +-000001 point: type=branch comment=if hier=top.t end end endmodule diff --git a/test_regress/t/t_cover_toggle__points.out b/test_regress/t/t_cover_toggle__points.out index 75138e087..25f537907 100644 --- a/test_regress/t/t_cover_toggle__points.out +++ b/test_regress/t/t_cover_toggle__points.out @@ -13,8 +13,8 @@ ); ~000010 input clk; -+000010 point: comment=clk:0->1 hier=top.t --000009 point: comment=clk:1->0 hier=top.t ++000010 point: type=toggle comment=clk:0->1 hier=top.t +-000009 point: type=toggle comment=clk:1->0 hier=top.t input real check_real; // Check issue #2741 input real check_array_real [1:0]; input string check_string; // Check issue #2766 @@ -28,20 +28,20 @@ } str_t; %000001 reg toggle; initial toggle='0; --000001 point: comment=toggle:0->1 hier=top.t --000001 point: comment=toggle:1->0 hier=top.t +-000001 point: type=toggle comment=toggle:0->1 hier=top.t +-000001 point: type=toggle comment=toggle:1->0 hier=top.t logic _under_toggle = toggle; // For --coverage-underscore %000001 str_t stoggle; initial stoggle='0; --000001 point: comment=stoggle.b:0->1 hier=top.t --000001 point: comment=stoggle.b:1->0 hier=top.t --000001 point: comment=stoggle.u.ua:0->1 hier=top.t --000001 point: comment=stoggle.u.ua:1->0 hier=top.t +-000001 point: type=toggle comment=stoggle.b:0->1 hier=top.t +-000001 point: type=toggle comment=stoggle.b:1->0 hier=top.t +-000001 point: type=toggle comment=stoggle.u.ua:0->1 hier=top.t +-000001 point: type=toggle comment=stoggle.u.ua:1->0 hier=top.t ~000010 str_logic strl; initial strl='0; -+000010 point: comment=strl.a:0->1 hier=top.t --000009 point: comment=strl.a:1->0 hier=top.t ++000010 point: type=toggle comment=strl.a:0->1 hier=top.t +-000009 point: type=toggle comment=strl.a:1->0 hier=top.t union { real val1; // TODO use bit [7:0] here @@ -51,36 +51,36 @@ const reg aconst = '0; %000001 reg [1:0][1:0] ptoggle; initial ptoggle=0; --000001 point: comment=ptoggle[0][0]:0->1 hier=top.t --000001 point: comment=ptoggle[0][0]:1->0 hier=top.t --000000 point: comment=ptoggle[0][1]:0->1 hier=top.t --000000 point: comment=ptoggle[0][1]:1->0 hier=top.t --000000 point: comment=ptoggle[1][0]:0->1 hier=top.t --000000 point: comment=ptoggle[1][0]:1->0 hier=top.t --000000 point: comment=ptoggle[1][1]:0->1 hier=top.t --000000 point: comment=ptoggle[1][1]:1->0 hier=top.t +-000001 point: type=toggle comment=ptoggle[0][0]:0->1 hier=top.t +-000001 point: type=toggle comment=ptoggle[0][0]:1->0 hier=top.t +-000000 point: type=toggle comment=ptoggle[0][1]:0->1 hier=top.t +-000000 point: type=toggle comment=ptoggle[0][1]:1->0 hier=top.t +-000000 point: type=toggle comment=ptoggle[1][0]:0->1 hier=top.t +-000000 point: type=toggle comment=ptoggle[1][0]:1->0 hier=top.t +-000000 point: type=toggle comment=ptoggle[1][1]:0->1 hier=top.t +-000000 point: type=toggle comment=ptoggle[1][1]:1->0 hier=top.t integer cyc; initial cyc=1; %000006 wire [7:0] cyc_copy = cyc[7:0]; --000006 point: comment=cyc_copy[0]:0->1 hier=top.t --000005 point: comment=cyc_copy[0]:1->0 hier=top.t --000003 point: comment=cyc_copy[1]:0->1 hier=top.t --000002 point: comment=cyc_copy[1]:1->0 hier=top.t --000001 point: comment=cyc_copy[2]:0->1 hier=top.t --000001 point: comment=cyc_copy[2]:1->0 hier=top.t --000001 point: comment=cyc_copy[3]:0->1 hier=top.t --000000 point: comment=cyc_copy[3]:1->0 hier=top.t --000000 point: comment=cyc_copy[4]:0->1 hier=top.t --000000 point: comment=cyc_copy[4]:1->0 hier=top.t --000000 point: comment=cyc_copy[5]:0->1 hier=top.t --000000 point: comment=cyc_copy[5]:1->0 hier=top.t --000000 point: comment=cyc_copy[6]:0->1 hier=top.t --000000 point: comment=cyc_copy[6]:1->0 hier=top.t --000000 point: comment=cyc_copy[7]:0->1 hier=top.t --000000 point: comment=cyc_copy[7]:1->0 hier=top.t +-000006 point: type=toggle comment=cyc_copy[0]:0->1 hier=top.t +-000005 point: type=toggle comment=cyc_copy[0]:1->0 hier=top.t +-000003 point: type=toggle comment=cyc_copy[1]:0->1 hier=top.t +-000002 point: type=toggle comment=cyc_copy[1]:1->0 hier=top.t +-000001 point: type=toggle comment=cyc_copy[2]:0->1 hier=top.t +-000001 point: type=toggle comment=cyc_copy[2]:1->0 hier=top.t +-000001 point: type=toggle comment=cyc_copy[3]:0->1 hier=top.t +-000000 point: type=toggle comment=cyc_copy[3]:1->0 hier=top.t +-000000 point: type=toggle comment=cyc_copy[4]:0->1 hier=top.t +-000000 point: type=toggle comment=cyc_copy[4]:1->0 hier=top.t +-000000 point: type=toggle comment=cyc_copy[5]:0->1 hier=top.t +-000000 point: type=toggle comment=cyc_copy[5]:1->0 hier=top.t +-000000 point: type=toggle comment=cyc_copy[6]:0->1 hier=top.t +-000000 point: type=toggle comment=cyc_copy[6]:1->0 hier=top.t +-000000 point: type=toggle comment=cyc_copy[7]:0->1 hier=top.t +-000000 point: type=toggle comment=cyc_copy[7]:1->0 hier=top.t %000001 wire toggle_up; --000001 point: comment=toggle_up:0->1 hier=top.t --000001 point: comment=toggle_up:1->0 hier=top.t +-000001 point: type=toggle comment=toggle_up:0->1 hier=top.t +-000001 point: type=toggle comment=toggle_up:1->0 hier=top.t typedef struct { int q[$]; @@ -94,47 +94,47 @@ bit [0:0] y; } str_bit_t; %000001 str_bit_t str_bit; --000001 point: comment=str_bit.x[3]:0->1 hier=top.t --000001 point: comment=str_bit.x[3]:1->0 hier=top.t --000001 point: comment=str_bit.x[4]:0->1 hier=top.t --000000 point: comment=str_bit.x[4]:1->0 hier=top.t --000001 point: comment=str_bit.x[5]:0->1 hier=top.t --000000 point: comment=str_bit.x[5]:1->0 hier=top.t --000001 point: comment=str_bit.y[0]:0->1 hier=top.t --000001 point: comment=str_bit.y[0]:1->0 hier=top.t +-000001 point: type=toggle comment=str_bit.x[3]:0->1 hier=top.t +-000001 point: type=toggle comment=str_bit.x[3]:1->0 hier=top.t +-000001 point: type=toggle comment=str_bit.x[4]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit.x[4]:1->0 hier=top.t +-000001 point: type=toggle comment=str_bit.x[5]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit.x[5]:1->0 hier=top.t +-000001 point: type=toggle comment=str_bit.y[0]:0->1 hier=top.t +-000001 point: type=toggle comment=str_bit.y[0]:1->0 hier=top.t %000001 str_bit_t [5:2] str_bit_arr; --000000 point: comment=str_bit_arr[2].x[3]:0->1 hier=top.t --000000 point: comment=str_bit_arr[2].x[3]:1->0 hier=top.t --000000 point: comment=str_bit_arr[2].x[4]:0->1 hier=top.t --000000 point: comment=str_bit_arr[2].x[4]:1->0 hier=top.t --000000 point: comment=str_bit_arr[2].x[5]:0->1 hier=top.t --000000 point: comment=str_bit_arr[2].x[5]:1->0 hier=top.t --000000 point: comment=str_bit_arr[2].y[0]:0->1 hier=top.t --000000 point: comment=str_bit_arr[2].y[0]:1->0 hier=top.t --000000 point: comment=str_bit_arr[3].x[3]:0->1 hier=top.t --000000 point: comment=str_bit_arr[3].x[3]:1->0 hier=top.t --000000 point: comment=str_bit_arr[3].x[4]:0->1 hier=top.t --000000 point: comment=str_bit_arr[3].x[4]:1->0 hier=top.t --000000 point: comment=str_bit_arr[3].x[5]:0->1 hier=top.t --000000 point: comment=str_bit_arr[3].x[5]:1->0 hier=top.t --000000 point: comment=str_bit_arr[3].y[0]:0->1 hier=top.t --000000 point: comment=str_bit_arr[3].y[0]:1->0 hier=top.t --000001 point: comment=str_bit_arr[4].x[3]:0->1 hier=top.t --000001 point: comment=str_bit_arr[4].x[3]:1->0 hier=top.t --000001 point: comment=str_bit_arr[4].x[4]:0->1 hier=top.t --000000 point: comment=str_bit_arr[4].x[4]:1->0 hier=top.t --000001 point: comment=str_bit_arr[4].x[5]:0->1 hier=top.t --000000 point: comment=str_bit_arr[4].x[5]:1->0 hier=top.t --000000 point: comment=str_bit_arr[4].y[0]:0->1 hier=top.t --000000 point: comment=str_bit_arr[4].y[0]:1->0 hier=top.t --000000 point: comment=str_bit_arr[5].x[3]:0->1 hier=top.t --000000 point: comment=str_bit_arr[5].x[3]:1->0 hier=top.t --000000 point: comment=str_bit_arr[5].x[4]:0->1 hier=top.t --000000 point: comment=str_bit_arr[5].x[4]:1->0 hier=top.t --000000 point: comment=str_bit_arr[5].x[5]:0->1 hier=top.t --000000 point: comment=str_bit_arr[5].x[5]:1->0 hier=top.t --000000 point: comment=str_bit_arr[5].y[0]:0->1 hier=top.t --000000 point: comment=str_bit_arr[5].y[0]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[2].x[3]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[2].x[3]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[2].x[4]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[2].x[4]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[2].x[5]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[2].x[5]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[2].y[0]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[2].y[0]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[3].x[3]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[3].x[3]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[3].x[4]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[3].x[4]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[3].x[5]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[3].x[5]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[3].y[0]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[3].y[0]:1->0 hier=top.t +-000001 point: type=toggle comment=str_bit_arr[4].x[3]:0->1 hier=top.t +-000001 point: type=toggle comment=str_bit_arr[4].x[3]:1->0 hier=top.t +-000001 point: type=toggle comment=str_bit_arr[4].x[4]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[4].x[4]:1->0 hier=top.t +-000001 point: type=toggle comment=str_bit_arr[4].x[5]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[4].x[5]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[4].y[0]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[4].y[0]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[5].x[3]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[5].x[3]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[5].x[4]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[5].x[4]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[5].x[5]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[5].x[5]:1->0 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[5].y[0]:0->1 hier=top.t +-000000 point: type=toggle comment=str_bit_arr[5].y[0]:1->0 hier=top.t assign strl.a = clk; @@ -179,54 +179,54 @@ %000001 reg [1:0] memory[121:110]; --000001 point: comment=memory[110][0]:0->1 hier=top.t --000000 point: comment=memory[110][0]:1->0 hier=top.t --000000 point: comment=memory[110][1]:0->1 hier=top.t --000000 point: comment=memory[110][1]:1->0 hier=top.t --000000 point: comment=memory[111][0]:0->1 hier=top.t --000000 point: comment=memory[111][0]:1->0 hier=top.t --000000 point: comment=memory[111][1]:0->1 hier=top.t --000000 point: comment=memory[111][1]:1->0 hier=top.t --000000 point: comment=memory[112][0]:0->1 hier=top.t --000000 point: comment=memory[112][0]:1->0 hier=top.t --000000 point: comment=memory[112][1]:0->1 hier=top.t --000000 point: comment=memory[112][1]:1->0 hier=top.t --000000 point: comment=memory[113][0]:0->1 hier=top.t --000000 point: comment=memory[113][0]:1->0 hier=top.t --000000 point: comment=memory[113][1]:0->1 hier=top.t --000000 point: comment=memory[113][1]:1->0 hier=top.t --000000 point: comment=memory[114][0]:0->1 hier=top.t --000000 point: comment=memory[114][0]:1->0 hier=top.t --000000 point: comment=memory[114][1]:0->1 hier=top.t --000000 point: comment=memory[114][1]:1->0 hier=top.t --000000 point: comment=memory[115][0]:0->1 hier=top.t --000000 point: comment=memory[115][0]:1->0 hier=top.t --000000 point: comment=memory[115][1]:0->1 hier=top.t --000000 point: comment=memory[115][1]:1->0 hier=top.t --000000 point: comment=memory[116][0]:0->1 hier=top.t --000000 point: comment=memory[116][0]:1->0 hier=top.t --000000 point: comment=memory[116][1]:0->1 hier=top.t --000000 point: comment=memory[116][1]:1->0 hier=top.t --000000 point: comment=memory[117][0]:0->1 hier=top.t --000000 point: comment=memory[117][0]:1->0 hier=top.t --000000 point: comment=memory[117][1]:0->1 hier=top.t --000000 point: comment=memory[117][1]:1->0 hier=top.t --000000 point: comment=memory[118][0]:0->1 hier=top.t --000000 point: comment=memory[118][0]:1->0 hier=top.t --000000 point: comment=memory[118][1]:0->1 hier=top.t --000000 point: comment=memory[118][1]:1->0 hier=top.t --000000 point: comment=memory[119][0]:0->1 hier=top.t --000000 point: comment=memory[119][0]:1->0 hier=top.t --000000 point: comment=memory[119][1]:0->1 hier=top.t --000000 point: comment=memory[119][1]:1->0 hier=top.t --000000 point: comment=memory[120][0]:0->1 hier=top.t --000000 point: comment=memory[120][0]:1->0 hier=top.t --000000 point: comment=memory[120][1]:0->1 hier=top.t --000000 point: comment=memory[120][1]:1->0 hier=top.t --000000 point: comment=memory[121][0]:0->1 hier=top.t --000000 point: comment=memory[121][0]:1->0 hier=top.t --000000 point: comment=memory[121][1]:0->1 hier=top.t --000000 point: comment=memory[121][1]:1->0 hier=top.t +-000001 point: type=toggle comment=memory[110][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[110][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[110][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[110][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[111][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[111][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[111][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[111][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[112][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[112][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[112][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[112][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[113][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[113][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[113][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[113][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[114][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[114][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[114][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[114][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[115][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[115][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[115][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[115][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[116][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[116][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[116][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[116][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[117][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[117][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[117][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[117][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[118][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[118][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[118][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[118][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[119][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[119][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[119][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[119][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[120][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[120][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[120][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[120][1]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[121][0]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[121][0]:1->0 hier=top.t +-000000 point: type=toggle comment=memory[121][1]:0->1 hier=top.t +-000000 point: type=toggle comment=memory[121][1]:1->0 hier=top.t wire [1023:0] largeish = {992'h0, cyc}; // CHECK_COVER_MISSING(-1) @@ -273,33 +273,33 @@ // t.a1 and t.a2 collapse to a count of 2 000020 input clk; -+000020 point: comment=clk:0->1 hier=top.t.a* -+000018 point: comment=clk:1->0 hier=top.t.a* ++000020 point: type=toggle comment=clk:0->1 hier=top.t.a* ++000018 point: type=toggle comment=clk:1->0 hier=top.t.a* %000002 input toggle; --000002 point: comment=toggle:0->1 hier=top.t.a* --000002 point: comment=toggle:1->0 hier=top.t.a* +-000002 point: type=toggle comment=toggle:0->1 hier=top.t.a* +-000002 point: type=toggle comment=toggle:1->0 hier=top.t.a* // CHECK_COVER(-1,"top.t.a*","toggle:0->1",2) // CHECK_COVER(-2,"top.t.a*","toggle:1->0",2) // (t.a1 and t.a2) ~000012 input [7:0] cyc_copy; -+000012 point: comment=cyc_copy[0]:0->1 hier=top.t.a* -+000010 point: comment=cyc_copy[0]:1->0 hier=top.t.a* --000006 point: comment=cyc_copy[1]:0->1 hier=top.t.a* --000004 point: comment=cyc_copy[1]:1->0 hier=top.t.a* --000002 point: comment=cyc_copy[2]:0->1 hier=top.t.a* --000002 point: comment=cyc_copy[2]:1->0 hier=top.t.a* --000002 point: comment=cyc_copy[3]:0->1 hier=top.t.a* --000000 point: comment=cyc_copy[3]:1->0 hier=top.t.a* --000000 point: comment=cyc_copy[4]:0->1 hier=top.t.a* --000000 point: comment=cyc_copy[4]:1->0 hier=top.t.a* --000000 point: comment=cyc_copy[5]:0->1 hier=top.t.a* --000000 point: comment=cyc_copy[5]:1->0 hier=top.t.a* --000000 point: comment=cyc_copy[6]:0->1 hier=top.t.a* --000000 point: comment=cyc_copy[6]:1->0 hier=top.t.a* --000000 point: comment=cyc_copy[7]:0->1 hier=top.t.a* --000000 point: comment=cyc_copy[7]:1->0 hier=top.t.a* ++000012 point: type=toggle comment=cyc_copy[0]:0->1 hier=top.t.a* ++000010 point: type=toggle comment=cyc_copy[0]:1->0 hier=top.t.a* +-000006 point: type=toggle comment=cyc_copy[1]:0->1 hier=top.t.a* +-000004 point: type=toggle comment=cyc_copy[1]:1->0 hier=top.t.a* +-000002 point: type=toggle comment=cyc_copy[2]:0->1 hier=top.t.a* +-000002 point: type=toggle comment=cyc_copy[2]:1->0 hier=top.t.a* +-000002 point: type=toggle comment=cyc_copy[3]:0->1 hier=top.t.a* +-000000 point: type=toggle comment=cyc_copy[3]:1->0 hier=top.t.a* +-000000 point: type=toggle comment=cyc_copy[4]:0->1 hier=top.t.a* +-000000 point: type=toggle comment=cyc_copy[4]:1->0 hier=top.t.a* +-000000 point: type=toggle comment=cyc_copy[5]:0->1 hier=top.t.a* +-000000 point: type=toggle comment=cyc_copy[5]:1->0 hier=top.t.a* +-000000 point: type=toggle comment=cyc_copy[6]:0->1 hier=top.t.a* +-000000 point: type=toggle comment=cyc_copy[6]:1->0 hier=top.t.a* +-000000 point: type=toggle comment=cyc_copy[7]:0->1 hier=top.t.a* +-000000 point: type=toggle comment=cyc_copy[7]:1->0 hier=top.t.a* // CHECK_COVER(-1,"top.t.a*","cyc_copy[0]:0->1",12) // CHECK_COVER(-2,"top.t.a*","cyc_copy[0]:1->0",10) // CHECK_COVER(-3,"top.t.a*","cyc_copy[1]:0->1",6) @@ -318,15 +318,15 @@ // CHECK_COVER(-16,"top.t.a*","cyc_copy[7]:1->0",0) %000002 reg toggle_internal; --000002 point: comment=toggle_internal:0->1 hier=top.t.a* --000002 point: comment=toggle_internal:1->0 hier=top.t.a* +-000002 point: type=toggle comment=toggle_internal:0->1 hier=top.t.a* +-000002 point: type=toggle comment=toggle_internal:1->0 hier=top.t.a* // CHECK_COVER(-1,"top.t.a*","toggle_internal:0->1",2) // CHECK_COVER(-2,"top.t.a*","toggle_internal:1->0",2) // (t.a1 and t.a2) %000002 output reg toggle_up; --000002 point: comment=toggle_up:0->1 hier=top.t.a* --000002 point: comment=toggle_up:1->0 hier=top.t.a* +-000002 point: type=toggle comment=toggle_up:0->1 hier=top.t.a* +-000002 point: type=toggle comment=toggle_up:1->0 hier=top.t.a* // CHECK_COVER(-1,"top.t.a*","toggle_up:0->1",2) // CHECK_COVER(-2,"top.t.a*","toggle_up:1->0",2) // (t.a1 and t.a2) @@ -343,12 +343,12 @@ ); ~000010 input clk; -+000010 point: comment=clk:0->1 hier=top.t.b1 --000009 point: comment=clk:1->0 hier=top.t.b1 ++000010 point: type=toggle comment=clk:0->1 hier=top.t.b1 +-000009 point: type=toggle comment=clk:1->0 hier=top.t.b1 %000001 input toggle_up; --000001 point: comment=toggle_up:0->1 hier=top.t.b1 --000001 point: comment=toggle_up:1->0 hier=top.t.b1 +-000001 point: type=toggle comment=toggle_up:0->1 hier=top.t.b1 +-000001 point: type=toggle comment=toggle_up:1->0 hier=top.t.b1 // CHECK_COVER(-1,"top.t.b1","toggle_up:0->1",1) // CHECK_COVER(-2,"top.t.b1","toggle_up:1->0",1) @@ -370,8 +370,8 @@ // verilator coverage_on %000001 input toggle; --000001 point: comment=toggle:0->1 hier=top.t.o1 --000001 point: comment=toggle:1->0 hier=top.t.o1 +-000001 point: type=toggle comment=toggle:0->1 hier=top.t.o1 +-000001 point: type=toggle comment=toggle:1->0 hier=top.t.o1 // CHECK_COVER(-1,"top.t.o1","toggle:0->1",1) // CHECK_COVER(-2,"top.t.o1","toggle:1->0",1) @@ -383,89 +383,89 @@ ); ~000010 input clk; -+000010 point: comment=clk:0->1 hier=top.t.p2 --000009 point: comment=clk:1->0 hier=top.t.p2 -+000010 point: comment=clk:0->1 hier=top.t.p1 --000009 point: comment=clk:1->0 hier=top.t.p1 ++000010 point: type=toggle comment=clk:0->1 hier=top.t.p2 +-000009 point: type=toggle comment=clk:1->0 hier=top.t.p2 ++000010 point: type=toggle comment=clk:0->1 hier=top.t.p1 +-000009 point: type=toggle comment=clk:1->0 hier=top.t.p1 %000001 input toggle; --000001 point: comment=toggle:0->1 hier=top.t.p2 --000001 point: comment=toggle:1->0 hier=top.t.p2 --000001 point: comment=toggle:0->1 hier=top.t.p1 --000001 point: comment=toggle:1->0 hier=top.t.p1 +-000001 point: type=toggle comment=toggle:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=toggle:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=toggle:0->1 hier=top.t.p1 +-000001 point: type=toggle comment=toggle:1->0 hier=top.t.p1 %000001 logic z; --000001 point: comment=z:0->1 hier=top.t.p2 --000000 point: comment=z:1->0 hier=top.t.p2 --000000 point: comment=z:0->1 hier=top.t.p1 --000000 point: comment=z:1->0 hier=top.t.p1 +-000001 point: type=toggle comment=z:0->1 hier=top.t.p2 +-000000 point: type=toggle comment=z:1->0 hier=top.t.p2 +-000000 point: type=toggle comment=z:0->1 hier=top.t.p1 +-000000 point: type=toggle comment=z:1->0 hier=top.t.p1 for (genvar i = 0; i < P; i++) begin %000001 logic x; --000001 point: comment=genblk1[0].x:0->1 hier=top.t.p2 --000001 point: comment=genblk1[0].x:1->0 hier=top.t.p2 --000001 point: comment=genblk1[1].x:0->1 hier=top.t.p2 --000001 point: comment=genblk1[1].x:1->0 hier=top.t.p2 --000001 point: comment=genblk1[0].x:0->1 hier=top.t.p1 --000001 point: comment=genblk1[0].x:1->0 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].x:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].x:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].x:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].x:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].x:0->1 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].x:1->0 hier=top.t.p1 always @ (posedge clk) begin x <= toggle; end for (genvar j = 0; j < 3; j++) begin %000002 logic [2:0] y; --000001 point: comment=genblk1[0].genblk1[0].y[0]:0->1 hier=top.t.p2 --000000 point: comment=genblk1[0].genblk1[0].y[0]:1->0 hier=top.t.p2 --000002 point: comment=genblk1[0].genblk1[0].y[1]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[0].y[1]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[0].y[2]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[0].y[2]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[1].y[0]:0->1 hier=top.t.p2 --000000 point: comment=genblk1[0].genblk1[1].y[0]:1->0 hier=top.t.p2 --000002 point: comment=genblk1[0].genblk1[1].y[1]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[1].y[1]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[1].y[2]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[1].y[2]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[2].y[0]:0->1 hier=top.t.p2 --000000 point: comment=genblk1[0].genblk1[2].y[0]:1->0 hier=top.t.p2 --000002 point: comment=genblk1[0].genblk1[2].y[1]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[2].y[1]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[2].y[2]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[2].y[2]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[0].y[0]:0->1 hier=top.t.p2 --000000 point: comment=genblk1[1].genblk1[0].y[0]:1->0 hier=top.t.p2 --000002 point: comment=genblk1[1].genblk1[0].y[1]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[0].y[1]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[0].y[2]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[0].y[2]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[1].y[0]:0->1 hier=top.t.p2 --000000 point: comment=genblk1[1].genblk1[1].y[0]:1->0 hier=top.t.p2 --000002 point: comment=genblk1[1].genblk1[1].y[1]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[1].y[1]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[1].y[2]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[1].y[2]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[2].y[0]:0->1 hier=top.t.p2 --000000 point: comment=genblk1[1].genblk1[2].y[0]:1->0 hier=top.t.p2 --000002 point: comment=genblk1[1].genblk1[2].y[1]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[2].y[1]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[2].y[2]:0->1 hier=top.t.p2 --000001 point: comment=genblk1[1].genblk1[2].y[2]:1->0 hier=top.t.p2 --000001 point: comment=genblk1[0].genblk1[0].y[0]:0->1 hier=top.t.p1 --000000 point: comment=genblk1[0].genblk1[0].y[0]:1->0 hier=top.t.p1 --000002 point: comment=genblk1[0].genblk1[0].y[1]:0->1 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[0].y[1]:1->0 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[0].y[2]:0->1 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[0].y[2]:1->0 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[1].y[0]:0->1 hier=top.t.p1 --000000 point: comment=genblk1[0].genblk1[1].y[0]:1->0 hier=top.t.p1 --000002 point: comment=genblk1[0].genblk1[1].y[1]:0->1 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[1].y[1]:1->0 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[1].y[2]:0->1 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[1].y[2]:1->0 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[2].y[0]:0->1 hier=top.t.p1 --000000 point: comment=genblk1[0].genblk1[2].y[0]:1->0 hier=top.t.p1 --000002 point: comment=genblk1[0].genblk1[2].y[1]:0->1 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[2].y[1]:1->0 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[2].y[2]:0->1 hier=top.t.p1 --000001 point: comment=genblk1[0].genblk1[2].y[2]:1->0 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[0].y[0]:0->1 hier=top.t.p2 +-000000 point: type=toggle comment=genblk1[0].genblk1[0].y[0]:1->0 hier=top.t.p2 +-000002 point: type=toggle comment=genblk1[0].genblk1[0].y[1]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[0].y[1]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[0].y[2]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[0].y[2]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[1].y[0]:0->1 hier=top.t.p2 +-000000 point: type=toggle comment=genblk1[0].genblk1[1].y[0]:1->0 hier=top.t.p2 +-000002 point: type=toggle comment=genblk1[0].genblk1[1].y[1]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[1].y[1]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[1].y[2]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[1].y[2]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[2].y[0]:0->1 hier=top.t.p2 +-000000 point: type=toggle comment=genblk1[0].genblk1[2].y[0]:1->0 hier=top.t.p2 +-000002 point: type=toggle comment=genblk1[0].genblk1[2].y[1]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[2].y[1]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[2].y[2]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[2].y[2]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[0].y[0]:0->1 hier=top.t.p2 +-000000 point: type=toggle comment=genblk1[1].genblk1[0].y[0]:1->0 hier=top.t.p2 +-000002 point: type=toggle comment=genblk1[1].genblk1[0].y[1]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[0].y[1]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[0].y[2]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[0].y[2]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[1].y[0]:0->1 hier=top.t.p2 +-000000 point: type=toggle comment=genblk1[1].genblk1[1].y[0]:1->0 hier=top.t.p2 +-000002 point: type=toggle comment=genblk1[1].genblk1[1].y[1]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[1].y[1]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[1].y[2]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[1].y[2]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[2].y[0]:0->1 hier=top.t.p2 +-000000 point: type=toggle comment=genblk1[1].genblk1[2].y[0]:1->0 hier=top.t.p2 +-000002 point: type=toggle comment=genblk1[1].genblk1[2].y[1]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[2].y[1]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[2].y[2]:0->1 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[1].genblk1[2].y[2]:1->0 hier=top.t.p2 +-000001 point: type=toggle comment=genblk1[0].genblk1[0].y[0]:0->1 hier=top.t.p1 +-000000 point: type=toggle comment=genblk1[0].genblk1[0].y[0]:1->0 hier=top.t.p1 +-000002 point: type=toggle comment=genblk1[0].genblk1[0].y[1]:0->1 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[0].y[1]:1->0 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[0].y[2]:0->1 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[0].y[2]:1->0 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[1].y[0]:0->1 hier=top.t.p1 +-000000 point: type=toggle comment=genblk1[0].genblk1[1].y[0]:1->0 hier=top.t.p1 +-000002 point: type=toggle comment=genblk1[0].genblk1[1].y[1]:0->1 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[1].y[1]:1->0 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[1].y[2]:0->1 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[1].y[2]:1->0 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[2].y[0]:0->1 hier=top.t.p1 +-000000 point: type=toggle comment=genblk1[0].genblk1[2].y[0]:1->0 hier=top.t.p1 +-000002 point: type=toggle comment=genblk1[0].genblk1[2].y[1]:0->1 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[2].y[1]:1->0 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[2].y[2]:0->1 hier=top.t.p1 +-000001 point: type=toggle comment=genblk1[0].genblk1[2].y[2]:1->0 hier=top.t.p1 always @ (negedge clk) begin y <= {toggle, ~toggle, 1'b1}; end @@ -482,7 +482,7 @@ ); ~000010 input str_logic input_struct; -+000010 point: comment=input_struct.a:0->1 hier=top.t.i_mod_struct --000009 point: comment=input_struct.a:1->0 hier=top.t.i_mod_struct ++000010 point: type=toggle comment=input_struct.a:0->1 hier=top.t.i_mod_struct +-000009 point: type=toggle comment=input_struct.a:1->0 hier=top.t.i_mod_struct endmodule