| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| // Flash Phy Erase Module |
| // Translates the controller's req/ack interface to the interface expected by the flash wrapper |
| // Longer term the controller protocol can be changed to match. |
| module flash_phy_erase import flash_phy_pkg::*; ( |
| // interface with controller |
| output logic pg_erase_req_o, |
| output logic bk_erase_req_o, |
| erase_state_e state_d, state_q; |
| always_ff @(posedge clk_i or negedge rst_ni) begin |
| if ((pg_erase_req_o || bk_erase_req_o) && ack_i) begin |
| endcase // unique case (state_q) |
| assign pg_erase_req_o = pg_erase_req_i & req_valid; |
| assign bk_erase_req_o = bk_erase_req_i & req_valid; |