From 7a00c36a70b559bad590690700cd3b76d0eb2084 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Sun, 9 Feb 2020 11:53:21 -0500 Subject: [PATCH] jump conversion keeps timing controls at the top level --- src/Convert/Jump.hs | 2 ++ test/basic/jump.sv | 8 ++++++++ test/basic/jump.v | 9 +++++++++ 3 files changed, 19 insertions(+) diff --git a/src/Convert/Jump.hs b/src/Convert/Jump.hs index 9ff0201..5eb99ad 100644 --- a/src/Convert/Jump.hs +++ b/src/Convert/Jump.hs @@ -62,6 +62,8 @@ convertModuleItem (AlwaysC kw stmt) = convertMIStmt (AlwaysC kw) stmt convertModuleItem other = other convertMIStmt :: (Stmt -> ModuleItem) -> Stmt -> ModuleItem +convertMIStmt constructor (Timing c stmt) = + convertMIStmt (constructor . Timing c) stmt convertMIStmt constructor stmt = constructor stmt'' where diff --git a/test/basic/jump.sv b/test/basic/jump.sv index e4d15d6..8a70a56 100644 --- a/test/basic/jump.sv +++ b/test/basic/jump.sv @@ -106,4 +106,12 @@ module top; $display("Loop B:", i); end + always #1 + for (int i = 0; i < 10; ++i) begin + $display("Loop C-1:", i); + break; + $display("UNREACHABLE ", `__LINE__); + end + initial #5 $finish; + endmodule diff --git a/test/basic/jump.v b/test/basic/jump.v index 5897dc3..45f6667 100644 --- a/test/basic/jump.v +++ b/test/basic/jump.v @@ -80,4 +80,13 @@ module top; end end + always #1 begin : loop_c + integer i; + for (i = 0; i < 10; ++i) begin + $display("Loop C-1:", i); + i = 10; + end + end + initial #5 $finish; + endmodule