0
我想在我的VERILOG代碼中使用塊RAM來實現一個更大的RAM,該代碼已經超過了設備中特定塊RAM的深度限制(我需要深度4500的RAM,並且一個塊RAM的最大深度是512) 。如何在我的verilog代碼中使用屬性級聯塊RAM。 在此先感謝如何使用xilinx屬性級聯verilog代碼中的blockrams?
我想在我的VERILOG代碼中使用塊RAM來實現一個更大的RAM,該代碼已經超過了設備中特定塊RAM的深度限制(我需要深度4500的RAM,並且一個塊RAM的最大深度是512) 。如何在我的verilog代碼中使用屬性級聯塊RAM。 在此先感謝如何使用xilinx屬性級聯verilog代碼中的blockrams?
鑑於良好的綜合工具,您可能只需推斷大型RAM而不需要依賴於技術的屬性。因此,請檢查您的綜合手冊中的技術推斷塊RAM。在那裏的典型錯誤將是例如在內存上添加一個復位,這在大多數技術中都不可用。
我正在使用vivado來合成我的代碼。並花了很多時間來生成一個位文件,在日誌中我觀察到內存正在寄存器中執行,而不是在塊內存中執行。我應該怎麼做才能在塊RAM中實現我的內存 –
@vlsi_user工具合成,映射和生成位文件所需的時間量通常取決於設計的大小。關於RAM是作爲寄存器而不是Block RAM來實現的,如果你可以發佈你的代碼片段,顯示你已經寫入的Block RAM模塊或者你正在實例化RAM的代碼片段,這將是有幫助的。 – Prashant
@vlsi_user fpga中的Block RAM與ASIC中的SRAM不同。也就是說,您需要允許2個循環延遲而不是1個來推斷FPGA模塊RAM。就像總是@(posedge clk)開始addr_reg <= addr; rdata <= mem [addr_reg];結束 –