使用诸如 reg[127:0] temp[0:999] 之类的大型数组是否会使芯片尺寸更大?

Whether using large arrays such as reg[127:0] temp[0:999] could make chip size bigger?

我是 Verilog 和 FPGA 领域的新手。我脑子里冒出一个问题,使用像reg[127:0] temp[0:999] 这样的大数组可以使芯片尺寸变大吗?

module Memory();

reg [127:0] temp[0:999];

endmodule

在此处给出的示例中,综合工具将优化数组,因为它根本没有被访问(通常任何不会改变;或不影响输出的东西都会被优化掉),所以这个例子实际上最终会成为一个空的设计。

但是,如果阵列被访问和写入,那么它将最终使用芯片中的大量资源。如果它以合适的模式同步读取和写入,那么它将映射到 128000 位的块 RAM,这适用于除最小的 FPGA 之外的大多数 FPGA。或者,如果它是异步读取的,它最终可能会成为分布式 RAM,这会占用更多 space。最后,如果它不符合映射到专用 RAM 资源的规则,它最终将成为 128000 个触发器和大量 LUT,这将不适合许多 FPGA(并且在任何情况下都是非常浪费的)。