CN111027276A - 基于多相电平敏感锁存器的集成电路优化系统和方法 - Google Patents

基于多相电平敏感锁存器的集成电路优化系统和方法 Download PDF

Info

Publication number
CN111027276A
CN111027276A CN201910917462.2A CN201910917462A CN111027276A CN 111027276 A CN111027276 A CN 111027276A CN 201910917462 A CN201910917462 A CN 201910917462A CN 111027276 A CN111027276 A CN 111027276A
Authority
CN
China
Prior art keywords
level sensitive
latch
sensitive latch
signal
timing
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
CN201910917462.2A
Other languages
English (en)
Inventor
刘保
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.)
Zhuhai Chixin Semiconductor Co ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202211570494.8A priority Critical patent/CN116205175A/zh
Publication of CN111027276A publication Critical patent/CN111027276A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • 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
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • 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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

本发明涉及一种集成电路优化系统和方法,该方法包括将边沿触发的时序元件(比如,触发器)转换为包含多相电平敏感锁存器的等效模块,继而采用某些基于电平敏感锁存器的优化技术,比如电平敏感锁存器重定时、和基于预测或者检测通过电平敏感锁存器的信号传输的优于最坏情况设计。

Description

基于多相电平敏感锁存器的集成电路优化系统和方法
相关申请
本申请基于2018年10月9日提交的、标题为“Integrated Circuit OptimizationSystem and Method Based on Transformation from Edge-Triggered SequentialElements to Level-Sensitive Latches”的美国临时专利申请US62/743,248,以及2019年4月12日提交的、标题为“Integrated Circuit Optimization System and Method Basedon Transformation from Edge-Triggered Sequential Elements to Level-SensitiveLatches”的美国临时专利申请US 62/833,127。这些申请的全部内容在此以引用方式作为本文的一部分。
技术领域
本发明涉及集成电路设计优化技术。
背景技术
同步时序电路包含时序元件和组合逻辑网络。组合逻辑在时序元件之间构成逻辑级。时序元件一般是时钟边沿触发的触发器。逻辑表达式首先由逻辑综合生成一个由单元库中的逻辑门构成的网络,之后可以采用优化技术比如逻辑优化或者寄存器重定时。逻辑优化通过逻辑转换找到相同逻辑的等效实现同时达到特定设计指标比如时序性能。寄存器或者锁存器重定时通过在电路结构中移动一个时钟边沿触发的触发器或者电平敏感的锁存器来更好的平衡在两个相邻逻辑级中的关键信号传播路径。
基于触发器的传统集成电路要求数据信号早于时钟信号到达触发器。传统的静态时序分析通过检查组合逻辑网络中的最坏情况信号传播时延是否小于时钟周期来验证这一点(细节包括信号建立时间,保持时间,时钟漂移,不确定性,等等)。电平敏感锁存器的时序要求不同于触发器,比如,电平敏感锁存器允许数据信号晚于锁存器使能信号到达。
在静态时序分析中,时间借用发生在数据信号晚于锁存器使能信号到达电平敏感锁存器的情况。这种情况不是时序错误,因为锁存器是透明的允许信号通过。借用的时间或者说数据信号晚于锁存器使能信号到达的那部分时间需要在接下来的信号传输中偿还,该信号需要在接下来的时钟周期中完成在后续的逻辑级中的传输。具体来说,静态时序分析对这种情况的验证方法是对电平敏感锁存器采用和触发器一样的时序要求,即信号传输路径时延必须小于时钟周期,但是一个电平敏感锁存器借用的时间需要包含在从该锁存器出发的信号传输路径的时延之中。相关技术可以参考Mau-Chung Chang的于2008年8月5日提交的、标题为“Method for Verifying Timing of a Circuit”的美国专利US 2009/0055786 A1。
集成电路工艺进步引起制造工艺过程,电源电压,片上温度,以及其他参数扰动显著增加。因此,即使一个参数的正常值随工艺进步而减小,这个参数的最佳值和最差值并不成比例减小。这影响了集成电路性能进步,因为传统的同步时序电路设计方法要求一个逻辑级中的逻辑运算必须在一个时钟周期内完成,包括最坏情况。考虑借用时间和补偿时间之后,这一要求对于电平敏感锁存器同样适用。
另外一种集成电路设计方法是优于最坏情况设计以达到性能提升,功耗降低,以及/或者面积减小。比如,不要求逻辑运算必须在一个时钟周期内完成。在某些应用中,比如图像和语音处理,一定的错误率是可以接受的,因此可以采用近似计算达到功耗,性能,和面积改进。一个简单的近似计算技术是超频,就是允许某些关键信号传输路径时延超出时钟周期。如果这样带来的错误率可以接受,超频技术就可以被采用。在另外一些应用中,系统通过检测和纠正错误或者预测和防止错误来保证零错误率。具体技术包括在集成电路中采用检错码或者纠错码,或者检错时序设计比如Razor Razor设计参见KrisztianFlautner、Todd Michael Austin、David Theodore Blaauw、和Trevor Nigel Mudge的于2003年3月20日提交的、标题为“Error Detection and Recovery Within ProcessingStages of an Integrated Circuit”的美国专利US 10/392,382,以及Peter A.Beerel、Melvin Breuer、Benmao Cheng、和Dylan Hand的于2015年5月1日提交的、标题为“TimingViolation Resilient Asynchronous Template”的美国专利US14/702,426。
一种实用的时序错误预测方案参见V.De,A.B.Kahng、T.Karnik,B.Liu,M.Maleki和L.Wang的发表于ACM Journal on Emerging Technologies in Computing Systems(JETC)-Special Issue on Cross-Layer System Design and Regular Papers,12(3),2015年9月,21:1-21:19页的、标题为“Application-Specific Cross-Layer OptimizationBased on Predictive Variable-Latency VLSI Design”的文章。
发明内容
本发明涉及一种集成电路优化系统和方法,该方法包括将边沿触发的时序元件(比如,触发器)转换为包含多相电平敏感锁存器的等效模块,继而采用基于电平敏感锁存器的优化技术,比如电平敏感锁存器重定时、和基于预测或者检测通过电平敏感锁存器的信号传输的优于最坏情况设计,优化后的集成电路包括相互分离的多相电平敏感锁存器、边沿触发时序元件、和组合逻辑网络。
在本发明的一种实施方式中,集成电路时序性能改进来自于电平敏感锁存器重定时,或者说,在电路结构中移动在时序关键信号传输路径起始端或终止端的电平敏感锁存器能够减少信号传输路径时延。相比较,现有的寄存器重定时技术或者说在电路结构中移动时钟边沿触发的触发器的技术能够平衡在触发器的输入端和输出端的信号传输路径时延,但其只能达到有限的时序性能改进。将该触发器转换为包含有主从锁存器的等效模块为电路优化提供了额外自由度,在电路结构中移动其中一个电平敏感锁存器可以减少与之相连的信号传输路径的时延而不影响与另一个电平敏感锁存器相连的信号传输路径。
在本发明的一种实施方式中,将数据信号到达一个电平敏感锁存器的时间与锁存器关闭信号到达时间进行比较,该锁存器关闭信号由信号传输路径决定。这种时序要求和传统的基于时间借用的时序要求不同,能为集成电路性能优化提供额外空间。
电平敏感锁存器重定时导致很多信号传输路径通过电平敏感锁存器,信号通过这种路径传输是小概率事件。在集成电路优化中不考虑这些小概率事件可以改进功耗、性能、和面积;预测或者检测并处理这种小概率事件能保证系统功能正确。在本发明的一种实施方式中,预测信号通过关键路径来进行传输是基于观察该路径的某些边沿输入来实现的。在本发明的另一种实施方式中,检测时序错误是通过在电平敏感锁存器和在它之前的锁存器关闭时比较该电平敏感锁存器的输入输出来实现的。
根据本发明的第一方面,提供了一种针对包含边沿触发时序元件的集成电路的优化方法,所述优化方法包含以下步骤:a.将边沿触发时序元件转换为包含多相电平敏感锁存器的等效模块;b.在所述集成电路的电路结构中移动所述电平敏感锁存器中的一个电平敏感锁存器。
根据本发明的第二方面,提供了一种装置,所述装置包含有限状态机,所述有限状态机从多个组合逻辑级中输入信号,并输出信号以显示信号传输通过穿过电平敏感锁存器的时序关键路径。
根据本发明的第三方面,提供了一种装置,所述装置包含比较器,在包含多相电平敏感锁存器的集成电路中,当电平敏感锁存器和所有上一级电平敏感锁存器都不透明时,所述比较器比较所述电平敏感锁存器的输入输出信号。
根据本发明的第四方面,提供了一种用于存储计算机指令的计算机可读介质,所述指令当被计算机执行时实施根据本发明的第一方面的方法。
附图说明
本发明的有利因素在以下具体实施方式和附图说明中得到体现。
图1示出了传统的触发器重定时技术的示意图。
图2示出了传统的电平敏感锁存器重定时技术的示意图。
图3示出了根据本发明的实施例的将边沿触发器转换为等效模块的示意图,该等效模块包含两个分别在两个相反的时钟相位透明的电平敏感锁存器。
图4示出了根据本发明的实施例的示例集成电路优化方法的一个示例的示意图。
图5示出了根据本发明的实施例的集成电路优化方法的另一示例的示意图。
图6示出了根据本发明的实施例的集成电路优化方法的又一示例的示意图。
图7示出了根据本发明的实施例的集成电路优化方法的再一示例的示意图。
图8示出了现有的对同步数字系统的静态时序分析方法的示意图。
图9示出了现有的静态时序分析中的时间借用方法的示意图。
图10示出了根据本发明的实施例的一套针对包含双相电平敏感锁存器的集成电路的时序约束的示意图。
图11示出了根据本发明的实施例的一套针对包含四相电平敏感锁存器的集成电路的时序约束的示意图。
图12示出了根据本发明的实施例的以有限状态机为形式的时序错误预测装置的框图。
图13示出了根据本发明的实施例的时序错误检测装置的框图。
图14示出了根据本发明的实施例的集成电路优化方法的流程图。
本发明可能有多种修改和不同形式,某些具体实施方式由附图展示并将具体说明。附图可能不成比例。应当理解附图和具体说明的用意并不是将本发明限制在某些具体形式中,相反,其用意是覆盖在由权利要求所规定的本发明的精神下和范围内的所有修改的,等效的,和不同的形式。
具体实施方式
应当理解本发明不局限于特定器件或系统,器件或系统当然有彼此不同。还应当理解此处使用的术语仅仅是为了描述特定的实施方式,并不是给本发明设定限制。
图1示出了传统的触发器重定时技术的示意图。时序性能改进来自于更好地平衡终止于和起始于某触发器的信号传输路径的时延。与此类似,图2示出传统的电平敏感锁存器重定时技术的示意图。时序性能改进来自于更好地平衡终止于和起始于某电平敏感锁存器的信号传输路径的时延。
图3示出了根据本发明的实施例的将边沿触发时序元件转换为包含多相电平敏感锁存器的等效模块的示意图。具体来说,将D触发器转换为一对分别在两个相反时钟相位里透明的主从锁存器。可将更复杂的边沿触发时序元件类似地转换为包含多相电平敏感锁存器的等效模块。
图4示出了根据本发明的实施例的集成电路优化方法的一个示例的示意图,该方法包括进行时序元件转换,并将锁存器从与非逻辑门的输入移动到该逻辑门的输出。具体而言,在图4所示的方法中,将两个边沿触发触发器转换为电平敏感锁存器,然后将两个电平敏感锁存器从与非门的输入移除,在与非门的输出插入一个新的电平敏感锁存器,同时在该与非门的扇入锥的扇出节点,也就是非门的输入,插入另一个电平敏感锁存器。
图5示出了根据本发明的实施例的集成电路优化方法的另一示例的示意图,该方法可包括在时序关键路径中插入电平敏感锁存器,在插入的锁存器a的扇入锥输入端做时序元件转换和电平敏感锁存器移除,以及在该扇入锥的输出端插入锁存器的步骤,这些步骤可在将边沿触发时序元件转换为电平敏感锁存器之后使用。具体而言,在图5所示的方法中,首先,识别需要缩短的时序关键路径,比如,针对建立时间约束。其次,将在该路径的起始端处的触发器转换为包含电平敏感锁存器的等效模块。再其次,将电平敏感锁存器从关键路径的起始端移动到新的位置。新的位置(1)满足时序约束,(2)成本比如芯片面积和/或功耗最小。接下来,从新插入的锁存器(a)向初始输入端遍历门级网络得到锁存器的扇入锥。该扇入锥的输入是一组时序元件,其中每一个边沿触发的时序元件都需要转换为包含电平敏感锁存器的等效模块(包括电平敏感锁存器b和c)。接下来移除在扇入锥的输入的每一个电平敏感锁存器,同时在该扇入锥的每一个扇出节点插入电平敏感锁存器(包括d,e,和f),使得没有任何信号传输路径连续通过两个同时透明的电平敏感锁存器,即使将边沿触发时序元件转换为包含电平敏感锁存器的等效模块之后依然如此。
图6示出了根据本发明的实施例的集成电路优化方法的又一示例的示意图,该方法可包括进行时序元件转换,并将锁存器从一个与非逻辑门的输出移动到该逻辑门的输入。具体而言,在图6所示的方法中,将两个触发器转换为电平敏感锁存器,然后将两个电平敏感锁存器从与非门的扇出锥输出端移除,将两个新的电平敏感锁存器插入在与非门的输入,同时将另一个电平敏感锁存器插入在与非门扇出锥的一个扇入节点,该扇入节点也是与门的一个输入。
图7示出了根据本发明的实施例的集成电路优化方法的再一示例的示意图,该方法可包括在时序关键路径中插入电平敏感锁存器,在插入的锁存器a的扇出锥输出端做时序元件转换及电平敏感锁存器移除,以及在该扇出锥的输入端插入锁存器的步骤,这些步骤可在把一个边沿触发时序元件转换为电平敏感锁存器之后使用。具体而言,在图7所示的方法中,首先,识别需要缩短的时序关键路径,比如,针对建立时间约束。其次,将该路径的终止端处的触发器转换为包含电平敏感锁存器的等效模块。再其次,将电平敏感锁存器从关键路径的终止端移动到新的位置。新的位置(1)满足时序约束,(2)成本比如芯片面积和/或功耗最小。接下来,从新插入的锁存器(a)向初始输出端遍历门级网络得到锁存器的扇出锥。该扇出锥的输出是一组时序元件,其中每一个边沿触发的时序元件都需要转换为一个包含电平敏感锁存器的等效模块(包括电平敏感锁存器b和c)。接下来,移除在扇出锥的输出的每一个电平敏感锁存器,同时在该扇出锥的每一个扇入节点插入一个电平敏感锁存器(包括d),使得没有任何信号传输路径连续通过两个同时透明的电平敏感锁存器,即使将一个边沿触发时序元件转换为一个包含电平敏感锁存器的等效模块之后依然如此。
集成电路受限于时序约束。图8示出了现有的对同步数字系统的静态时序分析方法的示意图。在图8的方法中,信号到达时间受信号建立时间和信号保持时间约束。另外,在图8的示例中,触发器是上升时钟边沿触发的。具体而言,图8给出了在一个传统的基于触发器的同步时序电路中的信号建立时间和保持时间约束,其中d是一个逻辑级中的信号传输时延,Tc是时钟周期,Thold是信号保持时间约束,Tsetup是信号建立时间约束。在该传统的静态时序分析方法中,逻辑门和互联时延在每一逻辑级中积累,得到的信号传输路径时延与接受信号的触发器的信号建立和保持时间约束做比较。
图9示出了现有的静态时序分析中的时间借用方法的示意图。在图9的方法中,信号到达电平敏感锁存器的时间通过借用时间被调整,借用时间是信号到达时间超出锁存器开启时钟边沿到达时间的部分,而锁存器的信号建立时间和保持时间是相对于锁存器关闭时钟边沿,最大借用时间来自于建立时间约束,任何借用时间需要在下一逻辑级被补偿。图中电平敏感锁存器是当时钟信号高电平时透明,时钟信号在半个时钟周期为高电平。尤其地,图9给出了基于单相电平敏感锁存器的集成电路的建立和保持时间,其中信号传输通过一系列由单相时钟信号控制的电平敏感锁存器。d是逻辑级中的信号传输时延,Tc是时钟周期,Thold是信号保持时间约束,Tsetup是信号建立时间约束。图中电平敏感锁存器当时钟信号φ高电平时透明,时钟信号在半个时钟周期内高电平。每一个电平敏感锁存器相对于锁存器去能信号或关闭时钟边沿有建立时间和保持时间,即数据信号在锁存器去能信号或关闭时钟边沿之前和之后必须保持稳定的最小时间。当信号在锁存器使能信号或开启时钟边沿之后到达电平敏感锁存器的数据端时发生时间借用。借用时间Tborrow 是数据信号到达时间超出锁存器使能信号或开启时钟信号到达时间的部分。最大借用时间是锁存器使能信号到达时间和去能信号到达时间或者开启时钟边沿到达时间和关闭时钟边沿到达时间除去建立时间之后之间的时间。补偿时间Tcompensate是信号在发射信号的锁存器输入端或前一逻辑级输出的借用时间。在传统的静态时序分析中,每一个逻辑级中的逻辑门和互连时延累积起来。从所有可能路径到达接收端电平敏感锁存器的最晚信号到达时间用来计算电平敏感锁存器的借用时间或者补偿时间。对于起始于电平敏感锁存器并终止于边沿触发的触发器的信号传输路径,路径时延检查是基于信号到达边沿触发的触发器的建立和保持时间,所述建立和保持时间和图8所示相同,但是起始端电平敏感锁存器的任何补偿时间需要在信号传输路径时延中考虑进来。
在基于多相锁存器的集成电路中,信号传输通过一系列由一组多相时钟信号开启的电平敏感锁存器。在典型设计中,当时钟信号使得锁存器变透明,数据信号通过该锁存器(通常穿过组合逻辑网络),到达在下一时钟周期透明的锁存器。如果在接受锁存器透明之前信号到达,信号等待下一级传输。如果信号在接受锁存器透明时到达,时间借用发生,信号继续传输穿过下一逻辑级。如果信号在接收端锁存器透明然后不透明之后到达,信号不能传输通过锁存器。信号必须再等待一个时钟周期才能通过所述锁存器,在这段时间里下一时钟周期的逻辑计算可能摧毁该信号而造成逻辑错误。
因此,信号需要在接收端锁存器变不透明前到达。建立时间描述的是信号到达电平敏感锁存器的时间和使得电平敏感锁存器不透明的时钟边沿的到达时间之间的最小允许时间。数据信号需要在时钟边沿使得电平敏感锁存器不透明之后保持稳定。保持时间描述的是在使得电平敏感锁存器不透明的时钟边沿之后数据信号需要保持稳定的最小时间间隔。
图10示出了根据本发明的实施例的一套针对包含双相电平敏感锁存器的集成电路的时序约束的示意图。在该图中n是信号传输路径穿过的逻辑级的数目。具体而言,图10给出了在基于双相电平敏感锁存器的集成电路中的信号建立和保持时间约束,在该电路中,信号传输经过由两个相反相位的时钟信号交替控制的电平敏感锁存器序列。其中di是第i个逻辑级中的信号传输时延,Tc是时钟周期,Thold是信号保持时间约束,Tsetup是信号建立时间约束。
图11示出了根据本发明的实施例的一套针对包含四相电平敏感锁存器的集成电路的时序约束的示意图。在该图中,n是信号传输路径穿过的逻辑级的数目,k是时钟相位数,m是时钟信号高电平的相位数。具体而言,图11给出了基于四相电平敏感锁存器的集成电路的建立和保持时间约束,其中信号传输通过一系列由四个不同相位的时钟信号分别控制的电平敏感锁存器。图中四个不同相位的时钟信号分别在时钟周期的0,25%,50%,和75%上升,在时钟周期的50%,75%,100%,和25%下降。di是第i个逻辑级中的信号传输时延,Tc是时钟周期,Thold是信号保持时间约束,Tsetup是信号建立时间约束。在任何数据信号传输路径上,电平敏感锁存器依次变透明:在电平敏感锁存器变透明后,数据信号从它传输通过逻辑网络,在逻辑网络的输出端接受信号的电平敏感锁存器在下一时钟相位变透明。每一个电平敏感锁存器在两个连续的时钟相位中透明,在另两个连续的时钟相位不透明。信号传输通过第一个逻辑级的时延必须小于三个时钟相位除去接受端电平敏感锁存器的建立时间,使得信号有时间在接受端电平敏感锁存器不透明之前建立;它还必须大于接受端电平敏感锁存器的保持时间除去一个时钟周期,使得前一周期的信号在接收端电平敏感锁存器不透明后保持。这一保持时间约束通常很容易满足,因为它要求信号传输时延大于某一负值。任何时钟漂移和/或不确定性需要考虑进来。
图11还给出了基于多相电平敏感锁存器的集成电路的建立和保持时间约束的普遍形式,其中信号传输通过一系列由不同相位的时钟信号分别控制的电平敏感锁存器。设k为时钟相位数,m为电平敏感锁存器不透明的时钟相位数,n为信号传输路径穿过的逻辑级数,图14给出了在基于多相电平敏感锁存器的集成电路中的建立时间和保持时间的普遍形式。具体来说,n增加一,可允许的穿过n个逻辑级的最大最小数据传输路径时延分别增加一个时钟相位的时长。这是对于基于多相电平敏感锁存器的电路,其中信号传输通过一系列有连续相位时钟信号控制的电平敏感锁存器。在某些情况下,在一条信号传输路径上的电平敏感锁存器序列中某些时钟相位可能缺失。在更普遍意义上来说,到达一个电平敏感锁存器的数据信号的建立时间约束取决于下一个锁存器关闭信号,其保持时间约束取决于前一个锁存器关闭信号。这对电平敏感锁存器构成的触发器同样成立。
当信号传输经过的逻辑级数n趋近无穷时,图10或11中的时序约束趋近于图8或9中的时序约束。但实际上在大多数情况中,n很小,图10或11中的时序约束比图8或9中的时序约束更宽松,给集成电路性能优化更多空间。这是因为:(1)只有当数据信号晚于锁存器使能信号到达锁存器时信号传输路径通过电平敏感锁存器;其他情况下电平敏感锁存器输出信号到达时间取决于锁存器使能信号到达时间。(2)考虑参数扰动,当参数扰动不完全相关时,信号传输路径越长,参数扰动相互抵消效果越大,导致最坏情况负时间裕量出现在有限长度信号传输路径上;例外情况是信号在闭环中传输,其最坏情况负时间裕量出现在无限长度信号传输路径上。上述例外情况需要在时序分析中考虑。时序分析不需要跟踪信号传输通过无穷逻辑级,因为当信号传输通过的逻辑级数n增加时,每个逻辑级对任何负时间裕量的贡献减小,所以在某一时刻结束计算信号到达时间可以获得足够的精度。
相比较传统的对电平敏感锁存器采用时间借用的静态时序分析方法,基于图10或11中的时序约束的静态时序分析方法需要在多个时钟相位或周期中追朔信号传输穿过电平敏感锁存器,并比较数据信号到达电平敏感锁存器的时间和原设计中在数据信号到达后立即关闭锁存器的锁存器去能信号到达时间。这种时序分析方法需要更大计算量,更长时间,和更大存储空间以得到多个时钟周期内的信号到达时间。但是,这种方法给出完整的跨越多个逻辑级的信号传输路径,有利于本发明的优化方法的实施,比如,确认信号传输路径的起始端和终止端。这种方法的另一个优势是它的时序约束比传统的基于时间借用的对电平敏感锁存器的时序约束更宽松,给性能优化更多空间。因为在传统的基于时间借用的方法中,信号传输路径不通过电平敏感锁存器,电平敏感锁存器上的最大信号到达时间给出借用时间或者对所有起始于所述电平敏感锁存器的信号传输路径的补偿时间。该补偿时间对某些路径是过大。
以上时序约束为集成电路性能提高提供更大空间,此外,将边沿触发时序元件转换为包含多相电平敏感锁存器的等效模块为优化集成电路提供更多自由度。比如,如果一条时序关键路径p1终止于某触发器的输入,而另一条时序关键路径p2起始于该触发器的输出,则在电路结构中移动该触发器并不能改进该电路的性能或者缩短时钟周期,因为缩短起始于该触发器的时序关键路径p2不可避免地造成终止于该触发器的时序关键路径p1的性能恶化,反之亦然。利用本发明将该触发器转换为包含一对主从电平敏感锁存器的等效模块后,比方说,移动从锁存器可以减小起始于从锁存器输出的时序关键路径p2的时延,而不影响终止于主锁存器输入的时序关键路径p1,其时延可以在下一个优化步骤中减小,比如,移动在该时序关键路径p1的起始点的电平敏感锁存器。
重复这个过程可以减小逐个关键路径的时延。当转换为包含电平敏感锁存器的等效模块的边沿触发时序元件逐渐增多时,通过电平敏感锁存器或者跨越多个逻辑级的时序关键路径也会增多。信号通过这类长路径传输的概率很低。因此这类电路适合采用优于最坏情况集成电路设计技术。在本发明的一个实施方式中,长的信号传输路径可以被简单地设置成伪路径,这样在电路优化中可以得到更优的功耗,性能,和/或面积,如果由此产生的错误率可以接受。在本发明的另一个实施方式中,为保证零错误率,集成电路检测然后纠正或者预测然后防止任何可能的时序错误。
图12示出了根据本发明的实施例的以有限状态机为形式的时序错误预测装置的框图,所述装置通过采样在一个包含多相电平敏感锁存器的集成电路中不同逻辑级中的信号来预测时序错误。具体而言,图12示出了本发明基于优于最坏情况集成电路设计技术的一种实施方式,在这种实施方式中,信号传输路径时延超过时钟周期。为保证零错误率,任何时间当信号在该路径中传输时,监视模块产生信号,该信号启动一个时钟控制逻辑门,给出额外时钟周期,使得过慢的逻辑运算得以完成,然后恢复系统运行。
图12示出了有限状态机形式的监视模块,该有限状态机在多个时钟相位中从组合逻辑网络中提取输入信号。构建所述有限状态机首先要确认在包含多相电平敏感锁存器的集成电路中跨越一个或多个逻辑级的时序关键路径,然后选择所述时序关键路径的部分边沿输入,然后设计在多个时钟相位在所述边沿输入接收到预定模式的信号后输出逻辑1的有限状态机。对在一条信号传输路径上的逻辑门来说,边沿输入是不在路径上的逻辑门输入。为让信号传输通过路径,边沿输入需要取该逻辑门的非控制逻辑值。为让信号在多个时钟相位中传输通过时序关键路径,边沿输入需要在特定相位分别取特定的非控制逻辑值。比如,图12示出在跨越两个逻辑级的时序关键路径上的两个与门。两个与门的两个边沿输入需要在两个连续的时钟相位取逻辑值1。可以构建当两个边沿输入在两个连续的时钟相位取逻辑值1后输出逻辑值1的有限状态机。
信号传输通过路径的概率取决于该路径的所有边沿输入取相应的非控制逻辑值的概率,可以用一些最小的边沿输入取非控制逻辑值的概率来估计。因此,最好选择具有最小的取非控制逻辑值的边沿输入作为时序错误预测装置中有限状态机的输入,使得该装置预测时序错误的发生概率最小,同时选择少数边沿输入减小该装置的硅成本。这样的装置预测信号传输通过给定时序关键路径的每一次事件,任何错误的预测导致性能下降但不是逻辑错误。
图13示出了根据本发明的实施例的时序错误检测装置的框图,所述装置在一个包含多相电平敏感锁存器的集成电路中,当一个电平敏感锁存器和前一级电平敏感锁存器都不透明时,比较该电平敏感锁存器的输入输出信号。具体而言,图13示出了本发明优于最坏情况设计的另一种实施方式。在图13所示的集成电路中,信号传输通过一系列由四相位的时钟信号控制的电平敏感锁存器。所述锁存器依次变透明,依次变不透明。每一个锁存器在两个连续的时钟相位中保持不透明。当电平敏感锁存器不透明,它的前一级电平敏感锁存器也不透明时,应该没有信号到达它们之间的逻辑网络;否则,这样信号是一个迟到的信号,该信号无法通过接收端的电平敏感锁存器,会在接下来的逻辑运算中被摧毁。这样的迟到的信号可以被时序错误检测装置检测到,该装置包括一组比较器,每个比较器比较在时序关键路径终点的电平敏感锁存器的输入输出。或者,如果信号迟到太晚,在时序关键路径终点的装置无法捕捉到,可以在时序关键路径的中部插入电平敏感锁存器和时序错误检测装置,插入的电平敏感锁存器与在时序关键路径终点的锁存器由同样的时钟信号控制。
插入这样的时序错误检测装置包括确认一组时序关键路径,其相对于一组给定的时钟信号的时延不超出给定余量范围。检测到时序错误会调用时序错误恢复机制,比如重新执行出错的运算,或时序错误纠正机制,比如移动时钟相位来捕捉一个迟到的信号。
这样的带有一个时序错误预测/检测装置和时序错误恢复/纠错机制的集成电路的平均性能取决于预测/检测时序错误的事件发生概率,时序错误不发生时的性能,以及发生时序错误时的性能,包括时序错误恢复/纠正引起的性能下降。因此,该集成电路中的组合逻辑网络优化可以针对概率目标比如平均性能,同时考虑预测/检测时序错误的事件发生概率。比如,具有微小信号传输概率的时序关键路径适合优于最坏情况设计,可以插入时序错误预测/检测装置;具有较大信号传输概率的时序关键路径适合组合逻辑优化或者锁存器移除和插入以减少信号传输时延。
图14示出了根据本发明的实施例的集成电路优化方法的流程图,该集成电路优化方法包括以下步骤:将边沿触发时序元件转换成包含多相电平敏感锁存器的等效模块,进行电平敏感锁存器重定时,进行更多的到电平敏感锁存器的转换,进行电平敏感锁存器重定时,和进行优于最坏情况设计技术。具体而言,图14示出本发明的优选实施方式,即一个集成电路优化系统和方法,包括以下步骤:将一个边沿触发时序元件转换为一个包含多相电平敏感锁存器的等效模块,电平敏感锁存器重定时,更多到电平敏感锁存器的转换,电平敏感锁存器重定时,和优于最坏情况设计技术。通常有一个迭代过程,在该过程中集成电路得到逐步优化,最后满足所有设计指标,达到设计完成。
本发明涉及一种集成电路优化系统和方法,该方法包括将边沿触发的时序元件(比如,触发器)转换为包含多相电平敏感锁存器的等效模块,继而采用某些基于电平敏感锁存器的优化技术,比如电平敏感锁存器重定时、和基于预测或者检测通过电平敏感锁存器的信号传输的优于最坏情况设计。
本专利引用某些专利,专利申请,和其他材料(比如文章)。这些专利,专利申请,和其他材料的文本只在和其他文字和图表不冲突的情况下才引用。任何有冲突的专利,专利申请和其他材料的文本不在本专利引用范围之内。
本技术领域的熟练人员通过本说明可以清楚了解本发明在各方面还有进一步修改和不同实施方式。本说明的目的是为本技术领域的熟练人员示出并讲解本发明的一般实施方式。应当理解所示出和描述的本发明的方式是具体实施方式的例子。所示出和描述的要点和材料可能有替代,部件和过程可能颠倒,本发明的某些功能可能可以独立使用,这些本领域熟练人员通过本说明都可以清楚了解。在此描述的某些要点可能改变,只要不偏离以下权力要求所描述的本发明的精神和范围。

Claims (15)

1.一种针对包含边沿触发时序元件的集成电路的优化方法,所述优化方法包含以下步骤:
a.将边沿触发时序元件转换为包含多相电平敏感锁存器的等效模块;
b.在所述集成电路的电路结构中移动所述电平敏感锁存器中的一个电平敏感锁存器。
2.根据权利要求1所述的优化方法,其中,被转换的边沿触发时序元件在时序关键路径的起始端,所述方法还包含以下步骤:
c.通过遍历网表,从被移动的电平敏感锁存器的输入出发,到时序元件或初始输入结束,找到被移动的电平敏感锁存器的扇入锥;
d.在所述扇入锥输入端的任何初始输入插入边沿触发时序元件,然后将所述扇入锥输入端的每一个边沿触发时序元件转换为包含多相电平敏感锁存器的等效模块;
e.移除在所述扇入锥输入端的某个特定时钟相位的电平敏感锁存器;
f.在所述扇入锥输出端插入所述时钟相位的电平敏感锁存器。
3.根据权利要求1所述的优化方法,其中,被转换的边沿触发时序元件在时序关键路径的终止端,所述方法还包含以下步骤:
c.通过遍历网表,从被移动的多相电平敏感锁存器的输出出发,到时序元件或初始输出结束,找到被移动的电平敏感锁存器的扇出锥;
d.在所述扇出锥输入端的任何最终输出插入边沿触发时序元件,然后将所述扇出锥输出端的每一个边沿触发时序元件转换为包含多相电平敏感锁存器的等效模块;
e.移除在所述扇出锥输出端的某个特定时钟相位的电平敏感锁存器;
f.在所述扇出锥输入端插入所述时钟相位的电平敏感锁存器。
4.根据权利要求2或3所述的优化方法,其中,还包括找到所述时序关键路径的第一时序分析步骤,所述第一时序分析步骤进一步包括以下步骤:
a.累加在逻辑级中的信号传输路径上的逻辑门和互连的时延;
b.如果电平敏感锁存器在信号到达时透明,穿过所述电平敏感锁存器继续累加一条信号传输路径上的逻辑门和互连的时延;
c.约束每个电平敏感锁存器的输入信号到达时间早于所述锁存器关闭时间。
5.根据权利要求4所述的优化方法,其中,还包括找到所述时序关键路径的所述终止端的第二时序分析步骤,所述第二时序分析步骤进一步包括以下步骤:
a.累加在逻辑级中的信号传输路径上的逻辑门和互连的时延;
b.找到电平敏感锁存器的最大借用时间;
c.如果电平敏感锁存器的最大借用时间被更新,重新累加从所述电平敏感锁存器起始的一条信号传输路径上的逻辑门和互连的时延;
d.重新累加时延结束后,约束每个电平敏感锁存器的输入信号到达时间早于所述锁存器关闭时间。
6.根据权利要求1所述的优化方法,所述优化方法还包含将时序关键路径设置为伪路径然后优化所述集成电路的步骤。
7.根据权利要求6所述的优化方法,所述优化方法还包含在所述集成电路中加入预测或检测时序错误的模块的步骤,当信号传输通过所述时序关键路径时,所述模块给出时序错误显示信号。
8.根据权利要求7所述的优化方法,所述优化方法还包含下列步骤:
g.找到所述时序关键信号传输路径的边沿输入,所述边沿输入有小概率取非控制逻辑值从而允许信号传输通过所述时序关键路径;
h.构建集成电路模块,当所述边沿输入取非控制逻辑值时,所述模块输出时序错误显示信号。
9.根据权利要求7所述的优化方法,其中,所述时序错误检测模块包含比较器比较电平敏感锁存器的输入输出,当所述电平敏感锁存器和任何上一级电平敏感锁存器不透明时,如果所述电平敏感锁存器的输入输出不匹配,所述比较器输出时序错误显示信号。
10.根据权利要求2所述的优化方法,所述步骤a、b、c、d、e、和f被迭代执行。
11.根据权利要求3所述的优化方法,所述步骤a、b、c、d、e、和f被迭代执行。
12.根据权利要求1所述的优化方法,所述优化方法还包含迭代过程,所述迭代过程包含将一条时序关键路径设置为伪路径然后优化所述集成电路的步骤。
13.一种装置,所述装置包含有限状态机,所述有限状态机从多个组合逻辑级中输入信号,并输出信号以显示信号传输通过穿过电平敏感锁存器的时序关键路径。
14.一种装置,所述装置包含比较器,在包含多相电平敏感锁存器的集成电路中,当电平敏感锁存器和所有上一级电平敏感锁存器都不透明时,所述比较器比较所述电平敏感锁存器的输入输出信号。
15.一种用于存储计算机指令的计算机可读介质,所述指令当被计算机执行时实施根据权利要求1所述的优化方法。
CN201910917462.2A 2018-10-09 2019-09-26 基于多相电平敏感锁存器的集成电路优化系统和方法 Pending CN111027276A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211570494.8A CN116205175A (zh) 2018-10-09 2019-09-26 基于多相电平敏感锁存器的集成电路优化系统和方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862743248P 2018-10-09 2018-10-09
US62/743,248 2018-10-09
US201962833127P 2019-04-12 2019-04-12
US62/833,127 2019-04-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211570494.8A Division CN116205175A (zh) 2018-10-09 2019-09-26 基于多相电平敏感锁存器的集成电路优化系统和方法

Publications (1)

Publication Number Publication Date
CN111027276A true CN111027276A (zh) 2020-04-17

Family

ID=70199553

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910917462.2A Pending CN111027276A (zh) 2018-10-09 2019-09-26 基于多相电平敏感锁存器的集成电路优化系统和方法
CN202211570494.8A Pending CN116205175A (zh) 2018-10-09 2019-09-26 基于多相电平敏感锁存器的集成电路优化系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202211570494.8A Pending CN116205175A (zh) 2018-10-09 2019-09-26 基于多相电平敏感锁存器的集成电路优化系统和方法

Country Status (1)

Country Link
CN (2) CN111027276A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611768A (zh) * 2020-05-21 2020-09-01 北京百度网讯科技有限公司 用于监控时钟信号的方法和装置
CN115276613A (zh) * 2022-08-05 2022-11-01 珠海錾芯半导体有限公司 基于边缘触发器和敏感锁存器的集成电路及其可编程电路
CN115577662A (zh) * 2022-11-23 2023-01-06 山东启芯软件科技有限公司 一种基于多fanout逻辑的时序器件资源优化方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9503616D0 (sv) * 1995-10-17 1995-10-17 Forskarpatent I Linkoeping Ab Anordning vid grindar och flipp-floppar
US6542999B1 (en) * 1999-11-05 2003-04-01 International Business Machines Corp. System for latching first and second data on opposite edges of a first clock and outputting both data in response to a second clock
US20050005214A1 (en) * 2003-06-27 2005-01-06 International Business Machines Corporation Transparent latch circuit
US20050212578A1 (en) * 2004-03-25 2005-09-29 Shigeto Inui Logic circuit, logic circuit design method, logic circuit design system, and logic circuit design program
US7346861B1 (en) * 2004-12-02 2008-03-18 Altera Corporation Programmable logic devices with two-phase latch circuitry
US8010923B1 (en) * 2008-05-28 2011-08-30 Xilinx, Inc. Latch based optimization during implementation of circuit designs for programmable logic devices
US20120182055A1 (en) * 2011-01-13 2012-07-19 Oracle International Corporation Flop type selection for very large scale integrated circuits
CN106462553A (zh) * 2014-05-09 2017-02-22 南加利福尼亚大学 时序违规弹性异步模板
WO2018007839A1 (en) * 2016-07-08 2018-01-11 Zompakis Nikolaos Dynamic frequency boosting exploiting path delay variability in integrated circuits
CN207249670U (zh) * 2016-09-16 2018-04-17 赛灵思公司 防止保持时间违例的电路
WO2018132131A1 (en) * 2017-01-15 2018-07-19 Bao Liu Optimization system and method for integrated circuits including multi-phase level-sensitive latches

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9503616D0 (sv) * 1995-10-17 1995-10-17 Forskarpatent I Linkoeping Ab Anordning vid grindar och flipp-floppar
WO1997015116A2 (en) * 1995-10-17 1997-04-24 Forskarpatent I Linköping Ab Tspc latches and flipflops
US6542999B1 (en) * 1999-11-05 2003-04-01 International Business Machines Corp. System for latching first and second data on opposite edges of a first clock and outputting both data in response to a second clock
US20050005214A1 (en) * 2003-06-27 2005-01-06 International Business Machines Corporation Transparent latch circuit
US20050212578A1 (en) * 2004-03-25 2005-09-29 Shigeto Inui Logic circuit, logic circuit design method, logic circuit design system, and logic circuit design program
US7346861B1 (en) * 2004-12-02 2008-03-18 Altera Corporation Programmable logic devices with two-phase latch circuitry
US8010923B1 (en) * 2008-05-28 2011-08-30 Xilinx, Inc. Latch based optimization during implementation of circuit designs for programmable logic devices
US20120182055A1 (en) * 2011-01-13 2012-07-19 Oracle International Corporation Flop type selection for very large scale integrated circuits
CN106462553A (zh) * 2014-05-09 2017-02-22 南加利福尼亚大学 时序违规弹性异步模板
WO2018007839A1 (en) * 2016-07-08 2018-01-11 Zompakis Nikolaos Dynamic frequency boosting exploiting path delay variability in integrated circuits
CN207249670U (zh) * 2016-09-16 2018-04-17 赛灵思公司 防止保持时间违例的电路
WO2018132131A1 (en) * 2017-01-15 2018-07-19 Bao Liu Optimization system and method for integrated circuits including multi-phase level-sensitive latches

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611768A (zh) * 2020-05-21 2020-09-01 北京百度网讯科技有限公司 用于监控时钟信号的方法和装置
CN111611768B (zh) * 2020-05-21 2023-04-25 北京百度网讯科技有限公司 用于监控时钟信号的方法和装置
CN115276613A (zh) * 2022-08-05 2022-11-01 珠海錾芯半导体有限公司 基于边缘触发器和敏感锁存器的集成电路及其可编程电路
CN115577662A (zh) * 2022-11-23 2023-01-06 山东启芯软件科技有限公司 一种基于多fanout逻辑的时序器件资源优化方法
CN115577662B (zh) * 2022-11-23 2023-03-10 山东启芯软件科技有限公司 一种基于多fanout逻辑的时序器件资源优化方法

Also Published As

Publication number Publication date
CN116205175A (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
US7701255B2 (en) Variability-aware scheme for asynchronous circuit initialization
KR102327567B1 (ko) 타이밍 위반 탄력 비동기식 템플릿
CN111027276A (zh) 基于多相电平敏感锁存器的集成电路优化系统和方法
US20150161312A1 (en) Static checking of asynchronous clock domain crossings
US8042010B2 (en) Two-phase clock-stalling technique for error detection and error correction
US6690203B2 (en) Method and apparatus for a failure-free synchronizer
US8327307B2 (en) Method and system for eliminating implementation timing in synchronization circuits
Ahmadi et al. A timing error mitigation technique for high performance designs
US7735032B2 (en) Early HSS Rx data sampling
WO2012164541A1 (en) Method and circuit for solving metastability conditions and recovering signal errors in digital integrated circuits
US10726189B2 (en) Less-pessimistic static timing analysis for synchronous circuits
US7982502B2 (en) Asynchronous circuit representation of synchronous circuit with asynchronous inputs
US20240232501A1 (en) Integrated Circuit Optimization System and Method Based on Multi-Phase Level-Sensitive Latches
Hassoun et al. Optimal path routing in single-and multiple-clock domain systems
US7802214B2 (en) Methods and apparatuses for timing analysis of electronics circuits
Chinnery et al. Automatic replacement of flip-flops by latches in ASICs
Poornima et al. Functional verification of clock domain crossing in register transfer level
WO2018132131A1 (en) Optimization system and method for integrated circuits including multi-phase level-sensitive latches
JP5338919B2 (ja) 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置
Sia et al. Synchronous design of 8259 programmable interrupt controller
EP1308862B1 (en) Optimization of the design of a synchronous digital circuit
Kalel et al. A Generic CDC Modeling for Data Stability Verification
Nischitha et al. Lint, CDC and RDC analysis for PCIe subsystem using VC_Spyglass
CN115276613A (zh) 基于边缘触发器和敏感锁存器的集成电路及其可编程电路
Zhang et al. Deadlock recovery in asynchronous networks on chip in the presence of transient faults

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20221122

Address after: 5-169, Yunxi Valley, No. 168, Youyou Road, Xiangzhou District, Zhuhai, Guangdong

Applicant after: Zhuhai Chixin Semiconductor Co.,Ltd.

Address before: California, USA

Applicant before: Liu Bao