Board logo

标题: 两种写法,感觉应该更稳定,却出现了问题 [打印本页]

作者: yuchengze    时间: 2016-11-24 21:29     标题: 两种写法,感觉应该更稳定,却出现了问题

本帖最后由 yuchengze 于 2016-12-27 14:35 编辑

第一种
reg     aa;
wire    aa_rising;
wire    aa_falling;
always @(posedge sys_clk)
begin
    if(rst_l==1'b0)
         begin
             aa_r<=1'b0;
         end
         else if(bb==1'b0)
             aa_r<=aa;
end
assign  aa_rising =(aa_r==1'b0 && (aa==1'b1))?1'b1:1'b0;
assign  aa_falling=(aa_r==1'b1 && (aa==1'b0))?1'b1:1'b0;
图像正常
第二种
reg     [3:0]    aa;
wire    aa_rising;
wire    aa_falling;
always @(posedge sys_clk)
begin
    if(rst_l==1'b0)
         begin
             aa_r<=4'd0;
         end
         else if(bb==1'b0)
             aa_r[3:0]<={aa[2:0],aa};
end
assign  aa_rising =(aa_r==4'b0011)?1'b1:1'b0;
assign  aa_falling=(aa_r==4'b1100)?1'b1:1'b0;
图像乱了
时钟是125M
哪位帮助解释一下这两种写法什么情况会出现问题




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0