使能时钟的问题

[复制链接]
 楼主| 发表于 2013-5-15 22:28 | 显示全部楼层 |阅读模式
“话说分频时钟不好,可以用使能时钟”
然后发现特权书上刚好有说这个的,但我理解不了,求大神指点


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

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



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2013-5-15 22:36 | 显示全部楼层
cnt=0的时候检测到en
 楼主| 发表于 2013-5-16 08:53 | 显示全部楼层
这个不是很奇怪吗?几乎没有hold time
发表于 2013-5-16 10:58 | 显示全部楼层
不奇怪,这是理论情况,在理论情况下分析,即 cnt为0的那个时钟沿采到en 为1,原因是:时钟采的是前沿

在实际工作时,clk,cnt,en都会现不同的线延时情况,软件会帮你自动分析建立时钟保持时间的要求。
发表于 2013-5-16 23:00 | 显示全部楼层
Backkom80 发表于 2013-5-16 10:58
不奇怪,这是理论情况,在理论情况下分析,即 cnt为0的那个时钟沿采到en 为1,原因是:时钟采的是前沿

在 ...

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


 楼主| 发表于 2013-5-17 09:16 | 显示全部楼层
我写了一个时钟,作为uart的clk(波特率*16)
采用直接分频的办法比采用实用时钟跑的波特率还高些
发表于 2013-5-17 17:33 | 显示全部楼层
不错
发表于 2013-5-17 22:43 | 显示全部楼层
qin552011373 发表于 2013-5-17 17:33
不错

嗯,肯定
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

279

帖子

0

粉丝
快速回复 返回顶部 返回列表