1
0
mirror of synced 2026-04-26 04:08:28 +00:00
Files
YosysHQ.yosys/tests
Dag Lem ad437c178d Handling of attributes for struct / union variables
(* nowrshmsk *) on a struct / union variable now affects dynamic
bit slice assignments to members of the struct / union.

(* nowrshmsk *) can in some cases yield significant resource savings; the
combination of pipeline shifting and indexed writes is an example of this.

Constructs similar to the one below can benefit from (* nowrshmsk *), and
in addition it is no longer necessary to split out the shift assignments
on separate lines in order to avoid the error message "ERROR: incompatible
mix of lookahead and non-lookahead IDs in LHS expression."

    always_ff @(posedge clk) begin
        if (rotate) begin
            { v5, v4, v3, v2, v1, v0 } <= { v4, v3, v2, v1, v0, v5 };

            if (res) begin
                v0.bytes <= '0;
            end else if (w) begin
                v0.bytes[addr] <= data;
            end
        end
    end
2023-05-03 18:44:07 +02:00
..
2023-04-22 16:24:36 -07:00
2021-12-10 00:22:37 +01:00
2019-07-16 12:44:26 -07:00
2023-02-21 05:23:15 +13:00
2021-12-10 00:22:37 +01:00
2022-11-29 19:06:45 +01:00
2020-09-21 15:07:02 +02:00
2022-03-14 15:39:11 +01:00
2021-03-29 22:01:57 -07:00
2015-06-19 14:08:46 +02:00
2016-12-11 10:58:49 +01:00