永发信息网

求助:Verilog 中,怎么把不同时钟的模块弄到一起???

答案:2  悬赏:80  手机版
解决时间 2021-02-27 23:10
  • 提问者网友:骨子里的高雅
  • 2021-02-27 07:05
求助:Verilog 中,怎么把不同时钟的模块弄到一起???
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-02-27 08:17
这是时钟域的问题,得看你的几个时钟的关系如何,比如你的两个时钟是由同一个时钟源分频出来的(也就是两个时钟有频率和相位的固定关系),那么是可以直接用的;如果你的两个时钟是异步的(就是频率和相位都没有关系),那么你需要先进行同步化处理之后,两个模块的信号才能交互。
如果是简单的单bit信号,直接打两拍之后就可用了;
如果是CPU和一个芯片传输数据,时钟频率没有关系,那么从CPU传进来的数据就需要进行同步化处理,比如交互是由一个片选cs和使能rw_en信号控制的,那么就需要将rw_en信号延迟两拍,取得rw_en信号的跳变边沿,然后CPU传输的数据都在这个边沿进行传输就可以了
基本的思想是这样的,具体的电路是在这种思想上生成的。
全部回答
  • 1楼网友:狂恋
  • 2021-02-27 08:29
怎么没有关系。。 1》对于没有联系的模块和信号,直接例化和引出来就可以了; 2》有联系的信号,但是处于不同的时钟域,就需要同步了。简单的处理方法就是用两级触发器打两拍,触发器时钟用需要同步到的时钟域的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯