diff --git a/src/V3Ast.cpp b/src/V3Ast.cpp index 6ccc59510..a55da1b05 100644 --- a/src/V3Ast.cpp +++ b/src/V3Ast.cpp @@ -1594,11 +1594,12 @@ void AstNode::dtypeChgWidthSigned(int width, int widthMin, VSigning numeric) { // Enums need to become direct sizes to avoid later ENUMVALUE errors && !VN_IS(dtypep()->skipRefToEnump(), EnumDType)) return; // Correct already - // FUTURE: We may be pointing at a two state data type, and this may - // convert it to logic. Since the AstVar remains correct, we - // work OK but this assumption may break in the future. - // Note we can't just clone and do a widthForce, as if it's a BasicDType - // the msb() indications etc will be incorrect. + if (AstBasicDType* const basicp = VN_CAST(dtypep(), BasicDType)) { + if (basicp->keyword() == VBasicDTypeKwd::BIT) { + dtypeSetBitUnsized(width, widthMin, numeric); + return; + } + } dtypeSetLogicUnsized(width, widthMin, numeric); } } diff --git a/src/V3Ast.h b/src/V3Ast.h index f8413e0cf..125f2b357 100644 --- a/src/V3Ast.h +++ b/src/V3Ast.h @@ -766,7 +766,7 @@ public: void dtypeSetVoid() { dtypep(findVoidDType()); } // Data type locators - AstNodeDType* findBitDType() const { return findBasicDType(VBasicDTypeKwd::LOGIC); } + AstNodeDType* findBitDType() const { return findBasicDType(VBasicDTypeKwd::BIT); } AstNodeDType* findDoubleDType() const { return findBasicDType(VBasicDTypeKwd::DOUBLE); } AstNodeDType* findIntDType() const { return findBasicDType(VBasicDTypeKwd::INT); } AstNodeDType* findStringDType() const { return findBasicDType(VBasicDTypeKwd::STRING); } diff --git a/src/V3AstNodeExpr.h b/src/V3AstNodeExpr.h index fba213671..c469fad3d 100644 --- a/src/V3AstNodeExpr.h +++ b/src/V3AstNodeExpr.h @@ -602,7 +602,7 @@ class AstCExpr final : public AstNodeExpr { void init(const string& text, int setwidth) { if (!text.empty()) add(text); if (setwidth) { - dtypeSetLogicSized(setwidth, VSigning::UNSIGNED); + dtypeSetBitSized(setwidth, VSigning::UNSIGNED); } else { dtypeSetVoid(); // Caller to override if necessary } @@ -1005,9 +1005,12 @@ class AstConst final : public AstNodeExpr { dtypeSetDouble(); } else if (m_num.isString()) { dtypeSetString(); - } else { + } else if (m_num.isAnyXZ()) { dtypeSetLogicUnsized(m_num.width(), (m_num.sized() ? 0 : m_num.widthToFit()), VSigning::fromBool(m_num.isSigned())); + } else { + dtypeSetBitUnsized(m_num.width(), (m_num.sized() ? 0 : m_num.widthToFit()), + VSigning::fromBool(m_num.isSigned())); } m_num.nodep(this); } @@ -1046,35 +1049,35 @@ public: AstConst(FileLine* fl, uint32_t num) : ASTGEN_SUPER_Const(fl) , m_num(this, 32, num) { // Need () constructor - dtypeSetLogicUnsized(m_num.width(), 0, VSigning::UNSIGNED); + dtypeSetBitUnsized(m_num.width(), 0, VSigning::UNSIGNED); } class Unsized32 {}; // for creator type-overload selection AstConst(FileLine* fl, Unsized32, uint32_t num) // Unsized 32-bit integer of specified value : ASTGEN_SUPER_Const(fl) , m_num(this, 32, num) { // Need () constructor m_num.width(32, false); - dtypeSetLogicUnsized(32, m_num.widthToFit(), VSigning::UNSIGNED); + dtypeSetBitUnsized(32, m_num.widthToFit(), VSigning::UNSIGNED); } class Signed32 {}; // for creator type-overload selection AstConst(FileLine* fl, Signed32, int32_t num) // Signed 32-bit integer of specified value : ASTGEN_SUPER_Const(fl) , m_num(this, 32, num) { // Need () constructor m_num.width(32, true); - dtypeSetLogicUnsized(32, m_num.widthToFit(), VSigning::SIGNED); + dtypeSetBitUnsized(32, m_num.widthToFit(), VSigning::SIGNED); } class Unsized64 {}; // for creator type-overload selection AstConst(FileLine* fl, Unsized64, uint64_t num) : ASTGEN_SUPER_Const(fl) , m_num(this, 64, 0) { // Need () constructor m_num.setQuad(num); - dtypeSetLogicSized(64, VSigning::UNSIGNED); + dtypeSetBitSized(64, VSigning::UNSIGNED); } class SizedEData {}; // for creator type-overload selection AstConst(FileLine* fl, SizedEData, uint64_t num) : ASTGEN_SUPER_Const(fl) , m_num(this, VL_EDATASIZE, 0) { // Need () constructor m_num.setQuad(num); - dtypeSetLogicSized(VL_EDATASIZE, VSigning::UNSIGNED); + dtypeSetBitSized(VL_EDATASIZE, VSigning::UNSIGNED); } class RealDouble {}; // for creator type-overload selection AstConst(FileLine* fl, RealDouble, double num) @@ -1090,12 +1093,12 @@ public: dtypeSetString(); } class BitFalse {}; - AstConst(FileLine* fl, BitFalse) // Shorthand const 0, dtype should be a logic of size 1 + AstConst(FileLine* fl, BitFalse) // Shorthand const 0, dtype should be a bit of size 1 : ASTGEN_SUPER_Const(fl) , m_num(this, 1, 0) { // Need () constructor dtypeSetBit(); } - // Shorthand const 1 (or with argument 0/1), dtype should be a logic of size 1 + // Shorthand const 1 (or with argument 0/1), dtype should be a bit of size 1 class BitTrue {}; AstConst(FileLine* fl, BitTrue, bool on = true) : ASTGEN_SUPER_Const(fl) @@ -1127,7 +1130,7 @@ public: AstConst(FileLine* fl, OneStep) : ASTGEN_SUPER_Const(fl) , m_num{this, V3Number::OneStep{}} { - dtypeSetLogicSized(64, VSigning::UNSIGNED); + dtypeSetBitSized(64, VSigning::UNSIGNED); initWithNumber(); } ASTGEN_MEMBERS_AstConst; @@ -2781,8 +2784,13 @@ public: AstConcat(FileLine* fl, AstNodeExpr* lhsp, AstNodeExpr* rhsp) : ASTGEN_SUPER_Concat(fl, lhsp, rhsp) { if (lhsp->dtypep() && rhsp->dtypep()) { - dtypeSetLogicSized(lhsp->dtypep()->width() + rhsp->dtypep()->width(), - VSigning::UNSIGNED); + if (lhsp->dtypep()->isFourstate() || rhsp->dtypep()->isFourstate()) { + dtypeSetLogicSized(lhsp->dtypep()->width() + rhsp->dtypep()->width(), + VSigning::UNSIGNED); + } else { + dtypeSetBitSized(lhsp->dtypep()->width() + rhsp->dtypep()->width(), + VSigning::UNSIGNED); + } } } ASTGEN_MEMBERS_AstConcat; @@ -5005,7 +5013,7 @@ public: m_size = setwidth; if (setwidth) { if (minwidth == -1) minwidth = setwidth; - dtypeSetLogicUnsized(setwidth, minwidth, VSigning::UNSIGNED); + dtypeSetBitUnsized(setwidth, minwidth, VSigning::UNSIGNED); } } // cppcheck-suppress constParameterPointer diff --git a/src/V3Const.cpp b/src/V3Const.cpp index 8c74f675e..2409ec165 100644 --- a/src/V3Const.cpp +++ b/src/V3Const.cpp @@ -1599,7 +1599,13 @@ class ConstVisitor final : public VNVisitor { static bool operandsSame(const AstNode* node1p, const AstNode* node2p) { // For now we just detect constants & simple vars, though it could be more generic - if (VN_IS(node1p, Const) && VN_IS(node2p, Const)) return node1p->sameGateTree(node2p); + if (const AstConst* const const1p = VN_CAST(node1p, Const)) { + if (const AstConst* const const2p = VN_CAST(node2p, Const)) { + return V3Number{node1p->fileline(), 1, 0} + .opEq(const1p->num(), const2p->num()) + .isEqOne(); + } + } if (VN_IS(node1p, VarRef) && VN_IS(node2p, VarRef)) { // Avoid comparing widthMin's, which results in lost optimization attempts // If cleanup sameGateTree to be smarter, this can be restored. diff --git a/src/V3Localize.cpp b/src/V3Localize.cpp index 03d50a6ff..17e069708 100644 --- a/src/V3Localize.cpp +++ b/src/V3Localize.cpp @@ -119,6 +119,7 @@ class LocalizeVisitor final : public VNVisitor { = new AstVar{oldVarp->fileline(), oldVarp->varType(), newName, oldVarp}; newVarp->funcLocal(true); newVarp->noReset(oldVarp->noReset()); + newVarp->noSubst(oldVarp->noSubst()); funcp->addVarsp(newVarp); // Fix up all the references within this function diff --git a/test_regress/t/t_castdyn_castconst_bad.out b/test_regress/t/t_castdyn_castconst_bad.out index 946a30ce3..a96946f50 100644 --- a/test_regress/t/t_castdyn_castconst_bad.out +++ b/test_regress/t/t_castdyn_castconst_bad.out @@ -1,4 +1,4 @@ -%Warning-CASTCONST: t/t_castdyn_castconst_bad.v:20:9: $cast will always return one as 'int' is always castable from 'logic[31:0]' +%Warning-CASTCONST: t/t_castdyn_castconst_bad.v:20:9: $cast will always return one as 'int' is always castable from 'bit[31:0]' : ... note: In instance 't' : ... Suggest static cast 20 | i = $cast(v, 1); diff --git a/test_regress/t/t_class_assign_bad.out b/test_regress/t/t_class_assign_bad.out index 189dddddc..e6d57d994 100644 --- a/test_regress/t/t_class_assign_bad.out +++ b/test_regress/t/t_class_assign_bad.out @@ -1,9 +1,9 @@ -%Error: t/t_class_assign_bad.v:30:7: Assign RHS expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'logic' +%Error: t/t_class_assign_bad.v:30:7: Assign RHS expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'bit' : ... note: In instance 't' 30 | c = 0; | ^ ... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance. -%Error: t/t_class_assign_bad.v:31:7: Assign RHS expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'logic' +%Error: t/t_class_assign_bad.v:31:7: Assign RHS expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'bit' : ... note: In instance 't' 31 | c = 1; | ^ @@ -19,11 +19,11 @@ : ... note: In instance 't' 34 | ct2 = c; | ^ -%Error: t/t_class_assign_bad.v:36:5: Function Argument expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'logic' +%Error: t/t_class_assign_bad.v:36:5: Function Argument expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'bit' : ... note: In instance 't' 36 | t(0); | ^ -%Error: t/t_class_assign_bad.v:37:5: Function Argument expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'logic' +%Error: t/t_class_assign_bad.v:37:5: Function Argument expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'bit' : ... note: In instance 't' 37 | t(1); | ^ diff --git a/test_regress/t/t_class_assign_cond_bad.out b/test_regress/t/t_class_assign_cond_bad.out index d2bc63410..730c9efae 100644 --- a/test_regress/t/t_class_assign_cond_bad.out +++ b/test_regress/t/t_class_assign_cond_bad.out @@ -7,11 +7,11 @@ : ... note: In instance 't' 23 | c1 = (c1 != null) ? c2 : c2; | ^ -%Error: t/t_class_assign_cond_bad.v:24:23: Incompatible types of operands of condition operator: BASICDTYPE 'logic' and CLASSREFDTYPE 'Cls2' +%Error: t/t_class_assign_cond_bad.v:24:23: Incompatible types of operands of condition operator: BASICDTYPE 'bit' and CLASSREFDTYPE 'Cls2' : ... note: In instance 't' 24 | c2 = (c1 == null) ? 1'b1 : c2; | ^ -%Error: t/t_class_assign_cond_bad.v:24:8: Assign RHS expects a CLASSREFDTYPE 'Cls2', got BASICDTYPE 'logic' +%Error: t/t_class_assign_cond_bad.v:24:8: Assign RHS expects a CLASSREFDTYPE 'Cls2', got BASICDTYPE 'bit' : ... note: In instance 't' 24 | c2 = (c1 == null) ? 1'b1 : c2; | ^ diff --git a/test_regress/t/t_class_param_enum_bad.out b/test_regress/t/t_class_param_enum_bad.out index 27e909152..1bd914c75 100644 --- a/test_regress/t/t_class_param_enum_bad.out +++ b/test_regress/t/t_class_param_enum_bad.out @@ -3,7 +3,7 @@ 25 | automatic Converter #(bit) conv2 = conv1; | ^~~~~ ... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance. -%Error-ENUMVALUE: t/t_class_param_enum_bad.v:26:17: Implicit conversion to enum 'enum{}$unit::enum_t' from 'logic[31:0]' (IEEE 1800-2023 6.19.3) +%Error-ENUMVALUE: t/t_class_param_enum_bad.v:26:17: Implicit conversion to enum 'enum{}$unit::enum_t' from 'bit[31:0]' (IEEE 1800-2023 6.19.3) : ... note: In instance 't' : ... Suggest use enum's mnemonic, or static cast 26 | conv1.toInt(0); diff --git a/test_regress/t/t_constraint_json_only.out b/test_regress/t/t_constraint_json_only.out index 293a70a29..fe52d2b0f 100644 --- a/test_regress/t/t_constraint_json_only.out +++ b/test_regress/t/t_constraint_json_only.out @@ -36,57 +36,56 @@ {"type":"VAR","name":"b","addr":"(DB)","loc":"d,61:47,61:48","dtypep":"(M)","origName":"b","verilogName":"b","direction":"INPUT","isFuncLocal":true,"lifetime":"VAUTOMI","varType":"PORT","dtypeName":"string","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, {"type":"ASSIGN","name":"","addr":"(EB)","loc":"d,61:16,61:29","dtypep":"(U)", "rhsp": [ - {"type":"CONST","name":"1'h0","addr":"(FB)","loc":"d,61:16,61:29","dtypep":"(GB)"} + {"type":"CONST","name":"1'h0","addr":"(FB)","loc":"d,61:16,61:29","dtypep":"(U)"} ], "lhsp": [ - {"type":"VARREF","name":"strings_equal","addr":"(HB)","loc":"d,61:16,61:29","dtypep":"(U)","access":"WR","varp":"(BB)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"strings_equal","addr":"(GB)","loc":"d,61:16,61:29","dtypep":"(U)","access":"WR","varp":"(BB)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} ],"timingControlp": []}, - {"type":"ASSIGN","name":"","addr":"(IB)","loc":"d,62:5,62:11","dtypep":"(U)", + {"type":"ASSIGN","name":"","addr":"(HB)","loc":"d,62:5,62:11","dtypep":"(U)", "rhsp": [ - {"type":"EQN","name":"","addr":"(JB)","loc":"d,62:14,62:16","dtypep":"(GB)", + {"type":"EQN","name":"","addr":"(IB)","loc":"d,62:14,62:16","dtypep":"(U)", "lhsp": [ - {"type":"VARREF","name":"a","addr":"(KB)","loc":"d,62:12,62:13","dtypep":"(M)","access":"RD","varp":"(CB)","varScopep":"UNLINKED","classOrPackagep":"(O)"} + {"type":"VARREF","name":"a","addr":"(JB)","loc":"d,62:12,62:13","dtypep":"(M)","access":"RD","varp":"(CB)","varScopep":"UNLINKED","classOrPackagep":"(O)"} ], "rhsp": [ - {"type":"VARREF","name":"b","addr":"(LB)","loc":"d,62:17,62:18","dtypep":"(M)","access":"RD","varp":"(DB)","varScopep":"UNLINKED","classOrPackagep":"(O)"} + {"type":"VARREF","name":"b","addr":"(KB)","loc":"d,62:17,62:18","dtypep":"(M)","access":"RD","varp":"(DB)","varScopep":"UNLINKED","classOrPackagep":"(O)"} ]} ], "lhsp": [ - {"type":"VARREF","name":"strings_equal","addr":"(MB)","loc":"d,62:5,62:11","dtypep":"(U)","access":"WR","varp":"(BB)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"strings_equal","addr":"(LB)","loc":"d,62:5,62:11","dtypep":"(U)","access":"WR","varp":"(BB)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} ],"timingControlp": []} ],"scopeNamep": []}, - {"type":"FUNC","name":"new","addr":"(NB)","loc":"d,7:1,7:6","dtypep":"(OB)","method":true,"cname":"new","fvarp": [],"classOrPackagep": [],"stmtsp": [],"scopeNamep": []}, - {"type":"VAR","name":"constraint","addr":"(PB)","loc":"d,7:1,7:6","dtypep":"(QB)","origName":"constraint","verilogName":"constraint","direction":"NONE","lifetime":"NONE","varType":"MEMBER","dtypeName":"VlRandomizer","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []} + {"type":"FUNC","name":"new","addr":"(MB)","loc":"d,7:1,7:6","dtypep":"(NB)","method":true,"cname":"new","fvarp": [],"classOrPackagep": [],"stmtsp": [],"scopeNamep": []}, + {"type":"VAR","name":"constraint","addr":"(OB)","loc":"d,7:1,7:6","dtypep":"(PB)","origName":"constraint","verilogName":"constraint","direction":"NONE","lifetime":"NONE","varType":"MEMBER","dtypeName":"VlRandomizer","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []} ],"extendsp": []} ]} ],"filesp": [], "miscsp": [ - {"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(OB)", + {"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(NB)", "typesp": [ - {"type":"BASICDTYPE","name":"logic","addr":"(GB)","loc":"d,22:12,22:13","dtypep":"(GB)","keyword":"logic","generic":true,"rangep": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(RB)","loc":"d,25:19,25:20","dtypep":"(RB)","keyword":"logic","range":"31:0","generic":true,"rangep": []}, + {"type":"BASICDTYPE","name":"bit","addr":"(QB)","loc":"d,25:19,25:20","dtypep":"(QB)","keyword":"bit","range":"31:0","generic":true,"rangep": []}, {"type":"BASICDTYPE","name":"string","addr":"(M)","loc":"d,73:5,73:11","dtypep":"(M)","keyword":"string","generic":true,"rangep": []}, {"type":"BASICDTYPE","name":"int","addr":"(Q)","loc":"d,8:8,8:11","dtypep":"(Q)","keyword":"int","range":"31:0","generic":true,"signed":true,"rangep": []}, {"type":"BASICDTYPE","name":"bit","addr":"(U)","loc":"d,11:8,11:11","dtypep":"(U)","keyword":"bit","generic":true,"rangep": []}, {"type":"UNPACKARRAYDTYPE","name":"","addr":"(Y)","loc":"d,15:17,15:18","dtypep":"(Y)","declRange":"[0:1]","signed":true,"refDTypep":"(Q)","childDTypep": [], "rangep": [ - {"type":"RANGE","name":"","addr":"(SB)","loc":"d,15:17,15:18","ascending":true,"fromBracket":true, + {"type":"RANGE","name":"","addr":"(RB)","loc":"d,15:17,15:18","ascending":true,"fromBracket":true, "leftp": [ - {"type":"CONST","name":"32'h0","addr":"(TB)","loc":"d,15:18,15:19","dtypep":"(RB)"} + {"type":"CONST","name":"32'h0","addr":"(SB)","loc":"d,15:18,15:19","dtypep":"(QB)"} ], "rightp": [ - {"type":"CONST","name":"32'h1","addr":"(UB)","loc":"d,15:18,15:19","dtypep":"(RB)"} + {"type":"CONST","name":"32'h1","addr":"(TB)","loc":"d,15:18,15:19","dtypep":"(QB)"} ]} ]}, - {"type":"VOIDDTYPE","name":"","addr":"(OB)","loc":"d,7:1,7:6","dtypep":"(OB)"}, + {"type":"VOIDDTYPE","name":"","addr":"(NB)","loc":"d,7:1,7:6","dtypep":"(NB)"}, {"type":"CLASSREFDTYPE","name":"Packet","addr":"(H)","loc":"d,69:3,69:9","dtypep":"(H)","classp":"(O)","classOrPackagep":"(O)","paramsp": []}, - {"type":"BASICDTYPE","name":"VlRandomizer","addr":"(QB)","loc":"d,7:1,7:6","dtypep":"(QB)","keyword":"VlRandomizer","generic":true,"rangep": []} + {"type":"BASICDTYPE","name":"VlRandomizer","addr":"(PB)","loc":"d,7:1,7:6","dtypep":"(PB)","keyword":"VlRandomizer","generic":true,"rangep": []} ]}, {"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0", "modulep": [ - {"type":"MODULE","name":"@CONST-POOL@","addr":"(VB)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], + {"type":"MODULE","name":"@CONST-POOL@","addr":"(UB)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], "stmtsp": [ - {"type":"SCOPE","name":"@CONST-POOL@","addr":"(WB)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(VB)","varsp": [],"blocksp": [],"inlinesp": []} + {"type":"SCOPE","name":"@CONST-POOL@","addr":"(VB)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(UB)","varsp": [],"blocksp": [],"inlinesp": []} ]} ]} ]} diff --git a/test_regress/t/t_covergroup_coverpoints_unsup.out b/test_regress/t/t_covergroup_coverpoints_unsup.out index 417ecd3f2..10fe3461d 100644 --- a/test_regress/t/t_covergroup_coverpoints_unsup.out +++ b/test_regress/t/t_covergroup_coverpoints_unsup.out @@ -20,7 +20,7 @@ 31 | $display("coverage a = %f", the_cg.a.get_inst_coverage()); | ^ ... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance. -%Error-UNSUPPORTED: t/t_covergroup_coverpoints_unsup.v:31:44: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'logic'' +%Error-UNSUPPORTED: t/t_covergroup_coverpoints_unsup.v:31:44: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'bit'' : ... note: In instance 't' 31 | $display("coverage a = %f", the_cg.a.get_inst_coverage()); | ^~~~~~~~~~~~~~~~~ @@ -29,7 +29,7 @@ : ... note: In instance 't' 32 | $display("coverage b = %f", the_cg.b.get_inst_coverage()); | ^ -%Error-UNSUPPORTED: t/t_covergroup_coverpoints_unsup.v:32:44: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'logic'' +%Error-UNSUPPORTED: t/t_covergroup_coverpoints_unsup.v:32:44: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'bit'' : ... note: In instance 't' 32 | $display("coverage b = %f", the_cg.b.get_inst_coverage()); | ^~~~~~~~~~~~~~~~~ @@ -37,7 +37,7 @@ : ... note: In instance 't' 33 | if (the_cg.a.get_inst_coverage() != 15 / 16.0) $stop(); | ^ -%Error-UNSUPPORTED: t/t_covergroup_coverpoints_unsup.v:33:20: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'logic'' +%Error-UNSUPPORTED: t/t_covergroup_coverpoints_unsup.v:33:20: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'bit'' : ... note: In instance 't' 33 | if (the_cg.a.get_inst_coverage() != 15 / 16.0) $stop(); | ^~~~~~~~~~~~~~~~~ @@ -45,7 +45,7 @@ : ... note: In instance 't' 34 | if (the_cg.b.get_inst_coverage() != 4 / 5.0) $stop(); | ^ -%Error-UNSUPPORTED: t/t_covergroup_coverpoints_unsup.v:34:20: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'logic'' +%Error-UNSUPPORTED: t/t_covergroup_coverpoints_unsup.v:34:20: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'bit'' : ... note: In instance 't' 34 | if (the_cg.b.get_inst_coverage() != 4 / 5.0) $stop(); | ^~~~~~~~~~~~~~~~~ diff --git a/test_regress/t/t_covergroup_method_bad.out b/test_regress/t/t_covergroup_method_bad.out index 7929bf91e..394936ddb 100644 --- a/test_regress/t/t_covergroup_method_bad.out +++ b/test_regress/t/t_covergroup_method_bad.out @@ -3,7 +3,7 @@ 16 | cov1.some_unknown_method.name = "new_cov1_name"; | ^~~~~~~~~~~~~~~~~~~ ... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance. -%Error-UNSUPPORTED: t/t_covergroup_method_bad.v:16:30: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'logic'' +%Error-UNSUPPORTED: t/t_covergroup_method_bad.v:16:30: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'bit'' : ... note: In instance 't' 16 | cov1.some_unknown_method.name = "new_cov1_name"; | ^~~~ diff --git a/test_regress/t/t_covergroup_option_bad2.out b/test_regress/t/t_covergroup_option_bad2.out index cb57845f2..97f4ca97d 100644 --- a/test_regress/t/t_covergroup_option_bad2.out +++ b/test_regress/t/t_covergroup_option_bad2.out @@ -4,7 +4,7 @@ 18 | cov1.not_an_option.name = "new_cov1_name"; | ^~~~~~~~~~~~~ ... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance. -%Error-UNSUPPORTED: t/t_covergroup_option_bad2.v:18:24: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'logic'' +%Error-UNSUPPORTED: t/t_covergroup_option_bad2.v:18:24: Unsupported: Member call on object 'CONST '1'h0'' which is a 'BASICDTYPE 'bit'' : ... note: In instance 't' 18 | cov1.not_an_option.name = "new_cov1_name"; | ^~~~ diff --git a/test_regress/t/t_enum_enumvalue_struct_bad.out b/test_regress/t/t_enum_enumvalue_struct_bad.out index a19e1d294..e0d99f068 100644 --- a/test_regress/t/t_enum_enumvalue_struct_bad.out +++ b/test_regress/t/t_enum_enumvalue_struct_bad.out @@ -1,4 +1,4 @@ -%Error-ENUMVALUE: t/t_enum_enumvalue_struct_bad.v:19:32: Implicit conversion to enum 'MEMBERDTYPE 'a'' from 'logic[31:0]' (IEEE 1800-2023 6.19.3) +%Error-ENUMVALUE: t/t_enum_enumvalue_struct_bad.v:19:32: Implicit conversion to enum 'MEMBERDTYPE 'a'' from 'bit[31:0]' (IEEE 1800-2023 6.19.3) : ... note: In instance 't' : ... Suggest use enum's mnemonic, or static cast 19 | localparam foo_t FOO0 = '{a: 0, b: 1'b1, u: 1'b1}; diff --git a/test_regress/t/t_enum_type_bad.out b/test_regress/t/t_enum_type_bad.out index ce73b61d2..79b61aa95 100644 --- a/test_regress/t/t_enum_type_bad.out +++ b/test_regress/t/t_enum_type_bad.out @@ -1,4 +1,4 @@ -%Error-ENUMVALUE: t/t_enum_type_bad.v:36:9: Implicit conversion to enum 'enum{}t.e_t' from 'logic[31:0]' (IEEE 1800-2023 6.19.3) +%Error-ENUMVALUE: t/t_enum_type_bad.v:36:9: Implicit conversion to enum 'enum{}t.e_t' from 'bit[31:0]' (IEEE 1800-2023 6.19.3) : ... note: In instance 't' : ... Suggest use enum's mnemonic, or static cast 36 | e = 1; diff --git a/test_regress/t/t_func_refio_bad.out b/test_regress/t/t_func_refio_bad.out index 5b9677680..f9f8caf85 100644 --- a/test_regress/t/t_func_refio_bad.out +++ b/test_regress/t/t_func_refio_bad.out @@ -1,4 +1,4 @@ -%Error: t/t_func_refio_bad.v:16:15: Ref argument requires matching types; port 'q' requires 'integer$[$]' but connection is 'logic[31:0]'. +%Error: t/t_func_refio_bad.v:16:15: Ref argument requires matching types; port 'q' requires 'integer$[$]' but connection is 'bit[31:0]'. : ... note: In instance 't' 16 | queue_set(42); | ^~ diff --git a/test_regress/t/t_fuzz_eqne_bad.out b/test_regress/t/t_fuzz_eqne_bad.out index 9e7d5030e..aa60bf7e3 100644 --- a/test_regress/t/t_fuzz_eqne_bad.out +++ b/test_regress/t/t_fuzz_eqne_bad.out @@ -6,7 +6,7 @@ %Error: t/t_fuzz_eqne_bad.v:12:18: Comparison requires matching data types : ... note: In instance 't' : ... Left-hand data type: 'logic$[0:-1]' - : ... Right-hand data type: 'logic' + : ... Right-hand data type: 'bit' 12 | initial c = (a != &b); | ^~ %Error: Exiting due to diff --git a/test_regress/t/t_json_only_first.out b/test_regress/t/t_json_only_first.out index a4289bd8b..4d4a7361a 100644 --- a/test_regress/t/t_json_only_first.out +++ b/test_regress/t/t_json_only_first.out @@ -57,49 +57,50 @@ "stmtsp": [ {"type":"VAR","name":"WIDTH","addr":"(LB)","loc":"d,37:15,37:20","dtypep":"(MB)","origName":"WIDTH","verilogName":"WIDTH","direction":"NONE","isConst":true,"lifetime":"VSTATICI","varType":"GPARAM","dtypeName":"logic","isGParam":true,"isParam":true,"hasUserInit":true,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [], "valuep": [ - {"type":"CONST","name":"32'sh4","addr":"(NB)","loc":"d,21:14,21:15","dtypep":"(MB)"} + {"type":"CONST","name":"32'sh4","addr":"(NB)","loc":"d,21:14,21:15","dtypep":"(OB)"} ],"attrsp": []}, {"type":"VAR","name":"clk","addr":"(R)","loc":"d,39:11,39:14","dtypep":"(I)","origName":"clk","verilogName":"clk","direction":"INPUT","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, {"type":"VAR","name":"d","addr":"(U)","loc":"d,40:23,40:24","dtypep":"(G)","origName":"d","verilogName":"d","direction":"INPUT","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, {"type":"VAR","name":"q","addr":"(O)","loc":"d,41:30,41:31","dtypep":"(G)","origName":"q","verilogName":"q","direction":"OUTPUT","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, - {"type":"VAR","name":"IGNORED","addr":"(OB)","loc":"d,44:14,44:21","dtypep":"(MB)","origName":"IGNORED","verilogName":"IGNORED","direction":"NONE","isConst":true,"lifetime":"VSTATICI","varType":"LPARAM","dtypeName":"logic","isParam":true,"hasUserInit":true,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [], + {"type":"VAR","name":"IGNORED","addr":"(PB)","loc":"d,44:14,44:21","dtypep":"(MB)","origName":"IGNORED","verilogName":"IGNORED","direction":"NONE","isConst":true,"lifetime":"VSTATICI","varType":"LPARAM","dtypeName":"logic","isParam":true,"hasUserInit":true,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [], "valuep": [ - {"type":"CONST","name":"32'sh1","addr":"(PB)","loc":"d,44:24,44:25","dtypep":"(MB)"} + {"type":"CONST","name":"32'sh1","addr":"(QB)","loc":"d,44:24,44:25","dtypep":"(OB)"} ],"attrsp": []}, - {"type":"ALWAYS","name":"","addr":"(QB)","loc":"d,46:3,46:9","keyword":"always", + {"type":"ALWAYS","name":"","addr":"(RB)","loc":"d,46:3,46:9","keyword":"always", "sentreep": [ - {"type":"SENTREE","name":"","addr":"(RB)","loc":"d,46:10,46:11", + {"type":"SENTREE","name":"","addr":"(SB)","loc":"d,46:10,46:11", "sensesp": [ - {"type":"SENITEM","name":"","addr":"(SB)","loc":"d,46:12,46:19","edgeType":"POS", + {"type":"SENITEM","name":"","addr":"(TB)","loc":"d,46:12,46:19","edgeType":"POS", "sensp": [ - {"type":"VARREF","name":"clk","addr":"(TB)","loc":"d,46:20,46:23","dtypep":"(I)","access":"RD","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"clk","addr":"(UB)","loc":"d,46:20,46:23","dtypep":"(I)","access":"RD","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} ],"condp": []} ]} ], "stmtsp": [ - {"type":"ASSIGNDLY","name":"","addr":"(UB)","loc":"d,46:27,46:29","dtypep":"(G)", + {"type":"ASSIGNDLY","name":"","addr":"(VB)","loc":"d,46:27,46:29","dtypep":"(G)", "rhsp": [ - {"type":"VARREF","name":"d","addr":"(VB)","loc":"d,46:30,46:31","dtypep":"(G)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"d","addr":"(WB)","loc":"d,46:30,46:31","dtypep":"(G)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"q","addr":"(WB)","loc":"d,46:25,46:26","dtypep":"(G)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"q","addr":"(XB)","loc":"d,46:25,46:26","dtypep":"(G)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"} ],"timingControlp": []} ]} ]} ],"filesp": [], "miscsp": [ - {"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(XB)", + {"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(YB)", "typesp": [ + {"type":"BASICDTYPE","name":"logic","addr":"(MB)","loc":"d,37:15,37:20","dtypep":"(MB)","keyword":"logic","range":"31:0","generic":true,"signed":true,"rangep": []}, {"type":"BASICDTYPE","name":"logic","addr":"(I)","loc":"d,39:11,39:14","dtypep":"(I)","keyword":"logic","generic":true,"rangep": []}, {"type":"BASICDTYPE","name":"logic","addr":"(G)","loc":"d,16:15,16:16","dtypep":"(G)","keyword":"logic","range":"3:0","generic":true,"rangep": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(MB)","loc":"d,21:14,21:15","dtypep":"(MB)","keyword":"logic","range":"31:0","generic":true,"signed":true,"rangep": []}, - {"type":"VOIDDTYPE","name":"","addr":"(XB)","loc":"a,0:0,0:0","dtypep":"(XB)"} + {"type":"BASICDTYPE","name":"bit","addr":"(OB)","loc":"d,21:14,21:15","dtypep":"(OB)","keyword":"bit","range":"31:0","generic":true,"signed":true,"rangep": []}, + {"type":"VOIDDTYPE","name":"","addr":"(YB)","loc":"a,0:0,0:0","dtypep":"(YB)"} ]}, {"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0", "modulep": [ - {"type":"MODULE","name":"@CONST-POOL@","addr":"(YB)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], + {"type":"MODULE","name":"@CONST-POOL@","addr":"(ZB)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], "stmtsp": [ - {"type":"SCOPE","name":"@CONST-POOL@","addr":"(ZB)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(YB)","varsp": [],"blocksp": [],"inlinesp": []} + {"type":"SCOPE","name":"@CONST-POOL@","addr":"(AC)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(ZB)","varsp": [],"blocksp": [],"inlinesp": []} ]} ]} ]} diff --git a/test_regress/t/t_json_only_flat.out b/test_regress/t/t_json_only_flat.out index 41e0f1323..5f3c90b13 100644 --- a/test_regress/t/t_json_only_flat.out +++ b/test_regress/t/t_json_only_flat.out @@ -11,156 +11,156 @@ {"type":"VAR","name":"t.between","addr":"(O)","loc":"d,18:15,18:22","dtypep":"(H)","origName":"between","verilogName":"between","direction":"NONE","lifetime":"VSTATICI","varType":"VAR","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, {"type":"VAR","name":"t.cell1.WIDTH","addr":"(P)","loc":"d,37:15,37:20","dtypep":"(Q)","origName":"WIDTH","verilogName":"WIDTH","direction":"NONE","isConst":true,"lifetime":"VSTATICI","varType":"GPARAM","dtypeName":"logic","isGParam":true,"isParam":true,"hasUserInit":true,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [], "valuep": [ - {"type":"CONST","name":"32'sh4","addr":"(R)","loc":"d,21:14,21:15","dtypep":"(Q)"} + {"type":"CONST","name":"32'sh4","addr":"(R)","loc":"d,21:14,21:15","dtypep":"(S)"} ],"attrsp": []}, - {"type":"VAR","name":"t.cell1.clk","addr":"(S)","loc":"d,39:11,39:14","dtypep":"(J)","origName":"clk","verilogName":"clk","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, - {"type":"VAR","name":"t.cell1.d","addr":"(T)","loc":"d,40:23,40:24","dtypep":"(H)","origName":"d","verilogName":"d","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, - {"type":"VAR","name":"t.cell1.q","addr":"(U)","loc":"d,41:30,41:31","dtypep":"(H)","origName":"q","verilogName":"q","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, - {"type":"VAR","name":"t.cell1.IGNORED","addr":"(V)","loc":"d,44:14,44:21","dtypep":"(Q)","origName":"IGNORED","verilogName":"IGNORED","direction":"NONE","isConst":true,"lifetime":"VSTATICI","varType":"LPARAM","dtypeName":"logic","isParam":true,"hasUserInit":true,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [], + {"type":"VAR","name":"t.cell1.clk","addr":"(T)","loc":"d,39:11,39:14","dtypep":"(J)","origName":"clk","verilogName":"clk","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, + {"type":"VAR","name":"t.cell1.d","addr":"(U)","loc":"d,40:23,40:24","dtypep":"(H)","origName":"d","verilogName":"d","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, + {"type":"VAR","name":"t.cell1.q","addr":"(V)","loc":"d,41:30,41:31","dtypep":"(H)","origName":"q","verilogName":"q","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, + {"type":"VAR","name":"t.cell1.IGNORED","addr":"(W)","loc":"d,44:14,44:21","dtypep":"(Q)","origName":"IGNORED","verilogName":"IGNORED","direction":"NONE","isConst":true,"lifetime":"VSTATICI","varType":"LPARAM","dtypeName":"logic","isParam":true,"hasUserInit":true,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [], "valuep": [ - {"type":"CONST","name":"32'sh1","addr":"(W)","loc":"d,44:24,44:25","dtypep":"(Q)"} + {"type":"CONST","name":"32'sh1","addr":"(X)","loc":"d,44:24,44:25","dtypep":"(S)"} ],"attrsp": []}, - {"type":"VAR","name":"t.cell2.clk","addr":"(X)","loc":"d,51:11,51:14","dtypep":"(J)","origName":"clk","verilogName":"clk","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, - {"type":"VAR","name":"t.cell2.d","addr":"(Y)","loc":"d,52:17,52:18","dtypep":"(H)","origName":"d","verilogName":"d","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, - {"type":"VAR","name":"t.cell2.q","addr":"(Z)","loc":"d,53:23,53:24","dtypep":"(H)","origName":"q","verilogName":"q","direction":"NONE","lifetime":"VSTATICI","varType":"WIRE","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, + {"type":"VAR","name":"t.cell2.clk","addr":"(Y)","loc":"d,51:11,51:14","dtypep":"(J)","origName":"clk","verilogName":"clk","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, + {"type":"VAR","name":"t.cell2.d","addr":"(Z)","loc":"d,52:17,52:18","dtypep":"(H)","origName":"d","verilogName":"d","direction":"NONE","lifetime":"VSTATICI","varType":"PORT","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, + {"type":"VAR","name":"t.cell2.q","addr":"(AB)","loc":"d,53:23,53:24","dtypep":"(H)","origName":"q","verilogName":"q","direction":"NONE","lifetime":"VSTATICI","varType":"WIRE","dtypeName":"logic","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}, {"type":"TOPSCOPE","name":"","addr":"(E)","loc":"d,7:8,7:9","senTreesp": [], "scopep": [ - {"type":"SCOPE","name":"TOP","addr":"(AB)","loc":"d,7:8,7:9","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(F)", + {"type":"SCOPE","name":"TOP","addr":"(BB)","loc":"d,7:8,7:9","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(F)", "varsp": [ - {"type":"VARSCOPE","name":"q","addr":"(BB)","loc":"d,16:21,16:22","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(G)"}, - {"type":"VARSCOPE","name":"clk","addr":"(CB)","loc":"d,14:9,14:12","dtypep":"(J)","isTrace":true,"scopep":"(AB)","varp":"(I)"}, - {"type":"VARSCOPE","name":"d","addr":"(DB)","loc":"d,15:15,15:16","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(K)"}, - {"type":"VARSCOPE","name":"t.q","addr":"(EB)","loc":"d,16:21,16:22","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(L)"}, - {"type":"ALWAYS","name":"","addr":"(FB)","loc":"d,16:21,16:22","keyword":"cont_assign","sentreep": [], + {"type":"VARSCOPE","name":"q","addr":"(CB)","loc":"d,16:21,16:22","dtypep":"(H)","isTrace":true,"scopep":"(BB)","varp":"(G)"}, + {"type":"VARSCOPE","name":"clk","addr":"(DB)","loc":"d,14:9,14:12","dtypep":"(J)","isTrace":true,"scopep":"(BB)","varp":"(I)"}, + {"type":"VARSCOPE","name":"d","addr":"(EB)","loc":"d,15:15,15:16","dtypep":"(H)","isTrace":true,"scopep":"(BB)","varp":"(K)"}, + {"type":"VARSCOPE","name":"t.q","addr":"(FB)","loc":"d,16:21,16:22","dtypep":"(H)","isTrace":true,"scopep":"(BB)","varp":"(L)"}, + {"type":"ALWAYS","name":"","addr":"(GB)","loc":"d,16:21,16:22","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(GB)","loc":"d,16:21,16:22","dtypep":"(H)", + {"type":"ASSIGNW","name":"","addr":"(HB)","loc":"d,16:21,16:22","dtypep":"(H)", "rhsp": [ - {"type":"VARREF","name":"q","addr":"(HB)","loc":"d,16:21,16:22","dtypep":"(H)","access":"RD","varp":"(G)","varScopep":"(BB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"q","addr":"(IB)","loc":"d,16:21,16:22","dtypep":"(H)","access":"RD","varp":"(G)","varScopep":"(CB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.q","addr":"(IB)","loc":"d,16:21,16:22","dtypep":"(H)","access":"WR","varp":"(L)","varScopep":"(EB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.q","addr":"(JB)","loc":"d,16:21,16:22","dtypep":"(H)","access":"WR","varp":"(L)","varScopep":"(FB)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]}, - {"type":"VARSCOPE","name":"t.clk","addr":"(JB)","loc":"d,14:9,14:12","dtypep":"(J)","isTrace":true,"scopep":"(AB)","varp":"(M)"}, - {"type":"ALWAYS","name":"","addr":"(KB)","loc":"d,14:9,14:12","keyword":"cont_assign","sentreep": [], + {"type":"VARSCOPE","name":"t.clk","addr":"(KB)","loc":"d,14:9,14:12","dtypep":"(J)","isTrace":true,"scopep":"(BB)","varp":"(M)"}, + {"type":"ALWAYS","name":"","addr":"(LB)","loc":"d,14:9,14:12","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(LB)","loc":"d,14:9,14:12","dtypep":"(J)", + {"type":"ASSIGNW","name":"","addr":"(MB)","loc":"d,14:9,14:12","dtypep":"(J)", "rhsp": [ - {"type":"VARREF","name":"clk","addr":"(MB)","loc":"d,14:9,14:12","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(CB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"clk","addr":"(NB)","loc":"d,14:9,14:12","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(DB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.clk","addr":"(NB)","loc":"d,14:9,14:12","dtypep":"(J)","access":"WR","varp":"(M)","varScopep":"(JB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.clk","addr":"(OB)","loc":"d,14:9,14:12","dtypep":"(J)","access":"WR","varp":"(M)","varScopep":"(KB)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]}, - {"type":"VARSCOPE","name":"t.d","addr":"(OB)","loc":"d,15:15,15:16","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(N)"}, - {"type":"ALWAYS","name":"","addr":"(PB)","loc":"d,15:15,15:16","keyword":"cont_assign","sentreep": [], + {"type":"VARSCOPE","name":"t.d","addr":"(PB)","loc":"d,15:15,15:16","dtypep":"(H)","isTrace":true,"scopep":"(BB)","varp":"(N)"}, + {"type":"ALWAYS","name":"","addr":"(QB)","loc":"d,15:15,15:16","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(QB)","loc":"d,15:15,15:16","dtypep":"(H)", + {"type":"ASSIGNW","name":"","addr":"(RB)","loc":"d,15:15,15:16","dtypep":"(H)", "rhsp": [ - {"type":"VARREF","name":"d","addr":"(RB)","loc":"d,15:15,15:16","dtypep":"(H)","access":"RD","varp":"(K)","varScopep":"(DB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"d","addr":"(SB)","loc":"d,15:15,15:16","dtypep":"(H)","access":"RD","varp":"(K)","varScopep":"(EB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.d","addr":"(SB)","loc":"d,15:15,15:16","dtypep":"(H)","access":"WR","varp":"(N)","varScopep":"(OB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.d","addr":"(TB)","loc":"d,15:15,15:16","dtypep":"(H)","access":"WR","varp":"(N)","varScopep":"(PB)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]}, - {"type":"VARSCOPE","name":"t.between","addr":"(TB)","loc":"d,18:15,18:22","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(O)"}, - {"type":"VARSCOPE","name":"t.cell1.WIDTH","addr":"(UB)","loc":"d,37:15,37:20","dtypep":"(Q)","isTrace":true,"scopep":"(AB)","varp":"(P)"}, - {"type":"VARSCOPE","name":"t.cell1.clk","addr":"(VB)","loc":"d,39:11,39:14","dtypep":"(J)","isTrace":true,"scopep":"(AB)","varp":"(S)"}, - {"type":"ALWAYS","name":"","addr":"(WB)","loc":"d,39:11,39:14","keyword":"cont_assign","sentreep": [], + {"type":"VARSCOPE","name":"t.between","addr":"(UB)","loc":"d,18:15,18:22","dtypep":"(H)","isTrace":true,"scopep":"(BB)","varp":"(O)"}, + {"type":"VARSCOPE","name":"t.cell1.WIDTH","addr":"(VB)","loc":"d,37:15,37:20","dtypep":"(Q)","isTrace":true,"scopep":"(BB)","varp":"(P)"}, + {"type":"VARSCOPE","name":"t.cell1.clk","addr":"(WB)","loc":"d,39:11,39:14","dtypep":"(J)","isTrace":true,"scopep":"(BB)","varp":"(T)"}, + {"type":"ALWAYS","name":"","addr":"(XB)","loc":"d,39:11,39:14","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(XB)","loc":"d,39:11,39:14","dtypep":"(J)", + {"type":"ASSIGNW","name":"","addr":"(YB)","loc":"d,39:11,39:14","dtypep":"(J)", "rhsp": [ - {"type":"VARREF","name":"clk","addr":"(YB)","loc":"d,39:11,39:14","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(CB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"clk","addr":"(ZB)","loc":"d,39:11,39:14","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(DB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.cell1.clk","addr":"(ZB)","loc":"d,39:11,39:14","dtypep":"(J)","access":"WR","varp":"(S)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.cell1.clk","addr":"(AC)","loc":"d,39:11,39:14","dtypep":"(J)","access":"WR","varp":"(T)","varScopep":"(WB)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]}, - {"type":"VARSCOPE","name":"t.cell1.d","addr":"(AC)","loc":"d,40:23,40:24","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(T)"}, - {"type":"ALWAYS","name":"","addr":"(BC)","loc":"d,40:23,40:24","keyword":"cont_assign","sentreep": [], + {"type":"VARSCOPE","name":"t.cell1.d","addr":"(BC)","loc":"d,40:23,40:24","dtypep":"(H)","isTrace":true,"scopep":"(BB)","varp":"(U)"}, + {"type":"ALWAYS","name":"","addr":"(CC)","loc":"d,40:23,40:24","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(CC)","loc":"d,40:23,40:24","dtypep":"(H)", + {"type":"ASSIGNW","name":"","addr":"(DC)","loc":"d,40:23,40:24","dtypep":"(H)", "rhsp": [ - {"type":"VARREF","name":"d","addr":"(DC)","loc":"d,40:23,40:24","dtypep":"(H)","access":"RD","varp":"(K)","varScopep":"(DB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"d","addr":"(EC)","loc":"d,40:23,40:24","dtypep":"(H)","access":"RD","varp":"(K)","varScopep":"(EB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.cell1.d","addr":"(EC)","loc":"d,40:23,40:24","dtypep":"(H)","access":"WR","varp":"(T)","varScopep":"(AC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.cell1.d","addr":"(FC)","loc":"d,40:23,40:24","dtypep":"(H)","access":"WR","varp":"(U)","varScopep":"(BC)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]}, - {"type":"VARSCOPE","name":"t.cell1.q","addr":"(FC)","loc":"d,41:30,41:31","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(U)"}, - {"type":"ALWAYS","name":"","addr":"(GC)","loc":"d,41:30,41:31","keyword":"cont_assign","sentreep": [], + {"type":"VARSCOPE","name":"t.cell1.q","addr":"(GC)","loc":"d,41:30,41:31","dtypep":"(H)","isTrace":true,"scopep":"(BB)","varp":"(V)"}, + {"type":"ALWAYS","name":"","addr":"(HC)","loc":"d,41:30,41:31","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(HC)","loc":"d,41:30,41:31","dtypep":"(H)", + {"type":"ASSIGNW","name":"","addr":"(IC)","loc":"d,41:30,41:31","dtypep":"(H)", "rhsp": [ - {"type":"VARREF","name":"t.between","addr":"(IC)","loc":"d,41:30,41:31","dtypep":"(H)","access":"RD","varp":"(O)","varScopep":"(TB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.between","addr":"(JC)","loc":"d,41:30,41:31","dtypep":"(H)","access":"RD","varp":"(O)","varScopep":"(UB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.cell1.q","addr":"(JC)","loc":"d,41:30,41:31","dtypep":"(H)","access":"WR","varp":"(U)","varScopep":"(FC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.cell1.q","addr":"(KC)","loc":"d,41:30,41:31","dtypep":"(H)","access":"WR","varp":"(V)","varScopep":"(GC)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]}, - {"type":"VARSCOPE","name":"t.cell1.IGNORED","addr":"(KC)","loc":"d,44:14,44:21","dtypep":"(Q)","isTrace":true,"scopep":"(AB)","varp":"(V)"}, - {"type":"VARSCOPE","name":"t.cell2.clk","addr":"(LC)","loc":"d,51:11,51:14","dtypep":"(J)","isTrace":true,"scopep":"(AB)","varp":"(X)"}, - {"type":"ALWAYS","name":"","addr":"(MC)","loc":"d,51:11,51:14","keyword":"cont_assign","sentreep": [], + {"type":"VARSCOPE","name":"t.cell1.IGNORED","addr":"(LC)","loc":"d,44:14,44:21","dtypep":"(Q)","isTrace":true,"scopep":"(BB)","varp":"(W)"}, + {"type":"VARSCOPE","name":"t.cell2.clk","addr":"(MC)","loc":"d,51:11,51:14","dtypep":"(J)","isTrace":true,"scopep":"(BB)","varp":"(Y)"}, + {"type":"ALWAYS","name":"","addr":"(NC)","loc":"d,51:11,51:14","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(NC)","loc":"d,51:11,51:14","dtypep":"(J)", + {"type":"ASSIGNW","name":"","addr":"(OC)","loc":"d,51:11,51:14","dtypep":"(J)", "rhsp": [ - {"type":"VARREF","name":"clk","addr":"(OC)","loc":"d,51:11,51:14","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(CB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"clk","addr":"(PC)","loc":"d,51:11,51:14","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(DB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.cell2.clk","addr":"(PC)","loc":"d,51:11,51:14","dtypep":"(J)","access":"WR","varp":"(X)","varScopep":"(LC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.cell2.clk","addr":"(QC)","loc":"d,51:11,51:14","dtypep":"(J)","access":"WR","varp":"(Y)","varScopep":"(MC)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]}, - {"type":"VARSCOPE","name":"t.cell2.d","addr":"(QC)","loc":"d,52:17,52:18","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(Y)"}, - {"type":"ALWAYS","name":"","addr":"(RC)","loc":"d,52:17,52:18","keyword":"cont_assign","sentreep": [], + {"type":"VARSCOPE","name":"t.cell2.d","addr":"(RC)","loc":"d,52:17,52:18","dtypep":"(H)","isTrace":true,"scopep":"(BB)","varp":"(Z)"}, + {"type":"ALWAYS","name":"","addr":"(SC)","loc":"d,52:17,52:18","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(SC)","loc":"d,52:17,52:18","dtypep":"(H)", + {"type":"ASSIGNW","name":"","addr":"(TC)","loc":"d,52:17,52:18","dtypep":"(H)", "rhsp": [ - {"type":"VARREF","name":"t.between","addr":"(TC)","loc":"d,52:17,52:18","dtypep":"(H)","access":"RD","varp":"(O)","varScopep":"(TB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.between","addr":"(UC)","loc":"d,52:17,52:18","dtypep":"(H)","access":"RD","varp":"(O)","varScopep":"(UB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.cell2.d","addr":"(UC)","loc":"d,52:17,52:18","dtypep":"(H)","access":"WR","varp":"(Y)","varScopep":"(QC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.cell2.d","addr":"(VC)","loc":"d,52:17,52:18","dtypep":"(H)","access":"WR","varp":"(Z)","varScopep":"(RC)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]}, - {"type":"VARSCOPE","name":"t.cell2.q","addr":"(VC)","loc":"d,53:23,53:24","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(Z)"}, - {"type":"ALWAYS","name":"","addr":"(WC)","loc":"d,53:23,53:24","keyword":"cont_assign","sentreep": [], + {"type":"VARSCOPE","name":"t.cell2.q","addr":"(WC)","loc":"d,53:23,53:24","dtypep":"(H)","isTrace":true,"scopep":"(BB)","varp":"(AB)"}, + {"type":"ALWAYS","name":"","addr":"(XC)","loc":"d,53:23,53:24","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(XC)","loc":"d,53:23,53:24","dtypep":"(H)", + {"type":"ASSIGNW","name":"","addr":"(YC)","loc":"d,53:23,53:24","dtypep":"(H)", "rhsp": [ - {"type":"VARREF","name":"q","addr":"(YC)","loc":"d,53:23,53:24","dtypep":"(H)","access":"RD","varp":"(G)","varScopep":"(BB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"q","addr":"(ZC)","loc":"d,53:23,53:24","dtypep":"(H)","access":"RD","varp":"(G)","varScopep":"(CB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.cell2.q","addr":"(ZC)","loc":"d,53:23,53:24","dtypep":"(H)","access":"WR","varp":"(Z)","varScopep":"(VC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.cell2.q","addr":"(AD)","loc":"d,53:23,53:24","dtypep":"(H)","access":"WR","varp":"(AB)","varScopep":"(WC)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]} ], "blocksp": [ - {"type":"ALWAYS","name":"","addr":"(AD)","loc":"d,46:3,46:9","keyword":"always", + {"type":"ALWAYS","name":"","addr":"(BD)","loc":"d,46:3,46:9","keyword":"always", "sentreep": [ - {"type":"SENTREE","name":"","addr":"(BD)","loc":"d,46:10,46:11", + {"type":"SENTREE","name":"","addr":"(CD)","loc":"d,46:10,46:11", "sensesp": [ - {"type":"SENITEM","name":"","addr":"(CD)","loc":"d,46:12,46:19","edgeType":"POS", + {"type":"SENITEM","name":"","addr":"(DD)","loc":"d,46:12,46:19","edgeType":"POS", "sensp": [ - {"type":"VARREF","name":"clk","addr":"(DD)","loc":"d,46:20,46:23","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(CB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"clk","addr":"(ED)","loc":"d,46:20,46:23","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(DB)","classOrPackagep":"UNLINKED"} ],"condp": []} ]} ], "stmtsp": [ - {"type":"ASSIGNDLY","name":"","addr":"(ED)","loc":"d,46:27,46:29","dtypep":"(H)", + {"type":"ASSIGNDLY","name":"","addr":"(FD)","loc":"d,46:27,46:29","dtypep":"(H)", "rhsp": [ - {"type":"VARREF","name":"d","addr":"(FD)","loc":"d,46:30,46:31","dtypep":"(H)","access":"RD","varp":"(K)","varScopep":"(DB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"d","addr":"(GD)","loc":"d,46:30,46:31","dtypep":"(H)","access":"RD","varp":"(K)","varScopep":"(EB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"t.between","addr":"(GD)","loc":"d,46:25,46:26","dtypep":"(H)","access":"WR","varp":"(O)","varScopep":"(TB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.between","addr":"(HD)","loc":"d,46:25,46:26","dtypep":"(H)","access":"WR","varp":"(O)","varScopep":"(UB)","classOrPackagep":"UNLINKED"} ],"timingControlp": []} ]}, - {"type":"ALWAYS","name":"","addr":"(HD)","loc":"d,56:12,56:13","keyword":"cont_assign","sentreep": [], + {"type":"ALWAYS","name":"","addr":"(ID)","loc":"d,56:12,56:13","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"ASSIGNW","name":"","addr":"(ID)","loc":"d,56:12,56:13","dtypep":"(H)", + {"type":"ASSIGNW","name":"","addr":"(JD)","loc":"d,56:12,56:13","dtypep":"(H)", "rhsp": [ - {"type":"VARREF","name":"t.between","addr":"(JD)","loc":"d,18:15,18:22","dtypep":"(H)","access":"RD","varp":"(O)","varScopep":"(TB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"t.between","addr":"(KD)","loc":"d,18:15,18:22","dtypep":"(H)","access":"RD","varp":"(O)","varScopep":"(UB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"q","addr":"(KD)","loc":"d,56:12,56:13","dtypep":"(H)","access":"WR","varp":"(G)","varScopep":"(BB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"q","addr":"(LD)","loc":"d,56:12,56:13","dtypep":"(H)","access":"WR","varp":"(G)","varScopep":"(CB)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]} ],"inlinesp": []} @@ -168,18 +168,19 @@ ]} ],"filesp": [], "miscsp": [ - {"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(LD)", + {"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(MD)", "typesp": [ + {"type":"BASICDTYPE","name":"logic","addr":"(Q)","loc":"d,37:15,37:20","dtypep":"(Q)","keyword":"logic","range":"31:0","generic":true,"signed":true,"rangep": []}, {"type":"BASICDTYPE","name":"logic","addr":"(J)","loc":"d,39:11,39:14","dtypep":"(J)","keyword":"logic","generic":true,"rangep": []}, {"type":"BASICDTYPE","name":"logic","addr":"(H)","loc":"d,16:15,16:16","dtypep":"(H)","keyword":"logic","range":"3:0","generic":true,"rangep": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(Q)","loc":"d,21:14,21:15","dtypep":"(Q)","keyword":"logic","range":"31:0","generic":true,"signed":true,"rangep": []}, - {"type":"VOIDDTYPE","name":"","addr":"(LD)","loc":"a,0:0,0:0","dtypep":"(LD)"} + {"type":"BASICDTYPE","name":"bit","addr":"(S)","loc":"d,21:14,21:15","dtypep":"(S)","keyword":"bit","range":"31:0","generic":true,"signed":true,"rangep": []}, + {"type":"VOIDDTYPE","name":"","addr":"(MD)","loc":"a,0:0,0:0","dtypep":"(MD)"} ]}, {"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0", "modulep": [ - {"type":"MODULE","name":"@CONST-POOL@","addr":"(MD)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], + {"type":"MODULE","name":"@CONST-POOL@","addr":"(ND)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], "stmtsp": [ - {"type":"SCOPE","name":"@CONST-POOL@","addr":"(ND)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(MD)","varsp": [],"blocksp": [],"inlinesp": []} + {"type":"SCOPE","name":"@CONST-POOL@","addr":"(OD)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(ND)","varsp": [],"blocksp": [],"inlinesp": []} ]} ]} ]} diff --git a/test_regress/t/t_json_only_flat_vlvbound.out b/test_regress/t/t_json_only_flat_vlvbound.out index e0c3a714a..4e8ea1590 100644 --- a/test_regress/t/t_json_only_flat_vlvbound.out +++ b/test_regress/t/t_json_only_flat_vlvbound.out @@ -122,198 +122,198 @@ {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(DD)","loc":"d,18:16,18:17","dtypep":"(WB)","access":"RD","varp":"(XB)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} ]} ]}, - {"type":"ASSIGN","name":"","addr":"(ED)","loc":"d,19:14,19:15","dtypep":"(BD)", + {"type":"ASSIGN","name":"","addr":"(ED)","loc":"d,19:14,19:15","dtypep":"(FD)", "rhsp": [ - {"type":"EQ","name":"","addr":"(FD)","loc":"d,19:31,19:33","dtypep":"(BD)", + {"type":"EQ","name":"","addr":"(GD)","loc":"d,19:31,19:33","dtypep":"(BD)", "lhsp": [ - {"type":"CONST","name":"2'h0","addr":"(GD)","loc":"d,19:34,19:39","dtypep":"(HD)"} + {"type":"CONST","name":"2'h0","addr":"(HD)","loc":"d,19:34,19:39","dtypep":"(ID)"} ], "rhsp": [ - {"type":"SEL","name":"","addr":"(ID)","loc":"d,19:20,19:21","dtypep":"(HD)","widthConst":2,"declRange":"[15:0]","declElWidth":1, + {"type":"SEL","name":"","addr":"(JD)","loc":"d,19:20,19:21","dtypep":"(KD)","widthConst":2,"declRange":"[15:0]","declElWidth":1, "fromp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__val","addr":"(JD)","loc":"d,19:17,19:20","dtypep":"(H)","access":"RD","varp":"(SB)","varScopep":"(RB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__val","addr":"(LD)","loc":"d,19:17,19:20","dtypep":"(H)","access":"RD","varp":"(SB)","varScopep":"(RB)","classOrPackagep":"UNLINKED"} ], "lsbp": [ - {"type":"SEL","name":"","addr":"(KD)","loc":"d,19:22,19:23","dtypep":"(LD)","widthConst":4, + {"type":"SEL","name":"","addr":"(MD)","loc":"d,19:22,19:23","dtypep":"(ND)","widthConst":4, "fromp": [ - {"type":"MULS","name":"","addr":"(MD)","loc":"d,19:22,19:23","dtypep":"(WC)", + {"type":"MULS","name":"","addr":"(OD)","loc":"d,19:22,19:23","dtypep":"(PD)", "lhsp": [ - {"type":"CONST","name":"32'sh2","addr":"(ND)","loc":"d,19:23,19:24","dtypep":"(WC)"} + {"type":"CONST","name":"32'sh2","addr":"(QD)","loc":"d,19:23,19:24","dtypep":"(WC)"} ], "rhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(OD)","loc":"d,19:21,19:22","dtypep":"(WB)","access":"RD","varp":"(XB)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(RD)","loc":"d,19:21,19:22","dtypep":"(WB)","access":"RD","varp":"(XB)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} ]} ], "lsbp": [ - {"type":"CONST","name":"32'h0","addr":"(PD)","loc":"d,19:22,19:23","dtypep":"(QD)"} + {"type":"CONST","name":"32'h0","addr":"(SD)","loc":"d,19:22,19:23","dtypep":"(TD)"} ]} ]} ]} ], "lhsp": [ - {"type":"SEL","name":"","addr":"(RD)","loc":"d,19:10,19:11","dtypep":"(BD)","widthConst":1,"declRange":"[6:0]","declElWidth":1, + {"type":"SEL","name":"","addr":"(UD)","loc":"d,19:10,19:11","dtypep":"(FD)","widthConst":1,"declRange":"[6:0]","declElWidth":1, "fromp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__ret","addr":"(SD)","loc":"d,19:7,19:10","dtypep":"(K)","access":"WR","varp":"(UB)","varScopep":"(TB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__ret","addr":"(VD)","loc":"d,19:7,19:10","dtypep":"(K)","access":"WR","varp":"(UB)","varScopep":"(TB)","classOrPackagep":"UNLINKED"} ], "lsbp": [ - {"type":"SEL","name":"","addr":"(TD)","loc":"d,19:11,19:12","dtypep":"(UD)","widthConst":3, + {"type":"SEL","name":"","addr":"(WD)","loc":"d,19:11,19:12","dtypep":"(XD)","widthConst":3, "fromp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(VD)","loc":"d,19:11,19:12","dtypep":"(WB)","access":"RD","varp":"(XB)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(YD)","loc":"d,19:11,19:12","dtypep":"(WB)","access":"RD","varp":"(XB)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} ], "lsbp": [ - {"type":"CONST","name":"32'h0","addr":"(WD)","loc":"d,19:11,19:12","dtypep":"(QD)"} + {"type":"CONST","name":"32'h0","addr":"(ZD)","loc":"d,19:11,19:12","dtypep":"(TD)"} ]} ]} ],"timingControlp": []}, - {"type":"ASSIGN","name":"","addr":"(XD)","loc":"d,18:24,18:26","dtypep":"(WB)", + {"type":"ASSIGN","name":"","addr":"(AE)","loc":"d,18:24,18:26","dtypep":"(WB)", "rhsp": [ - {"type":"ADD","name":"","addr":"(YD)","loc":"d,18:24,18:26","dtypep":"(QD)", + {"type":"ADD","name":"","addr":"(BE)","loc":"d,18:24,18:26","dtypep":"(CE)", "lhsp": [ - {"type":"CONST","name":"32'h1","addr":"(ZD)","loc":"d,18:24,18:26","dtypep":"(QD)"} + {"type":"CONST","name":"32'h1","addr":"(DE)","loc":"d,18:24,18:26","dtypep":"(TD)"} ], "rhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(AE)","loc":"d,18:23,18:24","dtypep":"(WB)","access":"RD","varp":"(XB)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(EE)","loc":"d,18:23,18:24","dtypep":"(WB)","access":"RD","varp":"(XB)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} ]} ], "lhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(BE)","loc":"d,18:23,18:24","dtypep":"(WB)","access":"WR","varp":"(XB)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(FE)","loc":"d,18:23,18:24","dtypep":"(WB)","access":"WR","varp":"(XB)","varScopep":"(VB)","classOrPackagep":"UNLINKED"} ],"timingControlp": []} ],"contsp": []}, - {"type":"ASSIGN","name":"","addr":"(CE)","loc":"d,21:5,21:11","dtypep":"(K)", + {"type":"ASSIGN","name":"","addr":"(GE)","loc":"d,21:5,21:11","dtypep":"(K)", "rhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__ret","addr":"(DE)","loc":"d,21:12,21:15","dtypep":"(K)","access":"RD","varp":"(UB)","varScopep":"(TB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__ret","addr":"(HE)","loc":"d,21:12,21:15","dtypep":"(K)","access":"RD","varp":"(UB)","varScopep":"(TB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__Vfuncout","addr":"(EE)","loc":"d,21:5,21:11","dtypep":"(K)","access":"WR","varp":"(QB)","varScopep":"(PB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__Vfuncout","addr":"(IE)","loc":"d,21:5,21:11","dtypep":"(K)","access":"WR","varp":"(QB)","varScopep":"(PB)","classOrPackagep":"UNLINKED"} ],"timingControlp": []}, - {"type":"ASSIGNW","name":"","addr":"(FE)","loc":"d,24:14,24:15","dtypep":"(K)", + {"type":"ASSIGNW","name":"","addr":"(JE)","loc":"d,24:14,24:15","dtypep":"(K)", "rhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__Vfuncout","addr":"(GE)","loc":"d,24:16,24:19","dtypep":"(K)","access":"RD","varp":"(QB)","varScopep":"(PB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__Vfuncout","addr":"(KE)","loc":"d,24:16,24:19","dtypep":"(K)","access":"RD","varp":"(QB)","varScopep":"(PB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"o_a","addr":"(HE)","loc":"d,24:10,24:13","dtypep":"(K)","access":"WR","varp":"(J)","varScopep":"(T)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"o_a","addr":"(LE)","loc":"d,24:10,24:13","dtypep":"(K)","access":"WR","varp":"(J)","varScopep":"(T)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]}, - {"type":"ALWAYS","name":"","addr":"(IE)","loc":"d,25:14,25:15","keyword":"cont_assign","sentreep": [], + {"type":"ALWAYS","name":"","addr":"(ME)","loc":"d,25:14,25:15","keyword":"cont_assign","sentreep": [], "stmtsp": [ - {"type":"COMMENT","name":"Function: foo","addr":"(JE)","loc":"d,25:16,25:19"}, - {"type":"ASSIGN","name":"","addr":"(KE)","loc":"d,25:20,25:23","dtypep":"(H)", + {"type":"COMMENT","name":"Function: foo","addr":"(NE)","loc":"d,25:16,25:19"}, + {"type":"ASSIGN","name":"","addr":"(OE)","loc":"d,25:20,25:23","dtypep":"(H)", "rhsp": [ - {"type":"VARREF","name":"i_b","addr":"(LE)","loc":"d,25:20,25:23","dtypep":"(H)","access":"RD","varp":"(I)","varScopep":"(S)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"i_b","addr":"(PE)","loc":"d,25:20,25:23","dtypep":"(H)","access":"RD","varp":"(I)","varScopep":"(S)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__val","addr":"(ME)","loc":"d,15:57,15:60","dtypep":"(H)","access":"WR","varp":"(BC)","varScopep":"(AC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__val","addr":"(QE)","loc":"d,15:57,15:60","dtypep":"(H)","access":"WR","varp":"(BC)","varScopep":"(AC)","classOrPackagep":"UNLINKED"} ],"timingControlp": []}, - {"type":"ASSIGN","name":"","addr":"(NE)","loc":"d,15:34,15:37","dtypep":"(K)", + {"type":"ASSIGN","name":"","addr":"(RE)","loc":"d,15:34,15:37","dtypep":"(K)", "rhsp": [ - {"type":"CRESET","name":"","addr":"(OE)","loc":"d,15:34,15:37","dtypep":"(K)"} + {"type":"CRESET","name":"","addr":"(SE)","loc":"d,15:34,15:37","dtypep":"(K)"} ], "lhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(PE)","loc":"d,15:34,15:37","dtypep":"(K)","access":"WR","varp":"(ZB)","varScopep":"(YB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(TE)","loc":"d,15:34,15:37","dtypep":"(K)","access":"WR","varp":"(ZB)","varScopep":"(YB)","classOrPackagep":"UNLINKED"} ],"timingControlp": []}, - {"type":"ASSIGN","name":"","addr":"(QE)","loc":"d,16:17,16:20","dtypep":"(K)", + {"type":"ASSIGN","name":"","addr":"(UE)","loc":"d,16:17,16:20","dtypep":"(K)", "rhsp": [ - {"type":"CRESET","name":"","addr":"(RE)","loc":"d,16:17,16:20","dtypep":"(K)"} + {"type":"CRESET","name":"","addr":"(VE)","loc":"d,16:17,16:20","dtypep":"(K)"} ], "lhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(SE)","loc":"d,16:17,16:20","dtypep":"(K)","access":"WR","varp":"(DC)","varScopep":"(CC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(WE)","loc":"d,16:17,16:20","dtypep":"(K)","access":"WR","varp":"(DC)","varScopep":"(CC)","classOrPackagep":"UNLINKED"} ],"timingControlp": []}, - {"type":"ASSIGN","name":"","addr":"(TE)","loc":"d,17:13,17:14","dtypep":"(WB)", + {"type":"ASSIGN","name":"","addr":"(XE)","loc":"d,17:13,17:14","dtypep":"(WB)", "rhsp": [ - {"type":"CRESET","name":"","addr":"(UE)","loc":"d,17:13,17:14","dtypep":"(WB)"} + {"type":"CRESET","name":"","addr":"(YE)","loc":"d,17:13,17:14","dtypep":"(WB)"} ], "lhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(VE)","loc":"d,17:13,17:14","dtypep":"(WB)","access":"WR","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(ZE)","loc":"d,17:13,17:14","dtypep":"(WB)","access":"WR","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} ],"timingControlp": []}, - {"type":"ASSIGN","name":"","addr":"(WE)","loc":"d,18:11,18:12","dtypep":"(WB)", + {"type":"ASSIGN","name":"","addr":"(AF)","loc":"d,18:11,18:12","dtypep":"(WB)", "rhsp": [ - {"type":"CONST","name":"32'sh0","addr":"(XE)","loc":"d,18:12,18:13","dtypep":"(WC)"} + {"type":"CONST","name":"32'sh0","addr":"(BF)","loc":"d,18:12,18:13","dtypep":"(WC)"} ], "lhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(YE)","loc":"d,18:10,18:11","dtypep":"(WB)","access":"WR","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(CF)","loc":"d,18:10,18:11","dtypep":"(WB)","access":"WR","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} ],"timingControlp": []}, - {"type":"LOOP","name":"","addr":"(ZE)","loc":"d,18:5,18:8","unroll":"default", + {"type":"LOOP","name":"","addr":"(DF)","loc":"d,18:5,18:8","unroll":"default", "stmtsp": [ - {"type":"LOOPTEST","name":"","addr":"(AF)","loc":"d,18:16,18:17", + {"type":"LOOPTEST","name":"","addr":"(EF)","loc":"d,18:16,18:17", "condp": [ - {"type":"GTS","name":"","addr":"(BF)","loc":"d,18:18,18:19","dtypep":"(BD)", + {"type":"GTS","name":"","addr":"(FF)","loc":"d,18:18,18:19","dtypep":"(BD)", "lhsp": [ - {"type":"CONST","name":"32'sh7","addr":"(CF)","loc":"d,18:20,18:21","dtypep":"(WC)"} + {"type":"CONST","name":"32'sh7","addr":"(GF)","loc":"d,18:20,18:21","dtypep":"(WC)"} ], "rhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(DF)","loc":"d,18:16,18:17","dtypep":"(WB)","access":"RD","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(HF)","loc":"d,18:16,18:17","dtypep":"(WB)","access":"RD","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} ]} ]}, - {"type":"ASSIGN","name":"","addr":"(EF)","loc":"d,19:14,19:15","dtypep":"(BD)", + {"type":"ASSIGN","name":"","addr":"(IF)","loc":"d,19:14,19:15","dtypep":"(FD)", "rhsp": [ - {"type":"EQ","name":"","addr":"(FF)","loc":"d,19:31,19:33","dtypep":"(BD)", + {"type":"EQ","name":"","addr":"(JF)","loc":"d,19:31,19:33","dtypep":"(BD)", "lhsp": [ - {"type":"CONST","name":"2'h0","addr":"(GF)","loc":"d,19:34,19:39","dtypep":"(HD)"} + {"type":"CONST","name":"2'h0","addr":"(KF)","loc":"d,19:34,19:39","dtypep":"(ID)"} ], "rhsp": [ - {"type":"SEL","name":"","addr":"(HF)","loc":"d,19:20,19:21","dtypep":"(HD)","widthConst":2,"declRange":"[15:0]","declElWidth":1, + {"type":"SEL","name":"","addr":"(LF)","loc":"d,19:20,19:21","dtypep":"(KD)","widthConst":2,"declRange":"[15:0]","declElWidth":1, "fromp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__val","addr":"(IF)","loc":"d,19:17,19:20","dtypep":"(H)","access":"RD","varp":"(BC)","varScopep":"(AC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__val","addr":"(MF)","loc":"d,19:17,19:20","dtypep":"(H)","access":"RD","varp":"(BC)","varScopep":"(AC)","classOrPackagep":"UNLINKED"} ], "lsbp": [ - {"type":"SEL","name":"","addr":"(JF)","loc":"d,19:22,19:23","dtypep":"(LD)","widthConst":4, + {"type":"SEL","name":"","addr":"(NF)","loc":"d,19:22,19:23","dtypep":"(ND)","widthConst":4, "fromp": [ - {"type":"MULS","name":"","addr":"(KF)","loc":"d,19:22,19:23","dtypep":"(WC)", + {"type":"MULS","name":"","addr":"(OF)","loc":"d,19:22,19:23","dtypep":"(PD)", "lhsp": [ - {"type":"CONST","name":"32'sh2","addr":"(LF)","loc":"d,19:23,19:24","dtypep":"(WC)"} + {"type":"CONST","name":"32'sh2","addr":"(PF)","loc":"d,19:23,19:24","dtypep":"(WC)"} ], "rhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(MF)","loc":"d,19:21,19:22","dtypep":"(WB)","access":"RD","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(QF)","loc":"d,19:21,19:22","dtypep":"(WB)","access":"RD","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} ]} ], "lsbp": [ - {"type":"CONST","name":"32'h0","addr":"(NF)","loc":"d,19:22,19:23","dtypep":"(QD)"} + {"type":"CONST","name":"32'h0","addr":"(RF)","loc":"d,19:22,19:23","dtypep":"(TD)"} ]} ]} ]} ], "lhsp": [ - {"type":"SEL","name":"","addr":"(OF)","loc":"d,19:10,19:11","dtypep":"(BD)","widthConst":1,"declRange":"[6:0]","declElWidth":1, + {"type":"SEL","name":"","addr":"(SF)","loc":"d,19:10,19:11","dtypep":"(FD)","widthConst":1,"declRange":"[6:0]","declElWidth":1, "fromp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(PF)","loc":"d,19:7,19:10","dtypep":"(K)","access":"WR","varp":"(DC)","varScopep":"(CC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(TF)","loc":"d,19:7,19:10","dtypep":"(K)","access":"WR","varp":"(DC)","varScopep":"(CC)","classOrPackagep":"UNLINKED"} ], "lsbp": [ - {"type":"SEL","name":"","addr":"(QF)","loc":"d,19:11,19:12","dtypep":"(UD)","widthConst":3, + {"type":"SEL","name":"","addr":"(UF)","loc":"d,19:11,19:12","dtypep":"(XD)","widthConst":3, "fromp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(RF)","loc":"d,19:11,19:12","dtypep":"(WB)","access":"RD","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(VF)","loc":"d,19:11,19:12","dtypep":"(WB)","access":"RD","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} ], "lsbp": [ - {"type":"CONST","name":"32'h0","addr":"(SF)","loc":"d,19:11,19:12","dtypep":"(QD)"} + {"type":"CONST","name":"32'h0","addr":"(WF)","loc":"d,19:11,19:12","dtypep":"(TD)"} ]} ]} ],"timingControlp": []}, - {"type":"ASSIGN","name":"","addr":"(TF)","loc":"d,18:24,18:26","dtypep":"(WB)", + {"type":"ASSIGN","name":"","addr":"(XF)","loc":"d,18:24,18:26","dtypep":"(WB)", "rhsp": [ - {"type":"ADD","name":"","addr":"(UF)","loc":"d,18:24,18:26","dtypep":"(QD)", + {"type":"ADD","name":"","addr":"(YF)","loc":"d,18:24,18:26","dtypep":"(CE)", "lhsp": [ - {"type":"CONST","name":"32'h1","addr":"(VF)","loc":"d,18:24,18:26","dtypep":"(QD)"} + {"type":"CONST","name":"32'h1","addr":"(ZF)","loc":"d,18:24,18:26","dtypep":"(TD)"} ], "rhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(WF)","loc":"d,18:23,18:24","dtypep":"(WB)","access":"RD","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(AG)","loc":"d,18:23,18:24","dtypep":"(WB)","access":"RD","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} ]} ], "lhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(XF)","loc":"d,18:23,18:24","dtypep":"(WB)","access":"WR","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(BG)","loc":"d,18:23,18:24","dtypep":"(WB)","access":"WR","varp":"(FC)","varScopep":"(EC)","classOrPackagep":"UNLINKED"} ],"timingControlp": []} ],"contsp": []}, - {"type":"ASSIGN","name":"","addr":"(YF)","loc":"d,21:5,21:11","dtypep":"(K)", + {"type":"ASSIGN","name":"","addr":"(CG)","loc":"d,21:5,21:11","dtypep":"(K)", "rhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(ZF)","loc":"d,21:12,21:15","dtypep":"(K)","access":"RD","varp":"(DC)","varScopep":"(CC)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(DG)","loc":"d,21:12,21:15","dtypep":"(K)","access":"RD","varp":"(DC)","varScopep":"(CC)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(AG)","loc":"d,21:5,21:11","dtypep":"(K)","access":"WR","varp":"(ZB)","varScopep":"(YB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(EG)","loc":"d,21:5,21:11","dtypep":"(K)","access":"WR","varp":"(ZB)","varScopep":"(YB)","classOrPackagep":"UNLINKED"} ],"timingControlp": []}, - {"type":"ASSIGNW","name":"","addr":"(BG)","loc":"d,25:14,25:15","dtypep":"(K)", + {"type":"ASSIGNW","name":"","addr":"(FG)","loc":"d,25:14,25:15","dtypep":"(K)", "rhsp": [ - {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(CG)","loc":"d,25:16,25:19","dtypep":"(K)","access":"RD","varp":"(ZB)","varScopep":"(YB)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(GG)","loc":"d,25:16,25:19","dtypep":"(K)","access":"RD","varp":"(ZB)","varScopep":"(YB)","classOrPackagep":"UNLINKED"} ], "lhsp": [ - {"type":"VARREF","name":"o_b","addr":"(DG)","loc":"d,25:10,25:13","dtypep":"(K)","access":"WR","varp":"(L)","varScopep":"(U)","classOrPackagep":"UNLINKED"} + {"type":"VARREF","name":"o_b","addr":"(HG)","loc":"d,25:10,25:13","dtypep":"(K)","access":"WR","varp":"(L)","varScopep":"(U)","classOrPackagep":"UNLINKED"} ],"timingControlp": [],"strengthSpecp": []} ]} ],"inlinesp": []} @@ -329,24 +329,28 @@ ]} ],"filesp": [], "miscsp": [ - {"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(EG)", + {"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(IG)", "typesp": [ - {"type":"BASICDTYPE","name":"logic","addr":"(BD)","loc":"d,18:18,18:19","dtypep":"(BD)","keyword":"logic","generic":true,"rangep": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(HD)","loc":"d,19:34,19:39","dtypep":"(HD)","keyword":"logic","range":"1:0","generic":true,"rangep": []}, + {"type":"BASICDTYPE","name":"bit","addr":"(BD)","loc":"d,18:18,18:19","dtypep":"(BD)","keyword":"bit","generic":true,"rangep": []}, + {"type":"BASICDTYPE","name":"bit","addr":"(ID)","loc":"d,19:34,19:39","dtypep":"(ID)","keyword":"bit","range":"1:0","generic":true,"rangep": []}, {"type":"BASICDTYPE","name":"logic","addr":"(H)","loc":"d,9:11,9:16","dtypep":"(H)","keyword":"logic","range":"15:0","generic":true,"rangep": []}, {"type":"BASICDTYPE","name":"logic","addr":"(K)","loc":"d,11:12,11:17","dtypep":"(K)","keyword":"logic","range":"6:0","generic":true,"rangep": []}, {"type":"BASICDTYPE","name":"integer","addr":"(WB)","loc":"d,17:5,17:12","dtypep":"(WB)","keyword":"integer","range":"31:0","generic":true,"signed":true,"rangep": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(UD)","loc":"d,19:10,19:11","dtypep":"(UD)","keyword":"logic","range":"2:0","generic":true,"signed":true,"rangep": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(QD)","loc":"d,19:11,19:12","dtypep":"(QD)","keyword":"logic","range":"31:0","generic":true,"rangep": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(LD)","loc":"d,19:20,19:21","dtypep":"(LD)","keyword":"logic","range":"3:0","generic":true,"signed":true,"rangep": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(WC)","loc":"d,18:12,18:13","dtypep":"(WC)","keyword":"logic","range":"31:0","generic":true,"signed":true,"rangep": []}, - {"type":"VOIDDTYPE","name":"","addr":"(EG)","loc":"a,0:0,0:0","dtypep":"(EG)"} + {"type":"BASICDTYPE","name":"logic","addr":"(PD)","loc":"d,18:18,18:19","dtypep":"(PD)","keyword":"logic","range":"31:0","generic":true,"signed":true,"rangep": []}, + {"type":"BASICDTYPE","name":"logic","addr":"(FD)","loc":"d,19:10,19:11","dtypep":"(FD)","keyword":"logic","generic":true,"rangep": []}, + {"type":"BASICDTYPE","name":"logic","addr":"(XD)","loc":"d,19:10,19:11","dtypep":"(XD)","keyword":"logic","range":"2:0","generic":true,"signed":true,"rangep": []}, + {"type":"BASICDTYPE","name":"bit","addr":"(TD)","loc":"d,19:11,19:12","dtypep":"(TD)","keyword":"bit","range":"31:0","generic":true,"rangep": []}, + {"type":"BASICDTYPE","name":"logic","addr":"(KD)","loc":"d,19:20,19:21","dtypep":"(KD)","keyword":"logic","range":"1:0","generic":true,"rangep": []}, + {"type":"BASICDTYPE","name":"logic","addr":"(ND)","loc":"d,19:20,19:21","dtypep":"(ND)","keyword":"logic","range":"3:0","generic":true,"signed":true,"rangep": []}, + {"type":"BASICDTYPE","name":"logic","addr":"(CE)","loc":"d,18:24,18:26","dtypep":"(CE)","keyword":"logic","range":"31:0","generic":true,"rangep": []}, + {"type":"BASICDTYPE","name":"bit","addr":"(WC)","loc":"d,18:12,18:13","dtypep":"(WC)","keyword":"bit","range":"31:0","generic":true,"signed":true,"rangep": []}, + {"type":"VOIDDTYPE","name":"","addr":"(IG)","loc":"a,0:0,0:0","dtypep":"(IG)"} ]}, {"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0", "modulep": [ - {"type":"MODULE","name":"@CONST-POOL@","addr":"(FG)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], + {"type":"MODULE","name":"@CONST-POOL@","addr":"(JG)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], "stmtsp": [ - {"type":"SCOPE","name":"@CONST-POOL@","addr":"(GG)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(FG)","varsp": [],"blocksp": [],"inlinesp": []} + {"type":"SCOPE","name":"@CONST-POOL@","addr":"(KG)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(JG)","varsp": [],"blocksp": [],"inlinesp": []} ]} ]} ]} diff --git a/test_regress/t/t_json_only_tag.out b/test_regress/t/t_json_only_tag.out index 29efb7f28..aab82af46 100644 --- a/test_regress/t/t_json_only_tag.out +++ b/test_regress/t/t_json_only_tag.out @@ -78,25 +78,26 @@ {"type":"MEMBERDTYPE","name":"data","addr":"(WB)","loc":"d,24:11,24:15","dtypep":"(SB)","name":"data","tag":"data","refDTypep":"(SB)","childDTypep": [],"valuep": []} ]}, {"type":"IFACEREFDTYPE","name":"","addr":"(O)","loc":"d,29:7,29:11","dtypep":"(O)","cellName":"itop","ifaceName":"ifc","modportName":"","ifacep":"UNLINKED","cellp":"(L)","modportp":"UNLINKED","paramsp": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(S)","loc":"d,31:25,31:26","dtypep":"(S)","keyword":"logic","range":"31:0","generic":true,"rangep": []}, - {"type":"REFDTYPE","name":"my_struct","addr":"(XB)","loc":"d,31:3,31:12","dtypep":"(K)","typedefp":"UNLINKED","refDTypep":"(K)","classOrPackagep":"UNLINKED","typeofp": [],"classOrPackageOpp": [],"paramsp": []}, - {"type":"UNPACKARRAYDTYPE","name":"","addr":"(Q)","loc":"d,31:24,31:25","dtypep":"(Q)","declRange":"[0:1]","refDTypep":"(XB)","childDTypep": [], + {"type":"BASICDTYPE","name":"bit","addr":"(XB)","loc":"d,31:25,31:26","dtypep":"(XB)","keyword":"bit","range":"31:0","generic":true,"rangep": []}, + {"type":"REFDTYPE","name":"my_struct","addr":"(YB)","loc":"d,31:3,31:12","dtypep":"(K)","typedefp":"UNLINKED","refDTypep":"(K)","classOrPackagep":"UNLINKED","typeofp": [],"classOrPackageOpp": [],"paramsp": []}, + {"type":"UNPACKARRAYDTYPE","name":"","addr":"(Q)","loc":"d,31:24,31:25","dtypep":"(Q)","declRange":"[0:1]","refDTypep":"(YB)","childDTypep": [], "rangep": [ - {"type":"RANGE","name":"","addr":"(YB)","loc":"d,31:24,31:25","ascending":true,"fromBracket":true, + {"type":"RANGE","name":"","addr":"(ZB)","loc":"d,31:24,31:25","ascending":true,"fromBracket":true, "leftp": [ - {"type":"CONST","name":"32'h0","addr":"(ZB)","loc":"d,31:25,31:26","dtypep":"(S)"} + {"type":"CONST","name":"32'h0","addr":"(AC)","loc":"d,31:25,31:26","dtypep":"(XB)"} ], "rightp": [ - {"type":"CONST","name":"32'h1","addr":"(AC)","loc":"d,31:25,31:26","dtypep":"(S)"} + {"type":"CONST","name":"32'h1","addr":"(BC)","loc":"d,31:25,31:26","dtypep":"(XB)"} ]} ]}, + {"type":"BASICDTYPE","name":"logic","addr":"(S)","loc":"d,33:8,33:9","dtypep":"(S)","keyword":"logic","range":"31:0","generic":true,"rangep": []}, {"type":"BASICDTYPE","name":"string","addr":"(BB)","loc":"d,35:25,35:31","dtypep":"(BB)","keyword":"string","generic":true,"rangep": []} ]}, {"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0", "modulep": [ - {"type":"MODULE","name":"@CONST-POOL@","addr":"(BC)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], + {"type":"MODULE","name":"@CONST-POOL@","addr":"(CC)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","verilogName":"@CONST-POOL@","level":0,"timeunit":"NONE","inlinesp": [], "stmtsp": [ - {"type":"SCOPE","name":"@CONST-POOL@","addr":"(CC)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(BC)","varsp": [],"blocksp": [],"inlinesp": []} + {"type":"SCOPE","name":"@CONST-POOL@","addr":"(DC)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(CC)","varsp": [],"blocksp": [],"inlinesp": []} ]} ]} ]} diff --git a/test_regress/t/t_lint_dtype_compare_bad.out b/test_regress/t/t_lint_dtype_compare_bad.out index 6ce4166dc..a3818027c 100644 --- a/test_regress/t/t_lint_dtype_compare_bad.out +++ b/test_regress/t/t_lint_dtype_compare_bad.out @@ -1,13 +1,13 @@ %Error: t/t_lint_dtype_compare_bad.v:52:19: Comparison requires matching data types : ... note: In instance 't' : ... Left-hand data type: 'int$[$]' - : ... Right-hand data type: 'logic[31:0]' + : ... Right-hand data type: 'bit[31:0]' 52 | if (queue_var == 1) begin end | ^~ ... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance. %Error: t/t_lint_dtype_compare_bad.v:55:11: Comparison requires matching data types : ... note: In instance 't' - : ... Left-hand data type: 'logic[31:0]' + : ... Left-hand data type: 'bit[31:0]' : ... Right-hand data type: 'int$[$]' 55 | if (1 == queue_var) begin end | ^~ diff --git a/test_regress/t/t_opt_cond_double.py b/test_regress/t/t_opt_cond_double.py new file mode 100755 index 000000000..f47dc4753 --- /dev/null +++ b/test_regress/t/t_opt_cond_double.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 +# DESCRIPTION: Verilator: Verilog Test driver/expect definition +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of either the GNU Lesser General Public License Version 3 +# or the Perl Artistic License Version 2.0. +# SPDX-FileCopyrightText: 2026 Wilson Snyder +# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0 + +import vltest_bootstrap + +test.scenarios('simulator') + +test.compile() + +test.execute() + +for filename in test.glob_some(test.obj_dir + "/" + test.vm_prefix + "___024root*.cpp"): + test.file_grep_not(filename, r'// $c expression at') +test.file_grep_not(test.obj_dir + "/" + test.vm_prefix + "___024root__0__Slow.cpp", r'\?') +test.file_grep(test.obj_dir + "/" + test.vm_prefix + "___024root__0__Slow.cpp", + r'VL_WRITEF_NX\(\"1.234000\\n\*-\* All Finished \*-\*\\n\"') + +test.passes() diff --git a/test_regress/t/t_opt_cond_double.v b/test_regress/t/t_opt_cond_double.v new file mode 100644 index 000000000..04b50c28c --- /dev/null +++ b/test_regress/t/t_opt_cond_double.v @@ -0,0 +1,21 @@ +// DESCRIPTION: Verilator: Verilog Test module +// +// This file ONLY is placed under the Creative Commons Public Domain. +// SPDX-FileCopyrightText: 2026 Antmicro +// SPDX-License-Identifier: CC0-1.0 + +`ifdef VERILATOR +// The '$c1(1)' is there to prevent inlining of the signal by V3Gate +`define IMPURE_ONE $c(1) +`else +// Use standard $random (chaces of getting 2 consecutive zeroes is zero). +`define IMPURE_ONE |($random | $random) +`endif + +module t; + initial begin + $write("%f\n", `IMPURE_ONE ? 1.234 : 1.234); + $write("*-* All Finished *-*\n"); + $finish; + end +endmodule diff --git a/test_regress/t/t_var_port_json_only.out b/test_regress/t/t_var_port_json_only.out index 19eef5222..bde4aead9 100644 --- a/test_regress/t/t_var_port_json_only.out +++ b/test_regress/t/t_var_port_json_only.out @@ -93,7 +93,7 @@ {"type":"BASICDTYPE","name":"logic","addr":"(Z)","loc":"d,38:17,38:18","dtypep":"(Z)","keyword":"logic","range":"5:0","generic":true,"rangep": []}, {"type":"BASICDTYPE","name":"logic","addr":"(U)","loc":"d,34:27,34:28","dtypep":"(U)","keyword":"logic","range":"5:0","generic":true,"signed":true,"rangep": []}, {"type":"BASICDTYPE","name":"integer","addr":"(G)","loc":"d,18:19,18:26","dtypep":"(G)","keyword":"integer","range":"31:0","generic":true,"signed":true,"rangep": []}, - {"type":"BASICDTYPE","name":"logic","addr":"(VB)","loc":"d,40:37,40:38","dtypep":"(VB)","keyword":"logic","range":"31:0","generic":true,"signed":true,"rangep": []} + {"type":"BASICDTYPE","name":"bit","addr":"(VB)","loc":"d,40:37,40:38","dtypep":"(VB)","keyword":"bit","range":"31:0","generic":true,"signed":true,"rangep": []} ]}, {"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0", "modulep": [