Skip to content

[enhancement] Provide automatic generation of channel muxing / demuxing procs in DSLX #1439

Description

@rw1nkler

What's hard to do? (limit 100 words)

Even though creating muxing/demuxing logic for channels is an easy concept it requires quite complex code, with nonblocking receives to allow free data flow and conditional operations that depend on the select signal. This task could potentially be automated.

Current best alternative workaround (limit 100 words)

Write the muxing/demuxing logic manually

Your view of the "best case XLS enhancement" (limit 100 words)

A basic muxing/demuxing logic with the select channel could potentially be generated automatically. However, simple channel switching is often insufficient for a functional design. For instance, when connecting a single proc to two RAMs, one may want to switch between channels only after all operations on one channel have finished. This scenario requires more complex arbitration logic. Users can provide this additional logic by wrapping the simple muxing/demuxing processes with a process that performs the necessary arbitration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    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