作者horsehead ( NNNN)
看板Electronics
标题Re: [问题] 检查最小延迟的hold time
时间Fri Oct 16 00:35:53 2009
※ 引述《ccjin (别活在自己的地狱里)》之铭言:
: 抱歉 想了很久 也找了很多资料 还是不了解
: 首先 setup time 跟 电路的 clock 有关
: clock 的最快速度取决於 setup time + combinational logic delay +....
: 有资料说 hold time 跟 clock 无关
: 所有的timing path 都需符合一个原则: delay不能太大但也不能太小
: 不能太大可以理解 , 不能太小 这?
: 对於 hold time的定义我已经乱了
: 只好请教大家了
setup time 定义是什麽 ? 是 data 在 clock sample edge 之前要保持稳定的最短时间
hold time 定义是什麽 ? 是 data 在 clock sample edge 之後要保持稳定的最短时间
在clock sample edge 起来的同时 会去戳外面的 data 进来暂存器 如果资料在
同一时刻也跟着变化 那 clock sample edge 过後你戳到的资料到底是 1 还是 0
呢 ? 很难判定对吧 这跟你标准逻辑制程的电晶体闸极电容有关 如果你的逻辑
闸在制造上有一点误差 导致电容值不太一样 在上面那种情形发生时 你又在暂存器
後面 fant out 出去两个以上逻辑闸 很有可能会一个判定为1另一个却判定为0
同一个信号 内部居然有两种结果 那电路一定就死翘翘了
所以为了避免这种情形发生 数位设计会希望 在 clock sample edge 起来附近前後
一段时间data可以保持稳定不变动的 这样我就可以很放心我是sampling到一个稳定
的值 而这段稳定的时间 在 clock sample edge 出现之前那段就叫做 setup time
而在 clock sample edge 出现之後那段就叫做 hold time
hold time 顾名思义 就是我要在 clock sample edge 出现之後把资料"hold"住一段
时间才能变化 让新的下一笔资料进来 大概就是这个意思
另外补充一点
假设 clock sample edge 出现在 5 ns 而该电路的 setup time 为
1.5 ns 而 hold time 为 2 ns 就代表 我要在这个 clock sample edge 正确采样到
资料的话 我的这笔资料 要在 5 ns - 1.5 ns = 3.5 ns 就要出现而且要稳定不能变动
直到 5 ns + 2 ns = 7 ns 後才能变化让下一笔资料进来 而在资料出现的时间
到下一笔资料可以出现的这段时间 3.5 ns (7 ns - 2.5 ns) 称为最小脉波宽度
意思就是你资料要被正确撷取到 他必须维持最短的时间是多少
※ 编辑: horsehead 来自: 61.228.77.86 (10/16 00:37)
1F:推 pow:你的hold time说明那边 把D和Q混在一起了喔 10/16 04:40
2F:→ pow:hold time是对D来说 你提到fanout 有点怪怪的 10/16 04:42
3F:推 ccjin:谢谢 h大 10/16 08:16
4F:→ horsehead:抱歉 没说清楚 我fanout是指Q那边再扇出出去 如果D那边 10/16 09:24
5F:→ horsehead:变化太快 会让Q那端的逻辑闸做出不同的解读 其实我如果 10/16 09:26
6F:→ horsehead:我画张图 这个问题就很好理解了 只可惜我不会画..囧 10/16 09:27
7F:推 pow:你提到的 其实是hold time对minimum clock period的影响 10/16 19:23
8F:→ pow:不是hold time的由来 10/16 19:24
9F:→ pow:hold time和setup time都和Flip Flop本身的电路设计有关系 10/16 19:24
10F:→ pow:有的flip flop可以有负的 setup time 10/16 19:25
11F:→ horsehead:我没提到hold time对minimum clock period的影响吧..囧 10/16 23:39
12F:→ horsehead:抱歉 我看错 p大的意思了 我是举一个好一点的例子给原po 10/16 23:42
13F:→ horsehead:理解..对初学者而言这种想法比较容易懂得 10/16 23:43
14F:→ horsehead:另外 tsh 跟 th 当然是可以有负值的 不过通常是因为 10/16 23:44
15F:→ horsehead:clock path 与 data path 长短不一绕线出来结果造成的 10/16 23:45
16F:→ horsehead:到达DFF端点时经过这些 wire delay 後时序间相对应关系 10/16 23:47
17F:→ horsehead:仍然会维持sample clock 前後一段时间都稳定的关系 10/16 23:48
18F:→ horsehead:我目前看过比较多的例子都是这样子而来的 至於是否在DFF 10/16 23:49
19F:→ horsehead:的制程设计上 可以使他的物理特性变成可以接受负值的 10/16 23:51
20F:→ horsehead:timing 参数 小弟我经验就比较不足无法得知了 这边可能 10/16 23:51
21F:→ horsehead:要请p大补充讲解一下了 10/16 23:52
22F:推 pow:www.ece.ncsu.edu/asic/ece733/2009/docs/FlipFlops.pdf 10/17 01:31
23F:→ pow:flip flop有master-slave和pulse-triggered latch两种 10/17 01:32
24F:→ pow:看完上面那份pdf就知道了 10/17 01:32
28F:→ sneak: //noxiv.com 01/04 22:03