From e1b64efcb01015987763b94a21439ded9817b6b6 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Fri, 23 Oct 2020 13:25:10 +0100 Subject: Fix printing of negative numbers --- src/hls/PrintVerilog.ml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/hls/PrintVerilog.ml b/src/hls/PrintVerilog.ml index 0f64066..353bfac 100644 --- a/src/hls/PrintVerilog.ml +++ b/src/hls/PrintVerilog.ml @@ -72,7 +72,11 @@ let register a = sprintf "reg_%d" (P.to_int a) (*let literal l = sprintf "%d'd%d" (Nat.to_int l.vsize) (Z.to_int (uvalueToZ l))*) -let literal l = sprintf "32'd%ld" (camlint_of_coqint l) +let literal l = + let l' = camlint_of_coqint l in + if l' < Int32.zero + then sprintf "(- 32'd%ld)" (Int32.neg l') + else sprintf "32'd%ld" l' let rec pprint_expr = function | Vlit l -> literal l -- cgit