verilog数组引用

时间:2013-02-17 15:14:39

标签: verilog

我有这个模块。问题是gameArray[0][x][y-1]不起作用。执行此类操作的正确方法是什么?基本上它类似于C ++语法,但无法使其工作。

module write_init_copy(
  input clk,
  input gameArray [1:0][63:0][127:0], writecell, processedcell,
  input [5:0] x,
  input [6:0] y,
  input initialize, copyover,
  output reg done_initialize, done_copy, done_writecell);

always@(posedge clk)
begin
    if(writecell == 1)
    begin
        gameArray[1][x][y] <= processedcell;
        done_writecell <= 1;
    end
    else if(initialize == 1)
    begin

    end
end

endmodule

1 个答案:

答案 0 :(得分:2)

gameArray被声明为输入,因此您无法分配给它。如果你想要修改它,请声明一个单独的'in'和'out'版本,其中out&lt; = f(in);即。

gameArray_out <= gameArray_in;
gameArray_out[1][x][y] <= procesedcell;