微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > D触发器D和CLK同时变化,什么时候能采到数据?什么时候采不到?

D触发器D和CLK同时变化,什么时候能采到数据?什么时候采不到?

时间:10-02 整理:3721RD 点击:
前仿的时候,触发器D端和CLK端数据同时变化,什么时候能采到数据?什么时候采不到?
之前认为数据在时钟上升沿变化,只能在下一拍采到数。但后来发现,如果数据和时钟都从外部给的,结果就不一定。请高手指教!

正常的仿真器仿真这种情况肯定结果是X啊.没有别的可能.



    我用NC仿的,不同激励有不同结果。不是x

你的代码是怎么写的?

觉得就是建立时间和保持时间那回事儿吧,不满足的话,输出结果就不一定了。

因为你说的是前仿的时候,所以我很好奇你是怎么写的代码描述的这两者同时变化呢?

实际电路中这种情况没什么意义啊,如果是RTL级仿真那的看你的激励是怎么给的了:CLK=1;D=1和D=1;CLK=1还是有区别的。

时间问题?


外部给激励的时候,clk还是按照原来的写法。D端的接口信号用非阻塞赋值
比如:
initial
  begin
    clk = 0;
    forever #2 clk = ~clk;
  end   
initial
  begin
    d <= 0;
    #2 d<=1;
  end
在2个单位时间这个时间点,仿真工具会有很多事件来分成时间步来做,非阻塞赋值是最后的时间步,比clk上升沿变化要玩,下一个clk上升沿才能采到这个d的变化

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top