打印

这用的always,好吗?

[复制链接]
1101|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kdurant|  楼主 | 2013-4-26 21:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

今天看到别人这样用时钟的

如果不采用这种写法,就要用主时钟去判断他的上升沿
在代码上就会多很多
也没有这样写方便


请问下这样写,在某些特定的情况下会有什么不好的影响吗?


相关帖子

沙发
rosedao| | 2013-4-27 08:29 | 只看该作者
不好,也不是很多,加俩寄存器adc_clk_delay1和adc_clk_delay2对adc_clk打两拍,adc_clk_delay1 & (~adc_clk_delay2)就可以检测adc_clk的上升沿了啊

使用特权

评论回复
板凳
Backkom80| | 2013-4-27 08:35 | 只看该作者
2楼正解。
分频得到的时钟会有一些问题,但如果分频想要的时钟为几M以下的时钟,或低与PLL DCM这些专用时钟模块的输出,可以用计算分频的方式

使用特权

评论回复
地板
kdurant|  楼主 | 2013-4-27 09:08 | 只看该作者
rosedao 发表于 2013-4-27 08:29
不好,也不是很多,加俩寄存器adc_clk_delay1和adc_clk_delay2对adc_clk打两拍,adc_clk_delay1 & (~adc_cl ...

有什么不好的

我以前一直用2寄存器来做,挺麻烦的,多了一大段代码

但我看到别人这么做,而且也不是个新手

使用特权

评论回复
5
rosedao| | 2013-4-27 09:16 | 只看该作者
kdurant 发表于 2013-4-27 09:08
有什么不好的

我以前一直用2寄存器来做,挺麻烦的,多了一大段代码

分频出来的时钟稳定性会差些,最好要锁相环分频吧,你说人家这么写,估计时钟频率不高,要求没那么严谨,这么做只是从严谨的角度考虑吧,一般简单的设计这么做也不会出问题的

使用特权

评论回复
6
Backkom80| | 2013-4-27 09:54 | 只看该作者
:)

使用特权

评论回复
7
cuttler| | 2013-4-27 15:45 | 只看该作者
确实二楼正解,再给楼主补充一下原因:
1.用你贴的第二个always触发时钟是分频得到的adc_clk,不推荐但慢速也没问题,推荐不要用计数器分频的时钟
2.二楼说的第二个always触发时钟继续用原始时钟clk,避免使用计数器分频的时钟,但仍然可以检测adc_clk的上升沿

使用特权

评论回复
8
ifpga| | 2013-4-28 14:24 | 只看该作者
用是可以用
这种情况
但是约束要做好

不过,从你上面的代码看
完全不用引入第二个时钟域
一个时钟域加使能就可以了

使用特权

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

本版积分规则

25

主题

279

帖子

0

粉丝