添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Verilog中,怎么把不同时钟的模块弄到一起???如:顶层模块包含几个小模块,这几个小模块的工作时钟都不相同,该怎么做??请举例说明,非常感谢!!!... Verilog 中,怎么把不同时钟的模块弄到一起???如:顶层模块包含几个小模块,这几个小模块的工作时钟都不相同,该怎么做??
请举例说明,非常感谢!!! 这是时钟域的问题,得看你的几个时钟的关系如何,比如你的两个时钟是由同一个时钟源分频出来的(也就是两个时钟有频率和相位的固定关系),那么是可以直接用的;如果你的两个时钟是异步的(就是频率和相位都没有关系),那么你需要先进行同步化处理之后,两个模块的信号才能交互。
如果是简单的单bit信号,直接打两拍之后就可用了;
如果是CPU和一个芯片传输数据,时钟频率没有关系,那么从CPU传进来的数据就需要进行同步化处理,比如交互是由一个片选cs和使能rw_en信号控制的,那么就需要将rw_en信号延迟两拍,取得rw_en信号的跳变边沿,然后CPU传输的数据都在这个边沿进行传输就可以了
基本的思想是这样的,具体的电路是在这种思想上生成的。