Skip to content

[pull] main from B-Lang-org:main#182

Merged
pull[bot] merged 1 commit into
chenm001:mainfrom
B-Lang-org:main
Jul 10, 2026
Merged

[pull] main from B-Lang-org:main#182
pull[bot] merged 1 commit into
chenm001:mainfrom
B-Lang-org:main

Conversation

@pull

@pull pull Bot commented Jul 10, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

This is a squash merge of GitHub PR 849.

Introduce ATuple and ATupleSel into ASyntax.  The ActionValue_
constructor now takes a star type, rather than numeric type, so that
it can either be a "Bit n" or a tuple of bit types.  In the printing
of ASyntax, method types now have a List of return types rather than a
Maybe of a single type.

Method outputs are resolved in AConv now, instead of earlier in the
evaluator.  Therefore some signal names now have `__d` suffix rather
than `__h` suffix.

Verilog: Wires connected to submodule results ports have the form
<inst>$<meth>_RES_<resnum>, except for backwards compatibility, when
there is only one result port, it retains the form <inst>$<meth>.
Input ports are <inst>$<meth>_<argnum>.

Bluesim: Tuples (split ports) are not yet visible; the Bluesim backend
converts them to wide bit vectors.

Bluetcl: The "module ports" and "submodule full" output syntax has
changed.  A results field is always included, which may be empty if
there is no result; otherwise it includes a lists of ports, with their
name and bit width.  Documentation is updated.

Introduce and use type functions for TupleSize and AppendTuple.
Introduce and use type functions PortsOf, ShallowPortsOf, DeepPortsOf.

Add path analysis tests for split method inputs/outputs.
Cover per-port combinational paths through split method results: value
methods, submodule split outputs, ActionValue split results, and loop
detection through a split output port.

Adds tests for port splitting, including path analysis and bluetcl
port reporting.

Add 49 bsc.scheduler/paths tests for combinational path analysis through
split method inputs/outputs (the per-port tracking from port splitting):
- deep/shallow split, nested structs, vectors, Maybe/union payloads
- value and ActionValue methods; split inputs, outputs, and both
- input<->output isolation: crossing, combining, fan-out, dead ports
- per-port combinational loop detection and confinement (G0032)
- packed<->split boundaries, data-dependent selector muxes, EN/RDY
- paths through a submodule's split ports

Add if-split tests for ActionValue methods with split output ports
Cover iSplitIface handling of a port-split (ShallowSplit) ActionValue
result, whose value stays a tuple rather than Bit#(n), both with the
action unsplit and split via the splitIf pragma.
@pull pull Bot locked and limited conversation to collaborators Jul 10, 2026
@pull pull Bot added the ⤵️ pull label Jul 10, 2026
@pull
pull Bot merged commit ddcd1d3 into chenm001:main Jul 10, 2026
30 of 31 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant