Edgedetect(边缘检测)
放出结论公式
边缘检测就是把当前输入与之前的输入比较观察是否有上升/下降。
1.上升沿检测 in&~last_state
2.下降沿检测 ~in&last_state
3.双边检测 --两个表达式或(1|2)
利用非阻塞赋值自动生成寄存器的性质,将前一个状态寄存,等到下一个触发事件到来的时候再进行赋值
module top_module (
input clk,
input [7:0] in,
output [7:0] pedge
);
reg [7:0]q;
always@(posedge clk)
begin
q<=in;
pedge<=~q∈
end
endmodule
在pedge输出为1的时刻表示的是上一次的输入上升沿。即输出结果比输入上升改变的那个时刻晚了一个周期。