Draft: Prasadar/multi precision #32
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces support for asymmetric stream data widths and improves parameterization and flexibility across several HWPE-Stream modules. The main changes include the addition of a new module for handling asymmetric stream fencing, updates to existing modules to generalize element widths, and the introduction of a new address generator version. These changes enhance the configurability and capability of the HWPE-Stream infrastructure.
New module and interface enhancements:
hwpe_stream_fence_asymmetricmodule to support synchronization between streams of different data widths, facilitating the joining of asymmetric streams. (rtl/basic/hwpe_stream_fence_asymmetric.sv,Bender.yml) [1] [2]hwpe_stream_intf_tcdmandhwpe_stream_intf_streaminterfaces to includeELEMENT_WIDTHand to generalizeSTRB_WIDTHcalculation, allowing support for arbitrary data and element widths. (rtl/hwpe_stream_interfaces.sv) [1] [2] [3]Module parameterization and flexibility:
hwpe_stream_serializeandhwpe_stream_fifomodules to useELEMENT_WIDTHfor calculating strobe widths, improving support for streams with non-byte-sized elements, and added new operational modes and logic for stream/contiguous element handling. (rtl/basic/hwpe_stream_serialize.sv,rtl/fifo/hwpe_stream_fifo.sv) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]Address generator improvements:
hwpe_stream_addressgen_v4module and corresponding control and flag structs to support more advanced address generation patterns. (Bender.yml,rtl/hwpe_stream_package.sv) [1] [2] [3]These updates collectively make the HWPE-Stream platform more adaptable to a wider range of data widths and memory access patterns, improving its utility for heterogeneous and high-performance streaming applications.