../src/lowrisc_prim_abstract_flash_0/prim_flash.sv Cov: 96.6%
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_flash
12:
13: #(
14:
15: parameter int PagesPerBank = 256, // pages per bank
16: parameter int WordsPerPage = 256, // words per page
17: parameter int DataWidth = 32, // bits per word
18: parameter bit SkipInit = 1, // this is an option to reset flash to all F's at reset
19:
20: // Derived parameters
21: localparam int PageW = $clog2(PagesPerBank),
22: localparam int WordW = $clog2(WordsPerPage),
23: localparam int AddrW = PageW + WordW
24:
25: ) (
26: input clk_i,
27: input rst_ni,
28: input rd_i,
29: input prog_i,
30: input pg_erase_i,
31: input bk_erase_i,
32: input [AddrW-1:0] addr_i,
33: input [DataWidth-1:0] prog_data_i,
34: output logic ack_o,
35: output logic [DataWidth-1:0] rd_data_o,
36: output logic init_busy_o
37: );
38: parameter prim_pkg::impl_e Impl = `PRIM_DEFAULT_IMPL;
39:
40: if (1) begin : gen_generic
41: prim_generic_flash #(
42: .SkipInit(SkipInit),
43: .PagesPerBank(PagesPerBank),
44: .WordsPerPage(WordsPerPage),
45: .DataWidth(DataWidth)
46: ) u_impl_generic (
47: .*
48: );
49:
50: end
51:
52: endmodule
53: