Skip to content

Support bulk connects in when? #727

Description

@jkorinth

Feature request: It would be nice to mux Bundles in when statements, e.g.,

when (somesignal) {
  bundle <> otherBundle
}
.otherwise {
  bundle <> defaultBundle
}

The idea would be to generate a bunch of

bundle.x := Mux(somesignal, otherBundle.x, defaultBundle.x)
...

statements. This would save a lot of typing, e.g., in arbiting xbars with large protocols (AXI, Wishbone, ...).

I guess that won't be as easy as it sounds since there's a lot of special cases to be caught, but I think it would be very useful. In case you can't support it, it would also be helpful to generate a compiler error for the code above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions