时序模型、时序模型建立方法、与相关的顶层分析方法

文档序号:1057463 发布日期:2020-10-13 浏览:32次 >En<

阅读说明:本技术 时序模型、时序模型建立方法、与相关的顶层分析方法 (Time sequence model, time sequence model establishing method and related top layer analysis method ) 是由 蔡孟修 廖信雄 蔡旻修 于 2019-03-27 设计创作,主要内容包括:一种时序模型、时序模型建立方法、与相关的顶层分析方法。时序模型包含对应于门级网表的接口网表和特定内部网表。若门级网表包含未限制时脉树,且门级网表的边界时序限制信息未包含未限制时脉树的时序限制,则接口网表不包含门级网表中由未限制时脉树驱动的电路单元。特定内部网表交叉耦合至接口网表。上述的时序模型能增进顶层分析的准确度并减少分析所需时间。(A time sequence model, a time sequence model establishing method and a related top layer analysis method are provided. The timing model includes an interface netlist and a particular internal netlist corresponding to the gate level netlist. If the gate-level netlist contains the unrestricted clock tree and the boundary timing constraint information of the gate-level netlist does not contain the timing constraint of the unrestricted clock tree, then the interface netlist does not contain the circuit cells in the gate-level netlist that are driven by the unrestricted clock tree. The particular internal netlist is cross-coupled to the interface netlist. The timing model can improve the accuracy of the top layer analysis and reduce the time required by the analysis.)

时序模型、时序模型建立方法、与相关的顶层分析方法

技术领域

本揭示文件有关时序模型、时序模型建立方法、与相关的顶层分析方法,尤指适用于阶层式设计的时序模型、时序模型建立方法、与顶层分析方法。

背景技术

在对复杂的电路设计进行验证时,静态时序分析(Static Timing Analysis)是常用的手段。静态时序分析可评估电路设计中每个可能的时脉路径是否会发生时序违规现象。然而,执行静态时序分析需要耗费庞大的计算资源。因此,业界常使用阶层式设计方法先将电路设计区分为多个区块,并执行区块层(block-level)分析以产生对应于各区块的简化时序模型。接着,时序模型才会被用来执行顶层(top-level)分析中的静态时序分析,以减少分析时所需要的时间与硬件资源。常见的时序模型包含提取时序模型(ExtractedTiming Model)、接口逻辑模型(Interface Logic Model)、以及超大规模模型(HyperScaleModel)。然而,上述的多种时序模型具有以下问题:包含过多非必要元件、包含过少必要元件、以及未充分考虑元件之间的信号耦合效应等等。因此,以上述的多种时序模型执行静态时序分析时,仍会耗费可观的时间,或是会无法得到准确的信号完整性(SignalIntegrity)分析结果。

发明内容

本揭示文件提供一种模型建立方法。模型建立方法用于建立对应于门级网表的时序模型,且包含以下流程:利用微处理器产生门级网表的接口网表,其中若门级网表包含未限制时脉树,且门级网表的边界时序限制信息未包含未限制时脉树的时序限制,则接口网表不包含门级网表中由未限制时脉树驱动的电路单元;利用微处理器产生门级网表的特定内部网表,其中特定内部网表交叉耦合至接口网表;利用微处理器依据接口网表与特定内部网表产生时序模型。

在某些实施例中,产生该接口网表的流程包含:萃取位于一第一时脉路径上的多个电路单元,其中该第一时脉路径自该门级网表的一输入端至该门级网表的一第一暂存器;萃取位于一第二时脉路径上的多个电路单元,其中该第二时脉路径自该门级网表的一第二暂存器至该门级网表的一输出端;萃取位于一第三时脉路径上的多个电路单元,其中该第三时脉路径自该门级网表的该输入端至该输出端;以及萃取用于驱动该接口网表中任一暂存器的一时脉树。

在某些实施例中,该第一暂存器是一第一级暂存器,该第二暂存器是一末级暂存器。

在某些实施例中,该特定内部网表的转态时间早于该接口网表的转态时间。

在某些实施例中,产生该门级网表的该特定内部网表的流程包含:萃取一攻击者网表,其中该攻击者网表耦接于一第一节点,该第一节点交叉耦合至该接口网表,且该第一节点的转态时间早于该接口网表的转态时间;萃取该攻击者网表的一扇入单元;萃取该攻击者网表的一下一级电路单元;以及萃取用于驱动该特定内部网表中任一暂存器的一时脉树。

在某些实施例中,该模型建立方法另包含:产生一注解信息,其中该注解信息包含该接口网表和该特定内部网表的一到达时间,且该到达时间为常数。

在某些实施例中,该到达时间被注解于该接口网表和该特定内部网表的其中一暂存器的一输入端。

本揭示文件提供一种顶层分析方法。顶层分析方法包含以下流程:将电路设计区分为多个区块;利用微处理器读取多个区块的其中一者的门级网表、寄生元件信息、以及边界时序限制信息;利用微处理器建立对应于门级网表的时序模型,其中时序模型包含门级网表的接口网表和特定内部网表,且特定内部网表交叉耦合至接口网表;利用时序模型对电路设计进行顶层分析;其中若门级网表包含未限制时脉树,且门级网表的边界时序限制信息未包含未限制时脉树的时序限制,则接口网表不包含门级网表中由未限制时脉树驱动的电路单元。

在某些实施例中,该接口网表包含:位于一第一时脉路径上的多个电路单元,其中该第一时脉路径自该门级网表的一输入端至该门级网表的一第一暂存器;位于一第二时脉路径上的多个电路单元,其中该第二时脉路径自该门级网表的一第二暂存器至该门级网表的一输出端;位于一第三时脉路径上的多个电路单元,其中该第三时脉路径自该门级网表的该输入端至该输出端;以及一时脉树,用于驱动该接口网表中任一暂存器。

在某些实施例中,该第一暂存器是一第一级暂存器,该第二暂存器是一末级暂存器。

在某些实施例中,该特定内部网表的转态时间早于该接口网表的转态时间。

在某些实施例中,该特定内部网表包含:一攻击者网表,其中该攻击者网表耦接于一第一节点,该第一节点交叉耦合至该接口网表,且该第一节点的转态时间早于该接口网表的转态时间;该攻击者网表的一扇入单元;该攻击者网表的一下一级电路单元;以及一时脉树,用于驱动该特定内部网表中任一暂存器。

在某些实施例中,该顶层分析方法另包含:产生该时序模型的一注解信息,其中该注解信息包含该接口网表和该特定内部网表的一到达时间,且该到达时间为常数。

在某些实施例中,该到达时间被注解于该接口网表和该特定内部网表的其中一暂存器的一输入端。

本揭示文件提供一种时序模型。时序模型包含对应于门级网表的接口网表和对应于门级网表的特定内部网表。若门级网表包含未限制时脉树,且门级网表的边界时序限制信息未包含未限制时脉树的时序限制,则接口网表不包含门级网表中由未限制时脉树驱动的电路单元。特定内部网表交叉耦合至接口网表。

在某些实施例中,该接口网表包含:位于一第一时脉路径上的多个电路单元,其中该第一时脉路径自该门级网表的一输入端至该门级网表的一第一暂存器;位于一第二时脉路径上的多个电路单元,其中该第二时脉路径自该门级网表的一第二暂存器至该门级网表的一输出端;位于一第三时脉路径上的多个电路单元,其中该第三时脉路径自该门级网表的该输入端至该输出端;以及一时脉树,用于驱动该接口网表中任一暂存器。

在某些实施例中,该第一暂存器是一第一级暂存器,该第二暂存器是一末级暂存器。

在某些实施例中,该特定内部网表的转态时间早于该接口网表的转态时间。

在某些实施例中,该特定内部网表包含:一攻击者网表,其中该攻击者网表耦接于一第一节点,该第一节点交叉耦合至该接口网表,且该第一节点的转态时间早于该接口网表的转态时间;该攻击者网表的一扇入单元;该攻击者网表的一下一级电路单元;以及一时脉树,用于驱动该特定内部网表中任一暂存器。

在某些实施例中,一注解信息被注解于该接口网表和该特定内部网表的其中一暂存器的一输入端,该注解信息包含对应于该其中一暂存器的该输入端的一到达时间,且该到达时间为常数。

上述的时序模型建立方法、顶层分析方法、以及时序模型能增进顶层分析的准确度并减少分析所需时间。

附图说明

图1为依据本揭示文件一实施例的区块的门级网表简化后的示意图;

图2为依据本揭示文件一实施例的时序模型建立方法的流程图;

图3A为对应图1的门级网表的接口网表简化后的示意图;

图3B为对应图1的门级网表的特定内部网表简化后的示意图;

图4为对应图1的门级网表的时序模型简化后的示意图;

图5为本揭示文件一实施例的流程S212的细部流程;

图6为依据本揭示文件另一实施例的时序模型建立方法的流程图;

图7为依据本揭示文件另一实施例的区块的门级网表简化后的示意图;

图8为对应图7的门级网表的时序模型简化后的示意图;

图9为依据本揭示文件一实施例的顶层分析方法的流程图。

具体实施方式

以下将配合相关附图来说明本揭示文件的实施例。在附图中,相同的标号表示相同或类似的元件或方法流程。

图1为依据本揭示文件一实施例的区块的门级网表(gate-level netlist)100简化后的示意图。门级网表100记载了用于实现该区块的完整电路设计。门级网表100包含第一输入端IN1至第六输入端IN6、第一输出端OUT1至第六输出端OUT6。门级网表100另包含多个暂存器110a~110j、多个组合逻辑单元120a~120j、以及多个缓冲器130a~130g。第三输入端IN3和第六输入端IN6分别用于提供第一时脉树CK1和第二时脉树CK2。

图1的电容C1和电容C2仅用于表示门级网表100中不同时脉路径之间的交叉耦合(cross coupling)现象,而非门级网表100中实际与必要的电路元件。另外,暂存器110a~110j的每一者可由正反器来实现。

在进行顶层(top-level)分析之前,可先对门级网表100进行区块层(block-level)分析,以得到对应于门级网表100的简化后的时序模型。图2为依据本揭示文件一实施例的时序模型建立方法200的流程图。在本实施例中,时序模型建立方法200由微处理器(未绘示于图中)来执行。然而,时序模型建立方法200亦可由特殊应用集成电路(ASIC)、现场可程序化门阵列(FPGA)或是其他具有数据处理能力且受到非挥发性记忆体装置所支援的整合型模组来执行。

在流程S202中,微处理器找出自门级网表100的输入端至第一级暂存器的时脉路径,并萃取(extract)该时脉路径上的电路单元。

在流程S204中,微处理器找出自门级网表100的末级暂存器至输出端的时脉路径,并萃取该时脉路径上的电路单元。

在流程S206中,微处理器找出自区块的输入端至输出端的时脉路径,并萃取该时脉路径上的电路单元。

在流程S208中,微处理器找出用于驱动流程S202~S206中被判断出的任一暂存器的时脉树,并萃取该时脉树上的电路单元。

在流程S210中,微处理器会依据步骤S202~S208中被萃取出的多个电路单元,产生门级网表100的一接口网表。值得注意的是,微处理器会预先载入区块的边界时序限制信息(boundary timing constraint information)。边界时序限制信息包含门级网表100的输入端的到达时间(arrival time),以及由门级网表100的输出端的后级电路所定义的要求到达时间(required arrival time)。若某一时脉树的相关时序限制未记录于边界时序限制信息中(以下简称为未限制时脉树),在执行时序模型建立方法200时,微处理器不会萃取所有由未限制时脉树驱动的电路单元。

在流程S212中,微处理器会找出对应于流程S210的接口网表的攻击者信号(aggressing signal),并自门级网表100中萃取这些攻击信号所流经的电路单元。接着,微处理器会依据这些电路单元产生门级网表100的一特定内部网表。换言之,特定内部网表会交叉耦合至接口网表。

在流程S214中,微处理器会依据接口网表和特定内部网表产生区块的时序模型。

图3A为对应门级网表100的接口网表310简化后的示意图。根据流程S202~S210规则,暂存器110a是自第一输入端IN1开始的时脉路径上的第一级暂存器,所以接口网表310包含暂存器110a和组合逻辑单元120a。暂存器110d是自第二输入端IN2开始的时脉路径上的第一级暂存器,所以接口网表310包含暂存器110d和逻辑单元120d。暂存器110g是结束于第一输出端OUT1的时脉路径上的末级暂存器,所以接口网表310包含暂存器110g和逻辑单元120g。暂存器110h是结束于第二输出端OUT2的时脉路径上的末级暂存器,所以接口网表310包含暂存器110h和逻辑单元120h。

组合逻辑单元120i位于自第四输入端IN4至第四输出端OUT4的时脉路径上,所以接口网表310包含组合逻辑单元120i。第一时脉树CK1用于驱动暂存器110a、110d、110g、以及110h,所以接口网表310包含第一时脉树CK1上的缓冲器130c~130e。在本实施例中,第二时脉树CK2是未限制时脉树。因此,接口网表310不包含由第二时脉树CK2驱动的暂存器110i~110j、组合逻辑单元120j~120k、以及缓冲器130f~130g。

请同时参考图1与图3A,本实施例的第一节点N1的信号转态时间早于接口网表310的第二节点N2,所以流经第一节点N1的信号为接口网表310的攻击者信号。因此,根据流程S212的规则,微处理器会萃取与第一节点N1位于同一时脉路径的暂存器110b、组合逻辑单元120c、以及缓冲器130a,并萃取相关时脉路径上的缓冲器130c~130e,以形成如图3B所示的特定内部网表320。

请再参考图1与图3A,由于第三节点N3的信号转态时间晚于接口网表310的第四节点N4,所以流经第三节点N3的信号为接口网表310的受害者信号(victim signal)。因此,特定内部网表320不会包含与第三节点N3位于同一时脉路径的暂存器110e、组合逻辑单元120e、以及缓冲器130b。

图4为对应门级网表100的时序模型400简化后的示意图。时序模型400为处理器根据接口网表310和特定内部网表320所产生。由上述可知,时序模型400包含了区块内部的交叉耦合信息,且不包含未限制时脉树(例如,第二时脉树CK2)所驱动的电路单元。因此,时序模型400能提升顶层分析的准确度,并减少分析所需时间。

图5为流程S212于一实施例中的细部流程。在流程S502中,微处理器会依据接口网表310的攻击者信号流经的时脉路径,自门级网表100萃取接口网表310的攻击者网表,例如图3B的组合逻辑电路120c。

在流程S504中,微处理器会自门级网表100萃取攻击者网表的扇入单元,例如图3B的暂存器110b。前述扇入单元的到达时间与转态时间会一并被注解于扇入单元的输入端。如此一来,在顶层分析的过程中,流经攻击者网表的信号的特性便能被准确地呈现。

在流程S506中,微处理器会自门级网表100萃取攻击者网表的下一级电路单元,例如图3B的缓冲器130a。

接着,微处理器会执行流程S508,以自门级网表100中找出用于驱动流程S502~S506中被萃取的任一暂存器的一时脉树。接着,微处理器会萃取该时脉树上的电路单元。如图3B所示,第一时脉树CK1用于驱动暂存器110b,所以微处理器会萃取缓冲器130c~130e。

在流程S510中,微处理器会依据流程S502~S508中被萃取出的电路单元建立特定内部网表。例如,图3B所示的特定内部网表320。

图6为依据本揭示文件一实施例的时序模型建立方法600的流程图。时序模型建立方法600的流程S202~S212相似于时序模型建立方法200中的对应流程,为简洁起件,在此不重复赘述。在流程S614中,微处理器会找出连接于接口网表与特定内部网表,且具有固定传输特性的时脉路径。前述的固定传输特性代表信号于时脉路径上传送时,信号的到达时间与转态时间等等特性不会因门级网表中的电路运作而改变。

接着,在流程S616中,微处理器会产生具有固定传输特性的时脉路径的注解信息,并将注解信息注解于接口网表与特定内部网表中对应的暂存器的输入端。并且,微处理器不会萃取具有固定传输特性的时脉路径上的电路单元。

接着,在流程S618中,微处理器会依据包含注解信息的接口网表与特定内部网表产生对应于门级网表的时序模型。

图7为依据本揭示文件一实施例的区块的门级网表700简化后的示意图。门级网表700包含传输特性固定的第三时脉树CK3。图8为对应门级网表700的时序模型800简化后的示意图。根据流程S618的规则,由于暂存器710a和710e的输入端连接于第三时脉树CK3,微处理器会产生对应于第三时脉树CK3的注解信息AN,并将注解信息AN注解在暂存器710a和710e的输入端。并且,微处理器不会萃取第三时脉树CK3上的电路单元(例如,缓冲器720a~720e)。如此一来,便可以在不影响顶层分析准确度的情况下,进一步减少元件数量。

在一实施例中,注解于暂存器710a和710e的输入端的注解信息,包含以常数表示的到达时间与转态时间。

综上所述,时序模型建立方法200和600不仅能在不牺牲静态时序分析的准确度的情况下建立简洁的时序模型,还考量到各个时脉路径之间的信号耦合关系而进一步提升了静态时序分析的准确度。因此,时序模型建立方法200和600能大幅节省静态时序分析所需的硬件资源以及时间,适用于复杂的集成电路设计。

图9为依据本揭示文件一实施例的顶层分析方法900的流程图。顶层分析方法900适用于阶层式集成电路设计,且可由微处理器来执行。然而,顶层分析方法900亦可由特殊应用集成电路(ASIC)、现场可程序化门阵列(FPGA)或是其他具有数据处理能力且受到非挥发性记忆体装置所支援的整合型模组来执行。

在流程S902中,微处理器将电路设计区分为多个区块。在流程S904中,微处理器读取其中一个区块的区块网表、寄生元件信息、以及边界时序限制信息。寄生元件信息可用于判断该区块中不同时脉路径之间的交叉耦合现象。

在流程S906中,微处理器建立对应于该区块的一时序模型。流程S906可以用前述的时序模型建立方法200或600来实现。接着,微处理器会执行流程S908,以依据产生的时序模型来进行该电路设计的顶层分析。

前述各流程图中的流程执行顺序,只是示范性的实施例,而非局限本发明的实际实施方式。例如,在前述的各流程图中,流程S202~S206可同时进行,流程S502~S506也可同时进行。

在说明书及权利要求书中使用了某些词汇来指称特定的元件。然而,所属技术领域中具有通常知识者应可理解,同样的元件可能会用不同的名词来称呼。说明书及权利要求书并不以名称的差异做为区分元件的方式,而是以元件在功能上的差异来做为区分的基准。在说明书及权利要求书所提及的“包含”为开放式的用语,故应解释成“包含但不限定于”。另外,“耦接”在此包含任何直接及间接的连接手段。因此,若文中描述第一元件耦接于第二元件,则代表第一元件可通过电性连接或无线传输、光学传输等信号连接方式而直接地连接于第二元件,或者通过其他元件或连接手段间接地电性或信号连接至该第二元件。

另外,除非说明书中特别指明,否则任何单数格的用语都同时包含复数格的涵义。

以上仅为本揭示文件的较佳实施例,凡依本揭示文件权利要求所做的均等变化与修饰,皆应属本揭示文件的涵盖范围。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种多路并行数据采样系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类