[pull] main from B-Lang-org:main#182
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )