下面介绍两种常用的用于在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