Easily reachable with for-loops:
SystemVerilog (IEEE 1800):
logic [N-1:0] my_reg;
always_comb begin
foreach(my_reg[idx])
my_reg[idx] = idx inside {[LSB_limit:MSB_limit]};
end
Verilog (IEEE 1364-2001 or higher):
reg [N-1:0] my_reg;
integer idx;
always @* begin
for (idx = 0; idx < N; idx=idx+1) begin
my_reg[idx] = (idx >= LSB_limit) && ( idx <= MSB_limit);
end
end
source
share