CN104750906A - 用于调节时钟网络的系统和方法 - Google Patents

用于调节时钟网络的系统和方法 Download PDF

Info

Publication number
CN104750906A
CN104750906A CN201410835814.7A CN201410835814A CN104750906A CN 104750906 A CN104750906 A CN 104750906A CN 201410835814 A CN201410835814 A CN 201410835814A CN 104750906 A CN104750906 A CN 104750906A
Authority
CN
China
Prior art keywords
macroelement
clock
size
current
slew
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410835814.7A
Other languages
English (en)
Inventor
N·亚亚库玛
V·特里维迪
V·K·帕利塞蒂
B·R·穆拉
D·阿鲁瓦利亚
A·H·摩塔梅迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cavium LLC
Original Assignee
Xi Puliante Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xi Puliante Co filed Critical Xi Puliante Co
Publication of CN104750906A publication Critical patent/CN104750906A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

准备利用可变驱动强度的时钟驱动器构造的时钟网络以用于调节。时钟驱动器从基础标准单元的更小集合构建。宏单元的输入网表和输出网表的位置被标记并且被保留,即使通过提取过程。宏单元能够被平面化从而生成具有基础单元的网表,并且能够在电路仿真期间被重新组合,由此减小了迭代的次数,使得调节流程更有效率。时钟网络通过在网中添加或去除交叉链路来平衡时钟网的每个驱动器上的电容性负载。

Description

用于调节时钟网络的系统和方法
技术领域
本发明涉及集成电路。更特别地,本发明涉及半导体器件上的时钟分布网络。
背景技术
对于合适地运行的半导体器件而言,其必须近似在相同时间分布时钟信号至其并行的“时序元件”,诸如触发器、锁存器和存储器。当时钟信号在不同时间到达这些并行元件时,所产生的“时钟歪斜”可以引起多种问题,包括建立和保持违规,其可以危害沿着器件传输的数据的完整性。
大规模半导体器件通过使用时钟分布网络向器件上的元件分布时钟信号来减小歪斜。为了确保时钟信号的上升时间和下降时间满足设计要求,以规则间隔插入CMOS反相器或缓冲器。(因为反相器和缓冲器在时钟分布网络中具有相似的功能,所以这些术语在该应用中可互换地使用,并且也称作时钟驱动器或时钟驱动元件。)该网络可以在多个点分叉。时钟网络的这一分叉以及在时钟中CMOS反相器的插入引起时钟歪斜增加。时钟歪斜可以由于其它原因而增加,诸如结构问题、沿着时钟分布网络的负载中的变化、工艺中的变化、电压、或反相器的温度,以及时钟分布网络中的互连中的其它效应。
用于减小时钟歪斜的一种结构是时钟网(clock mesh),其引入互连元件(称作交叉链路)以短接时钟分布网络中的反相器的输出。这些交叉链路减小了在时钟驱动元件之间的时钟信号的延迟,由此减小了时钟歪斜,尽管以短路功率为代价。用于减小时钟歪斜的第 二种结构是混合树网(hybrid-tree mesh),诸如图1A至图1B的混合树网100。图1A中所示的混合树网100的网部分包括支持肋部120和130的脊部110、在肋部120上的反相器121A-D、耦合肋部120和130上的时钟驱动元件的交叉链路121和122、以及非直线时钟网区域140。虽然图1A示出了沿着肋部120和130在元件之间的交叉链路,但是在其它结构中,在时钟分布网络中的其它位置处或者位置的组合处插入交叉链路,诸如在时钟分布网络内、在其端部处或者二者。网部分100又由图1B中所示的分层二进制树结构150驱动,其中时钟驱动元件145(层级L2)驱动4个时钟驱动元件120A-C(层级L1),并且时钟驱动元件160(层级L3)驱动元件145和层级L2上的其它元件。
虽然图1A-B示出了若干反相器、肋部和交叉链路以简化附图,但是时钟分布网络典型地具有几十万个这种元件,引导时钟信号至成千上万个时钟接收(时序)元件。这些元件呈现至时钟分布网络的不同负载,从而导致更高的歪斜,正如诸如图1A中的非直线部件140之类的其它结构。
为了减小短路功率,重要的是保持在其输出被短路的反相器的输入之间的歪斜尽可能低。因此,重要的是在设计时减小时钟分布网络的结构歪斜。可能不能保证时钟分布网络的其输出与交叉链路短路的反相器具有相同的负载特性。因此,需要可调节的时钟反相器来减小结构歪斜。时钟反相器被调节,从而使得驱动大负载的那些时钟反相器具有大驱动强度,并且驱动小负载的那些时钟反相器具有更小的驱动器强度。在混合树网时钟分布网络的最末级中,负载可以由于各种原因而显著变化,包括触发器密度和非直线时钟网区域的变化。
可调节的时钟反相器可以通过组合多个基础单元并且连接/断开连接它们的输出以形成不同的有效驱动强度来构造。这种方式,输入电容保持相同并且仅输出驱动强度改变,因此使得时钟网络的调节更容易并且更可预知。制作可调节的时钟反相器的一种方式是将 它们组合以制作一个宏单元并且随后在需要的地方使用宏单元。这种方式的一个缺点是由电子设计自动化(EDA)工具通过物理设计的所有层级将这一宏单元处理为单个单元。这可能需要精确地晶体管级提取以及宏单元表征。此外,为了将宏单元维持为单个单元,必须生成时序DB、物理单元视图、LVS网表以及用于该单元的其它附属品。然而,将宏单元分解为它们的部件基础单元可以使得使用这些宏单元调节时钟分布网络极为困难。
发明内容
在本发明的第一方面中,一种准备集成电路以用于调节的方法包括:生成在集成电路设计中被实例化的宏单元的集合,其中集成电路设计包含用于驱动集成电路上的电容性负载的驱动器;选择用于每个宏单元的输入网表和输出网表的位置并且生成标记位置的端子;确定端子和用于宏单元的引脚的名称;以及通过根据预定准则平衡驱动器上的电容性负载来初始地调节集成电路。
在一个实施例中,该方法还包括使用布局和布线(PnR)工具打开集成电路的物理DB。集成电路包括包含交叉链路的时钟网络。作为一些示例,时钟网络包括时钟网、时钟树网或者混合树网。时钟网络通过添加交叉链路、去除交叉链路或二者来调节。
在一个实施例中,每个宏单元仅包含一个或多个对应的标准尺寸的基础单元。在一个实施例中,该方法还包括平面化每个宏单元以生成包含对应的基础单元的网表,并且调节集成电路包括在电路仿真期间使用端子名称和宏单元引脚的名称将基础单元重新组合成对应的宏单元。优选地,端子名称和宏单元的名称被存储在文件中。备选地,端子名称和宏单元引脚名称被嵌入在对应的端子名称中。在一个实施例中,端子的物理位置信息也被嵌入在对应的端子名称中。
在一个实施例中,该方法还包括引入激励至集成电路的网表,并且测量在宏单元的输入和输出处的电路参数。调节包括均衡在集 成电路的仿真期间测量的一个或多个参数。作为一些示例,一个或多个参数包括延迟、电压摆动(slew)、电流、电荷或者其任意组合。
优选地,调节包括缩放宏单元直至满足退出标准。退出标准的一些示例包括宏单元的尺寸等于目标尺寸、测量的电压摆动在预定范围内、缩放的次数已经达到预定限度或者其任意组合。在一个实施例中,缩放基于公式New_size=Current_size*(1+(Current_slew-Target_slew)/(Target_slew)),其中New_size是宏单元的新尺寸,Current_size是宏单元的当前尺寸,Current_slew是当前电压摆动以及Target_slew是预定目标电压摆动。在另一实施例中,缩放基于公式New_size=Current_size*(1+(Current_slew-Target_slew)/(Current_slew)),其中New_size是宏单元的新尺寸,Current_size是宏单元的当前尺寸,Current_slew是当前电压摆动以及Target_slew是预定目标电压摆动。
在第二方面中,一种用于调节集成电路设计的系统包括:处理器;综合模块,被配置成生成在集成电路设计中被实例化的宏单元的集合,其中集成电路设计包含用于驱动集成电路上的电容性负载的驱动器;布局和布线模块,被配置成选择用于每个宏单元的输入网和输出网的位置、生成标记位置的端子、以及确定和用于宏单元的端子引脚的名称;以及验证模块,被配置成调节集成电路以根据预定准则平衡驱动器上的电容性负载。系统还包括被耦合至综合模块的宏单元库,其中宏单元库仅包含标准尺寸的宏单元。在一个实施例中,集成电路包括包含交叉链路的时钟网络。作为一些示例,时钟网络包括时钟网、时钟树网或混合树网。
在本发明的第三方面中,具有在其上的时钟分布网络的半导体器件包括从宏单元形成的时钟驱动元件,宏单元仅包括标准尺寸的基础单元,其中针对每个宏单元,对应的基础单元相对于宏单元根据预定布置被布置,并且进一步地,其中宏单元已经在仿真期间根据一个或多个电路仿真参数被缩放。作为一些示例,一个或多个电路仿真参数包括延迟、电压摆动、电流、电荷或者其任意组合。作 为一些示例,时钟分布网络包括时钟树、时钟网或混合树网。
附图说明
以下附图用于说明本发明的实施例。在所有附图中,相同的附图标记指代相同或相似的元件。
图1A至图1B是现有技术的网状-树状混合时钟分布网络的高级图。
图2示意性地示出了驱动向网络呈现不同负载的时序元件的时钟分布网络的一部分。
图3A至图3D是用于说明如何根据本发明的原理组合标准尺寸的单元以调节时钟分布网络的图。
图4至图6是根据本发明的实施例的分别示出64X、32X和0X强度时钟反相器的编程的半导体器件版图。
图7是数字设计流程的步骤的流程图,包括根据本发明的一个实施例组合时钟分布网络中的时钟驱动元件。
图8是根据本发明的一个实施例的用于组合标准尺寸的时钟驱动元件的过程的步骤的流程图。
图9和图10是根据本发明的一个实施例的说明如何构造可调节的时钟反相器的Verilog网表。
图11是根据本发明的一个实施例的用于在半导体版图中布局单元的步骤的流程图。
图12是根据本发明的一个实施例的用于在单元之间布线互连的步骤的流程图。
图13是根据本发明的一个实施例的说明用于宏单元的输入布线的示意图。
图14是根据本发明的一个实施例的说明用于宏单元的输出布线的示意图。
图15是根据本发明的一个实施例的用于准备布局和布线时钟分布网络的物理DB以用于调节的过程的步骤的流程图。
图16是根据本发明的一个实施例的用于执行数字设计流程的设计工具的框图。
具体实施方式
根据本发明的原理,在电子设计自动化(EDA)过程的RTL级生成可调节的时钟驱动器的软宏单元。EDA工艺流程中的所有工具将单元分解成部件基础单元,因此消除了维持时序DB、物理单元视图、LVS网表和用于宏单元的其它附属品(collateral)的需要。
根据本发明,生成可调节的时钟驱动器的软宏,但是软宏在流程中不被维持。软宏在RTL级和在流程中使用的工具处生成以将单元分解成其部件基础单元,因此消除了对于维持时序DB、物理单元视图、LVS网表和用于宏单元的其它附属品的需要。
以下描述首先解释来自标准单元库的宏单元如何被组合以生成用于驱动时钟分布网络中的时钟接收元件的驱动强度信号的可调节的范围。第二,该描述解释这些宏单元如何被布局和布线。第三,该描述均根据本发明的原理解释由宏单元构建的这些时钟网络如何被调节。
仅使用标准尺寸的宏单元生成时钟分布网络
根据本发明的原理,半导体器件时钟分布网络仅使用标准尺寸的反相器,而不管用于驱动器件上的时序(时钟接收)元件所需的驱动强度。因为定制尺寸的反相器无需从第三方制作或购买,所以设计工艺比现有技术工艺便宜。此外,因为这些标准尺寸的反相器已经被更彻底地测试并且运行更可预测,所以用于使用这些时钟分布网络调试半导体器件的时间减小了,从而允许产品更快地投放到市场。
作为一个示例,在电子设计自动化期间,用于时钟接收部件的驱动强度被确定。系统确定定制尺寸的CMOS反相器的组合,使得它们的组合驱动强度足够大以驱动时序元件,而足够小以最小化短 路功率。定制尺寸的部件的组合随后被仿真,并且随后布局和布线对应的反相器以形成物理半导体器件。所得的时钟反相器驱动单个半导体器件上的各种负载而维持低歪斜,并且具有驱动强度范围以及足够的粒度以维持低歪斜。
在一个实施例中,标准尺寸的反相器(或者其它“时钟驱动”元件)具有0X、8X、12X和16X的驱动强度。这些反相器能够组合以形成可调节的反相器,驱动强度为0X、8X、12X、16X、20X(8X+12X)、24X(12X+12X)、28X(20X+8X)、32X(16X+16X)、36X(8X+12X+16X)、40X(8X+16X+16X)、44X(12X+16X+16X)、48X(16X+16X+16X)、52X(8X+12X+16X+16X)、56X(8X+16X+16X+16X)和64X(16X+16X+16X+16X)。将理解的是,其它反相器驱动强度能够组合以形成这些值,例如24X驱动强度能够有具有8X驱动强度的3个反相器形成。优选地,驱动强度通过组合最小数目的反相器来确定。换而言之,在一个实施例中,驱动强度D通过根据等式(1)组合反相器来确定:
DX=8X*a+12X*b+16X*c  等式(1)
其中a+b+c(反相器的总数目)被最小化。根据本发明的原理,使用其它设计约束,能够使用其它选择准则。
通过将反相器组合成各种组,分布式时钟网络能够生成具有预定值范围的“成组的”反相器。在这一示例中,时钟反相器能够具有在范围0X(例如,其中仅需要虚设负载以用于对称)至64X中的任何值,具有值0X、8X、12X、16X至56X,以4X增量,以及64X。将理解的是使用不同的标准尺寸的反相器,能够产生以其它增量的其它信号强度范围。
图2示出了驱动三个不同负载L1、L2和L3的分布式时钟网络200的一部分。时钟网络200能够形成任何半导体器件(诸如微处理器)的一部分。在半导体器件200的综合期间,负载值L1、L2和 L3被确定。在这一示例中,值L1、L2和L3彼此不同,这是因为触发器密度和非直线时钟网的变化。本领域技术人员将认识到负载能够由于其它原因而变化。
负载L1需要具有20X驱动强度的时钟信号,负载L2需要具有24X驱动强度的时钟信号,以及负载L3需要具有52X驱动强度的时钟信号。时钟分布网络的反相器仅使用驱动强度值为8X、12X和16X的标准尺寸的单元来制作。具有20X驱动强度的时钟信号通过组合或“成组(ganging)”分别具有8X和12X的驱动强度的两个标准尺寸的反相器来制作。具有24X驱动强度的时钟信号通过组合分别具有8X和16X的驱动强度的两个标准尺寸的反相器来制作。具有52X驱动强度的时钟信号通过组合分别具有16X、16X、12X和8X的驱动强度的四个标准尺寸的反相器来制作。在这个示例中,综合步骤之后是仿真、时序分析、布局和布线、提取和验证步骤。
图3A至图3D示出了具有8X、12X和16X的驱动强度(图3A)的仅三个单元的标准单元库如何能够被组合以产生具有20X(图3B)、32X(图3C)和52X(图3D)的驱动强度的单元,仅给出了可能的组合的几个示例。
在一个示例中,标准尺寸的反相器全部被制作于半导体器件的一个或多个层上。反相器由VIA编程来组合或“调节”,也就是说,通过添加或去除过孔,该过孔将反相器电耦合在一起或者电耦合至驱动时序元件的外部引脚。参照图1B,以此方式调节并不影响时钟分布网络中的上游元件(例如145和160)。
在一个实施例中,基础单元被组合以产生使用“VIA34编程”可调节的时钟反相器。基础单元彼此堆叠地被布局在半导体器件的相邻行上,并且在半导体器件的金属层4(M4)中拉制连接至输出网(output net)的带(strap)。M4带又能够通过更高金属层被连接。因此,基础单元的输出能够通过分别插入或去除从金属3层(M3)至M4的过孔而连接至输出网或者从输出网断开连接。所有其它金属层或过孔保持未被触碰。因此,时钟反相器的驱动强度能够仅通 过添加或去除在两层(M3和M4)之间的过孔(VIA34)来调节。
图4至图6是分别示出64X、32X和0X驱动强度时钟反相器的VIA34编程的版图,在M4和用于M3中的每个单元的输出引脚中使用相同(基础)标准尺寸的时钟单元。每个版图示出了包含M4中的16X、12X、8X、12X和16X反相器的左手侧、包含M3中的相应反相器的输出引脚的右手侧以及在M3和M4之间用于电耦合左手侧上的反相器至它们相应的输出引脚的过孔。
图4例如是具有被编程为连接所有M3输出引脚(410B、420B、430B、440B、450B)至所有16X、12X、8X、12X和16X反相器(410A、420A、430A、440A、450A)的过孔480的版图400,由此在输出引脚上产生了具有16X+12X+8X+12X+16X或64X的组合驱动强度的时钟信号。图5是具有被编程为连接两个M3输出引脚(510B和550B)至两个对应的16X反相器(510A和550A)的输出的过孔580的版图500,由此产生了具有16X+16X或32X的组合驱动强度的时钟信号。图6是其中去除了将M3输出引脚连接至16X、12X、8X、12X和16X反相器的过孔680的版图600,由此产生了0X(虚设)驱动强度时钟反相器。本领域技术人员将认识到用于组合时钟元件以产生具有其它时钟强度的时钟信号的其它VIA34编程。
图7示出了在根据本发明的实施例中所使用的,用于具有对应的硬件部件的半导体器件的数字设计流程的步骤700的流程图。使用硬件描述语言和Verilog/VHDL库750的设计分析、设计规范和设计实现分别发生在步骤701、705和710中。综合步骤发生在步骤715,使用标准单元库755。在该步骤中,其可以包括多个子步骤,部件(包括时钟分布网络和时序部件)的构建模块被综合。时钟分布网络仅使用标准尺寸的单元来综合。在这一阶段,确定了逻辑电路。综合步骤715的输出是网表,即指示器件以及在器件之间的互连的ASCII文件。仿真发生在步骤720中,使用网表来验证设计,并且如果不符合规范,则工艺循环回步骤710。相反,工艺继续在步骤725中的时序分析,其中例如确定了歪斜。步骤725之后进行在步骤730中 的布局和布线、在步骤735中的提取(其中提取并且检查影响性能的部件)和验证步骤740(其中器件被制作并且设计被改进以优化或修改)。如果设计必需被修改,则工艺循环回至步骤720。
如图7中所示,时序分析步骤725访问用于时序的查找表760,布局和布线步骤730访问用于版图值765的Tech文件,以及提取步骤735访问用于RC寄生提取770的Tech文件。
将理解的是,步骤700仅为本发明的一个实施例的示例。在其它实施例中,添加其他步骤,组合一些步骤以及以不同顺序执行步骤序列,仅举几个修改示例。
图8示出了用于确定存储于图7中的标准单元库755中的标准单元反相器的步骤800。在工艺的这一阶段,每个时钟反相器(并且因此所需的或“目标”驱动强度)已经被确定,诸如在综合步骤715、验证步骤740或一些其它步骤中。在开始步骤801中,选择由目标驱动强度驱动的第一时钟接收元件。在步骤803中,确定存储于标准单元库中的标准尺寸的宏单元的组合,以产生合适的时钟驱动强度信号,诸如如上等式1所示。在步骤805中,工艺确定设计中是否存在另一时钟接收元件,并且如果存在则循环回步骤803;相反,工艺结束于步骤809。
将理解的是,步骤800仅为本发明的一个实施例的示例。在其它实施例中,添加其他步骤,组合一些步骤以及以不同顺序执行步骤序列,仅举几个修改示例。
图9是根据本发明的一个实施例的示出了如何构造可调节的时钟反相器的Verilog网表900。网表900示出了具有时钟反相器的二进制树的构造,时钟反相器具有短接时钟反相器的输出的交叉链路。在这一示例中,宏单元驱动强度为0X、8X、12X、16X、20X、24X、28X、32X、36X、40X、44X、48X、52X、56X和64X,仅使用来自标准单元库的8X、12X和16X驱动强度时钟反相器单元。它们被连接以形成时钟站(clock station)。网状时钟分布网络由驱动时钟网的一个或多个这种时钟站构成。在这一示例中,可调节的时钟反相器 是xp_ckinvx0、xp_ckinvx8、xp_ckinvx12、xp_ckinvx16、xp_ckinvx20、xp_ckinvx24、xp_ckinvx28、xp_ckinvx32、xp_ckinvx36、xp_ckinvx40、xp_ckinvx44、xp_ckinvx48、xp_ckinvx52、xp_ckinvx56和xp_ckinvx64,其分别表示0X、8X、12X、16X、24X、28X、32X、36X、40X、44X、48X、52X、56X和64X的驱动强度。用来构造可调节的时钟反相器的基础标准单元是两个stdcell_ckinv_x16单元,两个stdcell_ckinv_x12单元和一个stdcell_ckinv_x8单元。stdcell_ckinv_x16、stdcell_ckinv_x12和stdcell_ckinv_x8单元分别表示来自标准单元库的16X、12X和8X驱动强度时钟反相器。输入网(input net)是“A”并且输出网是“Z”。
虽然以上示例示出了可调节的反相器的构造,但是可以将本发明扩展至其它单元,例如包括缓冲器或任何其他逻辑门。可调节缓冲器或时钟驱动元件也能够通过组合基础标准单元的小集合并且使得它们的输出连接仅通过过孔改变可编程。
标准尺寸的宏单元的布局和布线
图10根据本发明的一个实施例的具有交叉链路的二进制时钟树的Verilog网表1000,用于说明实例名称如何被嵌入有布局信息。模块“clkstationSample”是使用可调节的时钟反相器之一由时钟驱动器构成的时钟站。模块“clkstationSample”具有一个输入“CLK_15”和一个输出“clk”。输出端口clk_L4、clk_L3也能够被添加用于时钟分布的中间节点。将这些端口添加至网表有助于在时钟站的每级进行调节。此外,在时钟站中被实例化的每个时钟反相器的实例名称在其中具有时钟站中的驱动器的层级以及驱动器的布局的物理X坐标和Y坐标。在这一示例中,以xL2开头的所有实例名称表示时钟站的最末(叶)级。xL2驱动器由xL3驱动器驱动,而xL3驱动器又由xL4驱动器驱动。X坐标和Y坐标在实例名称中紧跟驱动器的层级数目。例如实例
xp_ckinvx64xL3_5094p600_8p100(.A(clk_L4),Z(clk_L3));
描述了在X坐标5094.6和Y坐标8.1处在层级3的、具有输入网clk_L4和输出网clk_L3的64X驱动强度驱动器。实例名称(具有层级和物理坐标信息)在版图和调节流程中起作用,如下所述。
对于时钟站的版图,网表被读取到PnR(布局和布线)工具中,并且作为单元的一部分的物理坐标信息用于引导布局。例如,单元xL3_5094p600_8p100是宏单元xp_ckinvx64的实例,宏单元xp_ckinvx64由5个单元xinv1、xinv2、xinv3、xinv4、xinv5构成。当网表被读取到PnR工具中时,PnR工具将识别以下5个基础单元
xL3_5094p600_8p100/xinv1
xL3_5094p600_8p100/xinv2
xL3_5094p600_8p100/xinv3
xL3_5094p600_8p100/xinv4
xL3_5094p600_8p100/xinv5
以替代识别它们作为一个物理单元的一部分。为了将这五个单元布局在一起,布局信息被嵌入在实例的名称中,以首先以(X,Y)坐标5094.6,8.1为中心或距该坐标一些偏移来布局单元xL3_5094p600_8p100/xinv5。随后,单元xL3_5094p600_8p100/xinv4被布局在xL3_5094p600_8p100/xinv5上方的一个标准单元行(或者标准单元行的一些整数倍数)。最后将xL3_5094p600_8p100/xinv3、xL3_5094p600_8p100/xinv2、xL3_5094p600_8p100/xinv1全部彼此堆叠布局。备选地,能够在相同行上彼此相邻布局单元或者将一些单元保持在一个行中并且将其它单元保持在另一行中。单元的任何布置是允许的,只要单元不重叠并且每个宏单元内的基础单元的相对位置保持相同。要求这一点以使得宏单元的布线是确定的。宏单元内的每个基础单元的相对布局确保了基础单元的输入和输出引脚位置是已知的。
图11示出了根据本发明的一个实施例的用于布局宏单元内的所 有基础单元的过程。在步骤1101中,在时钟站设计中被实例化的所有宏单元的集合被创建。随后,在步骤1105中,过程循环经过该集合中的所有宏单元实例,并且随后从实例名称提取(X,Y)坐标信息。随后,在步骤1110中,检索宏单元内的基础单元,并且布局在距在步骤1105中确定的(X,Y)坐标固定的相对位置/偏移处。
一旦布局了所有单元,它们被实例唯一化(uniquified)并且链接至物理DB。在来自Synopsys的IC编译器PnR工具中利用以下命令完成这一点:
uniquify_fp_mw_cel
link
link_physical_library
单元的输入和输出的布线也借助于实例名称和Verilog网表被引导。这一布线使用布局信息并且随后将单元连接在一起。这是可能的,只是因为宏单元内的每个基础单元的布局处于距被嵌入在单元的实例名称中的(X,Y)坐标已知的偏移处。
图12示出了根据本发明的一个实施例的用于布线的过程的步骤1200。在步骤1201中,在时钟站设计中被实例化的宏单元的集合被创建。随后,在步骤1205中,过程循环经过该集合中的所有宏单元实例,并且随后从实例名称提取(X,Y)坐标信息。最后,在步骤1210中,用于每个基础单元的引脚位置被检索。随后,在步骤1215中,使用来自步骤1205的布局信息计算用于基础单元的实例的引脚的位置,以计算每个引脚的偏移。随后,在步骤1220中,创建物理布线以将宏单元内的所有基础单元的输入引脚彼此连接并且利用端子标记一个或多个位置,以帮助将宏单元的输入连接在一起。随后在步骤1225中,创建物理布线以将宏单元内的所有基础单元的输出引脚彼此连接并且利用端子标记一个或多个位置,以帮助将宏单元的输出连接在一起。随后在步骤1230中,根据网表中的连接性来连 接宏单元输入和输出。最后,在步骤1235中,均衡布线长度以维持低歪斜。
在一个实施例中,步骤1100和1200在图7的步骤730中被执行。
图13和图14是根据本发明的一个实施例的分别用来说明输入布线1300和输出布线1400的结构1300和1400。结构1300示出了驱动强度为16X(1301和1320)、12X(1305和1315)以及8X(1310)的标准单元,连接M3输入引脚至M4带的VIA34过孔(1380),以及被标记为宏单元的输入的在M4上的输入端子(1390)。结构1400示出了驱动强度为16X(1401和1420)、12X(1405和1415)以及8X(1410)的标准尺寸的单元,16X反相器(1445和1465)、12X反相器(1450和1460)以及8X反相器(1455)的输出引脚,通过VIA堆叠(1470)连接M3输出的M8带,连接M8输出接线(1430)的M9带,以及被标记为宏单元的输出的在M9上的输入端子(1425)。
在图13和图14的示例中,宏单元中的基础单元被布局在单个列中,其中每个基础单元被布局在另一个上面。备选的布置也是可能的,但是要求不同的输入和输出布线图案。所有宏单元将具有相同的(或相似的)布线图案,因为宏单元内的每个基础单元的布局(并且因此输入和输出引脚)相对于被嵌入在宏单元的实例名称中的(X,Y)坐标是相同的。
图13和图14示出了反相器如何能够使用被嵌入在实例名称中的物理位置信息一起被布局和布线,并且使得它们在逻辑上表现得如同一个宏单元,但是在物理DB中表示为多个基础单元。这一结构也能够被扩展至其它单元,包括缓冲器或任何其它逻辑门。可调节的缓冲器或时钟驱动元件也可以以此方式被布局和布线。
调节时钟网络 
在本发明的一个实施例中,由宏单元(其又由基础单元的小集合组成)构建的时钟网络被调节,同时宏单元被分解成它们的基础 单元。在一个实施例中,基于以下假设进行调节:
A1.在电阻器-晶体管逻辑(RTL)级创建宏单元的软宏。
A2.宏单元被布局和布线,并且物理DB是可获得的,其中宏单元的布局和布线被固定。
A3.在时钟网络中被实例化的宏单元的实例名称已经被嵌入其内,层级信息(时钟树中的层级)以及唯一标识符(例如可以使用物理位置作为唯一标识符)。
此外,在网表900中示出了用于这一示例的宏单元,并且网表800示出了具有交叉链路的二进制时钟树。如上所述,在时钟站中被实例化的每个时钟反相器的示例名称在其中具有时钟站中的驱动器的层级,以及驱动器的布局的物理X坐标和Y坐标。因此,实例名称是唯一的,如在第三假设A3中那样。
图15示出了根据本发明的一个实施例的、用来准备被布局和布线的时钟分布网络的物理DB以用于调节的步骤1500。在步骤1501中,在PnR工具中打开时钟网络(或时钟站)的物理DB。随后,在步骤1503中,选择每个宏单元的输入网上的位置并且创建端子以标记该位置。随后在步骤1505中,选择每个宏单元的输出网上的位置并且创建端子以标记该位置。能够在非常接近宏单元或者在宏单元上面的区域中选择这一位置。随后,在步骤1507中,对于创建的所有端子,将端子名称和宏单元引脚名称诸如维持在文件中。可选地,宏单元引脚的方向同样被维持。备选地,这一信息在端子名称被创建时被嵌入在端子名称中。物理位置信息同样能够被维持。最后,在步骤1509中,通过在时钟网中添加或去除交叉链路来初始地调节时钟网,以尽可能多地均衡时钟网的每个驱动器上的电容性负载。初始调节能够在没有仿真的情况下仅通过比较接线长度或估计的互连电容来进行,仅举两个这种参数为例,由时钟网的每个时钟驱动器驱动。图13和图14分别示出了已经在图15中执行的步骤1503和1503之后的物理DB。
在步骤1509之后,物理布线信息(互连的电阻和电容)使用提 取工具来提取。提取工具被假设为保存在步骤1505和1507中的物理DB中创建的端子。提取工具生成网表,该网表随后用于仿真和调节时钟网络。因此,宏单元仅被创建为软宏并且其本身不存在宏单元的物理版图视图,提取工具将平面化(flatten)宏单元并且生成具有基础单元的网表。表1示出了一个示例,宏单元的基础单元在提取的网表中:
表1
在使用这些宏单元的时钟分布网络的调节期间,这些单元在电路仿真期间必需被重新组合。在不能将基础单元重新组合回宏单元的情况下,调节流程将包括中继出(relay out)和重新提取时钟分布网络。这可以使得调节流程不方便并且限制了迭代的次数。表2说明了这一点,示出了表1的基础单元如何折叠(collapse)成宏单元以用于调节目的:
XxL3_5905p600_8p100clk_L4_in1clk_L3_out1VDD VSS xp_ckinv64
表2
在1503和1505中创建的端子用来连接提取的网表中的折叠的宏单元。在表2中示出的示例中,clk_L4_in1是在步骤1503中创建的端子,而clk_L3_out1是在步骤1505中创建的端子。端子被选择为使得它们(物理地)位于宏单元上面或者非常接近宏单元。这一信息可从步骤1507(其生成将每个端子匹配至宏单元引脚名称的文件或者包含端子的物理位置)获得。备选地,这一信息被嵌入在端子名称本身中。在一个实施例中,使用脚本来进行待调节的宏单元 的这一折叠。同时,文件能够被生成以用于创建至时钟网络网表的激励和用于创建测量声明以测量在宏单元的输入和输出处的各种电路参数。因此,每个宏单元的输入和输出利用端子被标记(例如在步骤1503和1505中),测量声明能够在这些端子处产生。仅作为一些示例,测量包括延迟、电压摆动、电荷、电流或这些参数的任意组合。
在一个实施例中,时钟网络通过改变一些宏单元的有效驱动强度来调节,以便均衡在时钟分布的相同层级在所有驱动器的输出处的延迟和电压摆动。这一调节借助于电路仿真工具(例如Hspice)来进行。时钟网络也能够通过比较并且尝试均衡在电路仿真期间测量的一个或多个参数来进行调节。仅作为一些示例,这些参数包括延迟、电压摆动、电流或电荷。在以下示例中,电压摆动用作该参数,但是也能够使用任何其它参数或参数的组合。
在这一示例中,“Target_slew”是用于特定宏单元的输出的目标电压摆动值,并且“Currrent_slew”是在宏单元的输出处从电路仿真测量的电压摆动。“Current_size”是宏单元的当前尺寸(或驱动强度)。等式(2)用于导出宏单元的新尺寸,以基于电压摆动测量来调节时钟网络:
New_size=Current_size*(1+(Current_slew-Target_slew)/(Target_slew))  等式(2)
在不同的实施例中,使用不同的等式来导出宏单元的新尺寸,诸如由等式(3)给出:
New_size=Current_size*(1+(Current_slew-Target_slew)/(Current_slew))  等式(3)
在备选实施例中,使用查表来查找测量的电压摆动值并且从该表确定新单元尺寸。不同的单元尺寸能够与电压摆动值的不同范围相关联。
一旦计算了新单元尺寸,新单元尺寸将被并入到用于仿真的网表中。具有新单元尺寸的时钟网络电路随后再次被仿真并且验证单 元尺寸的影响。如果电压摆动(或其它测量值)仍然未处于目标,则再次进行单元缩放。对此重复直至满足退出标准。作为一些示例,退出标准包括以下退出准则中的一个或多个:
对于所有宏单元,New_size=Current_size。
电压摆动(或任何其它测量变量)距目标值用户定义的范围内。
迭代的次数达到用于定义的限度。
本领域技术人员将认识到根据本发明的原理能够使用的其它退出准则或者退出准则的组合。
一旦满足退出标准,在用于仿真的电路网表以及用于时钟网络的RTL网表中更新所有的新尺寸。新单元尺寸将影响时钟网络中的版图(具体而言为布线)。更新的RTL网表用来引导版图改变。
硬件部件
图16是根据本发明的一个实施例的电子设计工具1600的框图。参照图7、8、11、12和15,电子设计工具1600包括处理器1630和存储器1610。存储器1610存储包含用于执行步骤700、800、1100、1200和1500以及包含数据750、755、760、765和770的区域1620的计算机可执行指令1615的计算机可读存储介质。
在操作中,电子设计工具用于制作包括时钟分布网络的半导体器件。时钟分布网络上的时序元件上的负载被确定,并且驱动强度被确定,以减小时钟分布网络上的歪斜。时钟分布网络上的反相器由来自标准单元库的标准或“基础”单元制作,由此减小了成本和用于制作时钟分布网络以及因此用于制作作为整体的半导体器件的制造时间。有利地,这些基础单元可以用于在一定值范围内“调节”驱动强度。
在布局和布线期间,包含基础单元的宏单元被实例化,并且从实例名称提取(X,Y)坐标信息。宏单元内的基础单元随后被布局在距(X,Y)坐标固定的相对位置/偏移处。随后,通过以下步骤布线宏单元:生成在时钟站设计中被实例化的宏单元的集合,从实例名称提取(X,Y)坐标信息,取得每个基础单元的引脚位置,使用 (X,Y)坐标信息计算引脚的位置,创建物理布线以将去往宏单元内的基础单元的输入引脚彼此连接并且利用端子标记一个或多个位置以帮助将宏单元的输入连接在一起,产生物理布线以将宏单元内的所有基础单元的输出引脚彼此连接并且利用端子标记一个或多个位置以帮助将宏单元的输出连接在一起,根据网表中的连接性连接宏单元输入和输出,以及平衡布线长度以维持低歪斜。
为了准备布局和布线时钟分布网络的物理DB以用于调节,每个宏单元的输入和输出网表被创建,并且端子被选择以标记这些位置。对于所创建的所有端子,端子的名称的列表,宏单元引脚以及可选地引脚的方向被存储,优选地存储于文件中。备选地,信息在创建时被嵌入在端子名称中。物理位置也能够被包括。随后,通过在时钟网中添加或去除交叉链路来初始地调节时钟网,以平衡时钟网的每个驱动器上的电容性负载。这一初始调节能够仅通过比较接线长度或由时钟网中的每个驱动器驱动的估计的互连电容来进行。
在提交于______、[代理案号为XPL-00100]、N.Jayakumar等人的“System for and Method of Combining CMOS Inverters of Multiple Drive Strengths to Create Tune-able Clock Inverters of Variable Drive Strengths in Hybrid Tree-Mesh Clock Distribution Networks”中,以及提交于______、[代理案号为XPL-00200]、N.Jayakumar等人的“System for and Method of Placing and Routing Clock Stations Using Variable Drive-Strength Clock Drivers Built Out of a Smaller Subset of Base Cells for Hybrid Tree-Mesh Clock Distribution Networks”中描述了根据本发明的用于组合标准尺寸的单元以及布局和布线时钟站的方法和装置,二者通过整体引用并入本文。
虽然本说明书描述了本发明的不同实施例,但是将理解的是这些实施例能够以任何数目的组合形式进行组合。在上文中给出的实施例仅用于说明目的并且并不意在限制本发明的范围。对于本领域技术人员明显的是可以对实施例进行其它修改,而不背离由所附权利要求限定的本发明的精神和范围。

Claims (35)

1.一种准备集成电路以用于调节的方法,所述方法包括:
生成在集成电路设计中被实例化的宏单元的集合,其中所述集成电路设计包含用于驱动所述集成电路上的电容性负载的驱动器;
选择用于每个所述宏单元的输入网表和输出网表的位置并且生成标记所述位置的端子;
确定所述端子和用于所述宏单元的引脚的名称;以及
通过根据预定准则平衡所述驱动器上的电容性负载来初始地调节所述集成电路。
2.根据权利要求1所述的方法,还包括使用布局和布线(PnR)工具打开所述集成电路的物理DB。
3.根据权利要求2所述的方法,其中所述集成电路包括包含交叉链路的时钟网络。
4.根据权利要求3所述的方法,其中所述时钟网络包括时钟网、时钟树网和混合树网之一。
5.根据权利要求3所述的方法,其中调节所述集成电路包括添加和去除所述交叉链路的任意组合。
6.根据权利要求3所述的方法,其中每个所述宏单元仅包含一个或多个对应的标准尺寸的基础单元。
7.根据权利要求6所述的方法,还包括平面化每个所述宏单元以生成包含对应的基础单元的网表。
8.根据权利要求7所述的方法,其中调节所述集成电路包括在电路仿真期间使用所述端子名称和所述宏单元引脚的名称将所述基础单元重新组合成对应的所述宏单元。
9.根据权利要求8所述的方法,还包括将所述端子名称和所述宏单元的名称存储在文件中。
10.根据权利要求8所述的方法,还包括将所述端子名称和所述宏单元引脚名称嵌入在对应的所述端子名称中。
11.根据权利要求10所述的方法,还包括将端子的物理位置信息嵌入在对应的端子名称中。
12.根据权利要求1所述的方法,还包括引入激励至所述集成电路的网表,并且测量在所述宏单元的输入和输出处的电路参数。
13.根据权利要求12所述的方法,其中调节包括均衡在所述集成电路的仿真期间测量的一个或多个参数。
14.根据权利要求13所述的方法,其中所述一个或多个参数包括延迟、电压摆动、电流、电荷或者其任意组合。
15.根据权利要求14所述的方法,其中调节包括缩放所述宏单元直至满足退出标准。
16.根据权利要求15所述的方法,其中所述退出标准包括所述宏单元的尺寸等于目标尺寸、测量的电压摆动在预定范围内、缩放的次数已经达到预定限度或者其任意组合。
17.根据权利要求16所述的方法,其中缩放基于公式New_size=Current_size*(1+(Current_slew-Target_slew)/(Target_slew)),其中New_size是宏单元的新尺寸,Current_size是所述宏单元的当前尺寸,Current_slew是当前电压摆动,以及Target_slew是预定目标电压摆动。
18.根据权利要求16所述的方法,其中缩放基于公式New_size=Current_size*(1+(Current_slew-Target_slew)/(Current_slew)),其中New_size是宏单元的新尺寸,Current_size是所述宏单元的当前尺寸,Current_slew是当前电压摆动以及Target_slew是预定目标电压摆动。
19.一种用于调节集成电路设计的系统,所述系统包括:
处理器;
综合模块,被配置成生成在所述集成电路设计中被实例化的宏单元的集合,其中所述集成电路设计包含用于驱动所述集成电路上的电容性负载的驱动器;
布局和布线模块,被配置成选择用于每个所述宏单元的输入网和输出网的位置、生成标记所述位置的端子、以及确定所述端子和用于所述宏单元的引脚的名称;以及
验证模块,被配置成调节所述集成电路以根据预定准则平衡所述驱动器上的电容性负载。
20.根据权利要求19所述的系统,还包括被耦合至所述综合模块的宏单元库,其中所述宏单元库仅包含标准尺寸的基础单元。
21.根据权利要求20所述的系统,其中所述集成电路包括包含交叉链路的时钟网络。
22.根据权利要求21所述的系统,其中所述时钟网络包括时钟网、时钟树网和混合树网之一。
23.根据权利要求21所述的系统,其中所述综合模块还被配置成平面化每个所述宏单元以生成包含对应的所述基础单元的网表,并且所述验证单元还被配置成在电路仿真期间使用所述端子名称和所述宏单元引脚的名称将所述基础单元重新组合成对应的所述宏单元。
24.根据权利要求23所述的系统,还包括仿真模块,被配置成引入激励至所述集成电路的网表以及测量在所述宏单元的输入和输出处的电路参数。
25.根据权利要求24所述的系统,其中所述综合模块还被配置成通过均衡在所述集成电路的仿真期间测量的一个或多个参数来调节所述集成电路设计。
26.根据权利要求25所述的系统,其中所述一个或多个参数包括延迟、电压摆动、电流、电荷或者其任意组合。
27.根据权利要求26所述的系统,其中所述综合模块还被配置成通过缩放所述基础单元来调节所述集成电路直至满足退出标准。
28.根据权利要求27所述的系统,其中所述退出标准包括所述宏单元的尺寸等于目标尺寸、测量的电压摆动在预定范围内、所述宏单元的缩放的次数已经达到预定限度或者其任意组合。
29.根据权利要求27所述的系统,其中缩放所述宏单元基于电路仿真参数。
30.根据权利要求29所述的系统,其中所述电路仿真参数包括延迟、电压摆动、电流、电荷或者其任意组合。
31.根据权利要求27所述的系统,其中缩放基于公式New_size=Current_size*(1+(Current_slew-Target_slew)/(Target_slew)),其中New_size是宏单元的新尺寸,Current_size是所述宏单元的当前尺寸,Current_slew是当前电压摆动,以及Target_slew是预定目标电压摆动。
32.根据权利要求27所述的系统,其中缩放基于公式New_size=Current_size*(1+(Current_slew-Target_slew)/(Current_slew)),其中New_size是宏单元的新尺寸,Current_size是所述宏单元的当前尺寸,Current_slew是当前电压摆动,以及Target_slew是预定目标电压摆动。
33.一种具有在其上的时钟分布网络的半导体器件,所述时钟分布网络包括:
从宏单元形成的时钟驱动元件,所述宏单元仅包括标准尺寸的基础单元,其中针对每个所述宏单元,对应的所述基础单元相对于所述宏单元根据预定布置被布置,并且进一步地,其中所述宏单元已经在仿真期间根据一个或多个电路仿真参数被缩放。
34.根据权利要求33所述的半导体器件,其中所述一个或多个电路仿真参数包括延迟、电压摆动、电流、电荷或者其任意组合。
35.根据权利要求33所述的半导体器件,其中所述时钟分布网络包括时钟树、时钟网或混合树网。
CN201410835814.7A 2013-12-26 2014-12-26 用于调节时钟网络的系统和方法 Pending CN104750906A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/141,104 2013-12-26
US14/141,104 US9305129B2 (en) 2013-12-26 2013-12-26 System for and method of tuning clock networks constructed using variable drive-strength clock inverters with variable drive-strength clock drivers built out of a smaller subset of base cells

Publications (1)

Publication Number Publication Date
CN104750906A true CN104750906A (zh) 2015-07-01

Family

ID=53482083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410835814.7A Pending CN104750906A (zh) 2013-12-26 2014-12-26 用于调节时钟网络的系统和方法

Country Status (6)

Country Link
US (1) US9305129B2 (zh)
JP (1) JP6544923B2 (zh)
KR (1) KR20150076133A (zh)
CN (1) CN104750906A (zh)
HK (1) HK1207438A1 (zh)
TW (1) TWI661325B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209681A (zh) * 2016-06-28 2016-12-07 华为技术有限公司 一种队列管理方法和装置
CN106649898A (zh) * 2015-10-29 2017-05-10 京微雅格(北京)科技有限公司 一种加法器的打包布局方法
CN108614796A (zh) * 2016-12-12 2018-10-02 中国航空工业集团公司西安航空计算技术研究所 加速1394物理层虚拟仿真的方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443053B2 (en) 2013-12-26 2016-09-13 Cavium, Inc. System for and method of placing clock stations using variable drive-strength clock drivers built out of a smaller subset of base cells for hybrid tree-mesh clock distribution networks
US9390209B2 (en) * 2013-12-26 2016-07-12 Cavium, Inc. System for and method of combining CMOS inverters of multiple drive strengths to create tune-able clock inverters of variable drive strengths in hybrid tree-mesh clock distribution networks
US9305129B2 (en) 2013-12-26 2016-04-05 Cavium, Inc. System for and method of tuning clock networks constructed using variable drive-strength clock inverters with variable drive-strength clock drivers built out of a smaller subset of base cells
CN106960087B (zh) * 2017-03-13 2020-05-19 上海华力微电子有限公司 一种时钟分布网络结构及其生成方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10242396A (ja) * 1997-03-03 1998-09-11 Mitsubishi Electric Corp クロックドライバ回路及び半導体集積回路装置
JPH10246754A (ja) * 1997-03-03 1998-09-14 Mitsubishi Electric Corp クロックドライバ回路及び半導体集積回路装置
US6166564A (en) * 1999-07-09 2000-12-26 Intel Corporation Control circuit for clock enable staging
US6434731B1 (en) * 1999-10-26 2002-08-13 International Business Machines Corporation Automated placement of signal distribution to diminish skew among same capacitance targets in integrated circuits
US6629298B1 (en) * 1999-11-10 2003-09-30 International Business Machines Corporation Automated programmable process and method for the improvement of electrical digital signal transition rates in a VLSI design
US6574781B1 (en) * 2000-08-21 2003-06-03 Oki Electric Industry Co., Ltd. Design methodology for inserting RAM clock delays
JP3420195B2 (ja) * 2000-09-26 2003-06-23 エヌイーシーマイクロシステム株式会社 クロック配線の設計方法
JP2002198430A (ja) * 2000-12-26 2002-07-12 Nec Microsystems Ltd 駆動力可変ブロックおよびこれを用いたlsi設計方法
US6698006B1 (en) * 2001-12-14 2004-02-24 Sequence Design, Inc. Method for balanced-delay clock tree insertion
US6763513B1 (en) * 2001-12-18 2004-07-13 Cadence Design Systems, Inc. Clock tree synthesizer for balancing reconvergent and crossover clock trees
US6981233B2 (en) * 2003-02-24 2005-12-27 Cadence Design Systems, Inc. Method for analyzing path delays in an IC clock tree
US6951002B2 (en) * 2003-06-05 2005-09-27 International Business Machines Corporation Design techniques for analyzing integrated circuit device characteristics
US7810061B2 (en) * 2004-09-17 2010-10-05 Cadence Design Systems, Inc. Method and system for creating a useful skew for an electronic circuit
US20060080632A1 (en) * 2004-09-30 2006-04-13 Mathstar, Inc. Integrated circuit layout having rectilinear structure of objects
TWI274266B (en) * 2005-05-26 2007-02-21 Faraday Tech Corp Verilog HDL simulation model for retain time
US7761275B2 (en) * 2005-12-19 2010-07-20 International Business Machines Corporation Synthesizing current source driver model for analysis of cell characteristics
US20080229266A1 (en) * 2006-12-14 2008-09-18 International Business Machines Corporation Design Structure for a Clock Distribution Network, Structure, and Method for Providing Balanced Loading in Integrated Circuit Clock Trees
JP2009187104A (ja) * 2008-02-04 2009-08-20 Panasonic Corp 半導体集積回路
JP5045595B2 (ja) * 2008-07-28 2012-10-10 富士通株式会社 回路設計支援装置、回路設計支援プログラム、回路設計支援方法
JP4784786B2 (ja) * 2009-03-27 2011-10-05 日本電気株式会社 クロック分配回路及びクロックスキュー調整方法
JP4918934B2 (ja) * 2009-08-21 2012-04-18 日本電気株式会社 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム
US9219005B2 (en) 2011-06-28 2015-12-22 Monolithic 3D Inc. Semiconductor system and device
US8957398B2 (en) 2010-12-22 2015-02-17 Easic Corporation Via-configurable high-performance logic block involving transistor chains
US8627263B2 (en) 2011-02-23 2014-01-07 International Business Machines Corporation Gate configuration determination and selection from standard cell library
US8407654B2 (en) 2011-02-23 2013-03-26 International Business Machines Corporation Glitch power reduction
US8536921B2 (en) 2011-08-16 2013-09-17 Lsi Corporation Uniform-footprint programmable-skew multi-stage delay cell
US8461893B2 (en) 2011-08-16 2013-06-11 Lsi Corporation Uniform-footprint programmable multi-stage delay cell
US8984467B2 (en) * 2011-08-17 2015-03-17 Synopsys, Inc. Method and apparatus for automatic relative placement generation for clock trees
TWI472941B (zh) * 2012-04-18 2015-02-11 Global Unichip Corp 晶片輸出入設計的方法
US8629548B1 (en) * 2012-10-11 2014-01-14 Easic Corporation Clock network fishbone architecture for a structured ASIC manufactured on a 28 NM CMOS process lithographic node
US9305129B2 (en) 2013-12-26 2016-04-05 Cavium, Inc. System for and method of tuning clock networks constructed using variable drive-strength clock inverters with variable drive-strength clock drivers built out of a smaller subset of base cells
US9443053B2 (en) 2013-12-26 2016-09-13 Cavium, Inc. System for and method of placing clock stations using variable drive-strength clock drivers built out of a smaller subset of base cells for hybrid tree-mesh clock distribution networks

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649898A (zh) * 2015-10-29 2017-05-10 京微雅格(北京)科技有限公司 一种加法器的打包布局方法
CN106649898B (zh) * 2015-10-29 2019-12-13 京微雅格(北京)科技有限公司 一种加法器的打包布局方法
CN106209681A (zh) * 2016-06-28 2016-12-07 华为技术有限公司 一种队列管理方法和装置
US10951551B2 (en) 2016-06-28 2021-03-16 Huawei Technologies Co., Ltd. Queue management method and apparatus
CN108614796A (zh) * 2016-12-12 2018-10-02 中国航空工业集团公司西安航空计算技术研究所 加速1394物理层虚拟仿真的方法
CN108614796B (zh) * 2016-12-12 2021-06-01 中国航空工业集团公司西安航空计算技术研究所 加速1394物理层虚拟仿真的方法

Also Published As

Publication number Publication date
TWI661325B (zh) 2019-06-01
US9305129B2 (en) 2016-04-05
JP6544923B2 (ja) 2019-07-17
KR20150076133A (ko) 2015-07-06
US20150186583A1 (en) 2015-07-02
JP2015125779A (ja) 2015-07-06
HK1207438A1 (zh) 2016-01-29
TW201541272A (zh) 2015-11-01

Similar Documents

Publication Publication Date Title
CN104750906A (zh) 用于调节时钟网络的系统和方法
US9443053B2 (en) System for and method of placing clock stations using variable drive-strength clock drivers built out of a smaller subset of base cells for hybrid tree-mesh clock distribution networks
US7761828B2 (en) Partitioning electronic circuit designs into simulation-ready blocks
Wang et al. Electronic design automation: synthesis, verification, and test
Lourenço et al. Layout-aware sizing of analog ICs using floorplan & routing estimates for parasitic extraction
Martins et al. AIDA: Automated analog IC design flow from circuit level to layout
EP1729232A1 (en) Methods for producing structured application-specific integrated circuits that are equivalent to field-programmable gate arrays
US7404161B2 (en) Fullchip functional equivalency and physical verification
US9183332B2 (en) Method for simulation of partial VLSI ASIC design
US10467364B2 (en) Characterizing cell using input waveforms with different tail characteristics
CN108153920A (zh) 集成电路设计的rtl阶段期间的时钟门控验证
CN112069763A (zh) 修正电路的方法
US9390209B2 (en) System for and method of combining CMOS inverters of multiple drive strengths to create tune-able clock inverters of variable drive strengths in hybrid tree-mesh clock distribution networks
US9507903B2 (en) Method for estimation of delays and slews during circuit optimization
Jiang et al. MIRID: Mixed-mode IR-drop induced delay simulator
Friedrich et al. Design methodology for the IBM POWER7 microprocessor
CN116611386A (zh) 将局部穿线电阻变换成全局分布电阻
Shetty ASIC Design Flow And Methodology–An Overview
Ye et al. Exact time-domain second-order adjoint-sensitivity computation for linear circuit analysis and optimization
US6502223B1 (en) Method for simulating noise on the input of a static gate and determining noise on the output
US6434723B1 (en) System and method for evaluating a very large scale integrated circuit for potential design errors
CN117347839B (zh) 芯片测试电路及芯片
Lienig et al. Steps in Physical Design: From Netlist Generation to Layout Post Processing
US6496031B1 (en) Method for calculating the P/N ratio of a static gate based on input voltages
CN117952045A (zh) 用于静态时序分析的具有图案匹配的延迟计算

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: CAVIUM INC.

Free format text: FORMER OWNER: XPLIANT INC.

Effective date: 20150716

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150716

Address after: American California

Applicant after: CAVIUM INC.

Address before: American California

Applicant before: Xi Puliante company

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1207438

Country of ref document: HK

WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150701

WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1207438

Country of ref document: HK