自动时钟树综合例外生成的制作方法

文档序号:9264718阅读:524来源:国知局
自动时钟树综合例外生成的制作方法
【技术领域】
[0001]本发明涉及电路设计期间的时钟树综合。更具体地,本发明涉及自动时钟树综合例外生成。
【背景技术】
[0002]当前半导体技术的进步使得有可能将亿万个晶体管集成到单个半导体芯片上。这种半导体集成密度的急剧增加已经使得电路设计更具挑战性。
[0003]时钟树综合(CTS)是电子设计自动化(EDA)中的重要步骤,其是指创建用于向电路设计中的顺序电路元件的集合分配时钟信号的时钟分配网络的过程。由CTS生成的时钟树的质量会对EDA设计流程中的下游步骤具有显著的影响。

【发明内容】

[0004]本文描述的一些实施例自动地生成CTS例外。CTS例外指示CTS引擎在时钟偏差最小化期间忽略一个或多个顺序电路元件。一旦已经生成了用于电路设计的CTS例外,就可以通过使用CTS例外对电路设计执行CTS。
[0005]本文描述的一些实施例使用一个或多个标准来标识可以在时钟偏差最小化期间被忽略的顺序电路元件。具体地,一些实施例可以标识由于结构的原因其时钟偏差不能够与其他顺序电路元件平衡的顺序电路元件,标识与时钟树中的其他顺序时序元件不具有时序关系的顺序时序元件,和/或标识其数据管脚具有足够大的松弛使得时钟偏差不被预期为引起任何数据管脚处的时序违规的顺序电路元件。接下来,实施例可以基于所标识的顺序电路元件来生成时钟树例外。
【附图说明】
[0006]图1示出了根据本文描述的一些实施例的同步电路。
[0007]图2示出了根据本文描述的一些实施例的在结构上不可能平衡时钟树的情况。
[0008]图3示出了根据本文描述的一些实施例的用于生成CTS例外的过程。
[0009]图4示出了根据本文描述的一些实施例的计算机系统。
【具体实施方式】
[0010]以下描述被呈现以使得本领域技术人员能够制造并使用本发明,并且在特定应用及其需求的上下文中被提供。针对所公开的实施例的各种修改对于本领域技术人员而言将是显而易见的,并且在此定义的总体原则可以被应用于其它实施例和应用而并不偏离本发明的精神和范围。因此,本发明不限于所示的实施例,而是将被赋予与在此公开的原则和特征一致的最宽范围。在本公开中,当术语“和/或”与实体列表一同使用时,其指代该实体列表中的所有可能组合。例如,短语“Χ、γ和/或Ζ”覆盖了以下情形:⑴仅X ; (2)仅Y ; (3)仅Z ; (4) X和Y ; (6) X和Z ; (6) Y和Z ;以及(7) Χ、Υ和Ζ。此外,在本公开中,术语“基于”是指“仅基于或部分基于”。
[0011]电子设计自动化^DA)流程的概述
[0012]EDA流程能够被用来创建电路设计。一旦电路设计完成,其能够进行制造、封装和装配以生产集成电路芯片。EDA流程可以包括多个步骤,并且每个步骤能够涉及到使用一种或多种EDA软件工具。以下描述了一些EDA步骤和软件工具。EDA步骤和软件工具的这些示例仅出于说明的目的而非旨在将实施例限于所公开的形式。
[0013]一些EDA软件工具使得电路设计者能够描述电路设计的功能。这些工具还使得电路设计者能够执行假设情景(what-1f)规划以完善功能、检查成本等。在逻辑设计和功能验证期间,能够编写针对系统中的模块的例如SystemVerilog的HDL(硬件描述语言)代码并且能够检查设计的功能准确性,例如,能够对设计进行检查以确保其产生正确的输出。
[0014]在针对测试的综合和设计期间,HDL能够使用一种或多种EDA软件工具将HDL代码翻译为网表(netlist)。进一步地,网表能够针对目标技术被优化,并且能够设计并实施测试以检查所完成的芯片。在网表验证期间,能够针对与时序约束的兼容性以及与HDL代码的对应性来检查网表。
[0015]在设计规划期间,芯片的整体平面布局(floorplan)能够被构建以及针对时序和顶层布线而被分析。在物理实施期间,电路元件能够被放置在布局(放置)中并且能够被电親合(布线)。
[0016]在分析和提取期间,能够在晶体管层面来验证电路的功能并且能够提取到寄生效应。在物理验证期间,能够对设计进行检查以确保制造、电气问题、平版印刷问题和电路的正确性。
[0017]在分辨率增强期间,可以在布局上形成几何操控以提高设计的可制造性。在掩模数据准备期间,设计能够被“流片(taped-out) ”以产生在制造期间被使用的掩模。
[0018]时钟树
[0019]同步电路设计可以被视为是经由组合逻辑云电连接的顺序电路元件的集合。例如,图1示出了根据本文描述的一些实施例的同步电路。电路100包括缓冲器104、106、107和108、顺序电路元件110、112、114、116和118、以及组合逻辑云120、122和124。经由包括缓冲器104、106、107和108的时钟树将时钟信号从时钟管脚102分配给顺序电路元件110、112、114、116和118。顺序电路元件通常是基于时钟信号来执行操作的任何元件。例如,触发器是顺序电路元件。组合逻辑云包括一个或多个组合逻辑门(例如,与门、或门、非门、异或门、多路复用器、解多路复用器、缓冲器、中继器等),但不包括任何顺序电路元件。
[0020]使用一个或多个时钟信号来同步顺序电路元件之间的数据传送。例如,顺序电路元件I1可以发射传输通过组合逻辑云120 (可以逻辑地将信号与其他信号组合)并且随后可以被顺序电路元件118捕获的信号。基于提供给顺序电路元件110和118的时钟信号来同步发射和捕获。
[0021]时钟树包括将时钟信号分配给电路设计中的一个或多个顺序电路元件的电路。例如,图1所示的时钟树包括缓冲器104、106、107和108,并且将时钟管脚102电连接至顺序电路元件110、112、114、116和118的时钟输入管脚。时钟域可以指代电路设计中使用给定时钟信号来定时的部分。例如,图1所示的电路100是时钟域中对应于从时钟管脚102分配的时钟信号的一部分。电路设计可以包括多个时钟域,并且每个时钟域都可以包括多个时钟树。
[0022]用于自动生成CTS例外的处理
[0023]CTS的目标在于创建最佳时钟树。根据一个定义,最佳时钟树是使得时钟偏差最小同时满足时序、面积和泄露功率约束的时钟树。通常,时钟树优化问题随着时钟树的大小的增加而变得更加困难。此外,如果CTS生成包括不需要平衡时钟偏差的时钟管脚的时钟树,则生成的时钟树不可能如在CTS引擎已经忽略了不需要平衡时钟偏差的时钟管脚时将由CTS引擎生成的时钟树那样最佳。因此,标识可以在CTS期间为了时钟偏差最小化而被忽略的管脚是有利的。可以在CTS期间为了时钟偏差最小化而被忽略的每个管脚都被称为“CTS例外”。本公开中描述的一些实施例自动地生成CTS例外。现在来描述管脚可以为了时钟偏差最小化而被忽略的几种情况。
[0024]在一些情况下,结构上不可能平衡时钟树(即,结构上不可能使得跨时钟树的偏差最小化)。当顺序电路元件被用于生成时钟时(例如,当顺序电路元件被用作时钟分频器时)可以发生这种情况。图2示出了根据本文描述的一些实施例的在结构上不可能平衡时钟树的情况。电路200包括两组顺序电路元件:组202和组204。多路复用器208接收两个时钟信号:FCLK(该时钟在电路200的正常运行期间被使用)和SCANCLK (该时钟被用于测试电路200)。选择输入“MODE”确定哪个时钟信号被多路复用器208输出。具体地,根据电路200的操作模式(例如,“正常”或“测试”),多路复用器208在其输出管脚上输出适当的时钟。
[0025]使用多路复用器208的输出来对组202计时。使用基于时钟信号FCLK由顺序电路元件206生成的时钟信号GenFCLK来对组204计时。在图2所示的示例中,时钟信号GenFCLK的频率为时钟信号FCLK的频率的一半。
[0026]注意,功能时钟信号FCLK和扫描时钟信号SCANCLK具有冲突的时钟偏差平衡需求。具体地,对于SCANCLK,需要在组202中的顺序电路元件和顺序电路元件206之间平衡时钟偏差。换句话说,对于SCANCLK,期望使得顺序电路元件的以下集合中的任何两个顺序电路元件之间的时钟偏差最小化:顺序电路元件206和组202中的顺序电路元件。另一方面,对于时钟信号FCLK,需要在组202和组204中的顺序电路元件之间平衡时钟偏差。换句话说,对于FCLK,期望使得顺序电路元件的以下集合中的任何两个顺序电路元件之间的时钟偏差最小化:组202和组204中的顺序电路元件。注意,这两个时钟偏差平衡需求暗示最小化顺序电路元件的以下集合中的任何两个顺序电路元件之间的时钟偏差:顺序电路元件206和组204中的顺序电路元件。然而,这在结构上是不可能的,因为组204中的顺序电路元件使用来自顺序电路元件206的输出来定时。
[0027]因此,在这种情况下,当针对时钟信号SCANCLK平衡时钟树时,本文描述的一些实施例针对顺序电路元件206创建CTS例外。当针对SCANCLK最小化时钟偏差时,CTS例外指示CTS引擎忽略顺序电路元件206的时钟输入。
[0028]在时钟偏差最小化期间管脚可以被忽略的另一种情况是在顺序电路元件和其他顺序电路元件之间不存在时序关系时。如果一个顺序电路元件发射信号而另一个顺序电路元件捕获信号(信号可以可选地在被捕获之前传输通过组合逻辑云),则在两个顺序电路元件之间存在直接的时序关系。例如,在图1中,顺序电路元件112发射信号,该信号传输通过组合逻辑云122 (其可以逻辑地将信号与其他信号组合)并且被顺序电路元件114捕获。因此,顺序电路兀件112和114具有直接的时序关系。
[0029]当并且仅当存在一系列顺序电路元件F1' F2,F1^,在顺序电路元件F
Fn之间存在传递的时序关系,使得在该系列中的每一对相邻的顺序电路元件之间存在直接的时序关系(即,在顺序电路元件FjPF i+1之间存在直接的时序关系,其中1彡i彡N -1)。例如,在顺序电路元件114和顺序电路元件112之间存在直接的时序关系(由于顺序电路元件114发射传输通过组合逻辑块124并且被顺序电路元件112捕获的信号),并且在顺序电路元件112和顺序电路元件116之间存在直接的时序关系(由于顺序电路元件112发射传输通过组合逻辑块122并且被顺序电路元件116捕获的信号)。因此,在顺序电路元件114和顺序电路元件116之间存在传递的时序关系。注意,可以在
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1