From 31ffa439f70722048d684bc5652d632029175924 Mon Sep 17 00:00:00 2001 From: Ethan Sifferman Date: Thu, 25 Jan 2024 11:57:38 -0800 Subject: [PATCH] cleaned up SystemTasks.hs --- src/Convert/SystemTasks.hs | 16 +++++++++------- test/core/system_tasks.sv | 1 + test/core/system_tasks.v | 6 ++++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/Convert/SystemTasks.hs b/src/Convert/SystemTasks.hs index 1cbbec5..db881a0 100644 --- a/src/Convert/SystemTasks.hs +++ b/src/Convert/SystemTasks.hs @@ -14,34 +14,36 @@ convert = map $ traverseDescriptions $ traverseModuleItems $ traverseStmts $ traverseNestedStmts convertStmt +timeCall :: Expr +timeCall = Call (Ident "$time") (Args [] []) + convertStmt :: Stmt -> Stmt convertStmt (Subroutine (Ident "$info") args) = Block Seq "" [] [ - (Subroutine (Ident "$write") (Args [(String "[%0t] Info: "), (Call (Ident "$time") (Args [] []))] [])), + (Subroutine (Ident "$write") (Args [(String "[%0t] Info: "), timeCall] [])), (Subroutine (Ident "$display") args) ] convertStmt (Subroutine (Ident "$warning") args) = Block Seq "" [] [ - (Subroutine (Ident "$write") (Args [(String "[%0t] Warning: "), (Call (Ident "$time") (Args [] []))] [])), + (Subroutine (Ident "$write") (Args [(String "[%0t] Warning: "), timeCall] [])), (Subroutine (Ident "$display") args) ] convertStmt (Subroutine (Ident "$error") args) = Block Seq "" [] [ - (Subroutine (Ident "$write") (Args [(String "[%0t] Error: "), (Call (Ident "$time") (Args [] []))] [])), + (Subroutine (Ident "$write") (Args [(String "[%0t] Error: "), timeCall] [])), (Subroutine (Ident "$display") args) ] convertStmt (Subroutine (Ident "$fatal") (Args [] [])) = Block Seq "" [] [ - (Subroutine (Ident "$write") (Args [(String "[%0t] Fatal: "), (Call (Ident "$time") (Args [] []))] [])), - (Subroutine (Ident "$display") (Args [] [])), + (Subroutine (Ident "$display") (Args [(String "[%0t] Fatal:"), timeCall] [])), (Subroutine (Ident "$finish") (Args [] [])) ] -convertStmt (Subroutine (Ident "$fatal") (Args (finishArgs:displayArgs) [])) = +convertStmt (Subroutine (Ident "$fatal") (Args (finishArgs:displayArgs) _)) = Block Seq "" [] [ - (Subroutine (Ident "$write") (Args [(String "Fatal:")] [])), + (Subroutine (Ident "$write") (Args [(String "[%0t] Fatal: "), timeCall] [])), (Subroutine (Ident "$display") (Args displayArgs [])), (Subroutine (Ident "$finish") (Args [finishArgs] [])) ] diff --git a/test/core/system_tasks.sv b/test/core/system_tasks.sv index ecfb49e..5d7c802 100644 --- a/test/core/system_tasks.sv +++ b/test/core/system_tasks.sv @@ -7,6 +7,7 @@ module top; $error; $error("%b", 3); $fatal; + $fatal(0); $fatal(0, "%b", 4); end endmodule diff --git a/test/core/system_tasks.v b/test/core/system_tasks.v index 362de49..6f42803 100644 --- a/test/core/system_tasks.v +++ b/test/core/system_tasks.v @@ -12,10 +12,12 @@ module top; $display; $write("[%0t] Error: ", $time); $display("%b", 3); + $display("[%0t] Fatal:", $time); + $finish; $write("[%0t] Fatal: ", $time); $display; - $finish; - $write("Fatal:"); + $finish(0); + $write("[%0t] Fatal: ", $time); $display("%b", 4); $finish(0); end