From e0251703227d8d37dbc9dd04b7ec2877e51f1111 Mon Sep 17 00:00:00 2001
From: Yaman Umuroglu <maltanar@gmail.com>
Date: Tue, 5 May 2020 01:13:59 +0100
Subject: [PATCH] [PYNQ] take final layer folding into account for
 itersPerSample

---
 src/finn/transformation/fpgadataflow/templates.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/finn/transformation/fpgadataflow/templates.py b/src/finn/transformation/fpgadataflow/templates.py
index 033706172..55a5af2ad 100644
--- a/src/finn/transformation/fpgadataflow/templates.py
+++ b/src/finn/transformation/fpgadataflow/templates.py
@@ -120,6 +120,8 @@ class RemoteTest():
         self.ctrl_regs = self.ol.resize_accel_0
         self.ishape_packed = $INPUT_SHAPE_PACKED$
         self.oshape_packed = $OUTPUT_SHAPE_PACKED$
+        # neuron folding factor of output = iterations per sample
+        self.itersPerSample = self.oshape_packed[-2]
         # AXI lite register offset for number of iterations
         # used by TLastMarker to signal end of transmission for AXI CDMA
         self.REG_OFFSET_NUM_ITERS = 0x10
@@ -184,7 +186,7 @@ class RemoteTest():
             raise Exception("Exec mode has to be set to remote_pynq or throughput_test")
 
         # set up TLastMarker with correct num. samples
-        self.ctrl_regs.write(self.REG_OFFSET_NUM_ITERS, N)
+        self.ctrl_regs.write(self.REG_OFFSET_NUM_ITERS, N*self.itersPerSample)
 
         # allocate a PYNQ buffer for the packed input buffer
         if exec_mode == "remote_pynq":
-- 
GitLab