• 触发器的时序参数与时序分析(转)


    一、概念

      在实际电路中,必须考虑传输延迟的影响。比如D锁存器,在时钟信号从1变成0时,它把当前输出的值储存在锁存器中。如果输入D稳定,则电路可以稳定工作,如果在时钟跳变时候D的内容也正好发生变化,则可能产生不可预知的结果。所以电路设计者必须保证时钟信号跳变时后,输入信号是稳定的。

          下图中标示了一些关键时间区间,这些区间和工艺有关。集成电路制造厂家都会提供这个参数。

             建立时间(Tsu:set up time):是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定的打入触发器,Tsu就是指这个最小的稳定时间。

            保持时间(Th:hold time):是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被稳定的打入触发器,Th就是指这个最小的保持时间。

          如果电路中使用的触发器没有没有遵循建立和保持要求,则电路会进入“亚稳态”的不稳定状态。

    输出响应时间(Tco或者TcQ) 

      触发器输出的响应时间,也就是触发器的输出在clk时钟上升沿到来之后多长的时间内发生变化,也即触发器的输出延时。一般的,Q值从1到0和从0到1的延时并不完全一样,但为了简化,通常假定他们是相等的。对于商业芯片,通常会给出两个Tco/TcQ的值,分别代表实际上可能产生的最大延时和最小延时。指定一个范围是评估一个芯片延时的常见做法,因为芯片制造过程中存在许多延迟变化的来源。

    二、数字系统设计常见与之有关的问题

    1、问题提出

      数字系统设计常见的电路图,这里需要保证数据能够正确的在这两个触发器上进行传输,由此确定中间组合逻辑电路的传输延时的范围。

    Tcomb: 组合逻辑电路的传输延时

    2、第二个触发器要满足建立时间的约束条件

     时序图如下,假设D1的输入为图中的蓝线所示

    时序解释:

      在第一个时钟上升沿,前边的触发器采集D1信号,将高电平打入触发器,经过Tco的触发器输出延时到达组合逻辑电路。又经过组合逻辑电路的延时Tcomb(我们假定组合逻辑电路此时没有改变信号的高低,可以把它假定为一个缓冲器)送到了D2接口上。在第二个时钟上升沿到来之前,D2数据线上的信号要满足稳定时间>触发器的建立时间Tsu。

    Tclk - Tco - Tcomb > Tsu

      考虑最坏的情况:触发器的输出延时最大,组合逻辑电路的延时也最大,可得:

    Tclk - Tco-max - Tcomb-max > Tsu
    所以最小的 Tclk-min  = Tco-max + Tcomb-bmax +Tsu;
    根据这个公式,我们可以计算出该电路最大的始终频率 Fmax = 1/Tclk-min

    3、第二个触发器要满足保持时间的约束条件

      时序图如下,假设D1的输入为图中的蓝线所示

    时序解释:

       接着之前的时序图继续,在第二个时钟上升沿前边触发器采集到D1上的低电平,经过Tco的延时在Q1上得到表达。这个低电平在经过组合电路延时Tcomb到达D2。现在的问题是经过这么Tco+Tcomb的延时,D2上原本的高电平在第二个时钟上升沿到来之后的稳定时间 > 第二个触发器的保持时间。满足了这个条件,后边的触发器才能稳定的接收到最初由D1传过来的高电平。

    Tco + Tcomb > Th

      考虑到最坏的情况:触发器的输出延时最小,组合逻辑电路的延时也最小

    Tco-min + Tcomb-min > Th
    通常时序分析中,我们要检查这个不等式,来确定电路中是否有时间违背。

    4、问题的答案

      我们得到中间组合逻辑电路的输出延时范围为:

    (Tclk - Tco-max -  Tsu) > Tcomb > (Th - Tco-min)
    
    

    5、两个时序分析例子

         假设触发器时间参数:Tsu = 0.6ns, Th = 0.4ns以及 0.8ns<= Tco <= 1.0ns, 通常我们可以假设逻辑门的延时为1+0.1k,其中k为逻辑门输入端的个数。比如对于非门,只有一个输入端,则为1+1*0.1=1.1ns。

        我们来计算下面电路的时钟最小周期:

          Tclk-min = Tco-max + Tcomb-max + Tsu = 1.0 + 1.1 + 0.6 = 2.7ns

        所以最高时钟周期Fmax = 1/Tclk-min = 370.37MHz

        image

        下面我们看一个复杂一点的例子,4位计数器电路。电路图如下图所示:

     

        电路中有很多路径可以使触发器开始或结束,其中最长的路径开始于触发器Q0结束于Q3电路中这种最长的路径称为关键路径。如下图中红色线所示路径,包括触发器Q0的时钟信号输出至Q的延时Tco,3个与门,1个异或门以及建立时间Tsu,所以有

        Tclk-min = Tco + 3Tand + Txor +Tsu = 1.0 + 3*1.2+1.2+0.6=6.4ns

        Fmax = 1/6.4ns = 156.25MHz

        电路的最短路径是每个触发器经过一个异或门到它自身,每条这样的路径的最小延时为Tco+Txor=0.8+1.2=2.0ns>Th=0.4ns, 所以电路中不存在时间违背。

        image

    6、时钟偏斜的时序分析

       上面4位寄存器的例子中,我们假设4个触发器的时钟信号是同一时刻到达的。现在我们仍然假设时钟信号同一时刻到达Q0、Q1、Q2,但到达Q3存在一个延时。这种时钟信号达到触发器的时间偏离称为时钟偏斜 时钟偏斜可能由多种因素引起的。

         关键路径是从触发器Q0到Q3,然而Q3的时钟偏斜具有减小延迟的作用。原因在于数据加载到触发器之前提供了额外的时间。将时钟偏斜1.5ns计算在内,从Q0到Q的的路径延时为:Tco+3Tand+Txor+Tsu-Tskew=6.4-1.5=4.9ns,此时从Q0到Q2的线路径成为关键路径:

       Tclk-min = Tco + 2Tand + Txor +Tsu = 1.0 + 2*1.2+1.2+0.6=5.2ns

       Fmax = 1/5.2ns = 192.31MHz

         在这种情况下,时钟偏斜会提高时钟频率,但如果时钟偏斜是负的,则会降低时钟频率。

      由于时钟偏斜的存在,数据加载到Q3会被延迟,对于所有开始于Q0,Q1,Q2而结束于Q3的路径,加载的延时会提高触发器维持时间的要求(Th+Tskew),其中最短的路径是从Q2到Q3,延迟为Tco + Tand + Txor = 0.8 + 1.2+1.2=3.2ns > Th+Tskew=1.9ns,所以不存在时间违背。

      对于时钟偏斜值Tskew >= 2.8ns情况,可以看出存在时间违背,此时不论时钟频率多少,该电路都不可能可靠的工作

      我们再看下面这个例子,在这个电路中有一条路径开始于触发器Q1,经过一些逻辑门网络,在触发器Q2的D端结束。由图可知,时钟信号到达触发器前存在不同的延迟。假设触发器Q1和Q2的时钟信号延迟分别为t1和t2,这两个触发器之间的时间偏斜可定义为Tskew= t2-t1,假设电路中通过逻辑门路径的最长延迟为TL,则这两个触发器的最小时钟周期为Tclk-min=Tco+TL+Tsu-Tskew, 因此如果t2-t1>0,则时钟频率会提升,否则时钟偏斜会降低频率。

      为了计算触发器Q2是否存在时间违背,需要确定触发器的最短路径。如果电路中通过逻辑门的最小延迟为Tl,且Tl+Tco<Th+Tskew, 将会产生时间违背。如果t2-t1>0,维持时间的限制将更难以满足,而如果t2-t1<0,则较易满足。

    image

      

    原文链接:https://www.cnblogs.com/mikewolf2002/p/10200660.html

  • 相关阅读:
    tar打包如何不打包某一个文件夹(排除某些文件夹)
    第一个SpringBoot应用
    Linux(以RHEL7为例)下添加工作区的方法|| The Way To Add Workspace On Linux
    Linux(以centos7为例)下自动挂载NTFS硬盘
    基于Moodle的IT课程辅助教育平台搭建
    搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台
    如何利用word2013写图文并茂的博客
    如何安装win10+Red Hat Enterprise Linux双系统?
    课堂练习:ex 4-20
    实验二 函数重载、函数模板、简单类的定义和实现
  • 原文地址:https://www.cnblogs.com/xiaoyangerlaoshi/p/13543520.html
Copyright © 2020-2023  润新知