CN103080938B - 用于同时切换噪声优化的方法 - Google Patents

用于同时切换噪声优化的方法 Download PDF

Info

Publication number
CN103080938B
CN103080938B CN201180033590.2A CN201180033590A CN103080938B CN 103080938 B CN103080938 B CN 103080938B CN 201180033590 A CN201180033590 A CN 201180033590A CN 103080938 B CN103080938 B CN 103080938B
Authority
CN
China
Prior art keywords
pin
path
switching time
time
delay
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.)
Active
Application number
CN201180033590.2A
Other languages
English (en)
Other versions
CN103080938A (zh
Inventor
M·H·基珀
J·D·芬德
N·阿齐齐
D·S·戈德曼
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.)
Altera Corp
Original Assignee
Altera Corp
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 Altera Corp filed Critical Altera Corp
Publication of CN103080938A publication Critical patent/CN103080938A/zh
Application granted granted Critical
Publication of CN103080938B publication Critical patent/CN103080938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • 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/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/10Noise analysis or noise optimisation
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

呈现了用于减少用计算机辅助设计(CAD)工具设计的集成电路(IC)中的同时切换噪声(SSN)的方法和装置。在一种方法中,CAD工具接收用于IC的参数的值赋值。录入值赋值为值赋值范围或者为可能值赋值的列表。另外,该方法包括如下操作,该操作用于确定用于输入/输出(I/O)块中的每个I/O管脚的最小和最大路径延迟,从而使得满足接收的值赋值。在时间上展开I/O管脚的实际切换时间以减少I/O管脚中的SSN。展开切换时间以使得切换时间落在用于对应I/O管脚的最小与最大路径延迟之间。此外,包括如下其他方法操作,该其他方法操作用于对通向I/O管脚的路径布线以满足实际切换时间并且用于创建用于IC的满足实际切换时间的设计。

Description

用于同时切换噪声优化的方法
背景技术
定义同时切换噪声(SSN)为由于设备中的其它侵害者输入/输出(I/O)管脚的切换行为而向电子部件的单个受害者I/O管脚上引起的噪声电压。在输出I/O驱动器受害者或者输入I/O缓冲器受害者的背景中考虑这一噪声。
在现场可编程门阵列(FPGA)设计中的SSN优化是多维优化问题。当前优化技术是手动的并且高度地迭代。这些迭代可能由于签核(signoff)SSN分析工具的性质而花费过分长的时间。此外,设计过程并未向计算机辅助设计(CAD)工具给予足够信息和灵活性以在没有用户干预的情况下执行这些优化中的许多优化,因此增加设计时间和少于最优的结果质量。
正是在这一背景中出现本发明的实施例。
发明内容
本发明的实施例提供用于减少用计算机辅助设计(CAD)工具设计的集成电路(IC)中的同时切换噪声(SSN)的方法和系统。
应当领会到,可以按照许多方式实施本发明,比如过程、装置、系统、设备或者在计算机可读介质上的方法。下文描述本发明的若干创造性实施例。在一个实施例中,CAD工具接收用于IC的参数的值赋值。录入值赋值为值赋值范围或者为可能值赋值的列表。另外,该方法包括用于确定用于输入/输出(I/O)块中的每个I/O管脚的最小路径延迟和最大路径延迟以使得满足接收的值赋值的操作。在时间上展开I/O管脚的实际切换时间以减少I/O管脚中的SSN。展开切换时间以使得切换时间落在用于对应I/O管脚的最小路径延迟与最大路径延迟之间。此外,包括用于对通向I/O管脚的路径布线并且用 于创建用于IC的满足实际切换时间的设计的其它方法操作。在另一实施例中,计算机程序在由一个或者多个处理器执行时执行方法操作,计算机程序嵌入于非瞬态计算机可读存储介质中。
在另一实施例中,提供一种用于减少用CAD工具设计的IC中的SSN的方法。该方法包括用于接收用于IC的参数的值赋值的操作,其中接收值赋值为值赋值范围或者为值赋值列表。另外,确定用于每个I/O管脚的所需切换时间以便满足值赋值。在另一方法操作中,基于用于每个I/O管脚的所需切换时间来为每个I/O管脚赋值预算最小路径延迟和预算最大路径延迟。此外,该方法包括用于对通向I/O管脚的路径布线以满足预算最小路径延迟和预算最大路径延迟并且用于创建用于IC的设计的操作。方法操作由处理器执行。
在又一实施例中,呈现一种用于减少用CAD工具设计的IC中的SSN的方法。该方法计算用于I/O块中的每个I/O管脚的所需切换时间,并且确定哪个管脚与每个所需切换时间相关联。按照所需切换时间的顺序进行确定。为了确定每个管脚,该方法检查是否存在至少一个候选管脚以使得所需切换时间落在用于候选管脚的最小延迟路径与最大延迟路径之间。候选管脚是未选择的(即不与所需切换时间相关联的)那些管脚。如果存在至少一个管脚候选,则该方法从满足管脚可以在所需切换时间切换这一条件的候选管脚选择具有最低最大路径延迟的管脚。备选地,如果没有候选管脚满足条件,则该方法从候选管脚选择具有最低最大路径延迟的管脚。另外,该方法包括用于设置用于每个管脚的切换时间的操作。设置切换时间为与落在用于管脚的最小路径延迟与最大路径延迟之间的所需切换时间最接近的时间。方法操作由处理器执行。
本发明的其它方面将从与通过示例图示本发明的原理的附图结合进行的下文具体描述中变得清楚。
附图说明
可以通过参照与附图结合进行的下文描述来最好地理解本发 明,在附图中:
图1图示了根据本发明的一个实施例的为了使用计算机辅助设计(CAD)工具来编程或者制造集成电路(IC)而需要的方法操作。
图2针对不同干扰类型描绘了噪声对信号的影响和对噪声的灵敏度。
图3描绘了根据一个实施例的IC中的路径的布线成本谷(Routing Cost Valley,RCV)。
图4图示了IC中的可编程I/O块的一个实施例。
图5图示了用于以不同路径延迟对IC中的路径布线的备选技术。
图6A-图6C图示了用于确定I/O管脚切换时间的方法的一个实施例。
图7图示了根据本发明的一个实施例的用于确定I/O管脚切换时间的第二方法。
图8A-图8B图示了根据本发明的一个实施例的使用布线延迟预算的时间拖尾(time-smearing)优化。
图9描绘了根据本发明的一个实施例的使用布线成本谷的时间拖尾优化。
图10图示了根据本发明的一个实施例的通路中断深度优化。
图11示出了根据本发明的一个实施例的用于减少用CAD工具设计的IC中的同时切换噪声(SSN)的方法的流程。
图12是用于实施本发明的实施例的计算机系统的简化示意图。
具体实施方式
以下实施例描述用于减少用计算机辅助设计(CAD)工具设计的集成电路(IC)中的同时切换噪声(SSN)的方法和装置。按照不同方式(比如实现向流程的灵活约束录入、修改CAD工具中的拟合 器(fitter)以自动优化SSN等),用CAD工具执行SSN减少。CAD流程的输出是在与非优化流程相比时具有显著提高的SSN性能的用于IC的设计。SSN性能提高并不影响其它结果质量(QOR)性能度量并且无需用户干预,但是在一些实施例中也实现用户干预。指定逼近实际参数值的设计约束允许CAD工具设计具有更低SSN的IC。
然而,本领域技术人员将清楚,在没有这些具体细节中的一些或者所有具体细节的情况下仍然可以实现本发明。在其它实例中,尚未具体描述公知过程操作以免不必要地模糊本发明。
图1图示了根据本发明的一个实施例的为了使用CAD工具106来编程或者制造IC132而需要的方法操作。过程始于设计102,其中硬件工程师创建包含所需电路描述的硬件描述语言(HDL)文件104。HDL文件由CAD工具106用来创建IC设计。CAD工具106的第一操作由提取器108通过解析HDL文件104并且创建逻辑门原语的基本离散网表来执行。在提取器108之后,合成110优化基本网表。
拟合(fitting)112是向设备上布局架构专属块并且恰当连接它们的过程。本发明的实施例改进拟合112阶段以减少SSN 116。拟合阶段可以被进一步分成若干离散组成部分:聚类、布局、布线和拟合后。本发明的实施例改进拟合器的布线阶段,但是也在更早阶段中设想了改变以实现布线中的优化。
聚类取得多个小块并且将它们放入聚类中,因此在聚类级完成以下改进。例如,与输入/输出(I/O)管脚相关联的寄存器可以与I/O管脚聚类在一起。如果移动I/O管脚以改进SSN,则相关联的寄存器将由于聚类而随着I/O管脚移动。
布局模块始于合法非优化布局并且尝试移动或者交换该布局中的块以尝试改进设备性能。可以指引这些移动以改进具体区域、路径或者度量,或者可以随机生成移动。通过计算执行移动的成本来评估每个移动,并且如果成本有利,则接受移动。重复这一移动管脚并且估计成本的过程,直至布局模块确定块移动过程结束。
在许多CAD工具中,布局使用一种被称为模拟退火(SA)的技术。简言之,布局器使用贪心算法以在合法位置布局块。始于这一合法布局,布局器提出移动这些块并且评估执行这样的移动的成本。布局器继而基于成本选择接受或者拒绝每个移动,从而总是接受有益移动并且以下降概率接受有害移动。在一个实施例中,随机接受有害移动以避免变得陷入局部最小值。
布局模块可以考虑许多成本度量。这些成本度量可以包括系统想要改进的面积、时序、功率或者某一其它性能度量的测量。本领域技术人员将领会到,虽然这里呈现的实施例描述SSN成本,但是在布局期间也评估其它成本类型。
布线添加为了恰当连接所有布局的部件而又遵从所有设计规则而需要的所有接线。布线器感兴趣的是用最少量接线对连接布线而又满足时序约束,比如设置和保持时间。商用布线器工具也尝试同时优化其它性能度量,比如功率消耗。
由于路径可能在设置和保持时间二者上具有松弛(slack),所以布线器在对连接布线时的调整存在余地。在用于路径的最小延迟与最大延迟之间的展开被称为延迟预算。对于数据路径,最小延迟是如下延迟,在这一点变得更快将引起保持违反,并且最大延迟是如下点,在该点变得更慢将引起设置违反。对于时钟路径,情况相反。
在拟合后期间,做出依赖于确切时序的判决。由于直至对设计布线才可以知道确切时序,所以在这一点之前做出的判决是估计。在拟合后中,设置I/O延迟链以修复时序和偏斜(skew)的任何问题。另外,执行签核时序和功率分析,并且可以比对合成后网表验证拟合后设计。这些验证操作是可选的。时序分析120计算电路中的路径长度并且估计延迟如何与电路的约束有关。组装122跟随时序分析120。
SSN分析126估计设备的I/O管脚上的SSN,并且使结果可用于硬件设计者。全SSN分析126是计算机资源密集过程,该过程通 过分析诸如信号传播、电路的电性质、缓冲器和传输线的影响之类的多个因素来估计I/O管脚上的SSN。在操作128中,关于是否希望设计创建的新迭代以例如减少SSN做出判决。如果希望新迭代,则过程通常向布局114流回,因为不必再次重新运行提取器108和合成110。在一些实例中,设计工程师在设计已经被完全编译之后提交对设计的功能的小改变。这些小改变普遍被称为工程改变命令(ECO),这些ECO可以通过避免全新编译并且通过利用先前CAD工具计算来产生用于对设计的小改变的大量编译时间节省。然而,如果改变HDL文件104,则过程将向设计102流回以用于全新迭代。如果不希望新迭代,则方法流向操作130,在该操作中用创建的设计来编程或者制造设备。在设备编程/制造过程130期间根据在二进制文件124中定义的指令来生产IC 132。本领域技术人员将领会到,任何商业上可用的电子设计自动化(EDA)工具可以利用这里描述的实施例。
图2针对不同干扰类型描绘了噪声对信号的影响和对噪声的灵敏度。定义同时切换噪声为由于设备中的其它侵害者I/O管脚的切换行为而向电子部件的单个受害者I/O管脚上引入的噪声电压。在实践中,可以测量SSN为电压噪声或者时序噪声。电压噪声故障在SSN事件使静态信号在采样窗期间在阈值边界之上越过时出现。由于噪声事件经常在采样窗以外出现,所以并非所有电压噪声故障将造成功能故障。因此,SSN分析必须了解管脚的时序关系以便确定真实噪声,该真实噪声可能引起设计中的功能噪声。
时序噪声故障在SSN事件使切换信号在阈值边界之上延迟或者加速从而使接收器分别更晚或者更早看见信号时出现。这可能通过使信号违反设置和/或保持时间要求来引起时序故障。假信号(glitch)可能在接收器的采样窗以外出现。通常,这些噪声事件由与受害者同步有关的侵害者引起。这些噪声事件可能影响受害者的切换时间,但是不应被视为输入阈值违反故障。
切换窗技术普遍用于在分析管芯上串扰(cross talk)时减少悲 观。公布的方法分为两大类。第一类涉及如下问题,其中希望发现侵害者缓冲器的切换时间,从而使得最大化噪声脉冲或者时序噪声。第二类涉及使用切换窗分析来减少悲观。这一问题显然不同于第一类工作,因为它应对多层逻辑和互连。
静态时序分析使用延迟模型以分析电路中的路径以确定电路是否将在用户的约束给定时正确工作。如果数据在上升时钟沿之前到达,则保持数据,直至在时钟沿到达之后的某一时间。在数据到达与时钟沿之间的差值被称为设置时间,并且在时钟沿与数据不再稳定的时间之间的差值被称为保持时间。必须满足设置时间和保持时间二者以便可靠地捕获数据。
存在需要分析的两个时钟:起动(launch)时钟和捕获时钟。从起动时钟到捕获时钟的延迟被称为所需时间,并且从起动寄存器到捕获寄存器的延迟被称为到达时间。如果到达时间少于所需时间,则该差值被称为正松弛。如果到达时间大于所需时间,则该差值被称为负松弛并且指示时序故障。在实践中,在管芯变化时,温度变化、模型不准确和其它因素可能使分析不准确。如果时钟为早,则压缩设置时间并且延长保持时间,而如果数据到达晚,则进一步压缩设置时间。因此,为了在所有条件中分析时序,定义设置时间为在最早时钟与最晚数据之间的差值,并且定义保持时间为在最晚时钟与最早数据之间的差值。
所有时序数据用来创建用于路径的“延迟预算”。只要设置时间和保持时间为正(即它们具有正松弛),路径就可以正确工作。这一松弛可以由CAD工具用来判决如何配置路径的元素(布局、布线等)。
用于SSN优化的一些方法包括改变I/O标准、减少I/O缓冲器的当前强度或者回转(slew)速率以及隔开I/O管脚。这些方法由设计工程师以迭代方式手动执行。如果设计复杂,则这一迭代可能花费长时间。根据接收设备的可配置性,改变I/O标准并非总是一个选项。然而,如果接收设备可以被配置成接受不同I/O标准,则这可以 有益于减少现场可编程门阵列(FPGA)设计中的总SSN。例如,从2.5-V I/O标准移向1.8-V I/O标准将减少设计中的SSN但是将会影响时序。
另外,可以通过降低切换I/O缓冲器的电流强度或者通过降低回转速率来减少由切换输出向受害者管脚上注入的噪声。由于设计的SSN性能对由每个输出吸收的电流量高度地敏感,所以由输出所汲取的更少电流将产生更小di/dt分布图,因此减少SSN。使用这一方法假设设备支持用于I/O标准的可编程电流强度或者回转速率。
在管脚之间的互感是SSN的一个原因。由于互感与在管脚之间的距离成反比,所以侵害者与受害者越远,就注入越少噪声。为了利用这一点,应当以减少设计中的总SSN这样的方式隔开管脚。
图3描绘了根据一个实施例的IC中的路径的布线成本谷(RCV)。为了优化设置时间和保持时间,布线器将被称为布线成本谷302的成本曲线用于每个路径。成本在目标延迟时处于最小值并且具有去往最小延迟和最大延迟的正线性斜率。线的斜率被称为连接临界(connection criticality)并且根据延迟预算来计算。向目标左侧的斜率是短路径连接临界,并且向右的斜率是长路径连接临界。斜率在0与1之间并且指示分别用大延迟或者小延迟对连接布线的重要度。惩罚具有比目标延迟更多或者更少的延迟的任何布线,因为在最小延迟之前和在最大延迟之后的区域是二次区域。
本发明的实施例实现录入赋值为列表或者为可能值的范围而不是使选择限于一个具体值。例如,用于向CAD工具(比如由受让人拥有的QUARTUS II)中的用于设置回转速率赋值为“快速(Fast)”的录入如下:
set_instance_assignment-to“pin”-name SLEW_RATE“Fast” (1)
本发明的实施例允许用户录入赋值为列表、范围或者允许CAD工具变化设置以优化性能的其它方法。例如:
set_instance_assignment-to“pin”-name SLEW_RATE“Any” (2)
set_instance_assignment-to“pin”-name SLEW_RATE“Medfast,Fast” (3)
set_instance_assignment-to“pin”-name SLEW_RATE”Slow..Fast” (4)
这使得对于CAD工具和用户二者而言显式的是允许从这些值的默认值改变它们。在式2中,SLEW_RATE的值可以是任何值,在式3中,该值可以是Medfast或者Fast,并且在式4中,该值可以是在Slow与Fast之间的任何值。
图4图示了IC中的可编程I/O块的一个实施例。如先前描述的那样,聚类算法将块分组成更大组以允许布局用更小数目的块工作。这些聚类之一是I/O寄存器和缓冲器块406作为图4中的一个聚类。如果向I/O块406中包装输出寄存器402,则在I/O中布局寄存器402以使用专用布线资源来直接馈给I/O缓冲器404。在这一情况下,布线器可以仅修改I/O延迟链以增加I/O延迟,这比使用设备上的可编程布线资源具有更少的灵活性。
为了向布线器给予灵活性,聚类算法能够在算法打算执行时间拖尾优化时避免向I/O块中包装I/O寄存器。平衡这一判决与现有时序约束以确保不包装I/O寄存器的判决不违反任何路径。
由于布局器可以强迫使用(具有固定延迟的)专用资源对某些连接布线,所以修改布局算法以确保所有短路径关键路径具有可以被添加延迟的至少一个连接。这确保布线器具有用于改变连接延迟以避免该路径上的短路径时序违反的能力。此外,布线器确保未用专用资源布局将时间拖尾的路径,以允许布线器向某些路径添加延迟。
图5图示了用于以不同路径延迟对IC中的路径布线的备选技术。布线器在对块之间的连接布线时具有灵活性,并且这可以变更设计的时序行为。在图5中所示的示例中,布线器可以选择直接502将块508布线到I/O缓冲器506,或者布线器可以选择取道经过更多互连的更长路径504。长路径504造成增加信号到达I/O缓冲器506的布线延迟。重要的是注意这可能增加电路的其余部分中的拥塞并且潜在地损害其它性能度量。布线器在优化路径时考虑这一点。
图6A-图6C图示了用于确定I/O管脚切换时间的方法的一个实施例。对受害者管脚的SSN噪声影响是它的侵害者的所有噪声影 响之和。这些影响随时间变化并且在受害者的每个侵害者的峰噪声在相同时间点出现时是对受害者的最坏情况。时间拖尾(即在时间上展开输出管脚的切换时间)可以将SSN减少多达68%或者更多。
图6A示出了用于通向同步总线的管脚的八个输出路径(bus[0]-bus[7])的延迟预算。对于每个路径,在左侧上的三角形602代表用于该路径的最小延迟而在右侧上的三角形604代表用于该路径的最大延迟。在延迟模型中根据对路径的时序约束而不是根据最小值和最大值推导这些延迟。由于未均匀布局端接单元(寄存器、I/O缓冲器),所以用于同步总线的个别元件的最小延迟和最大延迟很可能互不相同。因此,必须通过考虑总线中的所有路径来实现最优切换时间。
另外,最优切换时间必须考虑时钟域中的所有路径以及任何有关时钟。所需切换时间将都以全局t=0为参考,该全局t=0是用于单个时钟的正沿时间。关于该时钟分析所有有关时钟域,这些时钟域可以包括与相位有关的时钟、负沿触发的寄存等。隔离地优化无关时钟域。
通过取得去往任何管脚的最小可实现延迟和去往任何管脚的最大可实现延迟并且继而在它们之间均匀(线性)隔开切换时间来确定最优或者所需切换时间606。图6A-图6C的方法确定次优的管脚切换时间,但是该方法具有线性O(n)时间复杂度。下文参照图7描述的第二方法为最优,但是具有最坏情况O(n2)时间复杂度。
为了确定用于每个路径的所需延迟,路径被按照它们的最小切换时间来递增排序。在图6B中示出了排序的结果。在图6C中所示的下一操作中,从顶部开始并且朝着底部移动、基于所需切换时间依次向每个管脚赋值延迟。如果用于路径的对应所需切换时间未落在用于该管脚的最小路径与最大路径之间,则设置用于该管脚的实际切换时间为与所需切换时间最接近的在最小路径延迟与最大路径延迟之间的值。这将使实际切换时间为用于该管脚的最小路径延迟或者最大路径延迟。图6C示出了管脚bus[7]和bus[3]如何不能满足所需切换时间,因此用于那些管脚的实现的切换时间对应于用于每个管脚的最大路径延迟。
赋值的延迟继而在布线器中用来优化SSN。在另一实施例中,在延迟预算的每侧上提供时间缓冲以允许更多灵活性。例如,在一个实施例中使用100ps的时间缓冲,但是其它值也是可能的。此外,在左侧和右侧上的缓冲无需是相同大小。用于使用时间缓冲来计算输出的所需切换时间的公式是:
t switch = t b + D min + ( D max - D min - t b width ) index - - - ( 5 )
其中tswitch是实现的切换时间,tb是用于缓冲的时间量,Dmin是最小路径延迟,Dmax是最大路径延迟,width是总线中的管脚数目,并且index是所需切换时间的索引。
图7图示了根据本发明的一个实施例的用于确定I/O管脚切换时间的第二方法。这一方法基于最早截止时间优先(EDF)动态调度算法。以与上文参照图6A描述的相同方式计算用于路径的所需切换时间。该方法继而从最早所需切换时间开始并且依次继续确定哪个管脚与每个所需切换时间相关联,直至最晚所需切换时间。
对于每个所需切换时间,首先确定是否存在其中所需切换时间在用于剩余候选管脚的最小路径延迟与最大路径延迟之间的至少一个候选管脚。候选管脚是未选择的(即与所需切换时间相关联的)那些管脚。如果存在至少一个管脚,则选择来自候选管脚的具有最低最大路径延迟的候选管脚。否则,选择具有最低最大路径延迟的候选管脚。
如图6C中设置用于每个管脚的切换时间为与在用于管脚的最小路径延迟与最大路径延迟之间的所需切换时间最接近的时间。在一个实施例中,执行该方法如下:
1.在优先级队列中插入按照更低最大路径延迟排序的每个路径。
2.从顶部开始、从最早到最晚尝试向所需切换时间中调度每个路径。
3.如果路径的最小延迟大于所需切换时间,那么如果可能则试着调度接下来的下面路径。否则,调度这一路径。如果所需切换时间大于这一路径的最大延迟,则使用最大延迟作为切换时间。
4.继续,直至所有路径具有目标切换时间。
图8A-图8B图示了根据本发明的一个实施例的使用布线延迟预算的时间拖尾优化。为了使用布线延迟预算来时间拖尾输出,改变布线延迟预算以使目标切换时间居中于延迟窗中。布线器在对路径布线时具有更少灵活性,因为经常以具有尽可能与目标延迟接近的路径延迟为目标减少布线延迟预算。
图8A示出了在任何优化发生之前用于三位总线的延迟预算。图8B图示了具有实际最小和最大路径延迟802以及所需切换时间804的一个实施例。修改用于每个位的延迟预算以创建向布线器提供的新延迟预算806。在一个实施例中,创建用于每个位的延迟预算以使所需切换时间804居中于延迟预算中。在一个实施例中,在所需切换时间的每侧上使用相同时间缓冲(例如,100ps)。因此,如果希望bus[0]在切换时间808切换,则在切换时间808周围创建用于布线器的延迟预算。通过使最小路径延迟812等于切换时间808减去时间缓冲810并且使最大路径延迟814等于切换时间808加上时间缓冲810来创建用于布线器的延迟预算。实现的切换时间816将与所需切换时间804几乎相同或者相等。
在另一实施例中,仅改变最小延迟预算并且保留最大延迟预算不变。这确保布线器仍有大量余地来添加延迟以便避开拥塞,但是它具有允许布线器添加更大量延迟并且使切换时间进一步偏离所需切换时间的潜在负面影响。
图9描绘了根据本发明的一个实施例的使用布线成本谷的时间拖尾优化。为了使用布线成本谷来时间拖尾输出,改变目标延迟而不修改用于路径的最小延迟和最大延迟。用以下公式计算默认延迟目标的计算:
D t arg et = min ( D min + D max 2 , D min + t b ) - - - ( 6 )
其中Dtarget是目标切换时间,Dmin是最小路径延迟,Dmax是最大路径延迟,并且tb是用于缓冲的时间量。为了最小化SSN,如先前描述的那样设置用于同步总线的元件的目标延迟为目标切换时间。布线器继而估计目标延迟具有用于该输出的最低成本路径并且尝试优化该延迟。图9图示了用于在三位宽总线终结的三个同步输出路径的修改的布线成本谷。与更早确定的目标切换时间对应的用于总线的最低成本目标对于每个管脚而言不同。
在完成布局之后,可以运行全签核时序分析以获得每个路径上的松弛的准确估计。继而,其它优化可用于改进SSN。一个优化配置IC中的延迟链。FPGA中的I/O块可以具有可编程延迟链以提供管脚上的延迟的细微控制。在时序裕度给定时,这些松弛可以用来以与布线器相同的方式时间拖尾输出的切换时间。延迟链可以用来时间拖尾与专用布线资源连接的路径,比如I/O寄存器到I/O缓冲器的路径。一般而言,进行尝试以避免自动包装这些寄存器,然而,用户赋值和位置约束可能组织CAD工具这样做。在这些情况下,延迟链是用于控制路径的延迟的仅有方式。
在一个实施例中,优化包括以下操作:
1.如先前描述的那样确定所需切换目标。在这一情况下,所用最小延迟和最大延迟是在延迟链的最小设置和最大设置给定时的延迟。如果指定延迟链设置为范围,则这些范围被用作最小延迟和最大延迟。如果存在时序约束,则可能需要在任一端界定范围。
2.使用时间拖尾过程,比如参照图6A-图6C和图7描述的时间拖尾过程。对于每个路径,设置延迟链为达到与该延迟最接近而未越过的值。
由于I/O延迟链是离散的,所以延迟由延迟链中的设置数目界定。因此,仍然可以存在一起切换的I/O管脚组。
另一布局后优化涉及到I/O赋值设置优化。一旦布线器和时序分析已经完成,则存在用于设计的准确延迟模型。如果存在其上具有松弛的任何路径,则可以降级这些路径的时序以换取SSN性能的 益处,而又仍然满足用户的时序要求。该方法利用用户提供的赋值范围减少最坏情况管脚上的SSN。
该方法遍历设计中的每个输出管脚以评价是否存在在路径上的可用于优化的时序裕度。如果存在裕度,则在用户的约束内逐步降低电流强度和回转速率设置。此外,进行检查以查看是否仍然满足时序要求。增量时序分析流程可以用来实施这一优化。
由于这一拟合后设置修改在先前时间拖尾优化之后发生,所以在相同时间修改同步总线的所有元件以保留布线器中优化的延迟目标。否则,可能浪费这些努力,因为设置可能使切换时间再次重叠。然而,不必运行时间拖尾优化以便这一优化生效。
在一个实施例中,在预拟合器中在时间拖尾优化之前运行这一优化以便在消耗裕度时给予更多灵活性。由于两个优化均消耗裕度,所以如果一个优化对于SSN而言比另一优化更好,则应当首先运行该更好优化。为此,可以运行估计流程以评估哪个优化将产生最好结果,并且吉尔首先运行该优化。
另一拟合后优化涉及到用于精确延迟的布线器接线加载。一旦时序分析完成,就存在用于每个路径的精确延迟数据。先前描述的方法尝试实现沿着路径的所需延迟以让输出针对SSN最优地切换。然而,由于在FPGA上可用的布线路径中的离散化,所以不能确切满足这些目标。如果路径具有少于所需切换时间的延迟,则可以潜在增加路径上的延迟而不改变设备的功能。
在一个实施例中,用于执行这一优化的操作包括:
1.计算目标延迟。
2.拟合设计,包括先前描述的时间拖尾技术。在一个实施例中,这包括先前描述的延迟链优化,其中假设选择延迟以使得延迟与目标最接近而未越过目标。
3.对于每个路径:
a.计算为了实现目标延迟而需要添加的延迟。如果该值为负,则确定是否存在用于添加延迟的机会。如果存在,则确定是否可以 增量地降低延迟链设置以允许添加加载延迟。
b.遍历路径中的每个布线元件,并且确定增加路径上的延迟是否有可能。如果是这样,则增加延迟并且确定添加多少延迟。继而从尝试向整个路径添加的量减去该延迟。
c.为由这一方法进行的改变所影响的任何路径更新时序图形。
图10图示了根据本发明的一个实施例的通路中断深度优化。在完全约束并且拟合设计之后,对设计运行SSN分析。QUARTUS II SSN ANALYZER是一个这样的可以完全分析设计并且确定每个管脚上的噪声的工具。一旦已经标识了最坏情况管脚,则可以使该管脚与FGPA管芯更接近地中断以减少该管脚上的SSN噪声。在图10中,电感电容C1大于C2,因为C1中的管脚比C2中的管脚与IC更远离地中断。CAD流程可以建议用户进行这一改变,但是指定这一新深度为向分析器工具的输入约束取决于板设计者。
用于这一优化的操作包括:
1.拟合设计并且运行全SSN分析。
2.如果在设计中存在比某一裕度阈值消耗更多的管脚,则使那些关键与管芯更接近地中断。在另一实施例中,在报告中向用户通知那些管脚是PCB关键的并且应当与管芯更接近地中断。
3.用这一新配置增量地重新运行SSN配置。
图11示出了根据本发明的一个实施例的用于减少用CAD工具设计的IC中的SSN的方法的流程图。在操作1102中,该方法包括接收用于IC的参数的值赋值。可以接收值赋值为范围或者为可能值赋值的列表。在操作1102之后,该方法流向操作1104,该操作用于确定用于I/O块中的每个I/O管脚的满足在操作1102中接收的值赋值的最小路径延迟和最大路径延迟。
在操作1106中,展开I/O管脚的实际切换时间,其中每个实际切换时间在用于对应I/O管脚的最小路径延迟与最大路径延迟之间。这一方法的应用的示例参见图7。在操作1106之后,该方法流向操作1108,其中对通向I/O管脚的路径布线以满足实际切换时间。 在操作1110中创建用于IC的满足实际切换时间的设计。在一个实施例中,方法操作由计算机处理器执行。
图12是用于实施本发明的实施例的计算机系统1200的简化示意图。应当领会到,可以用数字处理系统(比如常规通用计算机系统)执行这里描述的方法。可以在备选方式中使用被设计或者编程为执行仅一个功能的专用计算机。计算机系统包括通过总线1210耦合到随机存取存储器(RAM)128、只读存储器(ROM)1212和大容量存储设备1214的中央处理单元(CPU)1204。SSN优化程序1208驻留于随机存取存储器(RAM)1228中,但是也可以驻留于大容量储存器1214中。
大容量存储设备1214代表可以在本地或者远程的持久数据存储设备,比如软盘驱动或者固定盘驱动。网络接口1230提供经由网络1232的连接,从而允许与其它设备通信。应当领会到,可以在通用处理器、专用处理器或者特殊编程的逻辑器件中体现CPU 1204。输入/输出(I/O)接口提供与不同外设的通信并且通过总线1210与CPU 1204、RAM 1228、ROM1212和大容量存储设备1214连接。范例外设包括显示器1218、键盘1222、光标控制1224、可移动媒体设备1234等。
显示器1218被配置成显示这里描述的用户接口。键盘1222、光标控制1224、可移动媒体设备1234和其它外设耦合到I/O接口1220以便向CPU 1204传达命令选择中的信息。应当领会到,可以通过I/O接口1220传达去往和来自外部设备的数据。也可以在其中任务由通过基于有线或者无线的网络链接的远程处理设备执行的分布式计算环境中实现本发明。
这里描述的用于减少用CAD工具设计的IC中的SSN的方法和系统可以并入于任何适当集成电路中。例如,方法和系统可以并入于其它类型的可编程逻辑器件,比如聊举数例的可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、现场可编程逻辑阵列(FPLA)、电可编程逻辑器件(EPLD)、电 可擦除可编程逻辑群(EEPLD)、逻辑单元阵列(LCA)、专用集成电路(ASIC)中。可编程逻辑器件可以是包括以下部件中的一个或者多个部件的数据处理系统的部分:处理器、存储器;I/O电路以及外围设备。数据处理系统可以使用于广泛多种应用中,比如计算机联网、数据联网、仪表测量、视频处理、数字信号处理或者其中希望有使用可编程或者可重新编程逻辑的优点的任何适当其它应用中。可编程逻辑器件可以用来执行多种不同逻辑功能。例如,可编程逻辑器件可以配置为与系统处理器配合工作的处理器或者控制器。也可以使用可编程逻辑器件作为用于裁决对数据处理系统中的共享资源的访问的裁决器。在又一示例中,可编程逻辑期间可以配置为在处理器与系统中的其它部件之一之间的接口。
可以用包括手持设备、微处理器系统、基于微处理器的或者可编程客户电子设备、小型计算机、主机计算机等的各种计算机系统配置实现本发明的实施例。也可以在其中任务由通过网络链接的远程处理设备执行的分布式计算环境中实现本发明。
了解上述实施例,应当理解,本发明可以运用各种计算机实施的操作,这些操作涉及到存储于计算机系统中的数据。这些操作是需要物理操控物理数量的操作。形成本发明的部分的、这里描述的操作中的任何操作是有用机器操作。本发明也涉及一种用于执行这些操作的设备或者装置。可以具体构造该装置用于所需目的、比如专用计算机。当限定为专用计算机时,计算机也可以执行不是该特殊目的部分的其它处理、程序指令或者例程而,又仍然能够操作用于该特殊目的。备选地,操作可以由通用计算机处理,该通用计算机由存储于一个或者多个计算机存储器、高速缓存中或者通过网络获得的一个或者多个计算机程序有选择地激活或者配置。当通过网络获得数据时,数据可以由网络上的其它计算机(例如,计算资源云)处理。
本发明的一个或者多个实施例也可以被制作为计算机可读介质上的计算机可读代码。计算机可读介质是任何如下数据存储设备, 该数据存储设备可以存储随后可以由计算机系统读取的数据。计算机可读介质的示例包括硬盘驱动、网络附着储存器(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其它光学和非光学数据存储设备。计算机可读介质可以包括通过网络耦合的计算机系统分布的计算机可读有形介质,从而以分布式方式存储并且执行计算机可读代码。
虽然按照具体顺序描述方法操作,但是应当理解可以在操作之间执行其它内务操作或者可以调整操作使得它们在略有不同的时间出现或者可以分布于如下系统中,该系统允许处理操作按照与处理关联的各种结构出现,只要以所需方式执行重叠操作的处理即可。
虽然已经出于理解清楚的目的而以一些细节描述了前述发明,但是将清楚可以在所附权利要求的范围内实现某些改变和修改。因而,当前实施例将被视为示例而非限制,并且本发明将不限于这里给出的细节,而是可以在所附权利要求的范围和等效含义内被修改。

Claims (15)

1.一种用于减少集成电路(IC)中的同时切换噪声(SSN)的方法,所述方法包括:
接收用于所述集成电路的参数的赋值,其中接收所述赋值为赋值范围或者赋值列表之一;
确定用于输入/输出I/O块中的I/O管脚的满足所述赋值的最小路径延迟和最大路径延迟;
展开所述I/O管脚的切换时间,其中每个切换时间在用于对应I/O管脚的所述最小路径延迟与所述最大路径延迟之间;
对用于所述I/O管脚中的每个I/O管脚的路径布线以满足所述切换时间;
创建用于所述集成电路的满足所述切换时间的设计,其中通过处理器执行至少一个方法操作;
确定包括时间松弛的通向所述I/O管脚的路径;以及
降级所确定的路径以减少同时切换噪声,
其中展开所述切换时间还包括:
计算用于所述I/O管脚的所需切换时间,其中所述所需切换时间线性分布于用于所有所述I/O管脚的最小路径延迟与最大路径延迟之间;
根据I/O管脚的所述最大路径延迟对所述I/O管脚排序;
响应于所述排序来一次选择一个I/O管脚,直至已经选择了所有I/O管脚;以及
确定用于每个所选I/O管脚的所述切换时间,
其中所述最小路径延迟是所确定的所需切换时间减去第一预定时间段,并且其中所述最大路径延迟是所确定的所需切换时间加上第二预定时间段。
2.如权利要求1所述的方法,其中选择一个I/O管脚包括:
如果存在在所述最小路径延迟与所述最大路径延迟之间具有未选择的所需切换时间的至少一个未选择的I/O管脚,则从能够在所述未选择的所需切换时间切换的未选择的I/O管脚选择具有最低最大路径延迟的I/O管脚;并且
如果所述未选择的所需切换时间不在任何未选择的I/O管脚的所述最小路径延迟与所述最大路径延迟之间,则从所述未选择的I/O管脚选择具有所述最低最大路径延迟的I/O管脚。
3.如权利要求2所述的方法,其中确定用于每个所选I/O管脚的所述切换时间包括:
将用于所述所选I/O管脚的所述切换时间设置为与在用于所述所选I/O管脚的所述最小路径延迟与所述最大路径延迟之间的用于所述所选I/O管脚的所述所需切换时间最接近的时间。
4.如权利要求1所述的方法,其中计算所述所需切换时间还包括所述I/O管脚中的任何I/O管脚未在第一切换时间与第二切换时间之间切换的缓冲时段。
5.如权利要求1所述的方法,其中在计算机辅助设计(CAD)工具的布局和布线阶段期间执行展开所述I/O管脚的所述切换时间。
6.如权利要求1所述的方法,其中所述方法操作由计算机程序在所述计算机程序由一个或者多个处理器执行时执行,其中所述计算机程序嵌入于非瞬态计算机可读存储介质中。
7.一种用于减少集成电路(IC)中的同时切换噪声(SSN)的方法,所述方法包括:
接收用于所述集成电路的参数的赋值,其中接收所述赋值为赋值范围或者赋值列表之一;
确定用于输入/输出I/O块中的I/O管脚的满足所述赋值的最小路径延迟和最大路径延迟;
展开所述I/O管脚的切换时间,其中每个切换时间在用于对应I/O管脚的所述最小路径延迟与所述最大路径延迟之间;
对用于所述I/O管脚中的每个I/O管脚的路径布线以满足所述切换时间;
创建用于所述集成电路的满足所述切换时间的设计,其中通过处理器执行至少一个方法操作;
确定包括时间松弛的通向所述I/O管脚的路径;以及
降级所确定的路径以减少同时切换噪声,
其中展开所述切换时间还包括:
计算用于所述I/O管脚的所需切换时间,其中所述所需切换时间线性分布于用于所有所述I/O管脚的最小路径延迟与最大路径延迟之间;
根据I/O管脚的所述最小路径延迟对所述I/O管脚排序;
响应于所述排序来一次选择一个I/O管脚,直至已经选择了所有I/O管脚;以及
将用于每个所选I/O管脚的所述切换时间确定为与在用于所述所选I/O管脚的所述最小路径延迟与所述最大路径延迟之间的所需切换时间最接近的时间,
其中所述最小路径延迟是所确定的所需切换时间减去第一预定时间段,并且其中所述最大路径延迟是所确定的所需切换时间加上第二预定时间段。
8.一种用于减少集成电路(IC)中的同时切换噪声(SSN)的方法,所述方法包括:
接收用于所述集成电路的参数的赋值,其中接收所述赋值为赋值范围或者赋值列表之一;
确定用于I/O管脚的满足所述赋值的所需切换时间;
基于用于所述I/O管脚的所述所需切换时间来赋值用于所述I/O管脚的预算最小路径延迟和预算最大路径延迟;
对用于所述I/O管脚中的每个I/O管脚的路径布线以满足所述预算最小路径延迟和所述预算最大路径延迟;
创建用于所述集成电路的设计,其中通过处理器执行至少一个方法操作;
确定包括时间松弛的通向所述I/O管脚的路径;以及
降级所确定的路径以减少同时切换噪声,
其中确定所述所需切换时间还包括:
将用于所述I/O管脚中的每个I/O管脚的所述所需切换时间设置为在用于每个I/O管脚的所述最小路径延迟和所述最大路径延迟的平均值与用于每个I/O管脚的所述最小路径延迟加上第一预定时间段之后之中的最小值,
其中所述最小路径延迟是所确定的所需切换时间减去第一预定时间段,并且其中所述最大路径延迟是所确定的所需切换时间加上第二预定时间段。
9.如权利要求8所述的方法,还包括:
确定通向所述I/O管脚的关键路径;并且
在其中能够添加延迟的每个关键路径中提供至少一个连接。
10.如权利要求8所述的方法,其中所述方法操作由计算机程序在所述计算机程序由一个或者多个处理器执行时执行,其中所述计算机程序嵌入于非瞬态计算机可读存储介质中。
11.一种用于减少集成电路(IC)中的同时切换噪声(SSN)的方法,所述方法包括:
计算用于输入/输出I/O块中的I/O管脚的所需切换时间;
确定与每个所需切换时间相关联的I/O管脚,其中所述确定包括:
如果存在至少一个未选择的I/O管脚的未选择的所需切换时间在用于所述至少一个未选择的I/O管脚的最小路径延迟与最大路径延迟之间,则从能够在所述未选择的所需切换时间切换的所述未选择的I/O管脚选择具有最低最大路径延迟的I/O管脚;并且
如果所述未选择的所需切换时间不在任何未选择的I/O管脚的所述最小路径延迟与所述最大路径延迟之间,则从所述未选择的I/O管脚选择具有所述最低最大路径延迟的I/O管脚;
将用于每个I/O管脚的所述切换时间设置为与在用于每个I/O管脚的所述最小路径延迟与所述最大路径延迟之间的所述所需切换时间最接近的时间,其中通过处理器执行至少一个方法操作;
确定包括时间松弛的通向所述I/O管脚的路径;以及
降级所确定的路径以减少同时切换噪声,
其中所述最小路径延迟是所确定的所需切换时间减去第一预定时间段,并且其中所述最大路径延迟是所确定的所需切换时间加上第二预定时间段。
12.如权利要求11所述的方法,还包括:
确定具有最高同时切换噪声的I/O管脚;以及
改变所确定的I/O管脚被限定成在所述集成电路可操作用于位于其中的板中中断的地方以减少在待中断的所述地方与所述集成电路之间的距离。
13.如权利要求11所述的方法,还包括:
为每个I/O管脚计算为了实现所述I/O管脚的所述切换时间而需要的延迟量;以及
遍历通向每个I/O管脚的路径中的每个布线单元以添加延迟。
14.如权利要求13所述的方法,还包括:
更新用于在所述遍历期间改变的任何路径的时序图形。
15.如权利要求11所述的方法,其中所述方法操作由计算机程序在所述计算机程序由一个或者多个处理器执行时执行,其中所述计算机程序嵌入于非瞬态计算机可读存储介质中。
CN201180033590.2A 2010-07-09 2011-07-08 用于同时切换噪声优化的方法 Active CN103080938B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/833,797 US8296704B1 (en) 2010-07-09 2010-07-09 Method and apparatus for simultaneous switching noise optimization
US13/833,797 2010-07-09
PCT/US2011/043402 WO2012006553A2 (en) 2010-07-09 2011-07-08 Method and apparatus for simultaneous switching noise optimization

Publications (2)

Publication Number Publication Date
CN103080938A CN103080938A (zh) 2013-05-01
CN103080938B true CN103080938B (zh) 2016-10-05

Family

ID=45441839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180033590.2A Active CN103080938B (zh) 2010-07-09 2011-07-08 用于同时切换噪声优化的方法

Country Status (4)

Country Link
US (2) US8296704B1 (zh)
EP (1) EP2591429A4 (zh)
CN (1) CN103080938B (zh)
WO (1) WO2012006553A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6070002B2 (ja) * 2012-09-19 2017-02-01 富士通株式会社 設計支援装置、設計支援方法及びプログラム
US10452797B2 (en) * 2013-12-06 2019-10-22 Synopsys, Inc. Fault insertion for system verification
CN104866678B (zh) * 2015-06-01 2017-12-29 复旦大学 Fpga时序约束布局方法
US9659139B2 (en) * 2015-06-18 2017-05-23 Nvidia Corporation Approach for performing improved timing analysis with improved accuracy
KR20170042121A (ko) 2015-10-08 2017-04-18 삼성전자주식회사 파워-업 시퀀스를 제어하는 반도체 장치
JP6645114B2 (ja) * 2015-10-16 2020-02-12 富士通株式会社 設計支援プログラム、情報処理装置、および設計支援方法
US9871725B2 (en) * 2016-01-21 2018-01-16 International Business Machines Corporation Wireless data transfer as an alternative method to overcome errors or noise in a storage environment
US10078722B2 (en) * 2016-06-13 2018-09-18 International Business Machines Corporation Dynamic microprocessor gate design tool for area/timing margin control
US11023632B2 (en) 2016-06-29 2021-06-01 Bar-Iian University Pseudo-asynchronous digital circuit design
US10521530B2 (en) * 2016-07-28 2019-12-31 Bar-Ilan University Data-dependent delay circuits
US11321460B2 (en) 2018-02-28 2022-05-03 Bar-Ilan University Information redistribution to reduce side channel leakage
US10810344B1 (en) * 2019-03-29 2020-10-20 Hongchang Liang Multi-instantiation time budgeting for integrated circuit design and manufacturing
US11380835B2 (en) 2019-07-22 2022-07-05 Microsoft Technology Licensing, Llc Determining critical timing paths in a superconducting circuit design
US10769344B1 (en) * 2019-07-22 2020-09-08 Microsoft Technology Licensing, Llc Determining timing paths and reconciling topology in a superconducting circuit design
US11321513B1 (en) * 2020-11-10 2022-05-03 Ansys, Inc. DVD analysis that accounts for delays
CN117150994B (zh) * 2023-10-30 2024-01-23 北京云枢创新软件技术有限公司 一种信号赋值延时的分析方法、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731407A (zh) * 2005-09-05 2006-02-08 威盛电子股份有限公司 电源分配系统的分析方法及相关技术
WO2009012436A1 (en) * 2007-07-19 2009-01-22 Xilinx, Inc. Method of and circuit for suppressing noise in a circuit
CN101442301A (zh) * 2007-11-20 2009-05-27 富士通株式会社 可变延迟电路、存储器控制电路、延迟量设置装置和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2247138B (en) 1990-06-29 1994-10-12 Digital Equipment Corp System and method for error detection and reducing simultaneous switching noise
JPH10207920A (ja) * 1997-01-16 1998-08-07 Fujitsu Ltd 回路設計方法および装置
US7194714B2 (en) * 2003-10-17 2007-03-20 International Business Machines Corporation Method of reducing instantaneous current draw and an integrated circuit made thereby
US7228514B2 (en) * 2005-01-21 2007-06-05 International Business Machines Corporation Method, system and computer program product for automatically estimating pin locations and interconnect parasitics of a circuit layout
US7523430B1 (en) 2005-09-09 2009-04-21 Altera Corporation Programmable logic device design tool with simultaneous switching noise awareness
US7330051B1 (en) * 2006-02-14 2008-02-12 Altera Corporation Innovated technique to reduce memory interface write mode SSN in FPGA
US7468616B1 (en) * 2006-08-30 2008-12-23 Xilinx, Inc. Circuit for and method of generating a delay in an input/output port of an integrated circuit device
US8234611B2 (en) 2008-07-02 2012-07-31 International Business Machines Corporation System and method for modeling I/O simultaneous switching noise
US7728630B1 (en) * 2009-01-29 2010-06-01 Xilinx, Inc. Method and apparatus for a process, voltage, and temperature variation tolerant semiconductor device
US8205181B1 (en) * 2010-03-05 2012-06-19 Applied Micro Circuits Corporation Victim net crosstalk reduction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731407A (zh) * 2005-09-05 2006-02-08 威盛电子股份有限公司 电源分配系统的分析方法及相关技术
WO2009012436A1 (en) * 2007-07-19 2009-01-22 Xilinx, Inc. Method of and circuit for suppressing noise in a circuit
CN101442301A (zh) * 2007-11-20 2009-05-27 富士通株式会社 可变延迟电路、存储器控制电路、延迟量设置装置和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
超深亚微米芯片互连线电感提取技术及应用;何剑春等;《浙江大学学报(工学版)》;20021130;第36卷(第6期);第638-641页 *
高速数字PCB板互连噪声建模与仿真研究;韩海涛;《中国优秀博硕士学位论文全文数据库(硕士)》;20061215;第2006年卷(第12期);第I135-212页 *

Also Published As

Publication number Publication date
WO2012006553A3 (en) 2012-04-19
CN103080938A (zh) 2013-05-01
EP2591429A4 (en) 2015-02-25
US8627254B2 (en) 2014-01-07
WO2012006553A2 (en) 2012-01-12
US20130080987A1 (en) 2013-03-28
EP2591429A2 (en) 2013-05-15
US8296704B1 (en) 2012-10-23

Similar Documents

Publication Publication Date Title
CN103080938B (zh) 用于同时切换噪声优化的方法
EP1969502B1 (en) System and method of criticality prediction in statistical timing analysis
US9165098B1 (en) Machine readable products for single pass parallel hierarchical timing closure of integrated circuit designs
JP4477632B2 (ja) 自動回路設計のための方法と装置
US6799308B2 (en) Timing analysis of latch-controlled digital circuits with detailed clock skew analysis
US8745560B1 (en) Methods for generating a user interface for timing budget analysis of integrated circuit designs
US7680626B2 (en) System and method of analyzing timing effects of spatial distribution in circuits
US20050091025A1 (en) Methods and systems for improved integrated circuit functional simulation
CN104573169A (zh) 以自动流水线操作能力设计集成电路的方法和工具
US20090271750A1 (en) Timing constraint merging in hierarchical soc designs
US9542524B2 (en) Static timing analysis (STA) using derived boundary timing constraints for out-of-context (OOC) hierarchical entity analysis and abstraction
US9443050B2 (en) Low-voltage swing circuit modifications
CN107918694A (zh) 用于减少集成电路上的延迟的方法
US20090132981A1 (en) Method for Incremental, Timing-Driven, Physical-Synthesis Using Discrete Optimization
US6507938B1 (en) Methods for improving the performance of VLSI layouts designed by a timing driven physical design tool
CN106257467A (zh) 用于在设计编译流程中利用针对寄存器重定时的估计的方法和装置
Chowdhary et al. How accurately can we model timing in a placement engine?
CN114117943A (zh) 物理设计布局阶段的时序预测方法
US11042678B2 (en) Clock gate latency modeling based on analytical frameworks
US10540464B1 (en) Critical path aware voltage drop analysis of an integrated circuit
Pan et al. Timing-driven placement
Papa et al. SPIRE: A retiming-based physical-synthesis transformation system
Livramento et al. Exploiting non-critical Steiner tree branches for post-placement timing optimization
US10963620B1 (en) Buffer insertion technique to consider edge spacing and stack via design rules
Prasad et al. Analysis, Physical Design and Power Optimization of Design Block at Lower Technology Node

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant