always块下的上升沿检测

下面介绍两种常用的用于在always块下面检测上升沿的方法,该方法用于在时钟驱动的电路中,用于对于特定信号上升沿的检测,因为always块无法嵌套。

一、http://blog.csdn.net/jasonwang1002/article/details/21595169

在always@()模块下,不能再使用always@来检测上升沿或者下降沿,但有一种小算法,分享一下。

假设要检测en的上升沿:

always@(posedge clk)begin

    en_delay1 <= en;

end

always@(posedge clk)begin

    if(en == 1 && en_delay1 == 0)begin//此处为检测en的上升沿

        ......

    end

end

二、

reg wrsigbuf, wrsigrise; 


always @(posedge clk) //判断wrsig的上升沿
begin  
wrsigbuf <= wrsig;  
wrsigrise <= (~wrsigbuf) & wrsig; 
end


猜你喜欢

转载自blog.csdn.net/u010294743/article/details/77723437