原创 脉冲边沿检测

2011-7-22 13:23 1369 8 8 分类: FPGA/CPLD

 

//**************************************************************
module detecedge(
    clk,rst_n,
    singalin,
    singalout
    );
input clk;           //输入时钟
input rst_n;         //复位信号
input singalin;      //要检测的边沿信号

output pos_singalin;  //上升沿标志位
output neg_singalin;  //下升沿标志位

//***************************************************************    
reg q1,q2,q3;     //所检测边沿信号的状态寄存器
always @(posedge clk or negedge rst_n)
 if(!rst_n) {q3,q2,q1} <= {1'b0,1'b0,1'b0};     //状态初值
 else {q3,q2,q1}       <= {q2,q1,singalin};    //状态锁存

//***************************************************************                
assign pos_singalin = (~q3) & q2;  //上升沿检测
assign neg_singalin= q3 & (~q2);   //下降沿检测

endmodule


 

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条