diff options
-rw-r--r-- | modexpng_fpga_model.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/modexpng_fpga_model.py b/modexpng_fpga_model.py index 5632a6f..cf4d7f8 100644 --- a/modexpng_fpga_model.py +++ b/modexpng_fpga_model.py @@ -284,22 +284,21 @@ class ModExpNG_PartRecombinator(): def recombine_triangle(self, parts, ab_num_words, dump): # empty result so far - words = list() - - # flush recombinator pipeline - self._flush_pipeline(dump) + words_lsb = list() + # recombine the lower half (n+1 parts) # the first tick produces null result, so we need n + 1 + 1 = n + 2 # ticks total and should only save the result word during the last n ticks + self._flush_pipeline(dump) for i in range(ab_num_words + 2): next_part = parts[i] if i < (ab_num_words + 1) else 0 next_word = self._push_pipeline(next_part, dump) if i > 0: - words.append(next_word) + words_lsb.append(next_word) - return words + return words_lsb def recombine_rectangle(self, parts, ab_num_words, dump): |