pulp-platform / common_cells

Common SystemVerilog components
Other
508 stars 145 forks source link

Stream join dynamic IP with independent input handshakes #150

Closed colluca closed 1 year ago

colluca commented 2 years ago

This is a feature request to extend the stream_join IP or provide the extended functionality in a separate IP.

Currently, the stream_join IP enforces:

  1. all of the streams to be joined together
  2. all input handshakes to occur simultaneously, i.e. an input stream is granted ready only after all input streams are valid

Conversely, we seek the following features:

  1. dynamically select a subset of streams to be joined
  2. allow input streams to be granted independently of each other

Feature (1) is similar to the functionality stream_fork_dynamic provides over stream_fork. The stream_fork IP is "specular" in its functionality to stream_join.