时钟频率是个什么概念??

作者:虞己某
链接:https://www.zhihu.com/question/29685396/answer/145507426
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这大概要从,为什么有时钟(Clock)这个概念开始说。
这又要从flop和register开始说。
电子设备中,你要怎么去“保存”一个数据,读取和写入它呢?方法很多,现在只说教科书中最常见的。

<img data-rawwidth="276" data-rawheight="115" src="https://pic3.zhimg.com/50/v2-9e25fc1ad72a79dc6e7194efe4e52a11_hd.jpg" class="content_image" width="276">

 

这种,三角形带个泡泡的叫非门,像个横着的门带个泡泡的叫nand gate(与非门?) 非门是这样的,输入是0输出就是1,输入是1输出就是0。与非门,只当输入都是1时,输出是0,其他时侯输出是1。上面这个设计叫d flipflop,当clk是1的时候,D的值就会被写进去,然后clk=0的时候,Q就会一直是之前那个D,clk是0的时候,D的值再变,Q也不会变。
当然,实际上的设计一般clk还会AND 一个叫enable的输入,那么当enable是0的时候,clk那边就一直是0,你要写进去这个flipflop,就需要enable=1,clk=1,这时候D就被存进去了。
为什么需要clk呢,因为你的设计里面,这个寄存器在等上一个寄存器的数据,你不知道上一个寄存器的数据存好了没,是新的还是旧的,你要写进去的数据写好了没。如果每个寄存器都用不同的clk,这样设计很容易不同步async,就是我想同时写几个register,但是这个register已经写完了,那个我不知道他存好了没,全局的clk能帮助解决很多这类问题。这个clk很大程度上左右了设计里面很多东西的读写速度。这么说,clk越快就越好?也不对的,因为理论上虽然是这样,真实世界里面,这些电子元件全部都有反应速度的,clk变化比他们的setup time快的话,数据有可能还没来得及写进去,clk就变0了,写不进了。真实世界clk也不是方波,因为即使电压变得再快,从0到1v的变化也是需要时间的,不会是无时间从0突然变成1v。

转载于:https://www.cnblogs.com/gzhnan/articles/8763221.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值