You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
For reasons of area and power efficiency, deeper and wider shift registers are usually implemented using single-port or dual-port SRAMs rather than with flip-flops. Support for dual-port SRAM implementation is available in ShiftRegisterMem which resides outside the main Chisel repository and is also broken. Besides, single-port SRAM implementation is still commented on.
Describe the solution you'd like
Ideally there should be a parameter similar to useSyncReadMem that is found in Queue which will indicate whether the SyncReadMem-based Shift Register implementation will be used or the current one. Additionally a single/dual-port SRAM indicator could be supplemented.
Describe alternatives you've considered
It would be highly useful to have this implemented inside Chisel itself, either as an addition to existing ShiftRegister, or as a new ShiftRegisterMem object similar to the one in rocket-dsp-utils.
Additional context
SRAM-based shift registers are used extensively and in my opinion should be supported inside Chisel itself.
What is the use case for implementing this feature?
There is a wide variety of use cases especially inside digital signal processing accelerators. Wherever the current ShiftRegisterMem is used, a newly designed Shift Register should serve as drop-in replacement without the necessity to load the craft package.
The text was updated successfully, but these errors were encountered:
Type of issue: Feature Request
Is your feature request related to a problem? Please describe.
For reasons of area and power efficiency, deeper and wider shift registers are usually implemented using single-port or dual-port SRAMs rather than with flip-flops. Support for dual-port SRAM implementation is available in
ShiftRegisterMem
which resides outside the main Chisel repository and is also broken. Besides, single-port SRAM implementation is still commented on.Describe the solution you'd like
Ideally there should be a parameter similar to
useSyncReadMem
that is found inQueue
which will indicate whether the SyncReadMem-based Shift Register implementation will be used or the current one. Additionally a single/dual-port SRAM indicator could be supplemented.Describe alternatives you've considered
It would be highly useful to have this implemented inside Chisel itself, either as an addition to existing
ShiftRegister
, or as a newShiftRegisterMem
object similar to the one in rocket-dsp-utils.Additional context
SRAM-based shift registers are used extensively and in my opinion should be supported inside Chisel itself.
What is the use case for implementing this feature?
There is a wide variety of use cases especially inside digital signal processing accelerators. Wherever the current
ShiftRegisterMem
is used, a newly designed Shift Register should serve as drop-in replacement without the necessity to load the craft package.The text was updated successfully, but these errors were encountered: