我使用以下代码在verilog中实例化2-D内存
reg [15:0] data_pattern_even [3:0] = {16'hFFFF,16'hFFFF,16'hFFFF,16'hFFFF};
reg [15:0] data_pattern_ev [3:0] = {16'hFFFF,16'hFFFF,16'hFFFF,16'hFFFF};
此实例化在Simulation中可以正常工作,但在实际合成和RTL分析完成时无法工作
任何人都可以向我详细说明如何做到这一点吗?
答案 0 :(得分:1)
对于Altera器件: https://www.altera.com/support/support-resources/design-examples/design-software/verilog/ver_ram.html
对于Xilinx设备(由Paebbels提供): http://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_2/ug901-vivado-synthesis.pdf(第3章,“初始化RAM内容”)
对于莱迪思器件: http://www.latticesemi.com/~/media/LatticeSemi/Documents/UserManuals/EI/iCEcube2_2013-08_userguide.pdf?document_id=50165(“初始化推断的RAM”)
谷歌和我的短搜索发现: How to initialize contents of inferred Block RAM (BRAM) in Verilog
只是谷歌吧: - )