aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2021-07-30 14:56:16 +0200
committerYann Herklotz <git@yannherklotz.com>2021-07-30 14:56:16 +0200
commit8e5a673890a6765f73c47c497bb7d94d6e5000b6 (patch)
tree4119410ea202184c8b996f7fea0b5da48c3bcb85
parent5a03b06243bcc4455c28a8d567b481574b6d4c1f (diff)
downloadverismith-8e5a673890a6765f73c47c497bb7d94d6e5000b6.tar.gz
verismith-8e5a673890a6765f73c47c497bb7d94d6e5000b6.zip
Fix shuffle for VecSelect and RangeSelectHEADmaster
-rw-r--r--src/Verismith/Shuffle.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Verismith/Shuffle.hs b/src/Verismith/Shuffle.hs
index 0c460e2..b8b955a 100644
--- a/src/Verismith/Shuffle.hs
+++ b/src/Verismith/Shuffle.hs
@@ -59,6 +59,9 @@ renameIdent map (Identifier e) = Identifier $ Map.findWithDefault e e map
renameExpr :: Map.Map Text Text -> Expr -> Expr
renameExpr map (Id e) = Id (renameIdent map e)
+renameExpr map (VecSelect e a) = VecSelect (renameIdent map e) a
+renameExpr map (RangeSelect e r) = RangeSelect (renameIdent map e) r
+renameExpr map (Appl e r) = Appl (renameIdent map e) r
renameExpr _ e = e
renameVariablesModule :: (MonadGen m) => ModDecl a -> m (ModDecl a)
@@ -127,7 +130,7 @@ module fir_kernel_4tap_arch_1 #(
wire [BW-1:0] second_sum;
always @* two_shift = S<<1;
- assign first_sum = X1 + X2 + (X3<<S);
+ assign first_sum = X1 ? X1[2:0] : X1;
assign second_sum = X4 + (X5 << S);
assign result = ((first_sum >> two_shift) + second_sum) >> S;
endmodule