-
Notifications
You must be signed in to change notification settings - Fork 3
hw: Add multicast support #32
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
base: main
Are you sure you want to change the base?
Conversation
cdb7a01
to
5310b87
Compare
4dcb88d
to
74d21ed
Compare
hw/picobello_pkg.sv
Outdated
$write(" mask_y: {offset: %0d, len: %0d} },", | ||
sam_multicast[i].idx.mask_y.offset, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
$write(" mask_y: {offset: %0d, len: %0d} },", | |
sam_multicast[i].idx.mask_y.offset, | |
$write(" mask_y: {offset: %0d, len: %0d} },", sam_multicast[i].idx.mask_y.offset, |
74d21ed
to
8ec022a
Compare
$write(" mask_y: {offset: %0d, len: %0d} },", | ||
SamMcast[i].idx.mask_y.offset, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
$write(" mask_y: {offset: %0d, len: %0d} },", | |
SamMcast[i].idx.mask_y.offset, | |
$write(" mask_y: {offset: %0d, len: %0d} },", SamMcast[i].idx.mask_y.offset, |
typedef logic [aw_bt'(AxiCfgN.AddrWidth)-1:0] user_mask_t; | ||
|
||
typedef struct packed { | ||
user_mask_t mcast_mask; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[verible-verilog-format] reported by reviewdog 🐶
user_mask_t mcast_mask; | |
user_mask_t mcast_mask; |
233f542
to
41167ad
Compare
41167ad
to
7220afe
Compare
53ff190
to
63545f0
Compare
Collective Communication: Multicast
This PR introduces multicast capabilities to the Picobello SoC. The feature is not yet tested, but backward compatibility with the unicast version is ensured for the
mini_picobello
configuration and for this reason could be already merged for preliminary backend trials.🆕 ADDED:
floo_noc
: now points to the multicast branch.snitch_cluster
: points to a local multicast integration branch.🔜 Both branches will be merged into their respective main branches soon.
mcast_snitch_cluster.hjson
: A temporary multicast-specific configuration file for Snitch Cluster.🔜 This file will be removed and merged with the generic configuration once multicast is extended to the full system (7x4 mesh).
picobello_pkg
: Added helper functions to update the SAM with multicast-specific information and introduced debug-friendly printing functions to visualize the SAM.picobello_top
: Cluster tiles now support multicast while non-cluster tiles (cheshire and memory tile) do not support the feature.📋 TODO: