| // Copyright lowRISC contributors. | |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
| // SPDX-License-Identifier: Apache-2.0 | |
| module rising_edge_detector ( | |
| input logic clk_i, | |
| input logic rst_ni, | |
| input logic in_i, | |
| output logic out_o | |
| ); | |
| // Store last value | |
| logic last_q; | |
| always_ff @(posedge clk_i or negedge rst_ni) begin : proc_last | |
| if (!rst_ni) begin | |
| last_q <= 1'b0; | |
| end else begin | |
| last_q <= in_i; | |
| end | |
| end | |
| // Detect risign edge | |
| assign out_o = !last_q && in_i; | |
| endmodule |