打印

使能时钟的问题

[复制链接]
3857|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kdurant|  楼主 | 2013-5-15 22:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
“话说分频时钟不好,可以用使能时钟”
然后发现特权书上刚好有说这个的,但我理解不了,求大神指点


上面有个小笔误,cnt是不可能到5的,这个先不管
这段代码理想的波形如下

这是如何能在clk的上升沿检测到en的呢



相关帖子

沙发
habc987| | 2013-5-15 22:36 | 只看该作者
cnt=0的时候检测到en

使用特权

评论回复
板凳
kdurant|  楼主 | 2013-5-16 08:53 | 只看该作者
这个不是很奇怪吗?几乎没有hold time

使用特权

评论回复
地板
Backkom80| | 2013-5-16 10:58 | 只看该作者
不奇怪,这是理论情况,在理论情况下分析,即 cnt为0的那个时钟沿采到en 为1,原因是:时钟采的是前沿

在实际工作时,clk,cnt,en都会现不同的线延时情况,软件会帮你自动分析建立时钟保持时间的要求。

使用特权

评论回复
5
GoldSunMonkey| | 2013-5-16 23:00 | 只看该作者
Backkom80 发表于 2013-5-16 10:58
不奇怪,这是理论情况,在理论情况下分析,即 cnt为0的那个时钟沿采到en 为1,原因是:时钟采的是前沿

在 ...

同意

使用特权

评论回复
6
resxpl| | 2013-5-16 23:19 | 只看该作者
建立保持的问题
en=(cnt == 3'd4), 改成0, 1, 2, 3都可以. 效果一样的.
en信号在clk上升沿之后有一段保持时间.
寄存器采集输入的时间可以认为是clk上升沿之前.
这样就不会出现采集不到en=1了.
当然这样分析有点粗略. 不同寄存器的时钟也不是严格同步的, 有抖动.
这都是由综合工具自动保证的, 开发者不用管.


使用特权

评论回复
7
kdurant|  楼主 | 2013-5-17 09:16 | 只看该作者
我写了一个时钟,作为uart的clk(波特率*16)
采用直接分频的办法比采用实用时钟跑的波特率还高些

使用特权

评论回复
8
qin552011373| | 2013-5-17 17:33 | 只看该作者
不错

使用特权

评论回复
9
GoldSunMonkey| | 2013-5-17 22:43 | 只看该作者
qin552011373 发表于 2013-5-17 17:33
不错

嗯,肯定

使用特权

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

本版积分规则

25

主题

279

帖子

0

粉丝