yosys/tests/silimate/opt_compact_prefix_scale.sv

30 lines
569 B
Systemverilog

module opt_compact_prefix_pack64 (
input logic [63:0] sig,
output logic [63:0] sig2
);
always_comb begin
sig2 = '0;
for (int I = 0, indx = 0; I < 64; I++) begin
if (sig[I]) begin
sig2[indx] = sig[I];
indx += 1;
end
end
end
endmodule
module opt_compact_prefix_pack128 (
input logic [127:0] sig,
output logic [127:0] sig2
);
always_comb begin
sig2 = '0;
for (int I = 0, indx = 0; I < 128; I++) begin
if (sig[I]) begin
sig2[indx] = sig[I];
indx += 1;
end
end
end
endmodule