CN101221595A - 将设计行为和外部激励并入仿真模型反馈中的系统和方法 - Google Patents
将设计行为和外部激励并入仿真模型反馈中的系统和方法 Download PDFInfo
- Publication number
- CN101221595A CN101221595A CNA2008100017736A CN200810001773A CN101221595A CN 101221595 A CN101221595 A CN 101221595A CN A2008100017736 A CNA2008100017736 A CN A2008100017736A CN 200810001773 A CN200810001773 A CN 200810001773A CN 101221595 A CN101221595 A CN 101221595A
- Authority
- CN
- China
- Prior art keywords
- model
- emulation
- attached memory
- device model
- data
- 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
Links
Images
Classifications
-
- 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
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)
- Debugging And Monitoring (AREA)
Abstract
一种使用共享存储器将设计行为和外部激励并入微设备模型反馈中的系统和方法被呈现。这里描述的发明使用附接存储器模型来向在仿真系统的设备模型上执行的应用提供附加试探,其导致更详细和实际的设备仿真。所述附接存储器模型为运行时软件环境提供存储区域来存储仿真数据,所述仿真数据随后在仿真期间被提供给所述设备模型。所述仿真数据可以包括:1)对所述设备模型的随机化激励,2)用于检查试探的附加运行时数据,以及3)仿真数据点(以其它方式不可访问所述设备模型)。
Description
技术领域
本发明涉及一种使用共享存储器将设计行为和外部激励(stimulus)并入微处理器仿真(emulation)模型反馈中的系统和方法。更特别地,本发明涉及一种用于在仿真期间为在设备模型上执行的应用提供附加试探(heuristics)的系统和方法,其导致更详细和实际的设备仿真。
背景技术
当前的处理器是包含数百万晶体管的复杂集成电路系统。测试这些设备的两种典型方法是:1)使用通用计算机来模拟(simulate)所述设备,以及2)使用仿真器来测试所述设备的设计逻辑,其中,所述仿真器是专用机器。
使用通用计算机进行模拟时发现的挑战是,该模拟由于设备的复杂性而花费极大量时间。因此,由于进度限制,所述设备的许多方面在制造之前不被测试。
使用仿真器来测试设备的设计逻辑时发现的挑战是,该仿真器不能够很详细地测试设备的物理运转。例如,仿真系统具有长运转周期,在该运转周期中,所述仿真系统不能够轮询(poll)来自被测设备的数据。于是,复杂的缓冲方案被实现,从而仿真运行时软件在被测设备未进行循环时的间隔期间实施检查。
因此,需要的是一种在制造之前以高效和有效的方式测试设备的复杂设计逻辑的系统和方法。
发明内容
已发现,前述挑战使用这样的系统和方法来解决,所述系统和方法用于使用附接存储器模型来在仿真期间为在设备模型上执行的应用提供附加试探,其导致更详细和实际的设备仿真。所述附接存储器模型为运行时软件环境提供存储区域来存储仿真数据,所述仿真数据随后在仿真期间被提供给设备模型。所述仿真数据可以包括:1)对设备模型的随机化激励,2)用于检查试探的附加运行时数据,以及3)仿真数据点(在仿真期间以其它方式不能访问数据模型)。
为开始仿真过程,仿真系统加载和初始化所述附接存储器模型和设备模型。运行时软件环境然后将训练应用加载到附接存储器模型中,其中,所述训练应用在仿真期间在设备模型中执行。
运行时软件环境开始为附接存储器模型和设备模型计时,以便训练应用执行若干指令。在特定数量的时钟周期之后,运行时软件环境停止计时并且从设备模型读取仿真数据,其中,所述仿真数据是通过训练应用的指令执行的结果。所述仿真数据可以包括关于设备模型中的锁存器和模型化信号的细节信息。
一旦运行时软件环境读取仿真数据,该运行时软件环境就将所述仿真数据存储在附接存储器模型中,并且开始为附接存储器模型和设备模型重新计时。该重新计时允许训练应用处理存储在附接存储器模型中的仿真数据。
在一个实施例中,运行时软件环境将种子数据加载到附接存储器模型中,其中,训练应用使用所述种子数据来催化(seed)随机发生器。该实施例为设备模型提供附加随机化激励,其允许相比于使用算术确定状态机时更高程度的仿真。
在另一实施例中,运行时软件环境可以将外部激励数据存储在附接存储器模型中,其中,所述外部激励数据随后被训练应用处理。该实施例可以用于例如灯塔检查(lighthouse checking)的目的,其中,所述灯塔检查是程序执行中探索多条通路的点。当程序到达灯塔位置时,这里描述的发明提供外部激励,其模拟例如击键和/或鼠标点击的输入流。
前述是摘要,并且由此必然包含对于细节的简化、一般化和省略;因此,本领域的技术人员将理解,所述摘要只是说明性的,并且决不旨在是限制性的。完全由权利要求定义的本发明的其它方面、发明特征和优点在下面阐明的非限制性详细描述中将变得显而易见。
附图说明
通过参考附图,本发明可以被更好地理解,并且使得其许多目的、特征和优点对于本领域的技术人员是显而易见的。
图1是示出了使用附接存储器模型向设备模型提供仿真数据的仿真系统的图;
图2是示出了在设备仿真期间从附接存储器模型向设备模型提供仿真反馈数据的仿真系统的图;
图3是示出了在设备仿真期间从附接存储器模型向设备模型提供种子数据的仿真系统的图;
图4是示出了在处理器仿真期间从附接存储器模型向处理器模型提供外部激励数据的仿真系统的图;
图5是示出了在仿真期间使用附接存储器模型存储并向设备模型提供仿真反馈数据时所采取的步骤的流程图;
图6是示出了在仿真期间使用附接存储器模型存储并向处理器模型提供种子数据时所采取的步骤的流程图;
图7是示出了在仿真期间使用附接存储器模型向处理器模型提供外部激励数据时所采取的步骤的流程图;
图8是示出了仿真多处理器设备的仿真系统的图;以及
图9是能够实现本发明的另一计算设备的框图。
具体实施方式
以下旨在提供对本发明的示例的详细描述,并且不应当被理解为将限制本发明其自己。更确切地,任意数量的变型可以落在本发明的范围内,其中,本发明的范围在本说明书之后的权利要求中定义。
图1是示出了使用附接存储器模型为设备模型提供仿真数据的仿真系统的图。仿真系统100包括设备模型130、运行时软件环境150和附接存储器模型110。附接存储器模型110为运行时软件环境150提供用于存储仿真数据的存储区域,其中,所述仿真数据随后在仿真期间被提供给设备模型130。所述仿真数据可以包括:1)对设备模型130的随机化激励,2)用于检查试探的附加运行时数据;以及3)仿真数据点(以其它方式不可访问设备模型130)。设备模型130是代表例如微处理器或数字信号处理器的设备的模型。
为开始仿真过程,仿真系统100加载并初始化附接存储器模型110和设备模型130。运行时软件环境150然后将训练应用120加载到附接存储器模型中,其中,所述训练应用120在仿真期间在设备模型130上的高速缓存140中执行。
运行时软件环境150开始为附接存储器模型110和设备模型130计时,以便训练应用120执行若干指令。在特定数量的时钟周期之后,运行时软件环境150停止计时,并且从设备模型130读取由训练应用120的指令产生的仿真数据。所述仿真数据可以包括关于设备模型130中的每个锁存器和模型化信号的信息。
一旦运行时软件环境150读取到仿真数据,运行时软件环境150就将所述仿真数据存储在附接存储器模型110中,并且再次开始为附接存储器模型110和设备模型130计时。该计时允许训练应用120处理存储在附接存储器模型110中的仿真数据。
图2是示出了在设备仿真期间从附接存储器模型向设备模型提供仿真反馈数据的仿真系统的图。仿真系统100包括运行时软件环境150、设备130和附接存储器模型110。运行时软件150将训练应用120加载到附接存储器模型110中。在仿真期间,训练应用120在设备模型130上的高速缓存140中执行。
运行时软件环境150然后为附接存储器模型110和设备模型130计时,以便训练应用120执行。在特定数量的时钟周期之后,运行时软件150停止模型计时,并且从设备模型130读取反馈数据200,其中,所述反馈数据200包括模型状态、周期统计和训练应用120收集的其它相关数据。运行时软件环境150然后将反馈数据200存储在附接存储器模型110中。
一旦反馈数据200被存储在附接存储器模型110中,运行时软件环境150就开始模型重新计时,其中,所述模型重新计时允许训练应用120从附接存储器模型110读取反馈数据200。运行时软件环境150继续读取和存储反馈数据200直到仿真终止(进一步细节见图5和对应文本)。仿真系统100、附接存储器模型110、训练应用120、设备模型130、高速缓存140和运行时软件环境150与图1中所示的相同。
图3是示出了在设备仿真期间从附接存储器模型向设备模型提供种子数据的仿真系统的图。仿真系统100包括运行时软件环境150、设备130和附接存储器模型110。运行时软件环境150将训练应用120和种子数据300加载到附接存储器模型110中。在仿真期间,训练应用120在设备模型130上执行,并使用种子数据300来加载随机发生器。于是,种子数据300提供附加的随机化激励,所述附加随机化激励允许相对于使用算术确定状态机时更高程度的仿真(进一步细节见图6和对应文本)。仿真系统100、附接存储器模型110、训练应用120、设备模型130、高速缓存140和运行时软件环境150与图1中所示的相同。
图4是示出了在处理器仿真期间从附接存储器模型向处理器模型提供外部激励数据的仿真系统的图。该实施例可以用于例如灯塔检查的目的,其中,所述灯塔检查是程序执行中探索多条通路的点。当程序到达灯塔位置时,这里描述的发明提供外部激励,其模拟例如击键和/或鼠标点击的输入流。
仿真系统100包括运行时软件环境150、设备130和附接存储器模型110。在仿真期间,训练应用120在设备模型130上的高速缓存120中执行,以便检查设备模型130的试探。当训练应用120遭遇灯塔位置时,运行时软件环境150接收外部激励400、将其存储在附接存储器模型110中,其中,所述外部激励400然后被训练应用120访问。
在一个实施例中,当训练应用120到达灯塔位置时,运行时软件环境150可以有计划地检查在给定周期时间间隔内完成执行通路的可能性。在该实施例中,中断例程可以被添加到从附接存储器模型110读取周期计数的测试应用中,以便确定训练应用120是否应当继续当前的执行流。例如,外部激励400可以模拟人与操作系统命令行界面的交互。在每个灯塔位置处,不同通路经由外部激励400来随机选择,以便模拟设备的典型的真实世界运转。
在另一实施例中,运行时软件环境150可以轮询实际微处理器发出的热噪声以找到真实的随机源。这些值然后被存储在附接存储器模型110中,并且被提供给设备模型130(进一步的细节见图6和对应文本)。仿真系统100、附接存储器模型110、训练应用120、设备模型130、高速缓存140和运行时软件环境150与图1中所示的相同。
图5是示出了在仿真期间使用附接存储器模型来存储并向设备模型提供仿真反馈数据时所采取的步骤的流程图。处理在500开始,由此,处理在步骤510将设备模型130和附接存储器模型110加载到仿真系统100中。设备模型130仿真例如微处理器的设备,以及附接存储器模型110存储并向设备模型130提供仿真数据。仿真系统100、设备模型130和附接存储器模型110与图1中所示的相同。
在步骤520,处理初始化设备模型130和附接存储器模型110,以及,一旦被初始化,则处理将训练应用(例如图1中所示的训练应用120)加载到附接存储器模型110中(步骤530)。在步骤540,处理为设备模型130和附接存储器模型110计时特定数量的时钟周期,其中,所述计时允许训练应用从附接存储器模型110检索和处理仿真数据。处理在步骤550停止模型计时,以及在步骤560,处理从设备模型130收集由在步骤550的计时过程产生的反馈数据。在步骤570,处理将所述反馈数据写入附接存储器模型110,其中,所述反馈数据在随后的设备模型计时步骤(步骤550之上)期间被输入到设备模型130中。
关于是否继续仿真的判断被作出(判断580)。如果处理应当继续仿真,则判断580分支到“是”分支582,其环回以继续为设备模型130计时,并且收集更多反馈数据。该循环继续直到处理应当终止仿真,在该点判断580分支到“否”分支588,由此,处理在590结束。
图6是示出了在仿真期间使用附接存储器模型来存储并向处理器模型提供种子数据时所采取的步骤的流程图。训练应用使用所述种子数据来催化随机发生器,其允许更大广度的仿真。
处理在600开始,由此,处理在步骤605将设备模型130和附接存储器模型110加载到仿真系统100中。仿真系统100、设备模型130和附接存储器模型110与图1中所示的相同。在步骤610,处理初始化设备模型130和附接存储器模型110,以及,一旦被初始化,则处理将训练应用(例如图1中所示的训练应用120)加载到附接存储器模型110中(步骤615)。
在步骤620,处理将种子数据(例如随机化的值)加载到附接存储器模型中。一旦所述种子数据被加载,则处理为设备模型130和附接存储器模型110计时特定数量的时钟周期,所述计时允许训练应用处理所述种子数据和检查设备模型130的状态(步骤625)。处理在步骤630停止模型计时,以及在步骤635,处理从设备模型130收集包括设备模型130的状态的仿真数据。
关于仿真数据是否包括训练应用已标记错误的判断被作出(判断640)。例如,操作系统可能出现故障,或者随后的来自测试的系统调用可能被错误地实施。如果仿真数据包括训练应用已标记错误,则判断640分支到“是”分支642,由此,处理指示仿真测试失败(步骤645),并且处理在650结束。
另一方面,如果仿真数据不包括训练应用已标记错误,则判断640分支到“否”分支648,由此,处理用所述仿真数据更新附接存储器模型110。
关于处理是否应当继续仿真的判断被作出(判断670)。如果处理应当继续仿真,则判断670分支到“是”分支672,该分支环回以继续对模型计时和分析设备模型130的状态。该循环继续直到处理应当终止仿真,在该点,判断670分支到“否”分支678,由此,处理指示仿真测试通过(步骤680),并且处理在690结束。
图7是示出了在仿真期间使用附接存储器模型来向处理器模型提供外部激励数据时所采取的步骤的流程图。例如,当仿真在程序中遭遇探索多个通路的点(即灯塔)时,这里描述的发明提供外部激励,其模拟例如击键和/或鼠标点击的输入流。
处理在700开始,由此,处理在步骤705将设备模型130和附接存储器模型110加载到仿真系统100中。仿真系统100、设备模型130和附接存储器模型110与图1中所示的相同。在步骤710,处理初始化设备模型130和附接存储器模型110,以及,一旦被初始化,则处理将训练应用(例如图1中所示的训练应用120)加载到附接存储器模型110中(步骤715)。
处理进行到为设备模型130和附接存储器模型110计时以便训练应用执行若干指令(步骤720)。关于训练应用是否已到达灯塔位置的判断被作出(判断725)。如果训练应用还未到达灯塔位置,则判断725分支到“否”分支727,跳过外部激励注入步骤。
另一方面,如果训练应用已到达灯塔位置,则判断725分支到“是”分支729,由此,处理在步骤730将外部激励数据加载到附接存储器模型110中。在步骤740,处理恢复模型计时,以便训练应用处理所述外部激励数据。在特定数量的时钟周期之后,处理停止计时所述模型并收集仿真数据(步骤745)。
关于仿真数据是否包括“正确结果”的判断被作出(判断750)。正确结果是预计算值或训练应用基于外部激励数据计算出的返回代码,例如检查为0的返回代码。例如,如果Linux是所述训练应用,则所述外部激励数据可以是馈入命令解释器的“test$(echo 1+1|bc)=2”。该示例进行测试以验证“bc”可执行计算1+1=2。如果正确,则该测试的结果应当是返回代码0。在一个实施例中,运行时软件环境和训练应用可以独立验证每个检查以确保正确性。
如果仿真数据不包括正确结果,则判断750分支到“否”分支752,由此,处理指示仿真测试失败(步骤755),并且处理在760结束。另一方面,如果仿真数据包括正确结果,则判断750分支到“是”分支758,由此,关于是否继续所述仿真的判断被作出(判断770)。如果处理应当继续仿真,则判断770分支到“是”分支772,该分支环回以继续为设备模型130计时和注入外部激励数据。该循环继续直到处理应当终止仿真,在该点,判断分支到“否”分支778,由此,处理在步骤780指示仿真测试通过,并且过程在790结束。
图8是示出了仿真多处理器设备的仿真系统的图。仿真系统100包括运行时软件环境150、设备130和附接存储器模型110。设备模型130包括两个核心(core),该两个核心为核心A 800和核心B 820。在该实施例中,核心A 800正使用在高速缓存140中执行的训练应用120来仿真。仿真系统100、附接存储器模型110、设备模型130、高速缓存140和运行时软件环境150与图1中所示的相同。
在仿真期间,核心B 820监视对核心A 800其自己不可用的仿真器特定试探,例如周期次数、低电平TTL(晶体管晶体管逻辑)锁存数据和处理中探测到的总线事务。这允许核心A 800执行初始的、未修改的代码。同样,非应用相关的代码被分离并且在不同的处理器上运行,以便不更改初始应用代码(训练应用120)的运行。在一个实施例中,该“混合检查”方法可以用于扩展不变和递增的检查试探的集合。
图9示出了信息处理系统901,该信息处理系统是能够实施这里描述的计算操作的计算机系统的简化示例。计算机系统901包括耦合到主机总线902的处理器900。二级(L2)高速缓存存储器904也耦合到主机总线902。主机到PCI桥906耦合到主存储器908,包括高速缓冲存储器和主存储器控制功能,并且提供总线控制来处理PCI总线910、处理器900、L2高速缓存904、主存储器908和主机总线902之间的传输。主存储器908耦合到主机到PCI桥906以及主机总线902。仅仅被主机处理器900使用的设备(例如LAN卡930)耦合到PCI总线910。服务处理器接口和ISA接入传递口912提供PCI总线910与PCI总线914之间的接口。这样,PCI总线914与PCI总线910绝缘。例如闪速存储器918的设备耦合到PCI总线914。在一个实现中,闪速存储器918包括BIOS代码,其中,所述BIOS代码合并了用于多种低层系统功能和系统引导功能的必要的处理器可执行代码。
PCI总线914为被主机处理器900和服务处理器916共享的多种设备提供接口,所述多种设备例如包括闪速存储器918。PCI到ISA桥935提供总线控制来处理PCI总线914和ISA总线940、通用串行总线(USB)功能945、电源管理功能955之间的传输,以及可以包括未示出的其它功能单元,例如实时时钟(RTC)、DMA控制、中断支持和系统管理总线支持。非易失性RAM 920被附接到ISA总线940。服务处理器916包括用于在初始化步骤期间与处理器900通信的JTAG和I2C总线922。JTAG/I2C总线922还耦合到L2高速缓存904、主机到PCI桥906和主存储器908,其提供所述处理器、服务处理器、L2高速缓存、主机到PCI桥和主存储器之间的通信通路。服务处理器916还具有到系统电源的接入,以便为信息处理设备901断电。
外围设备和输入/输出(I/O)设备可以被附接到各种接口(例如耦合到ISA总线940的并行接口962、串行接口964、键盘接口968和鼠标接口970)。可选地,许多I/O设备可以由附接到ISA总线940的超级I/O控制器(未示出)来供应。
为将计算机系统901附接到另一计算机系统从而在网络上复制文件,LAN卡930耦合到PCI总线910。类似地,为将计算机系统901连接到ISP从而使用电话线连接而连接到因特网,调制解调器995被连接到串行端口964和PCI到ISA桥935。
尽管图9示出了一个利用处理器900的信息处理系统,但所述信息处理系统可以采取许多种形式。例如,信息处理系统901可以采取任意形式的台式机、服务器、便携式计算机、膝上型计算机、笔记本或其它形式因子的计算机或数据处理系统。信息处理系统901还可以采取其它形式因子,例如个人数字助理(PDA)、游戏设备、ATM机器、便携式电话设备、通信设备或包括处理器和存储器的其它设备。
本发明的一种优选实现是客户端应用,即,例如可以驻留在计算机的随机存取存储器中的代码模块中的指令集(程序代码)。直到被计算机需要之前,所述指令集可以存储在另一计算机存储器中,例如在硬盘驱动器或例如光盘(以便最后在CD ROM中使用)或软盘(以便最后在软盘驱动器中使用)的可移除存储器中,或者经由因特网或其它计算机网络下载。由此,本发明可以实现为用于计算机中的计算机程序产品。另外,尽管所描述的各种方法在由软件选择性激活或重新配置的通用计算机中方便地实现,但本领域的普通技术人员还将认识到,所述方法可以用硬件、固件或构造为实施所需要的方法步骤的更专用的装置来实现。
尽管已示出和描述了本发明的特定实施例,但对于本领域的技术人员将显而易见,基于这里的讲授,在不脱离本发明及其宽泛方面的情况下,可以作出各种改变和修改。因此,所附权利要求将把所述改变和修改包含在其范围内,作为在本发明的真实精神和范围内。另外,应当理解,本发明仅由所附权利要求定义。本领域的技术人员应当理解,如果特定数量的所介绍权利要求单元是有意图的,则所述意图将在该权利要求中被明确陈述,以及如果所述陈述不出现,则不出现任何所述限制。对于非限制性示例,为有助于理解,下面所附的权利要求包含用于介绍权利要求单元的介绍性短语“至少一个”和“一个或更多”的使用。然而,所述短语的使用不应当被解释为暗示:甚至当同一权利要求包括介绍性短语“一个或更多”或“至少一个”和例如“一个(a)”或“一个(an)”的不定冠词时,经由不定冠词“一个(a)”或“一个(an)”的权利要求单元介绍将包含所介绍的权利要求单元的任意特定权利要求限制为仅包含一个所述单元的发明;所述情形对于定冠词在权利要求中的使用同样适用。
Claims (14)
1.一种计算机实现的方法,包括:
将设备模型加载到仿真系统中,所述设备模型用于仿真设备的设计逻辑;
将附接存储器模型加载到所述仿真系统中,所述附接存储器模型不是所述设备模型的一部分,并且不用于仿真所述设计逻辑的任意部分;
将训练应用加载到所述附接存储器模型中;
响应于所述附接存储器模型的加载和所述训练应用的加载,使用所述设备模型仿真所述设备,所述仿真导致所述训练应用在所述设备模型上的执行;以及
在所述仿真期间,从所述附接存储器模型向所述训练应用提供仿真数据。
2.根据权利要求1所述的方法,其中,所述仿真数据是反馈数据,所述方法进一步包括:
为所述设备模型和所述附接存储器模型计时,所述计时导致所述反馈数据被所述训练应用生成;
将所述反馈数据存储在所述附接存储器模型中;以及
为所述设备模型重新计时,所述重新计时导致从所述附接存储器模型向所述训练应用提供所述反馈数据。
3.根据权利要求1所述的方法,其中,所述仿真数据包括种子数据,所述方法进一步包括:
将运行时软件环境加载到所述仿真系统中;
使用所述运行时软件环境将所述种子数据加载到所述附接存储器模型中;
为所述设备模型和所述附接存储器模型计时,所述计时导致从所述附接存储器模型向所述设备模型传输所述种子数据,其中,所述训练应用将所述种子数据加载到随机发生器中;以及
使用包括在所述随机发生器中的种子数据实施所述仿真,所述仿真导致仿真状态。
4.根据权利要求3所述的方法,进一步包括:
使用所述运行时软件环境从所述设备模型读取所述仿真状态;
响应于所述读取,由所述运行时软件环境判断所述仿真状态是否包括训练应用已标记错误;
响应于判断所述仿真状态包括所述训练应用已标记错误,由所述运行时软件环境指示仿真测试失败;以及
响应于判断所述仿真状态不包括所述训练应用已标记错误,由所述运行时软件环境指示仿真测试通过。
5.根据权利要求1所述的方法,其中,所述仿真数据包括外部激励数据,以及其中,所述仿真系统包括运行时软件环境,所述方法进一步包括:
为所述设备模型和所述附接存储器模型计时;
响应于所述计时,判断所述设备模型在灯塔位置;
在所述运行时软件环境接收所述外部激励数据;
响应于所述接收,将所述外部激励数据存储在所述附接存储器模型中;以及
响应于所述存储,为所述设备模型和所述附接存储器模型重新计时,所述重新计时导致所述训练应用从所述附接存储器模型读取所述外部激励数据。
6.根据权利要求5所述的方法,其中,所述外部激励数据由所述运行时软件环境生成。
7.一种信息处理系统,包括:
一个或更多处理器;
可被所述处理器访问的存储器;
可被所述处理器访问的一个或更多非易失性存储设备;以及
一种用于向设备模型提供仿真数据的仿真工具,所述仿真工具对于以下有效:
将设备模型加载到位于所述存储器中的仿真系统中,所述设备模型用于仿真设备的设计逻辑;
将附接存储器模型加载到位于所述存储器中的所述仿真系统中,所述附接存储器模型不是所述设备模型的一部分,并且不用于仿真所述设计逻辑的任意部分;
将训练应用加载到位于所述存储器中的所述附接存储器模型中;
响应于所述附接存储器模型的加载和所述训练应用的加载,使用所述设备模型仿真所述设备,所述仿真导致所述训练应用在所述设备模型上的执行;以及
在所述仿真期间,从所述附接存储器模型向所述训练应用提供仿真数据。
8.根据权利要求7所述的信息处理系统,其中,所述仿真数据是反馈数据,所述仿真工具进一步对于以下有效:
为所述设备模型和所述附接存储器模型计时,所述计时导致所述反馈数据被所述训练应用生成;
将所述反馈数据存储在位于所述存储器中的所述附接存储器模型中;以及
再次为所述设备模型计时,所述重新计时导致从所述附接存储器模型向所述训练应用提供所述反馈数据。
9.根据权利要求7所述的信息处理系统,其中,所述仿真数据包括种子数据,所述仿真工具进一步对于以下有效:
将运行时软件环境加载到所述仿真系统中;
使用所述运行时软件环境将所述种子数据加载到所述附接存储器模型中;
为所述设备模型和所述附接存储器模型计时,所述计时导致从所述附接存储器模型向所述设备模型传输所述种子数据,其中,所述训练应用将所述种子数据加载到随机发生器中;以及
使用包括在所述随机发生器中的所述种子数据实施所述仿真,所述仿真导致仿真状态。
10.根据权利要求9所述的信息处理系统,其中,所述仿真工具进一步对以下有效:
使用所述运行时软件环境从所述设备模型读取所述仿真状态;
响应于所述读取,由所述运行时软件环境判断所述仿真状态是否包括训练应用已标记错误;
响应于判断所述仿真状态包括所述训练应用已标记错误,由所述运行时软件环境指示仿真测试失败;以及
响应于判断所述仿真状态不包括所述训练应用已标记错误,由所述运行时软件环境指示仿真测试通过。
11.根据权利要求7所述的信息处理系统,其中,所述仿真数据包括外部激励数据,以及其中,所述仿真系统包括运行时软件环境,所述仿真工具进一步对于以下有效:
为所述设备模型和所述附接存储器模型计时;
响应于所述计时,判断所述设备模型在灯塔位置;
在所述运行时软件环境接收所述外部激励数据;
响应于所述接收,将所述外部激励数据存储在所述附接存储器模型中;以及
响应于所述存储,再次为所述设备模型和所述附接存储器模型计时,所述重新计时导致所述训练应用从所述附接存储器模型读取所述外部激励数据。
12.根据权利要求11所述的信息处理系统,其中,所述外部激励数据由所述运行时软件环境生成。
13.一种计算机实现的方法,包括:
将第一设备模型加载到仿真系统中,所述第一设备模型用于仿真第一设备的设计逻辑;
将第二设备模型加载到仿真系统中,所述第二设备模型用于仿真第二设备的设计逻辑;
将附接存储器模型加载到所述仿真系统中,所述附接存储器模型不是所述第一设备模型和所述第二设备模型的一部分,并且不用于仿真所述第一设备和所述第二设备的设计逻辑的任意部分;
将训练应用加载到所述附接存储器模型中;
响应于所述附接存储器模型的加载和所述训练应用的加载,使用所述第一设备模型仿真所述设备,所述仿真导致所述训练应用在所述第一设备模型上的执行;
在所述仿真期间,从所述附接存储器模型向所述训练应用提供仿真数据;以及
响应于所述仿真,向所述第二设备模型提供仿真器特定的试探。
14.根据权利要求13所述的方法,其中,所述仿真器特定的试探从包括周期次数、低电平晶体管晶体管逻辑锁存数据和处理中探测到的总线事务的组中选出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/621,335 | 2007-01-09 | ||
US11/621,335 US8229727B2 (en) | 2007-01-09 | 2007-01-09 | System and method for incorporating design behavior and external stimulus in microprocessor emulation model feedback using a shared memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101221595A true CN101221595A (zh) | 2008-07-16 |
Family
ID=39595022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100017736A Pending CN101221595A (zh) | 2007-01-09 | 2008-01-08 | 将设计行为和外部激励并入仿真模型反馈中的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8229727B2 (zh) |
CN (1) | CN101221595A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182268A (zh) * | 2013-05-27 | 2014-12-03 | 三星电子株式会社 | 仿真系统及其方法和包括所述仿真系统的计算机系统 |
CN104615477A (zh) * | 2013-11-01 | 2015-05-13 | 国际商业机器公司 | 运行中的fpga 系统的周期精确级重放和调试 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169069A1 (en) * | 2008-12-29 | 2010-07-01 | Nimrod Diamant | Composite device emulation |
JP2012155519A (ja) * | 2011-01-26 | 2012-08-16 | Renesas Electronics Corp | シミュレーション装置、シミュレーション方法およびそのコンピュータ・プログラム |
US8843861B2 (en) | 2012-02-16 | 2014-09-23 | Mentor Graphics Corporation | Third party component debugging for integrated circuit design |
US9703579B2 (en) | 2012-04-27 | 2017-07-11 | Mentor Graphics Corporation | Debug environment for a multi user hardware assisted verification system |
US8489925B1 (en) * | 2012-11-09 | 2013-07-16 | Kaspersky Lab, Zao | System and method for processing of system errors |
US10419483B1 (en) * | 2014-09-17 | 2019-09-17 | Amazon Technologies, Inc. | Time-bounded execution for privileged code |
US9898563B2 (en) * | 2015-11-13 | 2018-02-20 | Mentor Graphics Corporation | Modeling memory in emulation based on cache |
US9990452B2 (en) | 2015-11-13 | 2018-06-05 | Mentor Graphics Corporation | Low power corruption of memory in emulation |
US9767237B2 (en) | 2015-11-13 | 2017-09-19 | Mentor Graphics Corporation | Target capture and replay in emulation |
CN110007618B (zh) * | 2019-04-26 | 2021-11-09 | 中国人民解放军陆军工程大学 | 群智能建筑应用程序与仿真模型运行交互方法 |
US11302412B2 (en) * | 2019-06-03 | 2022-04-12 | Advantest Corporation | Systems and methods for simulated device testing using a memory-based communication protocol |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060117274A1 (en) * | 1998-08-31 | 2006-06-01 | Tseng Ping-Sheng | Behavior processor system and method |
US20020152060A1 (en) * | 1998-08-31 | 2002-10-17 | Tseng Ping-Sheng | Inter-chip communication system |
US6823497B2 (en) * | 1999-11-30 | 2004-11-23 | Synplicity, Inc. | Method and user interface for debugging an electronic system |
US7072818B1 (en) * | 1999-11-30 | 2006-07-04 | Synplicity, Inc. | Method and system for debugging an electronic system |
US6754852B2 (en) * | 2000-03-02 | 2004-06-22 | Texas Instruments Incorporated | Debug trigger builder |
US20030061341A1 (en) * | 2001-09-26 | 2003-03-27 | Infineon Technologies North America Corp. | Media cross conversion interface |
US6714035B2 (en) * | 2002-06-28 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | System and method for measuring fault coverage in an integrated circuit |
US6993734B2 (en) * | 2003-02-20 | 2006-01-31 | International Business Machines Corporatioin | Use of time step information in a design verification system |
US7127649B2 (en) * | 2003-06-09 | 2006-10-24 | Stmicroelectronics, Inc. | Smartcard test system and related methods |
US7366652B2 (en) * | 2003-06-16 | 2008-04-29 | Springsoft, Inc. | Method of programming a co-verification system |
US7072825B2 (en) * | 2003-06-16 | 2006-07-04 | Fortelink, Inc. | Hierarchical, network-based emulation system |
US7137083B2 (en) * | 2004-04-01 | 2006-11-14 | Verigy Ipco | Verification of integrated circuit tests using test simulation and integrated circuit simulation with simulated failure |
US7379861B2 (en) * | 2004-05-28 | 2008-05-27 | Quickturn Design Systems, Inc. | Dynamic programming of trigger conditions in hardware emulation systems |
US20050289396A1 (en) * | 2004-06-25 | 2005-12-29 | Hooper Donald F | Conditional breakpoint using breakpoint function and breakpoint command |
CN100337212C (zh) | 2004-07-22 | 2007-09-12 | 华为技术有限公司 | 逻辑验证系统及方法 |
US7747901B2 (en) * | 2005-07-20 | 2010-06-29 | Texas Instruments Incorporated | Auxiliary link control commands |
US8296119B2 (en) * | 2007-11-05 | 2012-10-23 | Cadence Design Systems, Inc. | Saving and restarting discrete event simulations |
-
2007
- 2007-01-09 US US11/621,335 patent/US8229727B2/en not_active Expired - Fee Related
-
2008
- 2008-01-08 CN CNA2008100017736A patent/CN101221595A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182268A (zh) * | 2013-05-27 | 2014-12-03 | 三星电子株式会社 | 仿真系统及其方法和包括所述仿真系统的计算机系统 |
CN104182268B (zh) * | 2013-05-27 | 2019-01-18 | 三星电子株式会社 | 仿真系统及其方法和包括所述仿真系统的计算系统 |
CN104615477A (zh) * | 2013-11-01 | 2015-05-13 | 国际商业机器公司 | 运行中的fpga 系统的周期精确级重放和调试 |
CN104615477B (zh) * | 2013-11-01 | 2018-03-27 | 国际商业机器公司 | 分析fpga的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US8229727B2 (en) | 2012-07-24 |
US20080167854A1 (en) | 2008-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101221595A (zh) | 将设计行为和外部激励并入仿真模型反馈中的系统和方法 | |
Chen et al. | A scalable software-based self-test methodology for programmable processors | |
Civera et al. | An FPGA-based approach for speeding-up fault injection campaigns on safety-critical circuits | |
US7366650B2 (en) | Software and hardware simulation | |
CN105893234B (zh) | 用于软件测试的方法和计算设备 | |
CN101826050B (zh) | 一种用于制造后处理器芯片验证的随机验证方法及装置 | |
CN109937418B (zh) | 用于仿真的基于波形的重构 | |
US20090240457A1 (en) | Testing in a hardware emulation environment | |
CN101231589A (zh) | 用于原位开发嵌入式软件的系统和方法 | |
GB2450130A (en) | An Apparatus for Performing Verification of the Design of a Data Processing System using Alternative Hardware Components | |
CN103324515A (zh) | 仿真期间存储器步移序列加速的方法和系统 | |
US7266795B2 (en) | System and method for engine-controlled case splitting within multiple-engine based verification framework | |
CN103713977B (zh) | 一种微处理器ip核比较验证的实现方法 | |
Lin et al. | Functional verifications for SoC software/hardware co-design: From virtual platform to physical platform | |
MX2011001796A (es) | Ejecucion de procesador simulado utilizando supeditar ramificacion. | |
CN107145381A (zh) | 面向实践教学的mips‑cpu测试工具 | |
Cho et al. | A full-system VM-HDL co-simulation framework for servers with PCIe-connected FPGAs | |
Hsieh et al. | On application of data mining in functional debug | |
CN113792522A (zh) | 仿真验证方法、装置及计算设备 | |
Pinckney et al. | A mips r2000 implementation | |
CN114328045A (zh) | 一种bmc的i2c调试方法、系统、装置及计算机可读存储介质 | |
JP2828590B2 (ja) | マイクロプログラム検証方法 | |
Lettnin et al. | Coverage driven verification applied to embedded software | |
Donaldson et al. | DLSys: A toolkit for design and simulation of computer system architecture | |
Denneau et al. | Design and implementation of a software simulation engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080716 |