Allow padded XSI input feed for FIFO sim - #1613
Conversation
(cherry picked from commit 471433e)
STFleming
left a comment
There was a problem hiding this comment.
Thanks @ollycassidy13.
It looks like this is increasing the number of inferences that are pushed into rtlsim_xsi.cpp which is used during FIFO depth simulation.
I would argue that this is already a feature built into FINN with the fifosim_n_inferences builder argument.
However maybe I'm overlooking a use case that requires this?
It also looks like this is increasing the number of input inferences without increasing the checking logic for how many outputs are observed and they get flagged as spurious outputs and things will error out.
|
The requirement is to feed For a single output stream, the current code exits as soon as the Nth output completes, so it will not observe a padded output as spurious. This could be changed to handle multiple output streams if required (deassert each output stream’s |
|
Thanks that clears things up a bit @ollycassidy13! I think I'm finding the term padding a bit misleading here, to me this would mean resizing within a tensor/frame of a single inference to add some padding, but this is essentially increasing the number of input inferences (i.e. it increases the number of complete input frames) if I understand it correctly? I'm also still a little unsure why you need to feed in |
|
The FIFO characterization needs continued input traffic while the first inference traverses the pipeline so it can observe overlapping activity and peak FIFO occupancy. Using only one input frame removes input traffic too early. Setting The intended behavior is:
|
Allows padded XSI input feeds during FIFO simulation.
This is a low-level XSI runtime compatibility fix for stream padding behavior.
Change type: C++