符合硬件语义的逻辑模拟和/或仿真制造技术

技术编号:4206321 阅读:275 留言:0更新日期:2012-04-11 18:40
本发明专利技术的一些实施例提供了用于模拟电路设计以使得模拟符合硬件语义的技术和系统。具体地,一些实施例通过适当处理会在逻辑模拟期间出现的状态元素中的竞争条件和/或时钟树中的假信号来确保模拟符合硬件语义。每个逻辑周期包括两个阶段:其中系统评估不取决于时钟信号的电路设计的信号值的激励施加阶段,和其中系统评估取决于时钟信号的信号值的时钟传播阶段。本发明专利技术的一些实施例在激励施加阶段期间取样信号值,且在时钟传播阶段期间使用取样信号值以处理会在逻辑模拟期间出现的状态元素中的竞争条件和/或时钟树中的假信号。

【技术实现步骤摘要】

本公开大体上涉及电子设计自动化。更具体地,本公开涉及用于逻辑模拟和/或 仿真的方法和装置。
技术介绍
已经通过设计和验证工具的进步促成计算技术的快速进步,因为没有这些工具, 将几乎不可能设计和验证在当今计算装置中经常发现的复杂集成电路。逻辑模拟和仿真技 术在验证电路设计中起重要作用。注意,通常期望改进逻辑模拟和/或仿真技术的精确度。例如,半导体公司通常使 用硬件仿真通过将电路设计仿真几百万个周期来验证电路设计的行为。如果在硬件仿真期 间检测到故障,那么通常将故障定位到合理的小范围周期,例如,几千周期。随后,在小范围 周期执行详细的逻辑模拟以将电路排除故障。为了使用此方法将电路成功排除故障,模拟器应该以符合硬件语义的方式理想地 模拟电路。如果逻辑模拟器以不符合硬件语义的方式模拟电路,那么逻辑模拟器可能不能 再现故障,或者在模拟期间故障会不同地表明其自身。在任一种状况下,将不能修复故障。 不幸地,传统逻辑模拟器不能以符合硬件语义的方式来模拟电路。
技术实现思路
本专利技术的一些实施例提供用于模拟电路设计的技术和系统,其中模拟符合硬件语 义。明确地,一些实施例通过适当处理会在逻辑模拟期间出现的状态元素中的竞争条件和 /或时钟树中的假信号(glitch)来确保模拟符合硬件语义。请注意,可以在不同的抽象水平模拟电路。另外,可以使用不同技术来模拟电路。 此公开中所描述的技术和系统通常适用于需要适当处理会在逻辑模拟期间出现的状态元 素中的竞争条件和/或时钟树中的假信号的任何类型的逻辑模拟。明确地说,可以在逻辑 模拟器和仿真器中使用此公开中所描述的技术和系统。—个逻辑模拟周期可以认为包括两个阶段激励施加阶段和时钟传播阶段。在激 励施加阶段中,施加激励且值传播通过组合逻辑。在激励施加阶段的末尾,组合逻辑反映所 施加的激励的作用。请注意,在这一阶段中传播的值不依赖于时钟信号。在时钟传播阶段 中,系统评估依赖于时钟信号的信号值。本专利技术的一些实施例在激励施加阶段期间取样信 号值,且在时钟传播阶段期间使用所取样的信号值来处理会在逻辑模拟期间出现的状态元 素中的竞争条件和/或时钟树中的假信号。明确地说,为了确保逻辑模拟符合硬件语义,一 些实施例以与常规逻辑模拟器不同的方式来模拟电平敏感时序电路元件(例如,锁存器) 和边缘触发时序电路元件(例如,触发器)。请注意,电路可以包括一个或多个电平敏感时序电路元件和/或一个或多个边缘 触发时序电路元件。本专利技术的一些实施例确保满足以下要求(1)当在相同时钟周期内评 估两个或两个以上边缘触发时序电路元件时,其中一个边缘触发时序电路元件的新输出值应不影响该周期中另一个边缘触发时序电路元件的输出值;(2)如果到周期结束,锁存器 的时钟变成稳定不激活,那么在时钟传播阶段期间电平敏感时序电路元件的输出应不改 变;以及(3)即使其中一个时钟是更新时序电路元件的结果,也需要满足以上两个要求。当一组条件中的至少一个条件是真时,电平敏感时序电路元件将其输入值传播到 其输出。系统可以如下模拟电平敏感时序电路元件。在激励施加阶段期间,系统可以取样 电平敏感时序电路元件的输出以获得取样值。接着,在时钟传播阶段期间,如果系统确定该 组条件中的所有条件为假,那么系统可以向时序元件的输出分配取样值。边缘触发时序电路元件在其时钟输入的至少一个上接收触发边缘转变时将其数 据输入值传播到其数据输出。在不失一般性的情况下,我们可以假定触发边缘转变在时钟 输入从第一值转变为第二值时发生。对于正边缘触发时序元件而言,第一值是低值且第二 值是高值,而对于负边缘触发时序元件而言,第一值是高值且第二值是低值。系统可以如下 模拟边缘触发时序电路元件。在激励施加阶段期间,系统可以取样边缘触发时序电路元件 的输入、输出和时钟以获得取样输入值、取样输出值和取样时钟值。接着,在时钟传播阶段 期间,如果系统检测出时钟输入经历从第一值到第二值的触发边缘转变,且取样的时钟值 等于第一值,那么系统可以向时序电路元件的数据输出分配取样的输入值。另外,在时钟传 播阶段期间,如果系统检测出在时钟输入中从第二值到第一值的非触发边缘转变,那么系 统可以向时序电路元件的数据输出分配取样的输出值。请注意,时序元件的输出可能在激励施加阶段期间系统取样其值之后已经改变。 因此,当系统向时序元件的输出分配取样值时,系统向时序元件的输出有效分配与将已经 由常规模拟器和/或仿真器分配的值不同的值。时序元件的输出的此条件修改防止了归因 于状态元素中的竞争条件和/或时钟信号中的假信号的逻辑模拟和/或仿真的不精确性。 特别是,本专利技术的实施例通常可以与包括(但不限于)事件驱动模拟器、基于周期的模拟器 和使用健忘模拟技术的模拟器的任何模拟器一起使用。请注意,在时钟传播阶段期间,可能不能确定当前评估是否是最后评估。然而,如 果系统确保在每个评估结束时模拟状态符合硬件语义,那么可以保证在最后评估之后模拟 状态将符合硬件。本专利技术的一些实施例确保在每个评估结束时模拟状态符合硬件语义,从 而确保在时钟传播阶段结束时模拟状态符合硬件语义。硬件描述语言可以或者不可以支持取样指令。如果硬件描述语言不支持取样指 令,那么系统可以修改硬件描述语言的语义以使得模拟器以符合硬件语义的方式模拟或仿 真时序电路元件。另一方面,如果硬件描述语言支持取样指令,那么系统可以可选地使用取 样指令来重写时序电路元件的描述以使得重写的电路描述符合硬件语义。请注意,本专利技术 的实施例可以适用于两值逻辑以及多值逻辑。明确地说,本专利技术的实施例可以用于模拟四 值的逻辑。附图说明图1示出根据本专利技术的一个实施例的集成电路的设计和制造过程中的多个阶段。图2示出根据本专利技术的一个实施例的用于分析电路设计的示例性计算环境。图3示出根据本专利技术的一个实施例的说明用于产生电路设计的模拟输出的过程 的流程图。图4示出根据本专利技术的一个实施例的说明用于模拟电平敏感时序电路元件的过 程的流程图。图5A和5B示出根据本专利技术的一个实施例的说明用于模拟边缘触发时序电路元件 的过程的流程图。图6A示出根据本专利技术的一个实施例的具有锁存器的示例性电路设计。图6B示出根据本专利技术的一个实施例的具有触发器的示例性电路设计。图7A示出来自锁存器的常规逻辑模拟的示例性模拟输出。图7B示出根据本专利技术的一个实施例的使用其使用取样值的新语义来模拟的锁存 器的示例性模拟输出。图8A示出来自触发器的常规逻辑模拟的示例性模拟输出。图8B示出根据本专利技术的一个实施例的使用新语义来模拟的触发器的示例性模拟 输出。图9示出根据本专利技术的一个实施例的促进根据硬件语义来模拟电路设计的示例 性计算机系统。图10示出根据本专利技术的一个实施例的促进电路设计的逻辑模拟的装置。表格1A和1B示出根据本专利技术的一个实施例的如何可以使用新语义来模拟锁存器 (其为电平敏感时序电路元件)。以下示出的表格2示出根据本专利技术的一个实施例的如何使用新语义来模拟触发 器(其为边缘触发时序元件)。具体实施例方式以下描述被呈现为使得任何本领域技术人员能够制造和使用实施例,且在具体应 用和其要求的上下文中提供。对于本领域技术人员而言,对所公开的实施例的多种修改将 是显而易见的,且本文定义的一般原理可以适用于其他实施例和应用,而不偏离本公开的本文档来自技高网...

【技术保护点】
一种模拟电路设计的方法,其中模拟周期包括激励施加阶段和时钟传播阶段,其中在所述激励施加阶段评估不取决于时钟的信号值,且其中在所述时钟传播阶段评估取决于时钟的信号值,所述方法包括:接收所述电路设计的描述,其中所述电路设计包括电平敏感时序电路元件,其包括至少数据输入和至少数据输出,且其中当一组条件中的至少一个条件为真时,所述电平敏感时序电路元件将所述数据输入的值传播到所述数据输出;以及在所述模拟周期期间,通过至少以下步骤模拟所述电平敏感时序电路元件:在所述激励施加阶段期间,取样所述数据的输出值以获得取样输出值;以及在所述时钟传播阶段期间,响应确定所述条件组中的所有条件为假,将所述取样输出值分配给所述数据输出。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:A拉比诺维克R纳拉雅纳斯瓦米
申请(专利权)人:新思科技有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1