aboutsummaryrefslogtreecommitdiffstats
path: root/src/Verismith/Verilog/CodeGen.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Verismith/Verilog/CodeGen.hs')
-rw-r--r--src/Verismith/Verilog/CodeGen.hs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/Verismith/Verilog/CodeGen.hs b/src/Verismith/Verilog/CodeGen.hs
index 303c8a2..74acfe4 100644
--- a/src/Verismith/Verilog/CodeGen.hs
+++ b/src/Verismith/Verilog/CodeGen.hs
@@ -242,7 +242,16 @@ pType Reg = "reg"
genAssign :: Text -> Assign -> Doc a
genAssign op (Assign r d e) =
- hsep [lVal r, pretty op, maybe mempty delay d, expr e]
+ hsep . (lVal r : ) . (pretty op :) $ addMay (delay <$> d) [expr e]
+
+caseType :: CaseType -> Doc a
+caseType CaseStandard = "case"
+caseType CaseX = "casex"
+caseType CaseZ = "casez"
+
+casePair :: CasePair -> Doc a
+casePair (CasePair e s) =
+ vsep [hsep [expr e, colon], indent 2 $ statement s]
statement :: Statement -> Doc a
statement (TimeCtrl d stat) = hsep [delay d, defMap stat]