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;
///////////////////////////////////////////////////////////////////////////////////////
posted @ 2015-10-23 09:47  agllero  阅读(1178)  评论(0编辑  收藏  举报