亚稳态稳定与状态机的上升沿的判断

对触发器的数值的存储,会有亚稳态的影响,亚稳态就是在时钟到来时对数据经行存取,如果此时刚好触发器的输入端产生变化,那么就会在结果锁存为一个不稳定的状态,所以需要消除亚稳态;举例子如下:

    wire pose_vsync;
    wire nege_vsync; 

   reg [2:0]vsync_r;

 

 

always@(posedge Pclk or negedge Rst_n)
        if(!Rst_n)
            vsync_r <= 0;
        else 
            vsync_r <= {vsync_r[1],vsync_r[0],VSYNC};
            
    assign     pose_vsync = ( (!vsync_r[2]) &&(vsync_r[1]) )?    1'd1:1'd0;
    assign     nege_vsync = ( (vsync_r[2]) &&(!vsync_r[1]) )?    1'd1:1'd0;

 

用一个变量缓存VSYNC,就行了。

 

你可能感兴趣的:(亚稳态稳定与状态机的上升沿的判断)