diff --git a/finn-rtllib/memstream/doc/README b/finn-rtllib/memstream/doc/README index fefa531bd2113b534f70d1b5fa7d0f5761b50d9d..f4f99542cf6daed25736cd22e9d4a2e2d1a2607c 100644 --- a/finn-rtllib/memstream/doc/README +++ b/finn-rtllib/memstream/doc/README @@ -1,3 +1,7 @@ +IMPORTANT: After using AXI lite to either read or write the weights, +always "flush" the accelerator by first passing a dummy input +vector through the accelerator. This will get rid of any old +weight data from the weight FIFOs. Memory Streamer Address Map @@ -37,6 +41,5 @@ C | N/A To perform a write to mem[0], the AXI master writes to AXI Addr 0,4,8 in any order, then writes to AXI Addr 0xC to commit the write. To read mem[1][63:32], -the AXI master reads from AXI Addr 0x14. The words of mem can be written to or +the AXI master reads from AXI Addr 0x14. The words of mem can be written to or read from in any order. - diff --git a/src/finn/custom_op/fpgadataflow/streamingfclayer_batch.py b/src/finn/custom_op/fpgadataflow/streamingfclayer_batch.py index cdb5c7727de76e44e0f913ac81852b6b5a092ccf..1fa023640229d3372276bd11ee838ac1cf1256b1 100644 --- a/src/finn/custom_op/fpgadataflow/streamingfclayer_batch.py +++ b/src/finn/custom_op/fpgadataflow/streamingfclayer_batch.py @@ -99,6 +99,12 @@ class StreamingFCLayer_Batch(HLSCustomOp): # (mem_mode = decoupled only) whether weights will be writable through # an AXI-lite interface during runtime # 1 for enabled, 0 for disabled. + # see finn-rtllib/memstream/doc/README for more about the memory + # address map used for writable weights + # IMPORTANT: After using AXI lite to either read or write the weights, + # always "flush" the accelerator by first passing a dummy input + # vector through the accelerator. This will get rid of any old + # weight data from the weight FIFOs. "runtime_writeable_weights": ("i", False, 0), } my_attrs.update(super().get_nodeattr_types())