|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
automatic task map(input [9:0] H, input [9:0] W, input [9:0] C, input [9:0] K, ref bit [7:0] wt [H][W][C][K], ref bit [8*Tk-1:0] mapped_wt [H*W*K*((C+Tk-1)/Tk)]);
integer addr = 0;
for(integer k=0; k<K; k=k+Tk) begin
for(integer l=0; l<C; l=l+Tk) begin
for(integer i=0; i<H; i++) begin
for(integer j=0; j<W; j++) begin
for(integer kk=k; kk<k+Tk; kk++) begin
if(kk<K) begin
bit [Tk*8-1:0] tmp;
for(integer ll=l; ll<l+Tk; ll++) begin
if(ll<C)
tmp[(ll-l)*8+:8] = wt[j][ll][kk];
end
mapped_wt[addr] = tmp;
addr++;
end
end
end
end
end
end
endtask
我想通过调用时传入H、W、C、K的值调整wt数组大小,将他们按照特定顺序存入mapped_wt。然后下面是编译的错误,请问哪里有问题,应该怎么改?
|
|