verilog 捕捉上升沿下降沿
http://blog.163.com/brave_smile_heart/blog/static/18723817120122792148703/
这也算是经常用的一个小模块吧。以后就不用再思考了,用的时候直接调用就可以 。
///////////////////////////////////////////////////////////////////////////////////////
捕捉btn的下降沿
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 <=btn;
btn2 <= btn1;
end
wire neg_btn = ~btn1& btn2;
///////////////////////////////////////////////////////////////////////////////////////
捕捉btn的上升沿
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 <=btn;
btn2 <= btn1;
end
wire pos_btn = btn1& ~btn2;
///////////////////////////////////////////////////////////////////////////////////////