Verilog 使用诸如reg[127:0]temp[0:999]这样的大型阵列是否会使芯片尺寸变大?

Verilog 使用诸如reg[127:0]temp[0:999]这样的大型阵列是否会使芯片尺寸变大?,verilog,Verilog,我是Verilog&FPGA世界的新手。一个问题在我脑海中浮现,使用诸如reg[127:0]temp[0:999]这样的大型阵列可以使芯片尺寸更大 module Memory(); reg [127:0] temp[0:999]; endmodule 在这里给出的示例中,合成工具将优化阵列,因为它根本不会被访问(通常,任何不变的或不影响输出的东西都会被优化掉),因此这个示例实际上会以空设计结束 但是,如果阵列被访问并写入,那么它最终将使用芯片中的大量资源。如果它以合适的模式同步读写,那么它

我是Verilog&FPGA世界的新手。一个问题在我脑海中浮现,使用诸如reg[127:0]temp[0:999]这样的大型阵列可以使芯片尺寸更大

module Memory();

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

endmodule

在这里给出的示例中,合成工具将优化阵列,因为它根本不会被访问(通常,任何不变的或不影响输出的东西都会被优化掉),因此这个示例实际上会以空设计结束


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

简单的答案是:如果您实际写入和访问阵列(与本例不同),那么是的,它将使用FPGA上的资源。资源使用的重要性取决于FPGA的大小和设计细节。