CN1558328A - 硬件仿真程序执行时间调整方法及该仿真程序的记录媒体 - Google Patents
硬件仿真程序执行时间调整方法及该仿真程序的记录媒体 Download PDFInfo
- Publication number
- CN1558328A CN1558328A CNA2004100392767A CN200410039276A CN1558328A CN 1558328 A CN1558328 A CN 1558328A CN A2004100392767 A CNA2004100392767 A CN A2004100392767A CN 200410039276 A CN200410039276 A CN 200410039276A CN 1558328 A CN1558328 A CN 1558328A
- Authority
- CN
- China
- Prior art keywords
- time
- hardware
- simulation
- emlutor
- value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004088 simulation Methods 0.000 claims abstract description 111
- 230000000712 assembly Effects 0.000 claims abstract description 52
- 238000000429 assembly Methods 0.000 claims abstract description 52
- 230000004044 response Effects 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 8
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 230000001105 regulatory effect Effects 0.000 abstract 2
- 238000012360 testing method Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种硬件仿真程序执行时间调整方法及该仿真程序的记录媒体,该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,其调整方法包含下列步骤:当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,开始参考一参考时间值;以及当所参考的该参考时间值小于一预设参考时间门坎值时,暂停这些硬件仿真组件的运行,直到该参考时间值变化至等于该预设参考时间门坎值时,再重新开始这些硬件仿真组件的运行。
Description
技术领域
本发明涉及一种程序执行时间调整方法及该仿真程序的记录媒体,尤其涉及应用于一硬件仿真程序中的执行时间调整方法。
背景技术
在可编程的集成电路(Programmable IC)的范畴中,最广为人知的便是大量应用于个人计算机架构中的中央处理单元(CPU),但由于此类中央处理单元(CPU)的功能强大且构造复杂,约需耗费数年的时间来进行研发与制造,因此价格居高不下。而在消费性集成电路产业的应用中,由于具有弹性且价格低廉为其重要考量,因此另一种可编程的集成电路-微控制器(Microcontroller Unit,简称MCU)便在此单芯片系统中扮演一重要角色,而价格相对低廉的微控制器被大量运用于影音设备、家电、玩具、手表、个人数字助理以及移动电话中。
请参见图1,其是一微控制器10与其所控制的周边组件的功能方框示意图,常见的周边组件有显示器11、扬声器12以及输入键盘13等,而微控制器10中的只读存储器101内储存着操作这些周边组件的控制程序码,也就是说,通过不同控制程序码的撰写,该微控制器10将可表现出不同的控制行为。
而为能提供订购微控制器的客户预先进行控制程序码撰写、测试及除错的便利,制造微控制器芯片的厂商通常提供构造庞杂且价格昂贵的一硬件测试平台给客户使用,但由于消费型电子产品推陈出新的速度惊人且产品多样化,导致运用其上的微控制器的产品周期亦随之缩短,因此硬件测试平台必须随之重新制造而经常更换,造成耗费的成本与设计过程的延宕,因此以一仿真程序取代上述硬件测试平台提供给客户进行控制程序码的撰写、测试及除错,便为适应此一特殊产业环境的较佳解决方案。
而目前常见的仿真程序属电子设计自动化(electronic design automation;简称EDA)领域中所发展的模拟技术,因其是计算每一集成电路中各逻辑闸组件的“理论”效能而模拟一集成电路设计的行为模式,因此仿真所耗费的时间相当惊人,故在真实微控制器集成电路上只要花费数秒执行的动作,即使利用最快速的超级计算机可能也要耗上数天去进行模拟。由于在微控制器的研发过程中,硬件的真实时间反应特性决定了该设计的优劣,是绝对不能被忽视的,而上述的模拟技术又无法真实呈现此特性,所以此领域中的模拟技术并无法应用于上述微控制器的产业架构中。
于是,仿真微控制器于机器语言指令层(instruction-set level)的运行状态,为目前最可行的硬件仿真技术,由于此方法在计算上较为简单,一般的个人计算机就可以进行这项实时模拟,因此大大降低了目前专业设备所需的成本。
现行的机器语言指令层仿真技术一般运用在教学用途的单芯片软件仿真(如非real-time的8051软件仿真器),以及运用在个人计算机上的游戏机仿真器(如任天堂、索尼Playstation等的仿真器)。由于传统模拟的基础技术缺陷,此类的模拟技术无法用于辅助消费性电子设计。举例来说,上述游戏机的模拟技术所提供的时间精确度大约是三十分之一秒(约33毫秒)到十分之一秒(100毫秒),而上述单芯片软件仿真器(如8051仿真器)的准确性更差,运行速度忽快忽慢且无法预期,与使用者所预期的真实状态相去太远。在消费性电子设计的需求方面,尤其是发出音波的时间准确性,常常需要精确度到万分之一秒(即0.1毫秒),才能正确仿真硬件的实际运行特性。
现有的模拟技术缺乏时间精确性,使得使用者无法确实得知微控制器的真实反应而难以进行控制程序码的撰写、测试及除错,完全无法用在实际的设计流程上。
发明内容
本发明的主要目的便在于提供一种方法来提升集成电路模拟技术,借此使用者与被仿真集成电路模型间可以实时(real-time)互动,进而能远在制造之前便能确知集成电路的动作。
本发明为一种硬件仿真程序执行时间调整方法,该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,其调整方法包含下列步骤:当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,开始参考一参考时间值;以及当所参考的该参考时间值小于一预设参考时间门坎值时,暂停这些硬件仿真组件的运行,直到该参考时间值变化至等于该预设参考时间门坎值时,再重新开始这些硬件仿真组件的运行。
本发明的第二方面可为一种记录媒体,其上记录有一硬件仿真程序可供读取与执行,该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,而该硬件仿真程序具有一执行时间调整方法,该调整方法包含下列步骤:当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,开始参考一参考时间值;以及当所参考的该参考时间值小于一预设参考时间门坎值时,暂停这些硬件仿真组件的运行,直到该参考时间值变化至等于该预设参考时间门坎值时,再重新开始这些硬件仿真组件的运行。
本发明的第三方面可为一种硬件仿真程序执行时间调整方法,该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,其调整方法包含下列步骤:当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,检视最后达到大于或等于该预设模拟时间门坎值的该模拟时间值映像至一参考时间轴上的位置;以及当该仿真时间值映像至该参考时间轴上的位置与一期望位置不符时,进行一时间补偿动作。
本发明的第四方面可为一种记录媒体,其上记录有一硬件仿真程序可供读取与执行,该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,而该硬件仿真程序具有一执行时间调整方法,该调整方法包含下列步骤:当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,检视最后达到大于或等于该预设模拟时间门坎值的该模拟时间值映像至一参考时间轴上的位置;以及当该仿真时间值映像至该参考时间轴上的位置与一期望位置不符时,进行一时间补偿动作。
本发明的第五方面可为一种硬件仿真程序开发平台,提供使用者完成一硬件仿真程序,而该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,而该硬件仿真程序每隔一预设参考时间门坎值,自动参考一参考时间并因应参考结果进行一时间补偿动作。
根据上述构想,其中该硬件仿真程序可运行于一计算机系统,而该计算机系统可为一个人计算机,而该个人计算机可包含有一主机;一输入键盘;一扬声器;以及一显示器。
根据上述构想,其中该硬件仿真程序可仿真一微控制器控制多个周边装置时的机器指令执行状态。
根据上述构想,其中该模拟时间值可由执行过的机器指令所对应出的机器周期(Machine Cycle)累计而得。
根据上述构想,其中该参考时间值可由一系统时钟所产生。
根据上述构想,其中该参考时间值可由计算真实时间的特定倍数所产生,藉以加快或减慢仿真的速度。
根据上述构想,其中当一第一硬件仿真组件运行后产生欲传送至一第二硬件仿真组件进行处理的一笔数据时,将该笔数据附上一时间卷标后储存至相对应该第二硬件仿真组件的一数据队列中,进而于轮到该第二硬件仿真组件运行时,再由该数据队列中将该笔数据读入并因应该时间标签所载的时间点予以执行。
根据上述构想,其中该第一硬件仿真组件代表一输入键盘,而该第二硬件仿真组件代表一扬声器,当该输入键盘被按下后便产生欲传送至该扬声器进行处理的一笔声音数据,该笔声音数据附上一时间卷标后被储存至相对应该扬声器的一数据队列中,进而于轮到该扬声器运行时,再由该数据队列中将该笔声音数据读入并因应该时间标签所载的时间点予以播放。
根据上述构想,其中该笔声音资料由时间间隔相等的一声音取样值序列填入扬声器的暂存内存所构成。
根据上述构想,其中该声音取样值序列由一原始声音数据经一内插法处理后所形成。
本发明的第六方面为一种开发控制程序的软件平台,其仿真一硬件而提供使用者来完成可控制该硬件的一控制程序,而该软件平台中设定有复数个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,而该软件平台每隔一段执行动作后,自动参考一参考时间值并因应参考结果进行一时间补偿动作。本发明得借助下列附图及详细说明,使得其被更深入的了解:
附图说明
图1是一微控制器与其所控制的周边组件的功能方框示意图。
图2是可用以执行本发明硬件仿真程序的一个人计算机系统方框示意图。
图3是本发明硬件仿真程序依据该执行序列来运行的状态转换示意图。
图4是本发明调整方法的较佳实施例步骤流程示意图。
其中,附图标记说明如下:
10微控制器 101只读存储器
11显示器 12扬声器
13输入键盘 20主机
21输入键盘 22扬声器
23显示器 30程序执行方框
31程序执行方框
具体实施方式
本较佳实施例说明是于如图2所示的一个人计算机系统(该个人计算机可包含有主机20、输入键盘21、扬声器22以及显示器23)上所执行,用以模拟一微控制器控制多个周边装置(例如输入键盘、扬声器以及显示器)时该机器指令执行状态的一硬件仿真程序,而该硬件仿真程序的执行码可从一原始码(source code)通过一相对应该微控制器的汇编程序(assembler)与连结器(linker)来产生。
而该硬件仿真程序中设定有多个硬件仿真组件,并依据一执行序列来轮流运行,而为改善公用手段的缺失所发展出来的硬件仿真程序执行时间调整方法主要包含下列步骤:(1)分别记录各硬件仿真组件的仿真时间值;(2)当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,检视最后达到大于或等于该预设模拟时间门坎值的该模拟时间值映像至一参考时间轴上的位置;以及(3)当该模拟时间值映像至该参考时间轴上的位置与一期望位置不符时,进行一时间补偿动作。以下试举一实例进行说明。
本实施例的硬件仿真程序中设定有代表该微控制器及多个受控的周边装置(例如输入键盘、扬声器以及显示器)的硬件仿真组件。当本实施例的硬件仿真程序开始于一个人计算机系统上执行时,首先模拟该微控制器的开机程序,微控制器根据仿真的程序计数器(program counter)所加载的启动向量(boot vector)所指向的第一条指令开始执行,然后根据一执行序列来轮流使各个硬件仿真组件运行。请参见图3,其是本发明硬件仿真程序依据该执行序列来运行的状态转换示意图,其中每一个方框间的转换代表这些硬件仿真组件依照该执行序列轮流运行一段模拟时间后进行转换的情形,例如,程序执行方框30转换至程序执行方框31为代表该微控制器的硬件仿真组件运行一段时间后,转为代表该输入键盘的硬件仿真组件运行一段时间,依此类推,这些硬件仿真组件便可轮流运行。而于同时,本实施例的硬件仿真程序亦由执行过的机器指令所对应出的机器周期(Machine Cycle)来换算得出一仿真时间值来代表仿真所花费的时间。举例而言,当所模拟的微控制器的机器周期(Machine Cycle)为0.5微秒(microsecond),则该模拟时间值便等于执行过的机器指令数乘上0.5微秒(microsecond)。而当上述硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,本实施例的硬件仿真程序便开始参考一参考时间值(可通过个人计算机上的操作系统对于一系统时钟进行的读取),而当程序执行够快而使得所参考的该参考时间值小于一预设参考时间门坎值时,本实施例的硬件仿真程序便暂停这些硬件仿真组件的运行,直到该参考时间值变化至等于该预设参考时间门坎值时,再重新开始这些硬件仿真组件的运行。如此一来,每隔一预设参考时间门坎值时,本实施例程序将自动把仿真时间轴与参考时间轴对齐一次,进而达到改善公用缺点的目的。
再请参见图4,其是本发明调整方法的较佳实施例步骤流程示意图,其主要使每一硬件仿真组件轮流运行一段时间,并于同时记录这些硬件仿真组件依据该执行序列运行所分别花费的模拟时间值。而当这些硬件仿真组件所分别花费的仿真时间值大于或等于一预设模拟时间门坎值时,便开始参考一参考时间值,而当所参考的该参考时间值小于一预设参考时间门坎值时,暂停所有硬件仿真组件的运行,直到该参考时间值变化至等于该预设参考时间门坎值时,再继续依据该执行序列而重新开始这些硬件仿真组件的运行。
此外,由于本实施例程序除了仿真微控制器之外,尚仿真如输入键盘、扬声器以及显示器等受控的周边装置,因此相对应这些硬件仿真组件更个别设有一数据队列来储存附有一时间卷标的待处理数据,举例而言,代表输入键盘的硬件仿真组件于计算机的输入键盘21被按下后便产生欲传送至该显示器进行显示的一笔影像数据,而该笔影像数据在被附上一时间标签后便被储存至代表显示器的硬件仿真组件的一相对应数据队列中,进而于轮到该代表显示器的硬件仿真组件运行时,再由该数据队列中将该笔数据读入并因应该时间标签所载的时间点予以显示出来。如此一来,通过每隔一段时间所进行的时间轴对齐动作以及根据时间标签所载的时间点,本发明的仿真程序将可相当准确地仿真出各硬件仿真组件的动作时间,并提供给使用者具有实时(real-time)互动的感觉。
但由于声音输出对于时间点的敏感程度远大于其它输出装置,因此在代表扬声器的硬件仿真组件上,现提供下列作法来达到模拟出真实声音的效果。当代表输入键盘的硬件仿真组件于计算机的输入键盘21被按下后便产生欲传送至该扬声器进行播放的一笔声音数据,该笔声音数据亦被附上时间标签后被储存至相对应该扬声器的一数据队列中,进而于轮到代表该扬声器的硬件仿真组件运行时,该硬件仿真组件再由该数据队列中将该笔声音数据读入以进行一数字模拟转换动作,并因应该时间标签所载的时间点填满计算机系统中对应于扬声器22的暂存内存(buffer)进行播放,而为能利用扬声器的控制硬件将准确性提升到44100分之一秒(约0.0227毫秒,或22.7微秒),播放出正确的音高与音色。构成该笔声音数据的声音取样数字值序列由一原始声音数据根据该时间卷标的信息经一内插法处理后所形成,如此一来,可使得声音取样值序列中每个取样点的时间间隔皆相等,符合一般扬声器暂存内存的规格,进而能于数字模拟转换动作后,驱动扬声器播放出正确的音高与音色。
再有,因为人类对于声光信号相对时间小于40毫秒(millisecond)的误差无法察觉,因此将上述各硬件仿真组件轮流运行的该段时间的长度设定为20毫秒(millisecond)是一个适当的选择。至于该预设模拟时间门坎值的大小,将严重影响该个人计算机系统所进行的运算量,越小的预设模拟时间门坎值可提升程序执行的同步准确性,但将大幅增加个人计算机系统所进行的运算量,因此以目前常见个人计算机的运算能力,可将此值设定为40毫秒,一般来说针对人机互动的需求可以达到足够的真实性。
另外,通过对于参考时间轴的刻度选择,可对于硬件仿真程序的执行速度进行调整,当参考时间轴与自然时间的刻度相同时,硬件仿真程序的执行速度将以等速度方式来进行仿真,而当参考时间轴的刻度为自然时间刻度的二分之一时,硬件仿真程序的执行速度将以二倍速的方式来进行快速模拟,至于当参考时间轴的刻度为自然时间刻度的两倍时,硬件仿真程序的执行速度将以1/2倍速的方式来进行慢速模拟,如此一来,可针对有兴趣的部份进行慢速模拟而能清楚地观察相关信号的变化,而于不感兴趣的部份则可快速略过而节省验证的时间。
综上所述,本发明创造出与使用者所预期的真实状态十分接近的模拟状态,使得使用者利用此仿真程序便可确实得知微控制器的真实反应而能方便地进行控制程序码的撰写、测试及除错,大幅降低制造微控制器芯片厂商提供测试平台的成本,并且可因应消费型电子产品推陈出新的速度而快速更新,有效避免设计过程的延宕。本发明确实已提供一种方法来提升集成电路模拟技术,藉此使用者与被仿真集成电路模型间可以实时(real-time)互动,进而能远在制造之前便能确知集成电路的动作。然而本发明得由本领域的普通技术人员凭思考而做的一些等同修饰,皆属于本发明的涵盖范围。
Claims (15)
1、一种硬件仿真程序执行时间调整方法,该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,其调整方法包含下列步骤:
当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,开始参考一参考时间值;以及
当所参考的该参考时间值小于一预设参考时间门坎值时,暂停这些硬件仿真组件的运行,直到该参考时间值变化至等于该预设参考时间门坎值时,再重新开始这些硬件仿真组件的运行。
2、如权利要求1所述的硬件仿真程序执行时间调整方法,其特征在于该硬件仿真程序运行于一计算机系统上,而该计算机系统可为一个人计算机,该个人计算机包含有一主机;一输入键盘;一扬声器;以及一显示器。
3、如权利要求1所述的硬件仿真程序执行时间调整方法,其特征在于该硬件仿真程序仿真一微控制器控制多个周边装置时的机器指令执行状态,而该模拟时间值由执行过的机器指令所对应出的机器周期累计而得。
4、如权利要求1所述的硬件仿真程序执行时间调整方法,其特征在于该参考时间值由一系统时钟所产生,而该参考时间值由计算真实时间的特定倍数所产生,藉以加快或减慢仿真的速度。
5、如权利要求1所述的硬件仿真程序执行时间调整方法,其特征在于当一第一硬件仿真组件运行后产生欲传送至一第二硬件仿真组件进行处理的一笔数据时,是将该笔数据附上一时间卷标后储存至相对应该第二硬件仿真组件的一数据队列中,进而于轮到该第二硬件仿真组件运行时,再由该数据队列中将该笔数据读入并因应该时间标签所载的时间点予以执行。
6、如权利要求1所述的硬件仿真程序执行时间调整方法,其特征在于该第一硬件仿真组件代表一输入键盘,而该第二硬件仿真组件代表一扬声器,当该输入键盘被按下后便产生欲传送至该扬声器进行处理的一笔声音数据,该笔声音数据附上一时间卷标后被储存至相对应该扬声器的一数据队列中,进而于轮到该扬声器运行时,再由该数据队列中将该笔声音数据读入并因应该时间标签所载的时间点予以播放,而该笔声音数据由时间间隔相等的一声音取样值序列填入扬声器的暂存内存所构成,至于该声音取样值序列是由一原始声音数据经一内插法处理后所形成。
7、一种记录媒体,其上记录有一硬件仿真程序可供读取与执行,该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,而该硬件仿真程序具有一执行时间调整方法,其中该调整方法包含下列步骤:
当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,开始参考一参考时间值;以及
当所参考的该参考时间值小于一预设参考时间门坎值时,暂停这些硬件仿真组件的运行,直到该参考时间值变化至等于该预设参考时间门坎值时,再重新开始这些硬件仿真组件的运行。
8、如权利要求7所述的记录媒体,其特征在于该硬件仿真程序可供一计算机系统读取与执行,该计算机系统可为一个人计算机,该个人计算机包含有一主机;一输入键盘;一扬声器;以及一显示器。
9、如权利要求7所述的记录媒体,其特征在于该硬件仿真程序仿真一微控制器控制多个周边装置时的机器指令执行状态,该仿真时间值是由执行过的机器指令所对应出的机器周期累计而得。
10、如权利要求7所述的记录媒体,其特征在于该参考时间值由一系统时钟所产生,该参考时间值由计算真实时间的特定倍数所产生,藉以加快或减慢仿真的速度。
11、如权利要求7所述的记录媒体,其特征在于当一第一硬件仿真组件运行后产生欲传送至一第二硬件仿真组件进行处理的一笔数据时,是将该笔数据附上一时间卷标后储存至相对应该第二硬件仿真组件的一数据队列中,进而于轮到该第二硬件仿真组件运行时,再由该数据队列中将该笔数据读入并因应该时间标签所载的时间点予以执行。
12、如权利要求7所述的记录媒体,其特征在于该第一硬件仿真组件代表一输入键盘,而该第二硬件仿真组件代表一扬声器,当该输入键盘被按下后便产生欲传送至该扬声器进行处理的一笔声音数据,该笔声音数据附上一时间卷标后被储存至相对应该扬声器的一数据队列中,进而于轮到该扬声器运行时,再由该数据队列中将该笔声音数据读入并因应该时间标签所载的时间点予以播放,该笔声音数据由时间间隔相等的一声音取样值序列填入扬声器的暂存内存所构成,至于该声音取样值序列由一原始声音数据经一内插法处理后所形成。
13、一种硬件仿真程序执行时间调整方法,该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,其中该调整方法包含下列步骤:
当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,检视最后达到大于或等于该预设模拟时间门坎值的该模拟时间值映像至一参考时间轴上的位置;以及
当该模拟时间值映像至该参考时间轴上的位置与一期望位置不符时,进行一时间补偿动作。
14、一种记录媒体,其上记录有一硬件仿真程序可供读取与执行,该硬件仿真程序中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,而该硬件仿真程序具有一执行时间调整方法,该调整方法包含下列步骤:
当这些硬件仿真组件于运行时所分别记录的仿真时间值皆大于或等于一预设模拟时间门坎值时,检视最后达到大于或等于该预设模拟时间门坎值的该模拟时间值映像至一参考时间轴上的位置;以及
当该模拟时间值映像至该参考时间轴上的位置与一期望位置不符时,进行一时间补偿动作。
15、一种开发控制程序的软件平台,其仿真一硬件而提供使用者来完成可控制该硬件的一控制程序,而该软件平台中设定有多个硬件仿真组件,这些硬件仿真组件依据一执行序列而运行,而该软件平台每隔一段执行动作后,自动参考一参考时间值并因应参考结果进行一时间补偿动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410039276 CN1278233C (zh) | 2004-02-11 | 2004-02-11 | 硬件仿真程序执行时间调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410039276 CN1278233C (zh) | 2004-02-11 | 2004-02-11 | 硬件仿真程序执行时间调整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1558328A true CN1558328A (zh) | 2004-12-29 |
CN1278233C CN1278233C (zh) | 2006-10-04 |
Family
ID=34352300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410039276 Expired - Lifetime CN1278233C (zh) | 2004-02-11 | 2004-02-11 | 硬件仿真程序执行时间调整方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1278233C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246444B (zh) * | 2008-03-03 | 2010-06-02 | 中兴通讯股份有限公司 | 一种模块测试方法及系统 |
CN103198002A (zh) * | 2012-01-09 | 2013-07-10 | 上海海尔集成电路有限公司 | 程序运行时间的测量方法及仿真器 |
CN105068899A (zh) * | 2015-07-17 | 2015-11-18 | 浪潮电子信息产业股份有限公司 | 一种Vmware系统下自动重启稳定性测试方法 |
CN107005444A (zh) * | 2014-09-11 | 2017-08-01 | 森特理克联网家居有限公司 | 设备同步和测试 |
CN114237767A (zh) * | 2022-02-24 | 2022-03-25 | 西安羚控电子科技有限公司 | 一种实现多倍速仿真的系统及方法 |
-
2004
- 2004-02-11 CN CN 200410039276 patent/CN1278233C/zh not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246444B (zh) * | 2008-03-03 | 2010-06-02 | 中兴通讯股份有限公司 | 一种模块测试方法及系统 |
CN103198002A (zh) * | 2012-01-09 | 2013-07-10 | 上海海尔集成电路有限公司 | 程序运行时间的测量方法及仿真器 |
CN103198002B (zh) * | 2012-01-09 | 2015-03-25 | 上海海尔集成电路有限公司 | 程序运行时间的测量方法及仿真器 |
CN107005444A (zh) * | 2014-09-11 | 2017-08-01 | 森特理克联网家居有限公司 | 设备同步和测试 |
US10474116B2 (en) | 2014-09-11 | 2019-11-12 | Centrica Hive Limited | Device synchronization and testing |
CN107005444B (zh) * | 2014-09-11 | 2020-06-12 | 森特理克联网家居有限公司 | 设备同步和测试 |
CN105068899A (zh) * | 2015-07-17 | 2015-11-18 | 浪潮电子信息产业股份有限公司 | 一种Vmware系统下自动重启稳定性测试方法 |
CN114237767A (zh) * | 2022-02-24 | 2022-03-25 | 西安羚控电子科技有限公司 | 一种实现多倍速仿真的系统及方法 |
CN114237767B (zh) * | 2022-02-24 | 2022-06-14 | 西安羚控电子科技有限公司 | 一种实现多倍速仿真的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1278233C (zh) | 2006-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5745738A (en) | Method and engine for automating the creation of simulations for demonstrating use of software | |
Yehezkel et al. | Three simulator tools for teaching computer architecture: Little Man computer, and RTLSim | |
Hirst et al. | What is the best programming environment/language for teaching robotics using Lego Mindstorms? | |
JPH11194764A (ja) | 楽音・画像発生装置、楽音・画像発生方法および記憶媒体 | |
CN101042815A (zh) | 基于在线可编程逻辑器件的单片机教学实验装置 | |
CN110533969A (zh) | 一种编程教学端及系统 | |
CN1278233C (zh) | 硬件仿真程序执行时间调整方法 | |
Denner et al. | Measuring computational thinking in middle school using game programming | |
Mihelič et al. | SicSim: A simulator of the educational SIC/XE computer for a system‐software course | |
CN101834977B (zh) | 在电视机顶盒上使用的nes模拟器的设计方法 | |
CN116432573A (zh) | 性能仿真方法及电子设备和存储介质 | |
CN102194245B (zh) | 诸如弹跳缓动的无状态动画 | |
Kloboves et al. | FPGA-based SIC/XE processor and supporting toolchain | |
CN1357138A (zh) | 使用虚拟盘片驱动器的伺服处理器代码评估 | |
TW584806B (en) | Method for adjusting execution time of hardware-simulating program | |
Grunbacher et al. | WinDLX and MIPSim pipeline simulators for teaching computer architecture | |
Bajzek et al. | MUzECS: Embedded blocks for exploring computer science | |
CN1873728A (zh) | 列车模拟器及模拟驾驶过程再现方法 | |
JP2000035898A (ja) | システムシミュレータおよびシステムシミュレーション方法 | |
Cornelissen | Simulating lego mindstorms ev3 robots using unity and python | |
Sklirou | Programming in secondary education: Applications, new trends and challenges | |
Violaki | Wand: design and development of a game engine for visual novels | |
US7860703B2 (en) | Timing control method of hardware-simulating program and application of the same | |
Sun et al. | Quatros: a preemptive multithreaded embedded OS for education | |
Xin et al. | A Study on CDIO-based Project of Smart Services in Hotel and Hospitality Industries-Driven Learning Approach for IoT Engineering and Design |
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 | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20061004 |