同步电路设计中clock skew的分析

来源:互联网 发布:大淘客联盟cms通过 编辑:程序博客网 时间:2024/05/01 02:10
一.同步电路的组成
 
1.组合逻辑电路:用来实现各种逻辑计算
 
2.时序逻辑电路:用来存储由时序电路计算得到的逻辑值
 
3.时钟分布网络:向整个电路中的时序逻辑提供正确的时钟信号
 
二.clock skew问题的提出
 
1.clock skew的产生
 
延时与时钟线的长度及被时钟线驱动的时序单元的负载电容、个数有关
 
由于时钟线长度及负载不同,导致时钟信号到达相邻两个时序单元的时间不同
 
于是产生所谓的clock skew
 
2.有关的概念
 
 Setup Time(Ts):建立时间
 即要求数据端信号在时钟信号触发沿到来之前到达的最小时间
 
 Hold Time(Th): 保持时间
 即要求在时钟信号触发沿到来之后,数据端信号仍然维持的最小时间
 
 Dcq: 时钟端到触发器输出端Q的延时
 
三.对同步电路中clock skew的分析
 
设 Dp: 组合逻辑电路部分的延时
 
   Tcp:时钟周期
 
   TC1:时钟信号沿时钟树到达寄存器R1的延迟时间
 
   TC2:时钟信号沿时钟树到达寄存器R2的延迟时间
 
 (1) 第K个时钟周期的时钟信号到达R1的时间为KTcp+TC1
   
     第K+1个时钟周期的时钟信号到达R2的时间为(K+1)*Tcp+Tc2
 
     第K个时钟周期数据信号经R1锁存后到达R2数据端的时间为K*Tcp+Tc1+Dcq+Dp
 
     考虑到建立时间(Ts)的要求
 
     这个时间应比第K+1个时钟周期的时钟信号到达R2的时间提前Ts
 
     所以有下式:K*Tcp+Tc1+Dcq+Dp<=(K+1)*Tcp+Tc2-Ts
 
     整理得:Tskew<=Tcp-Dcp-Dp-Ts (1)
 
 (2) 考虑到保持时间(Th)的要求
   
     第K个时钟周期数据信号经R1锁存后到达R2数据端的时间
 
     应比第K个时钟信号到达R2的时间晚Th
 
     有下式:K*Tcp+Tc1+Dcp+Dp>=K*Tcp+Tc2+Ts
 
     整理得:Tskew>=Th-Dcp-Dp (2)
 
 要使电路正常运行,相邻两个触发器之间的CLOCK SKEW必须满足(1)(2)两式
 
 当式(1)不满足时,称发生了setup violation
 
 当式(2)不满足时,称发生了hold violation
 
 当发生了setup violation时可以通过延长时钟周期,即降低系统频率来解决
 
 而当发生了hold violation时,电路一定无法正确工作
 
 因此hold violation是一定要避免的
 
四.对clock skew的优化方法
 
 插入时钟树时设法使时钟信号同时到达芯片上所有触发器,
 
 虽然可以保证整个电路正确工作,但却不一定使电路工作在最优性能下
 
 针对具体的路径延时,特别是关键路径的延时
 
 合理地调整时钟信号到达各个触发器(或锁存器)的时序
 
 也就是合理调整CLOCK SKEW
 
 可以大幅度提高电路的工作频率

原创粉丝点击