../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: