diff --git a/src/V3EmitV.cpp b/src/V3EmitV.cpp index df122080b..d0973120d 100644 --- a/src/V3EmitV.cpp +++ b/src/V3EmitV.cpp @@ -922,6 +922,20 @@ class EmitVBaseVisitorConst VL_NOT_FINAL : public EmitCBaseVisitorConst { m_sensesp = nodep->sensesp(); iterateAndNextConstNull(nodep->stmtsp()); } + void visit(AstDelay* nodep) override { + puts(""); // this is for proper alignment + puts("#"); + iterateConst(nodep->lhsp()); + puts(";\n"); + iterateAndNextConstNull(nodep->stmtsp()); + } + void visit(AstCAwait* nodep) override { + AstCMethodHard* methodp = VN_CAST(nodep->exprp(), CMethodHard); + UASSERT_OBJ(methodp, nodep, "AstCAwait expression must be an AstCMethodHard"); + puts(""); // this is for proper alignment + puts("#"); + iterateConst(methodp->pinsp()); + } void visit(AstParseRef* nodep) override { puts(nodep->prettyName()); } void visit(AstNodeText*) override {} void visit(AstVarScope*) override {} diff --git a/test_regress/t/t_debug_emitv.out b/test_regress/t/t_debug_emitv.out index 4976ecd1e..dfb607cbe 100644 --- a/test_regress/t/t_debug_emitv.out +++ b/test_regress/t/t_debug_emitv.out @@ -74,6 +74,8 @@ module Vt_debug_emitv_t; if (the_ifaces[2].ifsig) begin $write(""); end + #64'h1; + $write("After #1 delay"); end end bit [6:5] [4:3] [2:1] arraymanyd[10:11][12:13][14:15]; diff --git a/test_regress/t/t_debug_emitv.py b/test_regress/t/t_debug_emitv.py index f8d03f1e7..15e089a81 100755 --- a/test_regress/t/t_debug_emitv.py +++ b/test_regress/t/t_debug_emitv.py @@ -14,7 +14,7 @@ test.scenarios("vlt") test.lint( # We also have dump-tree turned on, so hit a lot of AstNode*::dump() functions # Likewise XML - v_flags=["--lint-only --dumpi-tree 9 --dumpi-V3EmitV 9 --debug-emitv"]) + v_flags=["--lint-only --dumpi-tree 9 --dumpi-V3EmitV 9 --debug-emitv --timing"]) output_vs = test.glob_some(test.obj_dir + "/" + test.vm_prefix + "_*_width.tree.v") diff --git a/test_regress/t/t_debug_emitv.v b/test_regress/t/t_debug_emitv.v index f6111f33c..36761f2dc 100644 --- a/test_regress/t/t_debug_emitv.v +++ b/test_regress/t/t_debug_emitv.v @@ -86,6 +86,7 @@ module t (/*AUTOARG*/ if (|downto_32[55+:3]) $write(""); if (|downto_32[60-:7]) $write(""); if (the_ifaces[2].ifsig) $write(""); + #1 $write("After #1 delay"); end bit [6:5][4:3][2:1] arraymanyd[10:11][12:13][14:15]; diff --git a/test_regress/t/t_debug_emitv_addrids.py b/test_regress/t/t_debug_emitv_addrids.py index 84634c936..20bf40b0c 100755 --- a/test_regress/t/t_debug_emitv_addrids.py +++ b/test_regress/t/t_debug_emitv_addrids.py @@ -15,6 +15,6 @@ test.top_filename = "t/t_debug_emitv.v" test.lint( # We also have dump-tree turned on, so hit a lot of AstNode*::dump() functions # Likewise XML - v_flags=["--lint-only --dumpi-tree 9 --dump-tree-addrids"]) + v_flags=["--lint-only --dumpi-tree 9 --dump-tree-addrids --timing"]) test.passes()