CN114021509A - 在验证期间的逻辑设计中的根时钟频率的动态调整 - Google Patents
在验证期间的逻辑设计中的根时钟频率的动态调整 Download PDFInfo
- Publication number
- CN114021509A CN114021509A CN202111110133.0A CN202111110133A CN114021509A CN 114021509 A CN114021509 A CN 114021509A CN 202111110133 A CN202111110133 A CN 202111110133A CN 114021509 A CN114021509 A CN 114021509A
- Authority
- CN
- China
- Prior art keywords
- signal
- input
- target
- root clock
- state
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/04—Clock gating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种用于动态地调整仿真系统上的逻辑系统设计的根时钟频率的方法包括:识别从所述逻辑系统设计的多个信号输入中的一个到所述逻辑系统设计的多个信号输出中的一个的多个信号路径,所述多个信号路径中的每一个具有信号传播延迟;使用放置在目标信号输入处的校验逻辑来确定到在前根时钟周期中到目标信号输入的输入信号的状态;基于在所述当前根时钟周期中到所述目标信号输入的所述输入信号的所述状态以及沿着与所述目标信号输入相关联的每个信号路径的一个或多个逻辑器件,从所述当前根时钟周期中的所述多个信号路径中确定目标信号路径;以及基于排除目标信号路径的多个信号路径的信号传播延迟的最长信号传播延迟来确定逻辑系统设计的根时钟频率。
Description
技术领域
本公开涉及集成电路(IC)芯片设计验证的技术领域,并且更具体地涉及一种在验证期间动态地调整逻辑系统设计中的根时钟频率的方法和装置。
背景技术
在IC芯片设计过程中,通常通过在多个现场可编程门阵列(FPGA)上运行IC芯片的硬件描述语言以仿真IC芯片,从而验证IC芯片设计。在硬件仿真中,多个FPGA由根时钟同步。通常,根时钟频率由信号可以由从任意输入向任意输出传播的所有路径的最长路径来确定。因为硬件仿真过程可能花费许多时钟周期来完成,所以将根时钟频率动态地调整为比由最长路径确定的根时钟频率更高可以显著地减少仿真过程的持续时间。
发明内容
根据本公开,提供了一种用于在仿真系统上动态地调整逻辑系统设计的根时钟频率的方法。所述方法包括:识别从所述逻辑系统设计的多个信号输入中的一个到所述逻辑系统设计的多个信号输出中的一个的多个信号路径,所述多个信号路径中的每一个具有信号传播延迟;使用放置在所述目标信号输入处的校验逻辑确定到当前根时钟周期中的目标信号输入的输入信号的状态;基于到所述当前根时钟周期中的所述目标信号输入的所述输入信号的状态和沿着与所述目标信号输入相关联的每个信号路径的一个或多个逻辑器件,从所述当前根时钟周期中的所述多个信号路径中确定目标信号路径;以及基于排除所述目标信号路径的所述多个信号路径的所述信号传播延迟的最长信号传播延迟,确定所述逻辑系统设计的所述根时钟频率。
此外,根据本公开,提供了一种用于动态地调整仿真系统上的逻辑设计的根时钟频率的装置。该装置包括存储程序指令的存储器和被配置为执行程序指令以进行以下操作的处理器:从逻辑系统设计的多个信号输入中的一个到逻辑系统设计的多个信号输出中的一个的多个信号路径,多个信号路径中的每一个具有信号传播延迟;使用放置在目标信号输入处的校验逻辑来确定到当前根时钟周期中的目标信号输入的输入信号的状态;基于输入信号到当前根时钟周期中的目标信号输入的状态和沿着与目标信号输入相关联的每个信号路径的一个或多个逻辑器件,从当前根时钟周期中的多个信号路径中确定目标信号路径;以及基于排除目标信号路径的多个信号路径的信号传播延迟的最长信号传播延迟来确定用于逻辑系统设计的根时钟频率。
此外,根据本公开,提供了一种计算机可读存储介质,其存储用于动态地调整仿真系统上的逻辑设计的根时钟频率的计算机程序。所述计算机程序执行:识别从所述逻辑系统设计的多个信号输入中的一个到所述逻辑系统设计的多个信号输出中的一个的多个信号路径,所述多个信号路径中的每一个具有信号传播延迟;使用放置在所述目标信号输入处的校验逻辑确定到当前根时钟周期中的目标信号输入的输入信号的状态;基于到所述当前根时钟周期中的所述目标信号输入的所述输入信号的所述状态和沿着与所述目标信号输入相关联的每个信号路径的一个或多个逻辑器件,从所述当前根时钟周期中的所述多个信号路径中确定目标信号路径;以及基于排除所述目标信号路径的所述多个信号路径的所述信号传播延迟的最长信号传播延迟,确定所述逻辑系统设计的所述根时钟频率。
附图说明
图1示出了根据本发明的一些实施例的动态地调整芯片设计验证中的根时钟频率的示例性方法的流程图。
图2是示出根据本公开的一些实施例的、使用多个现场可编程门阵列 (FPGA)的逻辑设计的仿真的示意图。
图3示出了图2中所示的多个FPGA的信号路径的示例性完整列表。
图4示出了根据本公开的一些实施例的、排除具有处于不变状态的一个信号输入的目标信号路径的示例性结果。
图5示出了根据本发明的一些实施例的、排除三个信号输入中的一个处于0状态的目标信号路径的示例性结果。
图6示出了根据本发明的一些实施例的、在芯片设计检验中动态地调整根时钟频率的示例性设备。
具体实施方式
下面参考附图详细描述本公开的实施例。在整个说明书中,附图中相同或相似的附图标记表示具有相同或相似功能的相同或相似的元件。所描述的实施例是本公开的一些而非全部实施例。本领域普通技术人员基于所描述的实施例在无需创造性的努力的情况下获得的其他实施例应该落入本公开的范围内。除非存在冲突,否则实施例的以下实施例和特征可以彼此组合。
在被最终用于生产之前,逻辑系统设计(例如,集成电路(IC)芯片) 通常需要被验证。可以通过使用多个现场可编程门阵列(FPGA)来仿真 (emulate)逻辑系统设计来实现逻辑设计的验证。逻辑设计的仿真可以包括将逻辑设计的硬件描述语言(HDL)代码编译成门级网表,并且在配置为模仿逻辑设计的多个FPGA上实现该门级网表。通过在FPGA上运行仿真的逻辑设计系统,可以生成逻辑设计系统的波形以用于进一步验证。
由于一个FPGA仅可以提供有限数量的门,多个FPGA中的每个FPGA仅模拟逻辑设计的一个或多个组件。可以连接多个FPGA以硬件地模拟整个逻辑系统设计。根据仿真逻辑设计系统的根时钟来同步多个FPGA之间的信号传输。在一个根时钟周期内,在仿真逻辑设计系统的信号输入处的输入信号可能需要通过多个FPGA传播,以达到目标信号输出处,从而使得跨FPGA的每个仿真组件的状态可以被同步。
通常,仿真逻辑设计系统包括多个信号输入和多个信号输出。输入信号从一个信号输入传播到一个信号输出的路径被称为信号路径。多个FPGA中的每一个包括至少一个逻辑器件,诸如触发器、逻辑门、寄存器等。当信号传播通过逻辑器件时,出现传播延迟。当信号通过连接两个逻辑器件的导线传播时,也会出现传播延迟。通过将信号路径沿线的逻辑器件和导线的传播延迟累加,可以计算信号路径的传播延迟。
仿真逻辑设计系统通常包括具有不同传播延迟的多个信号路径。为了确保输入信号在根时钟周期内传播通过所有信号路径,根时钟周期需要大于或等于仿真逻辑设计系统的所有信号路径中的最长信号路径的传播延迟。最长信号路径称为关键路径。因此,关键路径的传播延迟决定根时钟频率。
在一些实施例中,在编译期间,可以编译逻辑系统设计的硬件描述语言 (HDL)代码,并且可以计算所有信号路径的传播延迟。通过求解关键路径的传播延迟的倒数可以确定根时钟频率。在仿真期间,根时钟用于同步仿真系统中的多个FPGA。根时钟在整个仿真期间保持恒定。
通常,可以根据关键路径的传播延迟来确定根时钟频率。由于关键路径的传播延迟是多个信号路径中的最长信号路径,所以将根时钟频率设置为相应地最低,从而导致仿真非常耗时。
在某些情况下,信号输入处的某个特定输入信号可能在当前根时钟周期中保持不变。换句话说,该特定输入信号不通过仿真系统从信号输入传播到一个或多个信号输出。也就是说,对于该特定输入信号而言,从输入到一个或多个信号输出的信号路径在当前根时钟周期中不携带变化的信号。因此,与本公开一致,这样的信号路径从用于确定当前根时钟周期中的根时钟频率的信号路径中排除,并且仅在当前根时钟周期中携带改变信号的信号路径用于确定根时钟频率。排除承载不变信号的信号路径不影响逻辑设计的功能的验证。
在编译期间,HDL代码可以被编译成门级网表以在多个FPGA上实现。在一些实施例中,当代码正被编译时,计算所有信号路径的传播延迟。当所计算的信号路径的传播延迟大于或等于目标延迟阈值时,信号路径的信号输入可以被确定为目标信号输入。根据目标延迟阈值,可以确定一个或多个目标信号输入。在实际应用中,可以选择目标延迟阈值,使得与具有长传播延迟的信号路径相关联的足够数量的信号输入可以被确定为目标信号输入。在一些实施例中,可以确定目标延迟阈值,使得目标信号输入的数量与仿真系统的所有信号输入的数量的比率大于或等于目标百分比。在一些实施例中,目标百分比可以在20%至90%的范围内,比如50%。
在确定目标信号输入之后,可以将校验逻辑放置在每个目标信号输入处,以确定到当前根时钟周期内的目标信号输入的输入信号的状态。目标信号输入的状态可以包括目标信号输入处的输入信号为0或1,和/或输入信号保持不变或在当前根时钟周期中改变。输入信号为0的状态也被称为“0状态”,并且输入信号为1的状态也被称为“1状态”。进一步地,输入信号保持不变的状态也被称为“不变状态”,并且输入信号改变的状态也被称为“改变状态”。然后,与具有不变状态的目标信号输入关联的信号路径可以被识别。在一些情况下,即使对应的目标信号输入处于不变状态,信号路径的信号输出处的输出信号仍可改变。可以理解的是,即使一个信号路径的信号输出处的输出信号改变了,该改变状态也不是由该信号路径的不变的输入信号引起的。也就是说,该信号路径的输入信号对于该信号输出处的输出信号没有任何影响。故而,由保持不变的输入信号的延迟可以被无视。
在一些实施例中,可以基于在当前根时钟周期中输入的目标信号的状态和沿着与目标信号输入相关联的每个信号路径的一个或多个逻辑器件来在当前根时钟周期中确定目标信号路径。作为示例,可以首先确定当前根时钟周期中目标信号输入是否处于不变状态。响应于目标信号输入在当前时钟周期中处于不变状态,可以基于沿着信号路径的一个或多个逻辑器件来确定与目标信号输入相关联的信号路径的信号输出的输出信号是否保持不变。响应于输出信号保持不变,信号路径可以被确定为目标信号路径。
在一些实施例中,可以首先确定目标信号输入是在当前根时钟周期中的 0状态还是1状态。响应于目标信号输入在当前时钟周期中处于的0状态或1 状态,基于沿信号路径的一个或多个逻辑器件确定与目标信号输入相关联的信号路径的信号输出的输出信号是否保持不变。响应于输出信号保持不变,信号路径被确定为目标信号路径。
通过沿着信号路径跟踪逻辑器件可以确定在信号路径的信号输出处的输出信号是否改变。例如,当与门逻辑器件的信号输入中的一个在当前根时钟周期中是0时,与门逻辑器件的信号输出在当前根时钟周期中是0。作为另一示例,当或门逻辑器件的信号输入中的一个在当前根时钟周期中是1时,或门逻辑器件的信号输出在当前根时钟周期中是1。
在仿真期间,针对当前根时钟周期动态地确定根时钟频率。目标信号路径被排除在确定根时钟频率之外。根据实际的逻辑系统设计,在确定根频率的过程中,可以排除一个或多个目标信号路径。因为目标信号路径通常具有相对长的传播延迟,所以在排除目标信号路径之后,与在编译阶段期间确定的关键路径的传播延迟相比,仿真系统的剩余信号路径的最长传播延迟通常更短。因此,根时钟频率可以增加并且仿真过程不太耗时。
图1示出了根据本发明的一些实施例的动态地调整芯片设计验证中的根时钟频率的示例性方法100的流程图。动态调整芯片设计验证中的根时钟频率的方法也被称为“动态频率调整方法”、“动态调整方法”或“调整方法”。
如图1所示,在110处,识别从逻辑系统设计的多个信号输入中的一个到逻辑系统设计的多个信号输出中的一个的多个信号路径,该多个信号路径中的每一个都具有信号传播延迟。
信号路径是信号从信号输入传播到信号输出的路径。当信号通过逻辑装置或导线连接逻辑装置传播时,可能发生信号传播延迟。信号路径的信号传播延迟包括逻辑器件和沿着信号路径的导线的信号延迟。具有最长信号传播延迟的信号路径被称为关键路径。关键路径的信号传播延迟通常确定根时钟频率。
图2是示出根据本公开的一些实施例的、使用多个现场可编程门阵列 (FPGA)的逻辑设计的仿真的示意图。包括被配置为仿真逻辑系统设计的多个FPGA的系统也被称为“仿真系统”。图2所示的逻辑系统设计包括4个信号输入(a、b、c和d)、3个信号输出(U、V和W)以及8个FGPA(FPGA 1-FPGA 8)。FPGA 4包括与门x,FPGA 5包括两个与门y和z。在图2中标记了逻辑器件和导线的信号传播延迟。
在编译期间,可以针对所有信号路径计算信号传播延迟,并且在图3中示出了图2中的示例系统的结果。最长信号路径是从信号输入D到信号输出 W,信号传播延迟为209ns。因此,根时钟频率为约4.7MHZ。
再次参考图1,在120处,使用放置在目标信号输入处的校验逻辑可以确定在当前根时钟周期中到目标信号输入的输入信号的状态。
可以从与具有相对长的信号传播延迟的信号路径相关联的所有信号输入中选择目标信号输入。在一些实施例中,目标信号输入可以是逻辑系统设计的任何输入。校验逻辑可以被配置为确定目标信号输入的状态,其包括0、1、不变和/或改变。信号输入的0状态对应于在当前根时钟周期中的信号输入处等于0的输入信号。信号输入的1状态对应于在当前根时钟周期中的信号输入处等于1的输入信号。信号输入的不变状态对应于在当前根时钟周期中输入信号在信号输入处相同。信号输入的改变状态对应于在当前根时钟周期中输入信号在信号输入处切换。
在一些实施例中,校验逻辑是X或门。当前根时钟周期中的输入信号可与先前根时钟周期中的输入信号进行XOR运算。如果它们不同,则X或门的输出是1。如果它们相同,则X或门的输出为0。因此,校验逻辑能够确定信号输入是处于不变状态还是处于变化状态。
在130处,基于在当前根时钟周期中目标信号输入的输入信号的状态和沿着与目标信号输入相关联的每个信号路径的一个或多个逻辑器件,可以在当前根时钟周期中确定目标信号路径。
在当前根时钟周期中确定目标信号输入的状态之后,可以基于目标信号输入的状态来确定目标信号路径。作为示例,可以首先确定在当前根时钟周期中目标信号输入是否处于的不变状态。响应于目标信号输入在当前时钟周期中处于不变状态,源自目标信号输入的信号路径可以被确定为目标信号路径。
在一些实施例中,可以确定目标信号输入是在当前根时钟周期中的0状态还是1状态。响应于目标信号输入在当前时钟周期中处于的0状态或1状态,基于沿信号路径的一个或多个逻辑器件可以确定与目标信号输入相关联的信号路径的信号输出的输出信号是否保持不变。响应于输出信号保持不变,信号路径被确定为目标信号路径。
在一些实施例中,通过沿着信号路径跟踪逻辑器件可以确定在信号路径的信号输出处的输出信号是否改变。例如,当与门逻辑器件的信号输入中的一个在当前根时钟周期中是0时,与门逻辑器件的信号输出在当前根时钟周期中是0。在另一示例中,当或门逻辑器件的信号输入中的一个在当前根时钟周期中是1时,或门逻辑器件的信号输出在当前根时钟周期中是1。即,响应于目标信号输入处于0状态,目标信号路径可由多个连续与门组成。类似地,响应于目标信号输入处于1状态,目标信号路径可以由多个连续或门组成。
在140处,基于排除目标信号路径的多个信号路径的信号传播延迟的最长信号传播延迟可以确定逻辑系统设计的根时钟频率。
在仿真期间,针对当前的根时钟周期可以动态地确定根时钟频率。目标信号路径可以从用于确定根时钟频率的信号路径中排除。其余信号路径可以被称为工作信号路径。根据实际逻辑系统设计,对于确定根频率可以排除一个或多个目标信号路径。因为目标信号路径通常具有相对长的传播延迟,所以在排除目标信号路径之后,与在编译阶段期间确定的关键路径的传播延迟相比,仿真系统的剩余信号路径的最长传播延迟通常更短。因此,可以增加根时钟频率,并且仿真过程较少耗时。
图4示出了根据本公开的一些实施例的、排除如图2中所示的仿真系统的不变状态中的一个信号输入的目标信号路径的示例结果。在这种情况下,信号输入C处于不变状态。换句话说,FPGA 2的触发器C停留在旧值。
再次参考图2,一个信号路径从信号输入C开始并且传播通过触发器C (具有5ns的延迟)、连接触发器C和与门X的线(具有80ns的延迟)、与门 X(具有2ns+2ns=4ns的延迟)、连接与门X和与门Y的线(具有30的延迟)、与门Y(具有2ns+3ns=5ns的延迟)、连接与门Y和触发器U的线(具有80ns 的延迟)以及触发器U(具有5ns的延迟),从而累加209ns信号传播延迟。类似地,另一信号路径从信号输入C开始并且传播通过触发器C(具有5ns 的延迟)、连接触发器C和与门X的线(具有80ns的延迟)、与门X(具有2ns+2ns =4ns的延迟)、连接与门X和与门Y的线(具有30ns的延迟)、与门Y(具有2ns+3ns=5ns的延迟)、连接与门Y和与门Z的内部线(具有0ns的延迟)、与门Z(具有3ns+2ns=5ns的延迟)、连接与门Z和触发器V的线(具有40ns 的延迟)、以及触发器V(具有5ns的延迟),从而累加171ns信号传播延迟。这两个信号路径分别恰好是最长信号路径(209n)和第二最长信号路径 (171ns)。这两个信号路径被确定为目标信号路径并且被排除在用于确定当前根时钟周期的根时钟频率之外。
如图4所示,在排除目标信号路径之后,最长信号路径是从信号输入b 到信号输出U的信号路径,而这个信号路径具有150ns的信号传播延迟。因此,根时钟频率被确定为约6.67MHz(即,1/150ns)。与在不排除目标信号路径的情况下确定的根时钟频率(即,4.76MHz)相比,当前根时钟周期的根时钟频率增加了1.42倍。
图5示出根据本发明的一些实施例的、在图2中所示的仿真系统中排除三个信号输入中的一个处于0状态的目标信号路径的示例性结果。在这种情况下,信号输入a、信号输入b和信号输入c中的一个处于0状态。换句话说,FPGA 1的触发器a、FPGA 2的触发器b和触发器c中的一个在当前根时钟周期中输出0。
再次参考图2,从信号输入a、信号输入b和信号输入c中的一个开始的信号路径可以类似地确定为目标信号路径。例如,信号输入a处于0状态。因为触发器a输出0,这又迫使与门y和与门z输出0,并且进一步迫使触发器u和触发器v两者输出0,所以从信号输入a开始到信号输出u和信号输出v的两个信号路径都是目标信号路径。另一方面,因为与门y和与门z均输出0并且迫使触发器u和触发器v均输出0,所以从信号输入b开始到信号输出u和信号输出v的信号路径、从信号输入c开始到信号输出u和信号输出v的信号路径以及从信号输入d开始到信号输出v的信号路径不携带变化的信号(例如,信号路径的输入信号和输出信号都是0)并且被确定为目标信号路径。类似地,当信号输入b或信号输入c处于0状态时,这同样的七个信号路径是目标信号路径。这些目标信号路径被排除在用于确定当前根时钟周期的根时钟频率之外。因此,响应于目标信号输入处于0状态,目标信号路径可由多个连续与门组成。类似地,响应于目标信号输入处于1状态,目标信号路径可以由多个连续或门组成。
如图5所示,在排除目标信号路径之后,仅保留从信号输入d到信号输出w的一个信号路径,其具有35ns的信号传播延迟。因此,根时钟频率被确定为约28.6MHZ。与在不排除目标信号路径(即,4.76MHz)的情况下确定的原根时钟频率相比,当前根时钟周期的根时钟频率是原根时钟频率的6.1 倍。
本公开还提供了一种在逻辑系统设计验证中动态调整根时钟频率的装置,其也被称为“动态频率调整装置”、“动态调整装置”或“调整装置”。图 6示出了根据本公开的一些实施例的示例性动态频率调整装置600。如图6 中所示,装置600包括存储程序指令的存储器601和被配置为执行程序指令以进行以下操作的处理器602:识别从逻辑系统设计的多个信号输入中的一个到逻辑系统设计的多个信号输出中的一个的多个信号路径,多个信号路径中的每一个均具有信号传播延迟;使用放置在目标信号输入处的校验逻辑来确定到当前根时钟周期中的目标信号输入的输入信号的状态;基于输入信号到当前根时钟周期中的目标信号输入的状态和沿着与目标信号输入相关联的每个信号路径的一个或多个逻辑器件,从当前根时钟周期中的多个信号路径中确定目标信号路径;以及基于排除目标信号路径的多个信号路径的信号传播延迟中的最长信号传播延迟来确定用于逻辑系统设计的根时钟频率。
在一些实施例中,在逻辑设计的编译期间通过累加沿着信号路径的逻辑器件以及连接逻辑器件中的两个的一条或多条线的信号传播延迟来确定该信号路径的信号传播延迟。
在一些实施例中,目标信号输入是与具有大于目标延迟阈值的信号传播延迟的信号路径相关联的信号输入。
在一些实施例中,设置目标延迟阈值,使得一个或多个目标信号输入的数量与多个信号输入的数量的比率大于或等于目标百分比。
在一些实施例中,目标信号输入的状态包括输入信号在当前根时钟周期中是0的0状态、在当前根时钟周期中输入信号是1的1状态、在当前根时钟周期中输入信号不变的不变状态、或者在当前根时钟周期中输入信号改变的变化状态。
在一些实施例中,处理器602还被配置为:确定目标信号输入在当前根时钟周期中是否处于不变状态;并且响应于目标信号输入在当前时钟周期中处于不变状态,确定源自目标信号输入的信号路径作为目标信号路径。
在一些实施例中,处理器602还被配置为:确定目标信号输入在当前根时钟周期中是0状态还是1状态;响应于目标信号输入在当前时钟周期中处于0状态或1状态,基于沿着信号路径的一个或多个逻辑器件,确定与目标信号输入相关联的每个信号路径的信号输出的输出信号是否保持不变;以及响应于输出信号保持不变,将信号路径确定为目标信号路径。
在一些实施例中,处理器602还被配置为:确定目标信号输入在当前根时钟周期中是0状态还是1状态;响应于目标信号输入处于0状态并且与目标信号输入相关联的信号路径包括多个级联的与门,将信号路径确定为目标信号路径;以及响应于目标信号输入处于1状态并且与目标信号输入相关联的信号路径包括多个级联或门,将信号路径确定为目标信号路径。
在一些实施例中,存储逻辑系统设计的根时钟频率与多个信号路径之间的关系的查找表基于多个信号路径的信号传播延迟在编译期间生成,并且用于基于与排除目标信号路径的多个信号路径的信号传播延迟的最长信号传播延迟对应的信号路径来确定用于逻辑系统设计的根时钟频率。
本领域普通技术人员可以理解,上述方法实施例中的过程的全部或部分可以通过经由计算机程序指示相关硬件来实现。计算机程序可以存储在计算机可读存储介质中。当被执行时,计算机程序可以包括上述方法实施例的过程。计算机可读存储介质可以是磁盘、光盘、只读存储器(ROM)或随机存取存储器(RAM)。
以上公开的仅是本公开的一些实施例,当然可以不用于限制本公开的范围。因此,根据本公开的实施例进行的等同变化仍然落入本公开的范围内。
Claims (11)
1.一种用于在仿真系统上动态调整逻辑设计的根时钟频率的方法,包括:
识别从所述逻辑系统设计的多个信号输入中的一个到所述逻辑系统设计的多个信号输出中的一个的多个信号路径,所述多个信号路径中的每一个具有信号传播延迟;
使用放置在目标信号输入处的校验逻辑来确定到在前根时钟周期中到目标信号输入的输入信号的状态;
基于在所述当前根时钟周期中到所述目标信号输入的所述输入信号的所述状态以及沿着与所述目标信号输入相关联的每个信号路径的一个或多个逻辑器件,从所述当前根时钟周期中的所述多个信号路径中确定目标信号路径;以及
基于排除目标信号路径的多个信号路径的信号传播延迟的最长信号传播延迟来确定逻辑系统设计的根时钟频率。
2.如权利要求1所述的方法,其中:
信号路径的信号传播延迟在逻辑设计的编译期间通过累加沿着所述信号路径的逻辑器件以及连接两个逻辑器件的一条或多条线的信号传播延迟来确定。
3.如权利要求1所述的方法,其中:
所述目标信号输入是与具有大于目标延迟阈值的信号传播延迟的信号路径相关联的信号输入。
4.如权利要求3所述的方法,其中:
设置所述目标延迟阈值,以使得所述一个或多个目标信号输入的数量与所述多个信号输入的数量的比率大于或等于目标百分比。
5.如权利要求1所述的方法,其中:
所述目标信号输入的状态包括在所述当前根时钟周期中所述输入信号是0的0状态、在所述当前根时钟周期中所述输入信号是1的1状态、在所述当前根时钟周期中所述输入信号不变的不变状态、或者在所述当前根时钟周期中所述输入信号改变的变化状态。
6.根据权利要求5所述的方法,其中,从所述当前根时钟周期中的所述多个信号路径中确定目标信号路径包括:
确定所述目标信号输入在所述当前根时钟周期中是否处于所述不变状态;以及
响应于所述目标信号输入在所述当前时钟周期中处于所述不变状态,确定源自所述目标信号输入的信号路径作为目标信号路径。
7.根据权利要求5所述的方法,其中,从所述当前根时钟周期中的所述多个信号路径中确定目标信号路径包括:
确定所述目标信号输入在所述当前根时钟周期中是否处于所述0状态或所述1状态;
响应于所述目标信号输入在当前时钟周期中处于所述0状态或所述1状态,基于沿所述信号路径的一个或多个逻辑器件,确定与所述目标信号输入相关联的每个信号路径的信号输出的输出信号是否保持不变;以及
响应于所述输出信号保持不变,将所述信号路径确定为所述目标信号路径。
8.根据权利要求5所述的方法,其中,确定所述当前根时钟周期中的所述目标信号路径包括:
确定所述目标信号输入在当前根时钟周期中是否处于0状态或1状态;
响应于所述目标信号输入处于0状态并且与目标信号输入相关联的信号路径包括多个级联的与门,将所述信号路径确定为所述目标信号路径;以及
响应于所述目标信号输入处于1状态并且与目标信号输入相关联的信号路径包括多个级联或门,将所述信号路径确定为所述目标信号路径。
9.如权利要求2所述的方法,其中:
存储所述逻辑系统设计的根时钟频率与所述多个信号路径之间的关系的查找表在编译期间基于多个信号路径的信号传播延迟生成,并且被用于基于与排除所述目标信号路径的多个信号路径的信号传播延迟的最长信号传播延迟对应的信号路径来确定所述逻辑系统设计的根时钟频率。
10.一种用于动态调整逻辑设计的根时钟频率的装置,包括:
存储程序指令的存储器;以及
处理器,被配置为执行所述程序指令以执行如权利要求1-9的任一项所述的方法。
11.一种存储一组指令的非易失性计算机可读介质,该组指令可由电子系统的至少一个处理执行以使得所述电子系统进行如权利要求1-9的任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/466,201 | 2021-09-03 | ||
US17/466,201 US11599139B1 (en) | 2021-09-03 | 2021-09-03 | Dynamic adjustment of root clock frequency in logic system design during verification |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114021509A true CN114021509A (zh) | 2022-02-08 |
CN114021509B CN114021509B (zh) | 2022-07-22 |
Family
ID=80054554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111110133.0A Active CN114021509B (zh) | 2021-09-03 | 2021-09-18 | 在验证期间的逻辑设计中的根时钟频率的动态调整 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11599139B1 (zh) |
CN (1) | CN114021509B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115602222A (zh) * | 2021-07-09 | 2023-01-13 | 长鑫存储技术有限公司(Cn) | 一种编译方法、编译电路、模式寄存器和存储器 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5883529A (en) * | 1996-04-19 | 1999-03-16 | Sony Corporation | Function clock generation circuit and D-type flip-flop equipped with enable function and memory circuit using same |
CN101765822A (zh) * | 2007-07-26 | 2010-06-30 | 高通股份有限公司 | 基于指令使用的自适应电压缩放的方法和设备 |
JP2014045508A (ja) * | 2013-11-01 | 2014-03-13 | Agere Systems Inc | 性能監視用クリティカルパス回路 |
CN103970254A (zh) * | 2013-01-30 | 2014-08-06 | 阿尔特拉公司 | 用于动态电压-频率调节的可旁路钟控存储电路 |
CN105493062A (zh) * | 2013-08-30 | 2016-04-13 | 高通股份有限公司 | 可配置的时钟树 |
US20180096086A1 (en) * | 2016-07-08 | 2018-04-05 | Nikolaos Zompakis | Dynamic frequency boosting exploiting path delay variability in integrated circuits |
CN207691782U (zh) * | 2017-11-10 | 2018-08-03 | 新港海岸(北京)科技有限公司 | 基于锁相回路的时钟产生电路以及锁相回路电路 |
CN112005497A (zh) * | 2018-06-28 | 2020-11-27 | 英特尔公司 | 用于向电路提供延迟的时钟信号以锁存数据的设备、方法和系统 |
CN112887047A (zh) * | 2021-01-13 | 2021-06-01 | 张营 | 一种计算机集群中传递时钟信号的系统和方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325513A (en) * | 1987-02-23 | 1994-06-28 | Kabushiki Kaisha Toshiba | Apparatus for selectively accessing different memory types by storing memory correlation information in preprocessing mode and using the information in processing mode |
US6880133B2 (en) * | 2002-05-15 | 2005-04-12 | Sonics, Inc. | Method and apparatus for optimizing distributed multiplexed bus interconnects |
US8656143B2 (en) * | 2006-03-13 | 2014-02-18 | Laurence H. Cooke | Variable clocked heterogeneous serial array processor |
US8261218B1 (en) * | 2008-08-01 | 2012-09-04 | Altera Corporation | Systems and methods for determining beneficial clock-path connection delays |
US9009645B2 (en) * | 2012-12-26 | 2015-04-14 | Synopsys, Inc. | Automatic clock tree routing rule generation |
US8928387B2 (en) * | 2013-05-10 | 2015-01-06 | Laurence H. Cooke | Tunable clock distribution system |
US11360930B2 (en) * | 2017-12-19 | 2022-06-14 | Samsung Electronics Co., Ltd. | Neural processing accelerator |
KR20210126821A (ko) * | 2020-04-10 | 2021-10-21 | 삼성전자주식회사 | 반도체 장치 |
-
2021
- 2021-09-03 US US17/466,201 patent/US11599139B1/en active Active
- 2021-09-18 CN CN202111110133.0A patent/CN114021509B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5883529A (en) * | 1996-04-19 | 1999-03-16 | Sony Corporation | Function clock generation circuit and D-type flip-flop equipped with enable function and memory circuit using same |
CN101765822A (zh) * | 2007-07-26 | 2010-06-30 | 高通股份有限公司 | 基于指令使用的自适应电压缩放的方法和设备 |
CN103970254A (zh) * | 2013-01-30 | 2014-08-06 | 阿尔特拉公司 | 用于动态电压-频率调节的可旁路钟控存储电路 |
CN105493062A (zh) * | 2013-08-30 | 2016-04-13 | 高通股份有限公司 | 可配置的时钟树 |
JP2014045508A (ja) * | 2013-11-01 | 2014-03-13 | Agere Systems Inc | 性能監視用クリティカルパス回路 |
US20180096086A1 (en) * | 2016-07-08 | 2018-04-05 | Nikolaos Zompakis | Dynamic frequency boosting exploiting path delay variability in integrated circuits |
CN109906420A (zh) * | 2016-07-08 | 2019-06-18 | N·左姆帕奇斯 | 利用集成电路中的路径延迟变化的动态频率提升 |
CN207691782U (zh) * | 2017-11-10 | 2018-08-03 | 新港海岸(北京)科技有限公司 | 基于锁相回路的时钟产生电路以及锁相回路电路 |
CN112005497A (zh) * | 2018-06-28 | 2020-11-27 | 英特尔公司 | 用于向电路提供延迟的时钟信号以锁存数据的设备、方法和系统 |
CN112887047A (zh) * | 2021-01-13 | 2021-06-01 | 张营 | 一种计算机集群中传递时钟信号的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230070429A1 (en) | 2023-03-09 |
CN114021509B (zh) | 2022-07-22 |
US11599139B1 (en) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8122404B2 (en) | Performing a statistical timing abstraction for a hierarchical timing analysis of VLSI circuits | |
US7117466B2 (en) | System and method for correlated process pessimism removal for static timing analysis | |
US8161439B2 (en) | Method and apparatus for processing assertions in assertion-based verification of a logic design | |
US9268889B2 (en) | Verification of asynchronous clock domain crossings | |
KR100749753B1 (ko) | 게이트 레벨에서의 동적 시뮬레이션 방법, 게이트 레벨의 시뮬레이션 장치, 집적 회로의 디자인 방법, 전압 섬을 포함하는 집적 회로 칩에 대한 디자인 방법 및 칩 설계 방법 | |
CN114021509B (zh) | 在验证期间的逻辑设计中的根时钟频率的动态调整 | |
US5761097A (en) | Logic timing analysis for multiple-clock designs | |
US9792400B2 (en) | Determination of flip-flop count in physical design | |
US10176283B2 (en) | Equivalence checking of analog models | |
US7747972B2 (en) | Methods and apparatuses for timing analysis of electronic circuits | |
US9600614B2 (en) | Automated flip-flop insertions in physical design without perturbation of routing | |
US20030212972A1 (en) | Unconventional clocked circuit components having multiple timing models | |
US7159199B2 (en) | Method for verifying adequate synchronization of signals that cross clock environments and system | |
US20080069277A1 (en) | Method and apparatus for modeling signal delays in a metastability protection circuit | |
US6075936A (en) | Logic circuit simulation apparatus having cycle-based simulator for simulating circuits including multi-cycle paths | |
US20030018462A1 (en) | Multi-clock system simulation | |
US6028993A (en) | Timed circuit simulation in hardware using FPGAs | |
Kim et al. | TPartition: testbench partitioning for hardware-accelerated functional verification | |
US7246053B2 (en) | Method for transforming behavioral architectural and verification specifications into cycle-based compliant specifications | |
US9547733B2 (en) | Identifying inversion error in logic equivalence check | |
US8701061B2 (en) | Semiconductor design support apparatus | |
KR100312732B1 (ko) | 디지털회로의 타이밍 분석 시스템 | |
US9460249B2 (en) | Verification of asynchronous clocking systems | |
Oikonomakos et al. | Versatile high-level synthesis of self-checking datapaths using an on-line testability metric | |
JP2785708B2 (ja) | 論理シミュレーション方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |