打印

跨时钟的信号一定要做同步处理,请问同步处理是下面哪种

[复制链接]
1060|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
entepino|  楼主 | 2014-1-16 13:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
跨时钟的信号一定要做同步处理,请问同步处理是下面哪种?

signal   SynPulseIN1         : std_logic;
signal   SynPulseIN2         : std_logic;
signal   SynPulseIN3         : std_logic;




  SynPulse:process
  
  begin
        WAIT UNTIL CLK100M ='1';   
                     SynPulseIN1 <= PulseIN;
             SynPulseIN2 <= SynPulseIN1;
             SynPulseIN3 <= SynPulseIN2;

  end process SynPulse;

还是这种:

  SynPulse:process
  Variable   SynPulseIN1         : std_logic;
Variable   SynPulseIN2         : std_logic;
Variable   SynPulseIN3         : std_logic;

  begin
        WAIT UNTIL CLK100M ='1';   
                     SynPulseIN1 <= PulseIN;
             SynPulseIN2 <= SynPulseIN1;
             SynPulseIN3 <= SynPulseIN2;

  end process SynPulse;
我觉得第二种应该根本都对,因为变量没有延时;但第一种对吗,我打了三拍,这时候PulseIN这个外来的跨时钟信号应该是同步了吧,我就可以用它去计数或干点别的就行了,是吗?

相关帖子

沙发
zylw516565| | 2014-2-19 14:43 | 只看该作者
关注这个问题,与楼主同问,期待高手来答!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

649

帖子

2

粉丝