From f1e3b659571167f37a29a0340829395e6ed9bbae Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Sat, 17 Aug 2019 08:14:10 +0100 Subject: [PATCH] store mask in intermediary --- src/ieee754/part_mul_add/multiply.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ieee754/part_mul_add/multiply.py b/src/ieee754/part_mul_add/multiply.py index f0bb95b5..be736e8e 100644 --- a/src/ieee754/part_mul_add/multiply.py +++ b/src/ieee754/part_mul_add/multiply.py @@ -323,7 +323,10 @@ class AddReduce(Elaboratable): intermediate_terms.append(intermediate_term) m.d.comb += intermediate_term.eq(value) - part_mask = self._reg_partition_points.as_mask(len(self.output)) + # store mask in intermediary (simplifies graph) + part_mask = Signal(len(self.output), reset_less=True) + mask = self._reg_partition_points.as_mask(len(self.output)) + m.d.comb += part_mask.eq(mask) # create full adders for this recursive level. # this shrinks N terms to 2 * (N // 3) plus the remainder -- 2.30.2