`timescale 1ns/1ns module RTL( input clk, input rst_n, input data_in, output reg data_out ); //上升沿检测电路 logic data_in_r; always @(posedge clk or negedge rst_n) begin if (!rst_n) begin data_in_r <= 'b0; end else if (data_in != data_in_r) begin data_in_r <= data_in; end end wire data_re; assign data_re = data_in & (!data_in_r); always @(posedge clk or negedge rst_n) begin if (!rst_n) begin data_out <= 'b0; end else if (data_out != data_re) begin data_out <= data_re; end end endmodule