From 487685e0f01bd16f78990255fd827d80af09e6f1 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Tue, 16 Jun 2020 20:01:54 -0400 Subject: [PATCH] remove ternary operators from wildcard conversion --- src/Convert/Wildcard.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Convert/Wildcard.hs b/src/Convert/Wildcard.hs index 5d9841e..9d08456 100644 --- a/src/Convert/Wildcard.hs +++ b/src/Convert/Wildcard.hs @@ -31,18 +31,18 @@ convert = convertExpr :: Expr -> Expr convertExpr (BinOp WEq l r) = - Mux noteq (Number "1'b0") $ - Mux badxs (Number "1'bx") - (Number "1'b1") + BinOp BitAnd couldMatch $ + BinOp BitOr noExtraXZs $ + Number "1'bx" where lxl = BinOp BitXor l l rxr = BinOp BitXor r r -- Step #1: definitive mismatch - noteq = BinOp TNe rxlxl lxrxr + couldMatch = BinOp TEq rxlxl lxrxr rxlxl = BinOp BitXor r lxl lxrxr = BinOp BitXor l rxr -- Step #2: extra X or Z - badxs = BinOp TNe lxlxrxr rxr + noExtraXZs = BinOp TEq lxlxrxr rxr lxlxrxr = BinOp BitXor lxl rxr convertExpr (BinOp WNe l r) = UniOp LogNot $