Skip to content

feature: Multicast integration #234

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

Merged
merged 17 commits into from
May 30, 2025

Conversation

Lore0599
Copy link
Contributor

@Lore0599 Lore0599 commented May 22, 2025

Multicast integration

This PR introduces multicast capabilities to the snitch cluster.

🆕 ADDED:

  • 🧩 CFG: The snitch configuration file can now accept some new parameters:

    • dma_user_width: Specifies the width available to encode the multicast mask on the wide interconnect.
    • enable_multicast: Boolean flag to enable a multicast-capable crossbar on the wide interconnect.
    • atomic_id_width: Defines the number of bits used in the user field to support atomic operations. This is required to distinguish between hart ID and the multicast mask.
  • ⚙️ HW:

    • axi_mcast_xbar: The AXI crossbar has been extended with multicast support to enable multicast communication over the wide interconnect.
    • CSR_MCAST: A new CSR has been added to the Snitch core to allow software to encode and configure the multicast mask.
    • snitch_lsu: The LSU has been extended to forward the multicast mask correctly through the transaction's user field.
  • 💻 SW:

    • The snRuntime has been updated to support multicast in synchronization mechanisms, such as global barriers.
    • The runtime has also been modified to address race conditions in multi-cluster systems. Specifically:
      • The offload mechanism now requires waking up core 0 first.
      • Core 0 is responsible for clearing the BSS memory region.
      • Only afterwards are the other clusters woken up by core 0.
  • CI

    • Convert repo names to lowercase for use in Docker tag name

@Lore0599 Lore0599 force-pushed the multicast-integration branch 4 times, most recently from 67775ac to c056d90 Compare May 22, 2025 16:47
@colluca colluca force-pushed the multicast-integration branch 3 times, most recently from d5998ee to 49ce69a Compare May 26, 2025 14:15
@colluca colluca changed the base branch from main to develop May 26, 2025 14:39
@colluca colluca force-pushed the multicast-integration branch from af92c0f to 7a2fee8 Compare May 30, 2025 13:58
@colluca colluca merged commit 8ae7d03 into pulp-platform:develop May 30, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants