这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » FPGA有一个信号不受控制自动拉低

共2条 1/1 1 跳转至

FPGA有一个信号不受控制自动拉低

助工
2013-11-27 16:29:51     打赏
大家好,
      我用的软件是ISE13.1.芯片是spartan3a。

      请教一个非常蹊跷的问题。

      代码如下:
        reg flag;
        always @(posedge clk or negedge rst_n)
        begin
            if(!rst_n)
                flag <= 0;
            else if(full_pulse)
                flag <= 1;
            else if(color == 2'd3)
                flag <= 0;
            else
                ;
        end
        
        full_pulse是一个脉冲,color是一个颜色计数。


        问题是,有的情况下,当full_pulse使flag = 1之后,flag又立刻变成0,而此时rst_n一直是1的,color也没有加到3,就是说让flag变成0的条件并没有满足。

        为什么flag会自动拉低呢?

        非常感谢!



关键词: FPGA     信号    

助工
2013-12-17 17:46:59     打赏
2楼
你125M去采一个100M的脉冲是够呛的。 然后,也要有跨时钟域的处理。 这就是我问你那些问题的原因。 你仿真出不来,是因为你仿真时候给的100M和125M 信号的相位关系是不出错的情况。你改变一下他们之间的相位关系……就能出现问题了。 另外,你所做的仿真,只是功能仿真,所以是不应该来检查这类错误的。 这类型的错误,应该是从编码规范,设计原则来杜绝。 检查工具有0-in 的CDC检查

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]