SLIDE 14 Verilog Memory
- Verilog memory can be inferred from the
register array definition.
module waveform_rom #( parameter DATA_WIDTH = XX, parameter ROM_DEPTH = XX, parameter ADDR_WIDTH = XX, parameter ROM_FILENAME = “wave.mem”) ( input wire clock, input wire reset, input wire enable, input wire [ADDR_WIDTH-1:0] addr,
[DATA_WIDTH-1:0] do = 0); reg [DATA_WIDTH-1:0] rom [ROM_DEPTH-1:0]; initial $readmemh(ROM_FILENAME,rom); always@(posedge clock) begin if (reset) do <= 0; else if (enable) do <= rom[addr]; end endmodule If the rom register variable is used incorrectly, the build tools may not be able to make use of the BLOCK RAM available within the PL.