CN102279768A - 仿真装置、仿真程序以及仿真方法 - Google Patents
仿真装置、仿真程序以及仿真方法 Download PDFInfo
- Publication number
- CN102279768A CN102279768A CN2011101550679A CN201110155067A CN102279768A CN 102279768 A CN102279768 A CN 102279768A CN 2011101550679 A CN2011101550679 A CN 2011101550679A CN 201110155067 A CN201110155067 A CN 201110155067A CN 102279768 A CN102279768 A CN 102279768A
- Authority
- CN
- China
- Prior art keywords
- model
- simulation time
- hardware
- simulation
- software
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种在再现实际设备的时间经过、定时的同时实现高速化的仿真装置。包括:HW模型执行部,执行通知仿真时间的HW模型;SW模型执行部,执行通知仿真时间的SW模型;仿真时间管理部,使HW模型的仿真时间的总经过时间即第一仿真时间经过HW模型通知的仿真时间,使SW模型的仿真时间的总经过时间即第二仿真时间经过SW模型通知的仿真时间;调度器,比较第一仿真时间和第二仿真时间,根据比较结果使SW模型或者HW模型执行,在SW模型等待来自HW模型的中断时,代替执行空转而只使HW模型执行。
Description
技术领域
本发明的实施方式涉及虚拟地对由软件以及硬件构成的设备进行模拟的仿真技术。
背景技术
以往,已知有对通过硬件和软件协同工作而发挥功能的设备进行仿真的仿真装置。这样的仿真装置具有:对硬件处理进行模拟的HW(Hardware,硬件)模型;和对软件处理进行模拟的SW(Software,软件)模型。仿真装置利用这些HW模型、SW模型来进行仿真。另外,该仿真装置通过HW模型以及SW模型的逐次处理来实现仿真对象设备(以下称为实际设备)的硬件结构以及软件结构的并列动作。
另外,仿真装置由于再现实际设备的时间经过、定时,所以按照每个HW模型、SW模型来保持并管理“仿真时间”这样的时间信息。
而且,公开有以下技术。
现有技术文献:
专利文献:
专利文献1:日本特开2004-234528号公报
专利文献2:日本特开2005-293219号公报
专利文献3:日本特开2006-023852号公报
专利文献4:日本特开2009-26113号公报
专利文献5:日本特开2006-163983号公报
非专利文献:
非专利文献1:“基于硬-软协作验证的高速化技术System-C开发STARC”日经微器件,2005年1月号,P.106-107
发明内容
在此,参照图10说明仿真时间和由于仿真装置中的运算所经过的时间。图10(A)是示出实际设备实际运转时各处理所花费的时间(或者,在设计阶段的情况下各处理的设想时间)的一个例子的图。图10(B)是示出仿真装置上的仿真时间的一个例子的图。另外,图10(C)是示出在仿真装置中对实际设备的各处理进行仿真时实际所花费的时间(以下称为实际时间)的图。
假设实际设备中的处理时间例如如图10(A)所示出那样,处理A为1ms,处理B为2ms,处理C为1ms,处理D为1ms。在考虑了仿真时间的仿真装置中,将该实际设备中的各处理的时间作为仿真时间而进行管理。即,如图10(A)、图10(B)所示那样,实际设备中的处理时间和仿真时间是等值的。
在仿真装置中对实际设备的各处理进行仿真时,产生基于仿真装置的硬件资源的控制的处理时间以及基于软件控制的处理时间。因此,如图10(C)所示那样,实际时间不会落入实际设备中的处理时间,而是在各个处理中产生延迟。
在以往技术中,在SW模型处于等待来自HW模型的中断的状态时,仿真装置将执行待机处理用循环(以下称为空转)。也就是说,执行仿真的仿真装置必须对于与SW模型的空转状态相关的处理分配硬件资源。其结果,存在导致仿真的执行速度下降这样的问题。
另外,以往方法中,对OS(Operating System,操作系统)的空转中的忙循环的执行分配主计算机的资源。主计算机在等待经过中断发生为止的仿真时间的期间,消耗必要以上的硬件资源,使仿真执行性能下降。
关于该以往技术的问题点,参照图11进行说明。图11示出仿真引擎一边按照仿真时间切换执行单位一边仿真空转中的SW模型和HW模型时的转变。
在这些仿真方式中,通过等待仿真时间经过与在HW模型侧所经过的仿真时间相同的时间(执行空转)来再现仿真对象的时间经过、定时。即,在这些仿真方式中,由于随时执行SW模型侧的空转,所以存在消耗必要以上的主CPU(Central Processing Unit,中央处理单元)的资源这样的问题。另外,这些仿真方式中,存在为了切换执行单位而产生仿真引擎的开销这样的问题。这些主CPU的资源消耗以及执行单位的切换都是使仿真执行性能下降的主要原因。
另外,在具有仿真时间的信息的以往仿真方式中,一边经过SW模型的执行单位和HW模型的执行单位相同的仿真时间一边进行并行动作。SW模型也需要以与HW模型使中发生断为止所需要的仿真时间相同的时间执行仿真。但是,此时,在SW模型侧中没有空转以外要进行动作的任务,所以空转会执行无用的循环处理来等待仿真时间的经过。
在空转状态的仿真中,作为不对主计算机带来无用的负荷的方法,有通过切换处理过程相对时间定时器功能和实际时间定时器功能来减轻对成为空转状态时的OS(Operating System,操作系统)带来的负荷的方法(实时OS仿真方式)。但是,该方法需要使用主计算机的资源来仿真空转状态,需要经过实际时间。
本发明的实施方式是为了解决上述问题点而作出的,其目的在于提供一种在空转状态的仿真中不使用主计算机的资源,并且缩短在仿真装置中执行的时间,由此提供不仅能够减轻对主OS的负荷,而且不会使实际设备的时间经过、定时的再现精度劣化,而能够使仿真执行性能高速化的技术。
实施方式的仿真装置是在验证对象进行硬件的处理和软件的处理时,通过对仿真时间进行管理来再现验证对象的各处理的执行定时的仿真装置,所述仿真时间为验证对象执行这些处理所经过的时间的信息。并且,该仿真装置具有硬件模型执行部,该硬件模型执行部执行硬件模型,该硬件模型对安装于验证对象的硬件的处理进行模拟,并且针对每个处理通知由于硬件模型的处理而经过的仿真时间。并且,仿真装置具有软件模型执行部,该软件模型执行部执行软件模型,该软件模型对安装于所述验证对象的软件的处理进行模拟,并且针对每个处理通知由于软件模型的处理而经过的仿真时间。实施方式的仿真装置具有仿真时间管理部,存储第一仿真时间和第二仿真时间,并且获取由硬件模型通知的仿真时间,使第一仿真时间经过所获取的仿真时间,获取由软件模型通知的仿真时间,使第二仿真时间经过所获取的仿真时间,所述第一仿真时间是硬件模型的仿真时间的总经过时间,所述第二仿真时间是软件模型的仿真时间的总经过时间。并且,仿真装置具有执行指示部,比较第一仿真时间和第二仿真时间,在第一仿真时间比第二仿真时间长时,执行软件模型,在第二仿真时间比第一仿真时间长时,执行硬件模型。并且,仿真装置具有中断管理部,存储当前是否有从硬件模型向软件模型的中断通知的信息。实施方式的仿真装置的执行指示部进而向中断管理部询问有无中断通知,在有中断通知时,执行软件模型的中断处理程序。另一方面,在没有中断通知时,执行指示部使软件模型的任务执行。并且,执行指示部在软件模型等待来自硬件模型的中断时,代替执行软件模型的空转而只执行硬件模型,直至发生来自硬件模型的中断。执行指示部在从硬件模型发生了中断时,使第二仿真时间前进至第一仿真时间。
附图说明
图1是示出第一实施方式涉及的仿真装置的功能结构的一个例子的模块图。
图2是示出对模型识别信息与仿真时间的对应关系进行管理的表的一个例子的图。
图3是示出第一实施方式涉及的仿真执行的转变的一个例子的图。
图4是示出第一实施方式涉及的仿真装置的动作的一个例子的流程图(其1)。
图5是示出第一实施方式涉及的仿真装置的动作的一个例子的流程图(其2)。
图6是示出第二实施方式涉及的仿真装置的功能结构的一个例子的模块图。
图7是示出第二实施方式涉及的仿真执行的转变的一个例子的图。
图8是示出第四实施方式涉及的仿真装置的功能结构的一个例子的模块图。
图9是示出第四实施方式涉及的仿真装置的动作的一个例子的流程图(与图5对应)。
图10是用于说明仿真时间和实际时间的图。
图11是示出以往的仿真执行的转变的一个例子的图。
(符号说明)
1、1A、1B:仿真装置;10、10B:仿真引擎;11:仿真时间管理部;12:中断仿真管理部;13、13B:调度器;14:外界模型通信控制部;15:空闲中标志;20、20A、20B:SW模型执行部;21A、21B:任务;22:空转;23:中断处理程序;24:任务调度器;25:CPU模型;26、26A:SW模型;27:驱动器;30、30B:HW模型执行部;31A、31B:HW模型;32:中断控制器;40:外界模型;50:设备。
具体实施方式
(第一实施方式)
第一实施方式的仿真装置在成为空转状态时,不执行SW模型的忙循环处理,而是将仿真时间前进来自HW模型的中断下一次发生为止的时间。由此,第一实施方式的仿真装置不使用主计算机的资源,并且使仿真执行高速化
图1中示出第一实施方式涉及的仿真装置的功能块的一个例子。另外,仿真装置1是具备CPU、主存储装置以及硬盘驱动器或闪存等非易失性存储装置等的硬件资源的计算机。
仿真装置1具备仿真引擎10、SW模型执行部20、HW模型执行部30。这些各功能块是预先安装于非易失性存储装置中的程序加载到主存储装置并由CPU运算执行来实现的。
SW模型执行部20对仿真对象设备(仿真装置1在例如对数字照相机进行仿真时的该数字照相机。与上述同样地,将仿真对象设备称为实际设备。)的软件处理进行仿真。SW模型执行部20具备通过软件处理来仿真实际设备上的CPU的CPU模型25。SW模型执行部20执行SW模型26,以在CPU模型25上进行动作。
SW模型26是在CPU模型25上执行的程序(包含实际设备的OS的程序)。SW模型26对实际设备中的软件的处理进行模拟,并通过利用仿真时间更新部件,针对每个处理,向仿真引擎10的仿真时间管理部11通知由于所执行的处理而经过的仿真时间。SW模型26包括任务21A、任务21B、空转22、中断处理程序23、任务调度器24的程序模块。任务21A、21B是实现SW模型26所具有的功能的程序。空转22是在不执行任务21A、21B的任意一个时,即在仿真空转状态时所执行的程序。
任务调度器24是对任务21A、任务21B、空转22的各程序进行切换的模块,是实现上下文开关的模块,该上下文开关是用于在各任务中共享CPU模型25的资源的功能。中断处理程序23是有来自HW模型执行部30的中断请求时执行事先定义的处理的程序。
HW模型执行部30通过执行HW模型31A、31B、中断控制器32来模拟实际设备的硬件的动作。HW模型31A、31B是对例如实际设备是数字照相机的情况下的快门的开闭控制部、CCD(ChargeCoupled Device,电荷耦合器件)图像传感器等实际设备内的硬件各自的动作进行模拟的程序。HW模型31A、31B针对每个处理,通过使用仿真时间更新部件来向仿真引擎10的仿真时间管理部11通知由于所执行的处理而经过的仿真时间。HW模型31A、31B的实际安装中使用对C语言进行了扩展的系统级描述语言。另外,HW模型31A、31B根据需要输出中断请求。
中断控制器32获取由HW模型31A、31B输出的中断请求,并变换为至少具有哪一HW模型对哪一SW模型输出的请求的格式。之后,中断控制器32向仿真引擎10的中断仿真管理部12发送中断通知。
另外,在图1中,用虚线包围的模块是仿真引擎10所管理控制的执行单位。这些模块并列地进行动作。
仿真引擎10是承担SW模型执行部20、HW模型执行部30中相互使用的数据的管理、各种通知的传达的框架。仿真引擎10为了使SW模型26的仿真时间和HW模型31A、31B的仿真时间始终相同,对各自的仿真时间进行更新,并且切换执行单位的执行。仿真引擎10具有仿真时间管理部11、中断仿真管理部12、调度器13的各程序模块。
仿真时间管理部11对SW模型26的仿真时间、HW模型31A、31B各自的仿真时间进行更新处理。仿真时间管理部11针对每个HW模型31A、31B,将仿真时间的总经过时间(以下,根据需要称为第一仿真时间)存储到主存储装置。并且,仿真时间管理部11将SW模型26的仿真时间的总经过时间(以下,根据需要称为第二仿真时间)存储到主存储装置。并且,仿真时间管理部11获取由HW模型31A、31B分别通知的仿真时间,对第一仿真时间加上所获取的仿真时间并使其经过。仿真时间管理部11获取SW模型26通知的仿真时间,对第二仿真时间加上所获取的仿真时间并使其经过。
仿真时间管理部11在存在多个SW模型时管理每个SW模型的第二仿真时间。在存在多个HW模型时也同样地,仿真时间管理部11针对每个HW模型管理第一仿真时间。仿真时间管理部11使仿真装置1内的主存储装置存储SW模型、HW模型的识别信息与仿真时间的总经过时间之间的对应关系(表)。仿真时间管理部11通过更新该表来管理每个SW模型、HW模型的仿真时间。图2是对模型识别信息与仿真时间的对应关系进行管理的表的一个例子。
中断仿真管理部12获取来自HW模型执行部30的中断通知,通过使仿真装置1的主存储装置存储当前是否有从哪一模型到哪一模型的中断通知的信息,由此管理中断的有无。
调度器13从仿真时间管理部11获取SW模型26、HW模型31A、31B的仿真时间,并判断使哪一模型执行,对判断结果后的模型进行执行指示。调度器13比较第一仿真时间和第二仿真时间,在第一仿真时间比第二仿真时间长(大)的情况下,使SW模型26执行。另一方面,在第二仿真时间比第一仿真时间长(大)的情况下,调度器13指示SW模型执行部20、HW模型执行部30,以使HW模型31A、31B的某一个执行。
另外,调度器13向中断仿真管理部12询问中断通知的有无,在有中断通知时,指示SW模型执行部20以执行SW模型26的中断处理程序23。另一方面,在没有中断时,调度器13指示SW模型执行部20以使SW模型26的任务21A、21B或者空转22执行。
上述以外,仿真引擎10还具有空闲中标志15,在该空闲中标志15中存储有当前是否有从HW模型31A、31B到SW模型26的中断通知的信息。空闲中标志15被存储在主存储装置或者非易失性存储装置中,是仿真引擎10内的调度器13所管理的标志,被用于判定是否进行空转。另外,针对每个SW模型26存在空闲中标志15。另外,关于空闲中标志15的设置位置,可以考虑各种形式,例如也可以是包含在中断仿真管理部12中的结构。并且,也可以由其它单元(例如中断仿真管理部12)进行空闲中标志15的写入控制、读出控制、管理。
接着,说明仿真装置1中的从HW模型执行部30向SW模型执行部20的中断通知。
HW模型31A或者31B向中断控制器32请求对SW模型26的中断。中断控制器32向仿真引擎10的中断仿真管理部12通知哪一HW模型对哪一SW模型进行了中断请求。中断仿真管理部12经由SW模型执行部20的CPU模型25,使SW模型26发生中断。SW模型26的任务调度器24在中断发生时,使当前运转的任务的执行中断而执行中断处理程序23。中断处理程序23的处理结束时,重新打开中断发生之前执行的任务或者执行任务调度器24,执行任务的切换处理。
另外,SW模型26的任务21A或者21B调用任务调度器24来放弃执行权时,任务调度器24对在该时刻执行优先度最高的任务给予执行权。在不存在应执行的任务时,任务调度器24对空转22给予执行权。
接着,详细说明仿真时间更新部件。SW模型26以及HW模型31A、31B中嵌入有仿真时间更新部件(waitfor函数),向仿真引擎10通知仿真时间经过。说明作为仿真时间更新部件的waitfor函数。waitfor(t)函数是更新仿真时间的函数。另外,waitfor(t)函数是向仿真时间管理部11进行通知以对调用源的总仿真时间(当前的仿真时间的总计)加上自变量t的函数。例如,在SW模型26调用了waitfor(t)时,仿真时间管理部11对SW模型26的总仿真时间加上自变量t。HW模型31A、31B调用了waitfor(t)时也同样地,仿真时间管理部11对与HW模型31A、31B分别对应的总仿真时间加上自变量t。
仿真引擎10的调度器13将发行了waitfor(t)的执行单位设为执行等待状态直至经过仿真时间t,如果经过仿真时间t则将该执行单位设为可执行状态。
图3表示基于仿真装置1的执行单位的转变。SW模型26中,代替图11所示那样通过空转22进行循环处理,使得经过直至中断发生为止的仿真时间。然后,仿真装置1直至经过HW模型侧的仿真时间为止只使HW模型执行。如此,无用的循环处理消失,并且执行单位的切换最小即可,无用的切换消失。
接着,参照图4,图5的流程图来说明仿真装置1的动作。
作为SW模型执行部20的执行单位即SW模型26在为了等待来自HW模型31A、31B的中断而空转时(S1,是),向调度器13通知表示是空转的意思,将空闲中标志15设为ON(S2)。如果不进行空转时(S1,否),处理进入步骤S3。SW模型26为了将仿真时间前进t,调用作为仿真时间更新部件的waitfor函数(S3)。
另外,另一方面,作为HW模型执行部30的执行单位即HW模型31A、31B在存在对于SW模型26的中断要素时(S4,是),向中断仿真管理部12通知中断要素(S5),使调度器13将空闲中标志15设为OFF。在此,如果仍是S2中被设为空闲中标志15为ON的状态(ON状态)(S6,是),则HW模型31A、31B向仿真时间管理部11通知空闲中标志15从ON变更为OFF(S7)。空闲中标志15变为OFF的状态(S8)。另一方面,在空闲中标志15为OFF时(S6,否),维持现状的OFF的状态(S8)。
另外,另一方面,在没有对于SW模型26的中断要素时(S4,否),处理进入S9。HW模型31A、31B为了将仿真时间前进t,调用作为仿真时间更新部件的waitfor函数(S9)。
仿真时间管理部11辨别waitfor函数的调用源(S10)。在此,调用源为SW模型26时(S10,SW模型),仿真时间管理部11通过对SW模型26的当前时刻下的总仿真时间TSW加上t来进行更新(S11)。另一方面,在调用源为HW模型31A、31B时(S10,HW模型),仿真时间管理部11通过对HW模型31A、31B的当前的总仿真时间THW加上t来更新HW模型的仿真时间(S12)。另外,在仿真时间管理部11没有从HW模型31A、31B接收到空闲中标志15从ON变更为了OFF的通知时(S13,否),处理进入S15。另一方面,在仿真时间管理部11接收到空闲中标志15从ON变更为了OFF的通知时(S13,是),仿真时间管理部11将SW模型26的当前的总仿真时间TSW设为HW模型31A、31B的当前时刻下的总仿真时间THW(S14)。
说明步骤S14。空转中,由于只执行HW模型31A、31B(参照S25),所以SW模型26的总仿真时间TSW不被更新。在该状态下,只对HW模型31A、31B的总仿真时间THW进行更新,导致不能获得SW模型26与HW模型31A、31B的同步。因此,如前述那样,使用HW模型31A、31B的总仿真时间THW,进行使SW模型26的总仿真时间TSW前进的设定。
调度器13从仿真时间管理部11获取THW(S15),并且辨别空闲中标志15的状态(S16)。在此,空闲中标志15为OFF时(S16,是),调度器13从仿真时间管理部11获取TSW(S17)。调度器13对获取的TSW和THW进行比较,在成立TSW≥THW时(S18,“≥”),对HW模型进行执行指示(S25),处理返回到S4。另一方面,TSW<THW成立时(S18,“<”),调度器13向中断仿真管理部12询问有无中断要素(S19)。
在此,没有中断要素时(S20,否),执行SW模型26的任务21A、21B或者空转22(S22)。有中断要素时(S20,是),执行中断处理程序23(S21)。步骤S21、步骤S22之后,处理返回到步骤S1。
通过步骤S16的辨别处理,在空闲中标志15为ON时(S16,否),调度器13辨别在THW中是否有应动作的HW模型(S23)。在此,在没有应动作的HW模型时(S23,否),调度器13使THW前进直至最近进行动作的HW模型的总仿真时间为止(S24),之后,对HW模型进行执行指示(S25)。并且,在THW中有应动作的HW模型时(S23,是),处理进入到步骤S25。
图4,图5中示出的动作例中,在模型数目为3个以上时也是同样的处理。另外,在步骤S18的判定处理中,对哪个判定结果赋予等号是以调度器实际安装策略为依据的,无论哪种都可以。
另外,第一实施方式中示出的waitfor函数是仿真时间更新部件的一个例子,是用SystemC、SpecC等对C语言进行了扩展的系统级描述语言描述了HW模型、SW模型时利用的函数。因此,对于第一实施方式中的仿真时间更新部件并不限定于waitfor函数。
这样,对仿真时间进行管理,在SW模型为空闲中时只执行HW模型,由此无用的循环处理消失,并且执行单位的切换最小即可。并且,不使再现精度劣化,而能够再现实际设备的时间经过、定时。
(第二实施方式)
仿真装置所模拟的对象的设备(实际设备)中,有驱动器软件对硬件进行轮询来监视硬件的状态的变化的设备。第二实施方式中,说明对采用这样的驱动器软件的设备进行模拟的仿真装置。
图6是示出第二实施方式涉及的仿真装置的结构的一个例子的图。仿真装置1A具有SW模型26A,该SW模型26A具有任务21A、任务21B、任务调度器24。另外,仿真装置1A具有驱动器27,该驱动器27对HW模型31A、31B进行轮询,并监视HW模型31A、31B的状态变化。在图6中,由于与图1相同符号的单元是与第一实施方式相同的,所以省略说明。
图7是示出第二实施方式中的仿真执行的转变的一个例子的图。驱动器27在HW模型31A、31B的处理结束的时刻,对HW模型进行轮询。HW模型31A、31B执行从驱动器27请求的处理和针对来自驱动器27的轮询的状态通知处理。仿真装置1A除了在处理的最后发生轮询处理以外,都是与第一实施方式的仿真装置1同样的动作。
(第三实施方式)
第三实施方式中,说明实际设备无OS的情况。实际设备包含OS时,OS的空转任务的忙循环处理成为高速化的改善对象。第三实施方式中,说明在实际设备无OS时实现高速化的例子。
无OS的软件中,在为了进行与外部的定时调整而等待经过时间时,存在执行忙循环的情况。第三实施方式中,进行该忙循环处理的仿真高速化。
实施方式中应用的循环处理需要是对循环外没有副作用的循环处理。在开始该循环处理时,进行第一实施方式中的空转开始通知。
要从验证对象软件之中抽取对循环外没有副作用的循环处理的源代码并插入空转开始通知处理时,也可以利用编译程序的预处理器。但是,由于像进行比较长时间循环那样的循环部分一般不多,所以也可以是从外部对仿真装置指示该部分的方法。
例如,OS的空转任务的忙循环是验证对象软件的一个部分的情况较多,当然不用由程序自动抽取。
(第四实施方式)
在第一实施方式中,在例如对数字时钟进行模拟时,在仿真装置中进行以下的处理。
1.等待经过时间(空转)。
2.时间经过后发生定时器中断。
3.软件控制下的时间显示的更新。
在此,1.中没有应动作的HW模型(本例中为定时器),所以在第一实施方式中,将HW模型的时间前进到HW模型最近应动作的时间,并立即执行2.。在该情况下,对时钟连续进行时间更新。通过该动作能够实现高速仿真,并且能够实现所期待的仿真。
另外,另一方面,在例如模拟计算器时,为如下处理:任意发生的键输入(仿真装置外部(外界)的动作)成为主事件,在进行了键输入时,进行计算并显示结果。在此,在对没有键输入的状态下经过一定时间时电源就关闭的计算器进行模拟时,第一实施方式的例子中即使电源接通也会立即电源被关闭,所以无法期待所期望的仿真。
第四实施方式的仿真装置中,在SW模型成为空转状态时,如果有应动作的HW模型则不执行SW模型的忙循环处理,而是只执行HW模型直至下一次发生来自HW模型的中断为止。由此,不会为了无用的忙循环处理而使用主计算机的资源,并且仿真执行高速化。
图8中示出第四实施方式涉及的仿真装置的功能块的一个例子。另外,仿真装置1B是具备CPU、主存储装置以及硬盘驱动器或闪存等非易失性存储装置等的硬件资源的计算机。
第四实施方式与第一实施方式的不同点主要在于包含外界模型40和外界模型通信控制部14以及设备50。在图8中,与图1相同符号的单元是与第一实施方式相同的。
仿真装置1B具有仿真引擎10B、SW模型执行部20B、HW模型执行部30B、外界模型40。这些各功能块是预先安装于非易失性存储装置中的程序加载到主存储装置并由CPU进行运算执行来实现的。
SW模型执行部20B和HW模型执行部30B在仿真引擎10B的控制下进行动作,与此相对,外界模型40与仿真引擎10B独立地,与仿真引擎10B并列动作。外界模型40经由仿真引擎10B的外界模型通信控制部14与HW模型进行交互通信。
外界模型40是和与仿真装置1B内部连接或者外部连接的设备50(例如,CPU板、触摸屏、显示器、键盘、鼠标、照相机、硬盘、USB连接存储装置等)进行输入输出,并与仿真引擎10B进行通信的程序。外界模型40是由主计算机上的CPU直接动作的程序模块。
外界模型通信控制部14是对HW模型31A、31B与外界模型40之间的双向或者单向通信进行控制的程序模块。
如果从外界模型40向外界模型通信控制部14通知数据发送接收的请求,则外界模型通信控制部14向调度器13B指示执行HW模型31A或者31B的数据发送接收处理。调度器13B不依赖于仿真时间管理部11所具有的调度时间信息,而执行HW模型31A或者31B的数据发送接收处理。由此,HW模型与外界模型40的通信成立。
当从HW模型31A或者31B向外界模型通信控制部14通知数据发送接收的请求时,外界模型通信控制部14通过程序处理间通信来与外界模型40进行数据通信。由此,HW模型与外界模型40的通信处理成立。
接着,参照图9的流程图说明仿真装置1B的动作。图9是与在第一实施方式中说明的图5对应的流程图。仿真装置1B执行图4中示出的各处理,之后,执行图9的各处理。仿真装置1B在进行图9的各处理之后,返回到图4示出的处理。另外,由于与图4、图5的流程图相同符号的处理是与第一实施方式相同的,所以在此主要说明与第一实施方式不同的步骤。
调度器13B从仿真时间管理部11获取THW(S15)。调度器13B辨别空闲中标志15的状态(S16)。在此,在空闲中标志15为ON时(S16,否),调度器13B调查在仿真时间THW中有无应动作的HW模型(S23)。
在此,在有应动作的HW模型时(S23,是),调度器13B使HW模型执行(S25),处理返回到步骤S4。在没有应动作的HW模型时(S23,否),调度器13B将空闲中标志15复位为OFF(S24A),继续通常的调度处理(进入S17)。在第一实施方式中,不判断最近应动作的HW模型在仿真时间THW中是否应该动作,就使最近应动作的HW模型动作,或者如果在仿真时间THW中没有应动作的HW模型,则将THW前进至最近HW模型应动作的时间来执行HW模型。该处理与第四实施方式不同。没有应动作的HW模型意味着没有可执行状态的HW模型。
在不包含外界模型的仿真装置中,SW模型为了等待来自HW模型的中断而执行空转时,一定存在最近应动作的HW模型。如果不存在,则SW模型的空转永远不会被解除。这意味着HW模型或者SW模型中隐含存在缺陷,所以在不存在最近应动作的HW模型时,仿真装置也可以判断为验证对象SW模型、HW模型的缺陷检测,从而停止仿真。
另一方面,在包含外界模型的仿真装置中,在SW模型为了等待来自HW模型的中断而执行空转时,即使在该时刻不存在可执行状态的HW模型,时间经过之后也会发生来自外界模型的通信而HW模型成为可执行状态。因此,需要继续进行仿真执行。
根据第四实施方式,在SW模型为了等待来自HW模型的中断而执行空转时,如果没有应动作的HW模型,则能够一边以仿真单位时间使空转的忙循环处理经过一边等待发生HW模型成为可执行状态的事件。另外,在存在应动作的HW模型时,通过只使HW模型执行,由此无用的循环处理消失,进而执行单位的切换最少即可。另外,不使精度劣化,就可以再现实际设备的时间经过、定时。
当目标处理器是支持空闲模式(也可以称为睡眠模式)的处理器时,OS在转移到空转状态时不通过空转来进行忙循环,而是将处理器切换为空闲模式。成为空闲模式的处理器从硬件接受到中断时,切换为通常模式。
实施方式也可以适用于目标处理器支持空闲模式的情况,可以使仿真执行性能高速化。代替将处理器切换为空闲模式,可以通过使SW模型的仿真时间经过下一次从HW模型发生中断为止的时间来实现。
如以上说明那样,在第一实施方式中公开了如下仿真装置1:在验证对象进行硬件的处理和软件的处理时,通过对验证对象执行这些处理而所经过的时间的信息即仿真时间进行管理,来再现验证对象的各处理的执行定时。仿真装置1具有:HW模型执行部30,执行硬件模型,该硬件模型对安装于验证对象中的硬件的处理进行模拟,并且该硬件模型针对每个处理通知由于硬件模型的处理而经过的仿真时间;SW模型执行部20,执行软件模型,该软件模型对安装于验证对象中的软件的处理进行模拟,并且该软件模型针对每个处理通知由于软件模型的处理而经过的仿真时间。
另外,第一实施方式的仿真装置1具有:仿真时间管理部11,对硬件模型的仿真时间的总经过时间即第一仿真时间和软件模型的仿真时间的总经过时间即第二仿真时间进行存储,并且获取硬件模型所通知的仿真时间,使第一仿真时间经过所获取的仿真时间,获取软件模型所通知的仿真时间,使第二仿真时间经过所获取的仿真时间;调度器13,对第一仿真时间和第二仿真时间进行比较,在第一仿真时间比第二仿真时间长时,执行软件模型,在第二仿真时间比第一仿真时间长时,执行硬件模型;以及中断仿真管理部12,对当前是否有从硬件模型向软件模型的中断通知的信息进行存储。
另外,第一实施方式的调度器13向中断仿真管理部12询问有无中断通知,在有中断通知时,执行软件模型的中断处理程序,在没有中断通知时,执行软件模型的任务。
另外,第一实施方式中公开的仿真装置1在软件模型等待来自硬件模型的中断时(即,从步骤S1的“是”向步骤S2的处理),代替执行软件模型的空转而只使硬件模型执行直至发生来自硬件模型的中断。即,在步骤S16中,如果空闲中标志15是ON则只执行HW模型,并且,从步骤S4的“是”向步骤S5的处理中发生中断要素,之后直到空闲中标志15变为OFF为止,不执行SW模型(=空转),而只执行HW模型。
另外,仿真装置1在从硬件模型发生了中断时(即,步骤S4为“是”的处理),将上述第二仿真时间前进至上述第一仿真时间。即,执行步骤S14的处理。
在第四实施方式中公开的仿真装置1B是与连接于仿真装置1B的设备进行输入输出,并进行与仿真引擎的通信的程序,具有:外界模型40,通过仿真装置1B的CPU直接进行动作;外界模型通信控制部14,对硬件模型与外界模型40之间的双向或者单向的通信进行控制。
另外,第四实施方式中公开的仿真装置1B在软件模型等待来自硬件模型的中断时(即,从步骤S1的“是”到步骤S2的处理),如果有可动作的硬件模型(即,步骤S23为“是”),则代替执行软件模型的空转而只使可动作的硬件模型执行直至发生来自硬件模型的中断。即,在步骤S23为“是”的情况下,只执行HW模型。
另外,第四实施方式中公开的仿真装置1B中,如果没有可动作的硬件模型,则执行空转直至硬件模型成为可动作。即,在步骤S23为“否”的情况下,执行SW模型(空转22)。空转22的执行继续时,在步骤S24A中暂时复位为OFF的空闲中标志15再次在步骤S2中变为ON。
第四实施方式中公开的仿真装置1B中,如果硬件模型成为可动作(即步骤S23为“是”),则代替执行软件模型的空转而只使可动作的硬件模型执行(即,步骤S25的处理),在从硬件模型发生了中断时(即,步骤S4为“是”),将第二仿真时间前进至第一仿真时间(即,执行步骤S14的处理)。
另外,可以提供由计算机执行在上述实施方式中示出的流程图、步骤中所示出的各动作的仿真程序。该程序被记录在可由计算机读取的介质中,例如CD-ROM、软盘、DVD盘、光磁盘、IC卡等可移动型存储介质、数据库等,并由计算机执行。
根据以上说明的实施方式,无用的循环处理消失,并且执行单位的切换最小即可。因此,能够使在仿真装置中执行的时间缩短,不劣化实际设备的时间经过、定时的再现精度就可以实现仿真的高速化。
对本发明的若干实施方式进行了说明,但这些实施方式是作为例子被提示的,并不意图用来限定发明的范围。这些新的实施方式可以以其它各种各样的方式来实施,在不脱离发明的主旨的范围内,可以进行各种省略、置换、变更。这些实施方式及其变形包含在发明的范围、主旨内,并且包含在权利要求书中记载的发明和其等同范围内。
Claims (7)
1.一种仿真装置,在验证对象进行硬件的处理和软件的处理时,通过对仿真时间进行管理来再现所述验证对象的各处理的执行定时,所述仿真时间为所述验证对象执行这些处理所经过的时间的信息,该仿真装置的特征在于,包括:
硬件模型执行部,执行硬件模型,该硬件模型对安装于验证对象的硬件的处理进行模拟,并且针对每个处理通知由于该硬件模型的处理而经过的仿真时间;
软件模型执行部,执行软件模型,该软件模型对安装于所述验证对象的软件的处理进行模拟,并且针对每个处理通知由于该软件模型的处理而经过的仿真时间;
仿真时间管理部,存储第一仿真时间和第二仿真时间,并且获取由所述硬件模型通知的仿真时间,使所述第一仿真时间经过所获取的仿真时间,获取由所述软件模型通知的仿真时间,使所述第二仿真时间经过所获取的仿真时间,所述第一仿真时间是硬件模型的仿真时间的总经过时间,所述第二仿真时间是软件模型的仿真时间的总经过时间;
执行指示部,比较所述第一仿真时间和所述第二仿真时间,在所述第一仿真时间比所述第二仿真时间长时,执行所述软件模型,在所述第二仿真时间比所述第一仿真时间长时,执行所述硬件模型;以及
中断管理部,存储当前是否有从所述硬件模型向所述软件模型的中断通知的信息,
所述执行指示部向所述中断管理部询问有无中断通知,在有中断通知时,执行所述软件模型的中断处理程序,在没有中断通知时,执行所述软件模型的任务,在软件模型等待来自硬件模型的中断时,代替执行软件模型的空转而只执行硬件模型直至发生来自硬件模型的中断,在从硬件模型发生了中断时,使所述第二仿真时间前进至所述第一仿真时间。
2.根据权利要求1所述的仿真装置,其特征在于,
在所述软件模型等待来自硬件模型的中断时,如果在其时刻的第一仿真时间中没有应动作的硬件模型,则进一步使第一仿真时间前进至最近硬件模型应动作的时间后使硬件模型动作。
3.一种仿真程序,使计算机执行仿真处理,在该仿真处理中,在验证对象进行硬件的处理和软件的处理时,通过管理仿真时间来再现所述验证对象的各处理的执行定时,所述仿真时间是所述验证对象执行这些处理所经过的时间的信息,该仿真程序,
使计算机执行硬件模型,该硬件模型是对安装于验证对象的硬件的处理进行模拟的程序,该硬件模型针对每个处理通知由于该硬件模型的处理而经过的仿真时间,
使所述计算机执行软件模型,该软件模型是对安装于所述验证对象的软件的处理进行模拟的程序,该软件模型针对每个处理通知由于该软件模型的处理而经过的仿真时间,
使所述计算机执行如下处理:将第一仿真时间和第二仿真时间存储在存储装置,并且获取由所述硬件模型通知的仿真时间,使所述第一仿真时间经过所获取的仿真时间,获取由所述软件模型通知的仿真时间,使所述第二仿真时间经过所获取的仿真时间,所述第一仿真时间是硬件模型的仿真时间的总经过时间,所述第二仿真时间是软件模型的仿真时间的总经过时间,
比较所述第一仿真时间和所述第二仿真时间,在所述第一仿真时间比所述第二仿真时间长时,执行所述软件模型,在所述第二仿真时间比所述第一仿真时间长时,执行所述硬件模型,
进而,使计算机执行如下处理:在执行所述软件模型时,向存储当前是否有从所述硬件模型向所述软件模型的中断通知的信息的中断管理部询问有无中断通知,在有中断通知时,执行所述软件模型的中断信息处理程序,在没有中断通知时,执行所述软件模型的任务,
在软件模型等待来自硬件模型的中断时,代替执行软件模型的空转而只执行硬件模型直至发生来自硬件模型的中断,在从硬件模型发生了中断时,使所述第二仿真时间前进至所述第一仿真时间。
4.根据权利要求3所述的仿真程序,其特征在于
使所述计算机执行如下处理:在所述软件模型等待来自硬件模型的中断时,如果在其时刻的第一仿真时间中没有应动作的硬件模型,则进一步使第一仿真时间前进至最近硬件模型应动作的时间后使硬件模型动作。
5.一种仿真方法,执行仿真处理,在该仿真处理中,在验证对象进行硬件的处理和软件的处理时,通过管理仿真时间来再现所述验证对象的各处理的执行定时,所述仿真时间是所述验证对象执行这些处理所经过的时间的信息,其中,所述仿真方法:
执行硬件模型,该硬件模型对安装于验证对象的硬件的处理进行模拟,并且该硬件模型针对每个处理通知由于该硬件模型的处理而经过的仿真时间,
执行软件模型,该软件模型对安装于所述验证对象的软件的处理进行模拟,该软件模型针对每个处理通知由于该软件模型的处理而经过的仿真时间,
将第一仿真时间和第二仿真时间存储到存储装置,并且获取由所述硬件模型通知的仿真时间,使所述第一仿真时间经过所获取的仿真时间,获取由所述软件模型通知的仿真时间,使所述第二仿真时间经过所获取的仿真时间,所述第一仿真时间是硬件模型的仿真时间的总经过时间,所述第二仿真时间是软件模型的仿真时间的总经过时间,
比较所述第一仿真时间和所述第二仿真时间,在所述第一仿真时间比所述第二仿真时间长时,执行所述软件模型,在所述第二仿真时间比所述第一仿真时间长时,执行所述硬件模型,
进而,在执行所述软件模型时,向存储当前是否有从所述硬件模型向所述软件模型的中断通知的信息的中断管理部询问有无中断通知,在有中断通知时,执行所述软件模型的中断处理程序,在没有中断通知时,执行所述软件模型的任务,
在软件模型等待来自硬件模型的中断时,代替执行软件模型的空转而只执行硬件模型直至发生来自硬件模型的中断,在从硬件模型发生了中断时,使所述第二仿真时间前进至所述第一仿真时间。
6.根据权利要求5所述的仿真方法,其特征在于,
在所述软件模型等待来自硬件模型的中断时,如果没有应动作的硬件模型,则进一步使第一仿真时间前进至硬件模型应动作的时间后使硬件模型动作。
7.一种仿真装置,在验证对象进行硬件的处理和软件的处理时,通过对仿真时间进行管理来再现所述验证对象的各处理的执行定时,所述仿真时间为所述验证对象执行这些处理所经过的时间的信息,该仿真装置的特征在于,包括:
硬件模型执行部,执行硬件模型,该硬件模型对安装于验证对象的硬件的处理进行模拟,针对每个处理通知由于该硬件模型的处理而经过的仿真时间;
软件模型执行部,执行软件模型,该软件模型对安装于所述验证对象的软件的处理进行模拟,针对每个处理通知由于该软件模型的处理而经过的仿真时间;
仿真时间管理部,存储第一仿真时间和第二仿真时间,并且获取由所述硬件模型通知的仿真时间,使所述第一仿真时间经过所获取的仿真时间,获取由所述软件模型通知的仿真时间,使所述第二仿真时间经过所获取的仿真时间,所述第一仿真时间是硬件模型的仿真时间的总经过时间,所述第二仿真时间是软件模型的仿真时间的总经过时间;
执行指示部,比较所述第一仿真时间和所述第二仿真时间,在所述第一仿真时间比所述第二仿真时间长时,执行所述软件模型,在所述第二仿真时间比所述第一仿真时间长时,执行所述硬件模型;
中断管理部,存储当前是否有从所述硬件模型向所述软件模型的中断通知的信息;
外界模型,是与连接于所述仿真装置的设备进行输入输出,并进行与仿真引擎的通信的模块,该外界模型通过所述仿真装置的CPU直接动作;以及
外界模型通信控制部,对所述硬件模型与所述外界模型之间的双向或者单向的通信进行控制,
所述执行指示部向所述中断管理部询问有无中断通知,在有中断通知时,执行所述软件模型的中断处理程序,在没有中断通知时,执行所述软件模型的任务,在软件模型等待来自硬件模型的中断时,如果有能动作的硬件模型,则代替执行软件模型的空转而只执行能动作的硬件模型直至发生来自硬件模型的中断,如果没有能动作的硬件模型,则执行空转直至硬件模型成为能动作,如果硬件模型成为能动作,则代替执行软件模型的空转而只执行能动作的硬件模型,在从硬件模型发生了中断时,使第二仿真时间前进至第一仿真时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-132770 | 2010-06-10 | ||
JP2010132770A JP5450271B2 (ja) | 2010-06-10 | 2010-06-10 | シミュレーション装置、シミュレーションプログラム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102279768A true CN102279768A (zh) | 2011-12-14 |
CN102279768B CN102279768B (zh) | 2014-06-25 |
Family
ID=45096921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110155067.9A Expired - Fee Related CN102279768B (zh) | 2010-06-10 | 2011-06-10 | 仿真装置以及仿真方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8744831B2 (zh) |
JP (1) | JP5450271B2 (zh) |
CN (1) | CN102279768B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544282A (zh) * | 2016-06-27 | 2018-01-05 | 发那科株式会社 | 仿真系统 |
WO2022089109A1 (zh) * | 2020-10-29 | 2022-05-05 | 上海阵量智能科技有限公司 | 硬件仿真方法、装置、设备及存储介质 |
CN115292102A (zh) * | 2022-05-20 | 2022-11-04 | 芯华章科技股份有限公司 | 仿真方法、电子设备、可读存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5625714B2 (ja) * | 2010-10-07 | 2014-11-19 | 富士通セミコンダクター株式会社 | シミュレーション装置、プログラム、記憶媒体、及び方法 |
WO2013179439A1 (ja) * | 2012-05-31 | 2013-12-05 | 三菱電機株式会社 | データ処理装置及びデータ処理システム及びシミュレーション方法及びプログラム |
JP5985460B2 (ja) | 2013-11-27 | 2016-09-06 | 京セラドキュメントソリューションズ株式会社 | シミュレーションシステム |
JP6249827B2 (ja) * | 2014-03-06 | 2017-12-20 | 三菱電機株式会社 | シミュレーション装置及びシミュレーションプログラム |
JP6751231B2 (ja) * | 2016-07-07 | 2020-09-02 | 富士通株式会社 | ジョブスケジューラ試験プログラム、ジョブスケジューラ試験方法及び並列処理装置 |
KR102007881B1 (ko) * | 2017-04-27 | 2019-08-06 | 국방과학연구소 | 빠르고 정확한 실행 시간 예측을 위한 하이브리드 명령어 집합 시뮬레이션 방법 및 시스템 |
US10963036B2 (en) | 2018-04-16 | 2021-03-30 | Nxp Usa, Inc. | Idle loop detection and control for processors |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230114B1 (en) * | 1999-10-29 | 2001-05-08 | Vast Systems Technology Corporation | Hardware and software co-simulation including executing an analyzed user program |
US20050149897A1 (en) * | 2003-01-31 | 2005-07-07 | Hiroyuki Yamashita | Hardware/software co-verification method |
JP2005293219A (ja) * | 2004-03-31 | 2005-10-20 | Handotai Rikougaku Kenkyu Center:Kk | ソフトウェア検証モデル生成方法 |
JP2006023852A (ja) * | 2004-07-06 | 2006-01-26 | Handotai Rikougaku Kenkyu Center:Kk | ソフトウェア検証モデル生成方法 |
CN101303673A (zh) * | 2007-05-11 | 2008-11-12 | 株式会社东芝 | 接口板、模拟器、同步方法和同步程序 |
JP2009026113A (ja) * | 2007-07-20 | 2009-02-05 | Fujitsu Microelectronics Ltd | シミュレーション装置及びプログラム |
CN101593219A (zh) * | 2008-05-30 | 2009-12-02 | 国际商业机器公司 | 动态切换仿真模式的仿真方法及仿真设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389379B1 (en) * | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
US6263302B1 (en) * | 1999-10-29 | 2001-07-17 | Vast Systems Technology Corporation | Hardware and software co-simulation including simulating the cache of a target processor |
US7260517B2 (en) * | 2001-06-17 | 2007-08-21 | Brian Bailey | Synchronization of multiple simulation domains in an EDA simulation environment |
JP2006163983A (ja) | 2004-12-09 | 2006-06-22 | Canon Inc | リアルタイムosシミュレーション方式 |
JP2008282314A (ja) | 2007-05-14 | 2008-11-20 | Toshiba Corp | シミュレータ、シミュレーション方法 |
JP2008287308A (ja) | 2007-05-15 | 2008-11-27 | Toshiba Corp | ブリッジプログラム、ブリッジ方法、シミュレータ |
JP4873423B2 (ja) | 2007-12-27 | 2012-02-08 | 東芝ソリューション株式会社 | 仮想化プログラム、シミュレーション装置、仮想化方法 |
-
2010
- 2010-06-10 JP JP2010132770A patent/JP5450271B2/ja active Active
-
2011
- 2011-06-09 US US13/156,449 patent/US8744831B2/en not_active Expired - Fee Related
- 2011-06-10 CN CN201110155067.9A patent/CN102279768B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230114B1 (en) * | 1999-10-29 | 2001-05-08 | Vast Systems Technology Corporation | Hardware and software co-simulation including executing an analyzed user program |
US20050149897A1 (en) * | 2003-01-31 | 2005-07-07 | Hiroyuki Yamashita | Hardware/software co-verification method |
JP2005293219A (ja) * | 2004-03-31 | 2005-10-20 | Handotai Rikougaku Kenkyu Center:Kk | ソフトウェア検証モデル生成方法 |
JP2006023852A (ja) * | 2004-07-06 | 2006-01-26 | Handotai Rikougaku Kenkyu Center:Kk | ソフトウェア検証モデル生成方法 |
CN101303673A (zh) * | 2007-05-11 | 2008-11-12 | 株式会社东芝 | 接口板、模拟器、同步方法和同步程序 |
JP2009026113A (ja) * | 2007-07-20 | 2009-02-05 | Fujitsu Microelectronics Ltd | シミュレーション装置及びプログラム |
CN101593219A (zh) * | 2008-05-30 | 2009-12-02 | 国际商业机器公司 | 动态切换仿真模式的仿真方法及仿真设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544282A (zh) * | 2016-06-27 | 2018-01-05 | 发那科株式会社 | 仿真系统 |
WO2022089109A1 (zh) * | 2020-10-29 | 2022-05-05 | 上海阵量智能科技有限公司 | 硬件仿真方法、装置、设备及存储介质 |
CN115292102A (zh) * | 2022-05-20 | 2022-11-04 | 芯华章科技股份有限公司 | 仿真方法、电子设备、可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5450271B2 (ja) | 2014-03-26 |
US8744831B2 (en) | 2014-06-03 |
US20110307236A1 (en) | 2011-12-15 |
CN102279768B (zh) | 2014-06-25 |
JP2011258045A (ja) | 2011-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102279768B (zh) | 仿真装置以及仿真方法 | |
CN101095112B (zh) | 仿真os隔离定序器上的用户级多线程处理的机制 | |
EP3690648B1 (en) | Resource scheduling method, scheduling server, cloud computing system and storage medium | |
CN101556545B (zh) | 一种实现进程支持的方法、装置和多线程系统 | |
CN102279766B (zh) | 并行模拟多个处理器的方法及系统、调度器 | |
CN104461521B (zh) | 一种应用程序重放方法及系统 | |
TWI518502B (zh) | Apparatus, method and system for resilient computing cloud system | |
CN100447744C (zh) | 堆栈管理系统及方法 | |
CN104025050A (zh) | 在图形处理单元上虚拟机之间变化 | |
CN103744725B (zh) | 一种虚拟机管理方法及装置 | |
US20080208557A1 (en) | Simulation method and simulation system | |
CN103744716A (zh) | 一种基于当前vcpu调度状态的动态中断均衡映射方法 | |
CN106528133B (zh) | 一种应用于多系统的设备请求处理方法及装置 | |
JPWO2017179537A1 (ja) | ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体 | |
CN102799212B (zh) | 用于多核多处理器并行系统的全局时钟系统及其使用方法 | |
CN103036947B (zh) | 基于kvm的虚拟机迁移方法及系统 | |
CN104572279A (zh) | 一种支持节点绑定的虚拟机动态调度方法 | |
CN103543982B (zh) | 一种时钟频率管理方法及移动设备 | |
JP2007011720A (ja) | システムシミュレータ、システムシミュレート方法、制御プログラムおよび可読記録媒体 | |
CN103218251A (zh) | 多核系统级芯片的验证方法和装置 | |
KR20040087898A (ko) | 프로그램 처리 시스템 및 프로그램 처리 방법, 및컴퓨터·프로그램 | |
CN109840137B (zh) | 一种跨核调度方法和装置 | |
CN103617077B (zh) | 智能型云端化移转的方法与系统 | |
US20190026104A1 (en) | System, method, and apparatus for zero downtime operating system transformation | |
US9058207B2 (en) | Simulation apparatus, method, and computer-readable recording medium |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140625 Termination date: 20180610 |
|
CF01 | Termination of patent right due to non-payment of annual fee |