../src/lowrisc_prim_abstract_ram_1p_0/prim_ram_1p.sv Cov: 95.7%
1: // Copyright lowRISC contributors.
2: // Licensed under the Apache License, Version 2.0, see LICENSE for details.
3: // SPDX-License-Identifier: Apache-2.0
4:
5: // This file is auto-generated.
6:
7: `ifndef PRIM_DEFAULT_IMPL
8: `define PRIM_DEFAULT_IMPL prim_pkg::ImplGeneric
9: `endif
10:
11: module prim_ram_1p
12:
13: #(
14:
15: parameter int Width = 32, // bit
16: parameter int Depth = 128,
17: parameter int DataBitsPerMask = 1, // Number of data bits per bit of write mask
18: parameter MemInitFile = "", // VMEM file to initialize the memory with
19:
20: localparam int Aw = $clog2(Depth) // derived parameter
21:
22: ) (
23: input logic clk_i,
24:
25: input logic req_i,
26: input logic write_i,
27: input logic [Aw-1:0] addr_i,
28: input logic [Width-1:0] wdata_i,
29: input logic [Width-1:0] wmask_i,
30: output logic [Width-1:0] rdata_o // Read data. Data is returned one cycle after req_i is high.
31: );
32: parameter prim_pkg::impl_e Impl = `PRIM_DEFAULT_IMPL;
33:
34: if (1) begin : gen_generic
35: prim_generic_ram_1p #(
36: .DataBitsPerMask(DataBitsPerMask),
37: .Depth(Depth),
38: .MemInitFile(MemInitFile),
39: .Width(Width)
40: ) u_impl_generic (
41: .*
42: );
43:
44: end
45:
46: endmodule
47: