-
Notifications
You must be signed in to change notification settings - Fork 42
Description
Currently, the handshake::LSQStoreOp and handshake::MCStoreOp do not provide a completion signal. More precisely, they produce only two results (i.e. address and data value which are fed to handshake::LSQOp and handshake::MemoryControllerOp recpectively).
Generally speaking, for keeping track of memory consistency, it is nice to have a completion signal. Moreover, I would like to sequentialize load and stores without using the LSQ, so I need the store to produce this signal. This way, I can make sure the successor doesn't start before the store finishes.
The challenges I believe exist for adding this signal are listed below.
- The completion signal should be produced in
handshake::LSQOpandhandshake::MemoryControllerOpfor every store connected to them. - There should be a sink inserted for the output of store operation anywhere this signal is not used (which is probably everywhere except my use case).
- The new signal should also be taken into consideration when translating handshake to HW.
I would appreciate any insights related to the procedure of adding such signal to store operations from @lucas-rami or anyone else who has a comment.
- small side note: As mentioned here
handshake::LSQStoreOpandhandshake::MCStoreOpmay be merged into onehandshaek::StoreOpand the signal could be add to this operation.