Код: Выделить всё
assign sr_out = sr[7:0];
assign sr_out1 = sr[15:8];
assign sr_out2 = sr[23:16];
assign sr_out3 = sr[31:24];
на assign sr_out = sr[i*8-1:(i-1)*8]; но к сожалению это не получается не понимаю почему
Код: Выделить всё
module counter (
shift,
clk,
sr_in,
sr_out,
sr_out1,
sr_out2,
sr_out3,
sr_out4
);
input shift,clk;
input wire [7:0]sr_in;
output [7:0]sr_out,sr_out1,sr_out2,sr_out3,sr_out4;
reg [31:0]sr;
always @ (posedge clk)
if (shift ==1 )
sr <= { sr[23:0],sr_in };
parameter SIZE = 4;
genvar i;
generate
for (i=1; i <= SIZE; i=i+1)
begin: bit
assign sr_out[i] = sr[i*8-1:(i-1)*8];
end
endgenerate
