verilog 捕捉上升沿下降沿


捕捉btn的下降沿

module( in , out , clk , rst_n)

input in;

input clk;

input rst_n;

output out;


reg btn1;

reg btn2;


always @(posedge clk or negedge rst_n)  
  if(!rst_n) begin
    btn1 <= 1'b0;
    btn2 <= 1'b0;
   end
  else begin
    btn1  <= in;
    btn2  <= btn1;    
   end

wire out = ~btn1& btn2;      //检测下降沿

endmodule


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

module( in , out , clk , rst_n)

input in;

input clk;

input rst_n;

output out;


reg btn1;

reg btn2;


always @(posedge clk or negedge rst_n)  
  if(!rst_n) begin
    btn1 <= 1'b1;
    btn2 <= 1'b1;
   end
  else begin
    btn1  <= in;
    btn2  <= btn1;    
   end


wirt out = btn1& ~btn2;  //检测上升沿

endmodule



你可能感兴趣的:(verilog 捕捉上升沿下降沿)