-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make passthrough SIPO truly passthrough #557
base: master
Are you sure you want to change the base?
Conversation
Thanks Dan! I guess you are expecting to use the passthrough PISO in a special use case (utilizing the intermediate results). With only one v_o signal there is no way to tell whether A,B or C is valid or not. In my opinion you could modify the interface with
Where the new v_o signals can be driven by the |
Yep, makes sense! And then the normal usecase of only detecting full can be achieved by looking at the high bit of the valids |
* fixe vcache trace parsing * fix vanilla tracer header printing
e057fcc
to
4d91dcb
Compare
4d91dcb
to
c588f96
Compare
Is this an N buncher and not a SIPO?
|
Hm, interesting. I guess yes and no, but I'll have to look at the handshaking to understand if there are any fundamental differences |
The difference is in the output handshake. In bsg_n_buncher, there are N ready signals so the packets can be popped individually (though not out of sequence). In bsg_serial_in_parallel_out_passthrough, there is 1 ready signal and the entire packet is acked when received. I believe bsg_serial_in_parallel_out_passthrough is a specialization of bsg_n_buncher, if we adjust the ready_and_i signal externally |
The passthrough SIPO right now has weird behavior. It builds up incrementally and then comes through all at once. This was done to save hardware but breaks certain usecases which want to examine the intermediate results.
For instance, passing in ABCD would have C and D both available starting at cycle 4.
Instead, if we bypass each entry, the SIPO becomes truly passthrough. Then the output sequence will be ABCD as expected.