RAM的默认值

时间:2013-12-03 07:46:39

标签: verilog hdl

我在Verilog HDL中进行综合编写,我想用默认值(零)实例化一个DUAL PORT RAM,怎么做呢?

谢谢,Netanel

1 个答案:

答案 0 :(得分:1)

正如您提到的Virtex-7 - 请查看Xilinx Synthesis manual中有关如何编写推断内存块的Verilog的示例。

在附录C中,您可以找到以下代码:

// Dual-Port Block RAM with Two Write Ports
// File: HDL_Coding_Techniques/rams/rams_16.v
module v_rams_16 (clka,clkb,ena,enb,wea,web,addra,addrb,dia,dib,doa,dob);
  input clka,clkb,ena,enb,wea,web;
  input [9:0] addra,addrb;
  input [15:0] dia,dib;
  output [15:0] doa,dob;
  reg [15:0] ram [1023:0];
  reg [15:0] doa,dob;
always @(posedge clka) begin if (ena)
begin
  if (wea)
    ram[addra] <= dia;
    doa <= ram[addra];
  end
end
always @(posedge clkb) begin if (enb)
begin
  if (web)
    ram[addrb] <= dib;
    dob <= ram[addrb];
  end
end
endmodule

我不是Verilogger,但我相信你可以调整ram声明,使其全部为零。