diff options
Diffstat (limited to 'src/Verismith/Verilog/CodeGen.hs')
-rw-r--r-- | src/Verismith/Verilog/CodeGen.hs | 11 |
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] |