CN112989740A - 一种仿真方法、装置、计算机设备和存储介质 - Google Patents

一种仿真方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112989740A
CN112989740A CN202110439607.XA CN202110439607A CN112989740A CN 112989740 A CN112989740 A CN 112989740A CN 202110439607 A CN202110439607 A CN 202110439607A CN 112989740 A CN112989740 A CN 112989740A
Authority
CN
China
Prior art keywords
function
calling
cpu
storage space
parameter
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
Application number
CN202110439607.XA
Other languages
English (en)
Other versions
CN112989740B (zh
Inventor
金傲寒
梁敏学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Symboltek Co ltd
Original Assignee
Symboltek Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Symboltek Co ltd filed Critical Symboltek Co ltd
Priority to CN202110439607.XA priority Critical patent/CN112989740B/zh
Publication of CN112989740A publication Critical patent/CN112989740A/zh
Application granted granted Critical
Publication of CN112989740B publication Critical patent/CN112989740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

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

本申请涉及一种仿真方法、装置、计算机设备和存储介质。所述方法包括:调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据;当监测到所述调用指令数据变化时,发送触发命令给函数调用接口;通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。采用本方法能够提高适配器的可移植性以及通用性。

Description

一种仿真方法、装置、计算机设备和存储介质
技术领域
本申请涉及仿真技术领域,特别是涉及一种仿真方法、装置、计算机设备和存储介质。
背景技术
在对系统级芯片(system on chip, soc)进行仿真时,测试例testcase通常运行在soc内部的中央处理器(central processing unit,CPU)上,该CPU被称为dut_cpu。该dut_cpu还配置有与用于发送和接收数据的总线协议相匹配的适配器, 该适配器是在测试平台上实现的模块,这个适配器可以把dut_cpu的特定的指令翻译成对应的测试函数,然后调用该测试函数,以实现仿真。
现有技术中,适配器通过抓取dut_cpu对接外部的总线地址和数据的变化,来区分dut_cpu想要调用testbench里对应的测试函数,抓取dut_cpu信号的方法通常使用路径寻址的方式,dut_cpu在执行软件代码的时候,是可以控制特定总线进行数据传输的,适配器可以通过抓取总线上地址的变化分辨出dut_cpu调用的不同函数,当适配器监测到总线上有特定地址的命令时,适配器会调用特定的测试函数,适配器也可以检测收集到总线上的数据信号,将数据信号保存为测试函数参数,在适配器调用测试函数的时候,把保存的参数传递给对应的测试函数。
然而,总线协议种类繁多,当dut_cpu或者总线的协议有所改动的时候,适配器需要大幅度改动,导致适配器的可移植性以及通用性变差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高适配器的可移植性以及通用性的仿真方法、装置、计算机设备和存储介质。
一种仿真方法,所述方法包括:
调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据;
当监测到所述调用指令数据变化时,发送触发命令给函数调用接口;
通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。
在一个实施例中,所述通过所述函数调用接口获取与所述触发命令对应的函数标识,包括:
通过所述函数调用接口从所述sram模型文件的第一存储空间内获取与所述触发命令对应的函数标识。
在一个实施例中,所述方法还包括:
在所述sram模型文件上分配第一存储空间;
将中央处理器CPU发送的测试函数标识存储到所述第一存储空间内。
在一个实施例中,所述函数参数至少包括函数数字参数和函数字符串参数。
在一个实施例中,所述通过所述函数调用接口获取与所述触发命令对应的所述函数参数,包括:
通过所述函数调用接口从所述sram模型文件的第二存储空间内获取与所述触发命令对应的函数数字类型参数;
通过所述函数调用接口从预设的适配器存储空间内获取与所述触发命令对应的函数字符串类型参数,所述函数字符串类型参数由所述sram模型文件的第三存储空间内的函数字符类型参数拼接得到。
在一个实施例中,所述方法还包括:
在所述sram模型文件上分配第二存储空间和第三存储空间;
将CPU发送的所述测试函数数字类型参数存储到所述第二存储空间内,将CPU发送的函数字符类型参数存储到所述第三存储空间内,并对所述CPU发送的函数字符类型参数进行拼接处理,得到所述函数字符串类型参数。
在一个实施例中,所述将CPU发送的函数字符类型参数存储到所述第三存储空间内,并对所述CPU发送的函数字符类型参数进行拼接处理,得到所述函数字符串类型参数,包括:
当监测到CPU传输的开始指令时,从所述sram模型文件中字符数据空间中获取所述CPU下发的字符;
根据预设的字符拼接规则,将获取到的字符进行拼接处理,得到函数字符串类型参数,并将所述函数字符串类型参数存储到适配器的字符串存储空间中;
当监测到CPU传输的结束指令时,停止存储处理。
一种仿真装置,所述装置包括:
监测模块,用于调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据;
发送模块,用于当监测到所述调用指令数据变化时,发送触发命令给函数调用接口;
调用模块,用于通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据;
当监测到所述调用指令数据变化时,发送触发命令给函数调用接口;
通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据;
当监测到所述调用指令数据变化时,发送触发命令给函数调用接口;
通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。
上述仿真方法、装置、计算机设备和存储介质,通过调用预先存储的指令监测方法,指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的预设地址的目标调用指令数据;当监测到目标调用指令数据变化时,发送触发命令给函数调用接口;通过函数调用接口获取与触发命令对应的函数标识和函数参数,基于函数标识对应的测试函数和函数参数,调用与函数标识对应的测试函数,该测试函数用于进行仿真处理。基于本方案,通过监测sram模型文件中特定地址的数据变化,能够监测到调用函数的命令,即使dut_cpu或者总线有所改动,也不影响调用函数的命令的监测,从而使仿真处理能够正常进行,提高了适配器的可移植性以及通用性。
附图说明
图1为一个实施例中仿真方法的应用环境图;
图2为一个实施例中仿真方法的流程示意图;
图3为一个实施例中函数参数存储的流程示意图;
图4为另一个实施例中字符串处理方法的流程示意图;
图5为一个实施例中仿真装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种仿真方法,该仿真方法可以应用于适配器,该适配器可以监测dut_cpu发送的调用指令,然后把dut_cpu的特定的指令翻译成对应的测试函数,进而调用该测试函数,以实现仿真。如图1所示,为本申请实施例提供的一种仿真系统的示意图,该仿真系统包括dut_cpu110和适配器120。在一种可行的实现方式中,适配器可以包括sram模型文件121、函数调用指令监测模块122、函数标识存储模块123、数字参数存储模块124、字符参数存储模块125、函数调用接口模块126。其中,sram模型文件是用于仿真的静态随机存取存储器,其功能与行为和真实sram一致,sram模型文件可以分别与函数调用指令监测模块122、函数标识存储模块123、数字参数存储模块124、字符参数存储模块125连接。适配器可以基于sram模型文件中的特定地址监测到数据变化,从而能够监测到调用函数的命令,即使dut_cpu或者总线有所改动的时候,也不影响调用函数的命令的监测,从而使仿真处理能够正常进行,提高了适配器的可移植性以及通用性。可选的,本申请实施例提供的适配器也可以按照其他模块划分方式进行划分,本申请实施例不做限定。
在一个实施例中,如图2所示,提供了一种仿真方法,包括以下步骤:
步骤201,调用预先存储的指令监测方法。
其中,该指令监测方法用于监测存储在静态随机存取存储器(sram)模型文件中的第一预设地址处的调用指令数据。
在实施中,根据预设的地址分配策略,在sram模型文件上分配特定的地址(可称为第一预设地址),当dut_cpu发送调用指令数据到第一预设地址,适配器中的指令监测方法监测到第一预设地址上的数据变化后,触发适配器寻找合适的测试函数执行。
步骤202,当监测到调用指令数据变化时,发送触发命令给函数调用接口。
在实施中,当接收到监测命令时,dut_cpu会修改sram模型文件内第一预设地址处的调用指令数据。适配器则可以通过指令监测方法,监测到sram模型文件上特定地址的调用指令数据发生变化,如果监测到第一预设地址处的变化后的数据为函数触发指令,则触发函数调用接口开始调用相关函数。可选的,若适配器未监测到第一预设地址处的数据变化,或即使数据变化但并非函数触发指令时,则不进行处理,即不发送触发命令给函数调用接口。
步骤203,通过函数调用接口获取与触发命令对应的函数标识和函数参数,基于函数标识对应的测试函数和函数参数,调用与函数标识对应的测试函数,测试函数用于进行仿真处理。
在实施中,通过函数调用接口分别获取与触发命令对应的函数标识、以及与该触发命令对应的函数标识和函数参数。适配器中还可以预先存储有函数标识和测试函数的对应关系,在获取到触发命令对应的函数标识后,可以进一步确定该函数标识对应的测试函数,然后将该函数参数传入确定出的测试函数中,从而调用该测试函数,该测试函数运行后,可以实现仿真处理。
上述仿真方法中,适配器是通过监测sram模型文件中第一预设地址处调用指令数据的变化,触发命令给函数调用接口,因此,当dut_cpu或者总线的协议有所改动的时候,无需修改适配器和sram模型文件,也可以监测到dut_cpu的触发命令,从而调用测试函数,执行仿真处理,提高了适配器的可移植性以及通用性。
在一个实施例中,通过函数调用接口获取与触发命令对应的函数标识的具体过程为:通过函数调用接口从sram模型文件的第一存储空间内获取与触发命令对应的函数标识。
在实施中,适配器用来存储dut_cpu想要调用测试平台函数的测试函数标识,在sram上分配一个存储单位的内存空间,dut_cpu直接按照地址把测试函数标识写到分配好的第一存储空间上。适配器包含函数调用接口,函数调用接口获取到测试函数标识后,会执行对应的测试函数,每个测试函数对应一个固定的函数标识,并且通过从适配器获取到的函数标识进行调用。
在一个实施例中,上述仿真方法还包括:在sram模型文件上分配第一存储空间。将中央处理器dut_cpu发送的测试函数标识存储到第一存储空间内。
在实施中,dut_cpu可以预先向sram中第一存储空间发送测试函数标识,适配器则会在sram模型文件上分配一个存储单位的存储空间(即第一存储空间),然后将该测试函数标识存储到第一存储空间内,以便后续函数调用接口在接收到触发命令时,从第一存储空间内获取该函数标识。
可选的,函数参数可以包含多种参数,在一个实施例中,函数参数至少可以包括函数数字参数和函数字符串参数。
在本实施例中,适配器用来存储函数的数字类型参数,例如整形,短整形,长整形等类型,在sram模型文件上分配一个存储单位的空间,dut_cpu直接按照地址把测试函数数字类型参数存放到该地址上。同时适配器具有单字符组合字符串的能力,可以将dut_cpu单独传过来的字符,按每周期传过来的单个字符组成字符串存在适配器内。
在函数参数包括函数数字参数和函数字符串参数的情况下,通过函数调用接口获取与触发命令对应的函数参数的具体过程可以包括以下步骤:
步骤一、通过函数调用接口从sram模型文件的第二存储空间内获取与触发命令对应的函数数字类型参数。
步骤二、通过函数调用接口从预设的适配器存储空间内获取与触发命令对应的函数字符串类型参数,函数字符串类型参数由sram模型文件的第三存储空间内的函数字符类型参数拼接得到。
在本实施例中,dut_cpu会先把字符传输给sram模型文件,然后再触发测试平台函数调用的动作。这里面是两个分别的步骤,例如, 当dut_cpu触发测试平台的print_time(int interval)函数,该函数作用是每隔预设时间间隔(interval秒)打印仿真时间。具体步骤为:dut_cpu触发平台函数调用,此时测试函数调用指令监测到触发事件,启动函数调用接口,该接口到适配器拿到函数标识,找到该标识对应的分支代码;同时先配置测试平台函数标识,将标识设置为print_time对应的函数标识,然后将interval信息写到sram上的第二存储空间,找到与触发命令对应的函数数字类型参数,然后以interval为间隔打印测试时间。需要说明的是,上述步骤一和步骤二的处理过程不区分先后顺序。
在一个实施例中,如图3所示,上述仿真方法还包括:
步骤301,在sram模型文件上分配第二存储空间和第三存储空间。
步骤302,将dut_cpu发送的测试函数数字类型参数存储到第二存储空间内,将dut_cpu发送的函数字符类型参数存储到第三存储空间内,并对dut_cpu发送的函数字符类型参数进行拼接处理,得到函数字符串类型参数。
在实施中,适配器用来存储的函数数字类型参数,例如整形,短整形,长整形等类型,在sram模型文件上分配一个存储单位的空间(即第二存储空间),dut_cpu直接按照地址把测试函数数字类型参数存放到sram模型文件上的第二存储空间上。同理,还可以在sram模型文件上分配第三存储空间,将dut_cpu发送的函数字符类型参数存储到第三存储空间内, 并对dut_cpu发送的函数字符类型参数进行拼接处理,得到函数字符串类型参数。
在一个实施例中,如图4所示,将中央处理器dut_cpu发送的函数字符串类型参数存储第三存储空间内,包括:
步骤401,当监测到dut_cpu传输的开始指令时,从sram模型文件中字符数据空间中获取dut_cpu下发的字符。
在实施中,适配器具有单字符组合字符串的能力,可以将dut_cpu单独传过来的字符,按每周期传过来的单个字符组成字符串存在适配器内,在sram上分配两个存储单位的内存空间,一个是字符处理指令空间,一个是字符数据空间,dut_cpu可以将单个字符传到字符数据空间内,并且修改字符处理指令空间内的指令,适配器内的监测指令可以监测指令空间的变化,然后获取分析指令,通常指令包括开始指令,结束指令,分割指令。开始指令标志了dut_cpu开始传输字符串,当适配器内的监测指令监测到了开始指令,适配器会把字符数据空间的字符存在适配器内部。适配器可以从sram模型文件中字符数据空间中获取dut_cpu下发的字符。
步骤402,根据预设的字符拼接规则,将获取到的字符进行拼接处理,得到函数字符串类型参数,并将所述函数字符串类型参数存储到适配器的字符串存储空间中。
在实施中,dut_cpu会下发下一个字符到字符数据空间,适配器会把新获得到的字符拼接到之前获得的字符的后面,不断重复以上操作直到适配器获得到结束指令。
步骤403,当监测到dut_cpu传输的结束指令时,停止存储处理。
在实施中,当监测到dut_cpu传输的结束指令时,适配器停止存储处理。这样,在结束指令后,字符串存储空间中存储的拼接字符串,即为函数字符串类型参数。
例如,当需要传输字符abc时,dut_cpu先发送开始指令,接着发送字符a,然后再发送分割指令,发送字符b,再发送分割指令,发送字符c,然后发送结束指令,然后可以拼接得到的函数字符串类型参数为abc。
在其中一个实施例中,在verilog测试平台中有事件感知器,当数据变化的时候会触发某个事件(event),当event信号到来时,函数调用接口启动,然后读取函数标识,程序跳到标识对应分支执行程序。在程序跳到标识对应分支执行程序后,该程序可以直接读取适配器中函数数字类型参数与函数字符串类型参数的内容。
基于图1所示的适配器,本申请实施例还提供了一种仿真方法的示例,具体处理过程如下:
首先,测试平台函数调用指令监测用来监测dut_cpu调用测试平台上测试函数的动作,监测点放在sram模型上某个特定的地址。dut_cpu将调用指令数据放在该地址上,测试平台函数调用指令一旦监测到特定地址上的数据变化,就发送触发信号给函数调用接口。
其次,测试平台函数标识存储模块用来存储dut_cpu想要调用测试平台函数的测试函数标识,在sram上分配一个存储单位的内存空间,dut_cpu直接按照地址把测试函数标识写到分配好的存储空间上。数字参数存储模块用来存储函数的数字类型参数,例如整形,短整形,长整形等类型,在sram上分配一个存储单位的空间,dut_cpu直接按照地址把测试函数数字类型参数存放到该地址上。
接着,字符串参数存储模块具有单字符组合字符串的能力,可以将dut_cpu单独传过来的字符,按每周期传过来的单个字符组成字符串存在字符串存储模块内,在sram上分配两个存储单位的内存空间,一个是字符处理指令空间,一个是字符数据空间,dut_cpu可以将单个字符传到字符数据空间内,并且修改字符处理指令空间内的指令,字符串参数存储模块内的监测模块可以监测指令空间的变化,然后获取分析指令,通常指令包括开始指令,结束指令,分割指令。开始指令标志了dut_cpu开始传输字符串,结束指令标志了dut_cpu结束传输字符串,分割指令用来分割连续传输的两个或多个同样字符。当字符串参数存储模块内的监测模块监测到了开始指令,字符串参数存储模块会把字符数据空间的字符存在字符传参数存储模块内部,然后dut_cpu会下发下一个字符到字符数据空间,字符串参数存储模块会把新获得到的字符拼接到之前获得的字符的后面,不断重复以上操作直到字符串参数存储模块获得到结束指令,此时字符串参数存储模块已经获得了完整一个字符串参数。
最后,函数调用接口模块用来把平台参数注册在该模块内部。当函数调用接口模块接收到函数调用指令监测模块的触发信号时,函数调用接口模块会去函数标识存储模块找到对应的函数标识并且去数字参数存储模块以及字符串参数存储模块找到对应的函数参数,然后调用函数标识对应的测试函数。
在其中一个实施例中,本方法可以轻松扩展到多核的情况,只需要增加多个适配器模块,将函数调用指令监测模块,函数标识存储模块,数字参数存储模块,字符串参数存储模块用到的存储空间分别分配到sram上的不同地址上。不同的dut_cpu在调用测试平台函数的时候通过访问sram上的不同地址,将测试平台函数标识,测试平台函数参数传给适配器,基于不同sram地址的适配器会按照不同的dut_cpu的需求调用不同的测试平台函数。在dut_cpu端因为不同dut_cpu访问不同的sram地址不会发生抢占冲突的问题,因此可以并行调用测试平台函数,无需额外加锁操作,降低了多核测试向量的编写难度。
在一个实施例中,提供了一种仿真装置,如图5所示,包括:监测模块510、发送模块520和调用模块530,其中:
监测模块510,用于调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据。
发送模块520,用于当监测到所述调用指令数据变化时,发送触发命令给函数调用接口。
调用模块530,用于通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。
可选的,所述调用模块530,具体用于:
通过所述函数调用接口从所述sram模型文件的第一存储空间内获取与所述触发命令对应的函数标识。
可选的,所述装置还包括:
第一分配模块,用于在所述sram模型文件上分配第一存储空间。
存储模块,用于将中央处理器dut_cpu发送的测试函数标识存储到所述第一存储空间内。
可选的,所述装置还包括:
查找模块,用于通过所述函数调用接口从所述sram模型文件的第二存储空间内获取与所述触发命令对应的函数数字类型参数和函数字符串类型参数。
可选的,所述装置还包括:
第二分配模块,用于在所述sram模型文件上分配所述第二存储空间和所述第三存储空间;将dut_cpu发送的所述测试函数数字类型参数存储到所述第二存储空间内,将dut_cpu发送的所述函数字符类型参数存储到所述第三存储空间内。
可选的,所述第二分配模块,具体用于:
当监测到dut_cpu传输的开始指令时,从所述sram模型文件中字符数据空间中获取所述dut_cpu下发的字符;
根据预设的字符拼接规则,将获取到的字符进行拼接处理,得到函数字符串类型参数,并将所述函数字符串类型参数存储到适配器的字符串存储空间中;
当监测到dut_cpu传输的结束指令时,停止存储处理。
关于仿真装置的具体限定可以参见上文中对于仿真方法的限定,在此不再赘述。上述仿真装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种仿真方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据;
当监测到所述调用指令数据变化时,发送触发命令给函数调用接口;
通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过所述函数调用接口从所述sram模型文件的第一存储空间内获取与所述触发命令对应的函数标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在所述sram模型文件上分配第一存储空间;
将中央处理器dut_cpu发送的测试函数标识存储到所述第一存储空间内。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过所述函数调用接口从所述sram模型文件的第二存储空间内获取与所述触发命令对应的函数数字类型参数;
通过所述函数调用接口从预设的适配器存储空间内获取与所述触发命令对应的函数字符串类型参数,所述函数字符串类型参数由所述sram模型文件的第三存储空间内的函数字符类型参数拼接得到。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在所述sram模型文件上分配第二存储空间和第三存储空间;
将dut_cpu发送的所述测试函数数字类型参数存储到所述第二存储空间内,将dut_cpu发送的函数字符类型参数存储到所述第三存储空间内,并对所述dut_cpu发送的函数字符类型参数进行拼接处理,得到所述函数字符串类型参数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当监测到dut_cpu传输的开始指令时,从所述sram模型文件中字符数据空间中获取所述dut_cpu下发的字符;
根据预设的字符拼接规则,将获取到的字符进行拼接处理,得到函数字符串类型参数,并将所述函数字符串类型参数存储到适配器的字符串存储空间中;
当监测到dut_cpu传输的结束指令时,停止存储处理。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据;
当监测到所述调用指令数据变化时,发送触发命令给函数调用接口;
通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过所述函数调用接口从所述sram模型文件的第一存储空间内获取与所述触发命令对应的函数标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在所述sram模型文件上分配第一存储空间;
将中央处理器dut_cpu发送的测试函数标识存储到所述第一存储空间内。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过所述函数调用接口从所述sram模型文件的第二存储空间内获取与所述触发命令对应的函数数字类型参数;
通过所述函数调用接口从预设的适配器存储空间内获取与所述触发命令对应的函数字符串类型参数,所述函数字符串类型参数由所述sram模型文件的第三存储空间内的函数字符类型参数拼接得到。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在所述sram模型文件上分配第二存储空间和第三存储空间;
将dut_cpu发送的所述测试函数数字类型参数存储到所述第二存储空间内,将dut_cpu发送的函数字符类型参数存储到所述第三存储空间内,并对所述CPU发送的函数字符类型参数进行拼接处理,得到所述函数字符串类型参数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当监测到dut_cpu传输的开始指令时,从所述sram模型文件中字符数据空间中获取所述dut_cpu下发的字符;
根据预设的字符拼接规则,将获取到的字符进行拼接处理,得到函数字符串类型参数,并将所述函数字符串类型参数存储到适配器的字符串存储空间中;
当监测到dut_cpu传输的结束指令时,停止存储处理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种仿真方法,其特征在于,所述方法包括:
调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据;
当监测到所述调用指令数据变化时,发送触发命令给函数调用接口;
通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。
2.根据权利要求1所述的方法,其特征在于,所述通过所述函数调用接口获取与所述触发命令对应的函数标识,包括:
通过所述函数调用接口从所述sram模型文件的第一存储空间内获取与所述触发命令对应的函数标识。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述sram模型文件上分配第一存储空间;
将中央处理器CPU发送的测试函数标识存储到所述第一存储空间内。
4.根据权利要求1所述的方法,其特征在于,所述函数参数至少包括函数数字参数和函数字符串参数。
5.根据权利要求4所述的方法,其特征在于,所述通过所述函数调用接口获取与所述触发命令对应的所述函数参数,包括:
通过所述函数调用接口从所述sram模型文件的第二存储空间内获取与所述触发命令对应的函数数字类型参数;
通过所述函数调用接口从预设的适配器存储空间内获取与所述触发命令对应的函数字符串类型参数,所述函数字符串类型参数由所述sram模型文件的第三存储空间内的函数字符类型参数拼接得到。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述sram模型文件上分配所述第二存储空间和所述第三存储空间;
将CPU发送的所述函数数字类型参数存储到所述第二存储空间内,将CPU发送的函数字符类型参数存储到所述第三存储空间内,并对所述CPU发送的函数字符类型参数进行拼接处理,得到所述函数字符串类型参数。
7.根据权利要求6所述的方法,其特征在于,所述将CPU发送的函数字符类型参数存储到所述第三存储空间内,并对所述CPU发送的函数字符类型参数进行拼接处理,得到所述函数字符串类型参数,包括:
当监测到CPU传输的开始指令时,从所述sram模型文件中字符数据空间中获取所述CPU下发的字符;
根据预设的字符拼接规则,将获取到的字符进行拼接处理,得到函数字符串类型参数,并将所述函数字符串类型参数存储到适配器的字符串存储空间中;
当监测到CPU传输的结束指令时,停止存储处理。
8.一种仿真装置,其特征在于,所述装置包括:
监测模块,用于调用预先存储的指令监测方法,所述指令监测方法用于监测存储在静态随机存取存储器sram模型文件中的第一预设地址处的调用指令数据;
发送模块,用于当监测到所述调用指令数据变化时,发送触发命令给函数调用接口;
调用模块,用于通过所述函数调用接口获取与所述触发命令对应的函数标识和函数参数,基于所述函数标识对应的测试函数和所述函数参数,调用与所述函数标识对应的测试函数,所述测试函数用于进行仿真处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110439607.XA 2021-04-23 2021-04-23 一种仿真方法、装置、计算机设备和存储介质 Active CN112989740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110439607.XA CN112989740B (zh) 2021-04-23 2021-04-23 一种仿真方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110439607.XA CN112989740B (zh) 2021-04-23 2021-04-23 一种仿真方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112989740A true CN112989740A (zh) 2021-06-18
CN112989740B CN112989740B (zh) 2022-02-01

Family

ID=76339950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110439607.XA Active CN112989740B (zh) 2021-04-23 2021-04-23 一种仿真方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112989740B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115688389A (zh) * 2022-10-14 2023-02-03 北京世冠金洋科技发展有限公司 一种建模仿真方法、系统及存储介质
CN117009157A (zh) * 2023-06-30 2023-11-07 深圳市晶存科技有限公司 一种模拟游戏场景的device测试方法、控制器、系统和介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101059773A (zh) * 2007-02-07 2007-10-24 北京航空航天大学 基于总线模型的嵌入系统仿真平台
CN102446113A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 底层消息接口模拟方法及模拟装置
CN102722382A (zh) * 2012-05-21 2012-10-10 华为技术有限公司 仿真过程中加载表项的方法及仿真设备
US20140107994A1 (en) * 2012-10-15 2014-04-17 International Business Machines Corporation Enabling reuse of unit-specific simulation irritation in multiple environments
CN104199664A (zh) * 2014-09-03 2014-12-10 北京大学 一种基于注释的仿真代码同步生成方法
CN106201803A (zh) * 2016-07-22 2016-12-07 北京赛博智通信息技术有限责任公司 一种基于被测试对象模型的通用自动化测试系统及方法
CN108279885A (zh) * 2017-01-03 2018-07-13 中国航发商用航空发动机有限责任公司 一种对多个模型代码进行软件集成的方法及装置
CN109100952A (zh) * 2017-06-21 2018-12-28 北京航空航天大学 分布式半实物仿真航天器健康管理系统区域推理机
CN110659088A (zh) * 2019-09-20 2020-01-07 浙江杰芯科技有限公司 一种嵌入式环境下程序扩展的方法及系统
CN110674579A (zh) * 2019-09-25 2020-01-10 中国科学院微小卫星创新研究院 卫星外设接口仿真系统及方法
CN111459495A (zh) * 2020-03-30 2020-07-28 招商局金融科技有限公司 单元测试代码文件生成方法、电子装置及存储介质
CN112380133A (zh) * 2020-11-20 2021-02-19 北京轩宇信息技术有限公司 一种指令集模拟器利用功能库仿真的方法及装置
CN112685240A (zh) * 2020-12-30 2021-04-20 瓴盛科技有限公司 芯片子系统验证方法和装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101059773A (zh) * 2007-02-07 2007-10-24 北京航空航天大学 基于总线模型的嵌入系统仿真平台
CN102446113A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 底层消息接口模拟方法及模拟装置
CN102722382A (zh) * 2012-05-21 2012-10-10 华为技术有限公司 仿真过程中加载表项的方法及仿真设备
US20140107994A1 (en) * 2012-10-15 2014-04-17 International Business Machines Corporation Enabling reuse of unit-specific simulation irritation in multiple environments
CN104199664A (zh) * 2014-09-03 2014-12-10 北京大学 一种基于注释的仿真代码同步生成方法
CN106201803A (zh) * 2016-07-22 2016-12-07 北京赛博智通信息技术有限责任公司 一种基于被测试对象模型的通用自动化测试系统及方法
CN108279885A (zh) * 2017-01-03 2018-07-13 中国航发商用航空发动机有限责任公司 一种对多个模型代码进行软件集成的方法及装置
CN109100952A (zh) * 2017-06-21 2018-12-28 北京航空航天大学 分布式半实物仿真航天器健康管理系统区域推理机
CN110659088A (zh) * 2019-09-20 2020-01-07 浙江杰芯科技有限公司 一种嵌入式环境下程序扩展的方法及系统
CN110674579A (zh) * 2019-09-25 2020-01-10 中国科学院微小卫星创新研究院 卫星外设接口仿真系统及方法
CN111459495A (zh) * 2020-03-30 2020-07-28 招商局金融科技有限公司 单元测试代码文件生成方法、电子装置及存储介质
CN112380133A (zh) * 2020-11-20 2021-02-19 北京轩宇信息技术有限公司 一种指令集模拟器利用功能库仿真的方法及装置
CN112685240A (zh) * 2020-12-30 2021-04-20 瓴盛科技有限公司 芯片子系统验证方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115688389A (zh) * 2022-10-14 2023-02-03 北京世冠金洋科技发展有限公司 一种建模仿真方法、系统及存储介质
CN115688389B (zh) * 2022-10-14 2023-06-23 北京世冠金洋科技发展有限公司 一种建模仿真方法、系统及存储介质
CN117009157A (zh) * 2023-06-30 2023-11-07 深圳市晶存科技有限公司 一种模拟游戏场景的device测试方法、控制器、系统和介质

Also Published As

Publication number Publication date
CN112989740B (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
CN112989740B (zh) 一种仿真方法、装置、计算机设备和存储介质
CN109683997B (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
CN107621963B (zh) 一种软件部署方法、软件部署系统及电子设备
CN112637008B (zh) 链路模拟测试方法、装置、系统、计算机设备和存储介质
CN111475390A (zh) 日志采集系统部署方法、装置、设备及存储介质
CN114661330B (zh) 车辆硬件程序更新方法、装置、设备及存储介质
CN113133041B (zh) 动态间隔列控车载中车车通信功能的测试方法及装置
CN114448823A (zh) Nfs服务测试方法、系统及电子设备
CN111176986B (zh) 线程脚本调试方法、装置、计算机设备和存储介质
CN111562952B (zh) 双芯智能电表管理单元的动态装载方法、动态装载装置
CN110929249A (zh) 自动化测试的屏幕录制方法、装置、设备和存储介质
CN115081366B (zh) 寄存器突发访问的建模方法
CN115586960A (zh) 内存分配器确定方法、装置、电子设备及存储介质
CN114090351A (zh) 信号测试方法、装置、计算机设备和存储介质
US7228435B2 (en) Program executing method in service system and program executing apparatus for the same
CN112491799A (zh) 通信模块远程修复方法、装置、计算机设备和存储介质
US7020600B2 (en) Apparatus and method for improvement of communication between an emulator unit and a host device
CN108733529B (zh) Axi交叉开关的间插功能的验证方法与装置
CN112395245A (zh) 处理器的访问装置、方法及计算机设备
CN111767178A (zh) 物理机性能测试方法及装置
CN118519860B (zh) 接口调用的控制方法、装置、存储介质和电子设备
CN112732568B (zh) 一种系统日志获取方法、装置、存储介质及终端
CN113408845B (zh) 生产流程的处理方法、装置、计算机设备和存储介质
CN110221911B (zh) 一种以太网数据保护方法和装置
CN116450192A (zh) 页面发版提示方法、装置、设备及存储介质

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
TR01 Transfer of patent right

Effective date of registration: 20221201

Address after: 610, Floor 6, Block A, No. 2, Lize Middle Second Road, Chaoyang District, Beijing 100102

Patentee after: Zhongguancun Technology Leasing Co.,Ltd.

Address before: 100089 701, unit 4, building 2, yard 9, FengHao East Road, Haidian District, Beijing

Patentee before: SYMBOLTEK CO.,LTD.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231221

Address after: 100094 701, unit 4, building 2, yard 9, FengHao East Road, Haidian District, Beijing

Patentee after: SYMBOLTEK CO.,LTD.

Address before: 610, Floor 6, Block A, No. 2, Lize Middle Second Road, Chaoyang District, Beijing 100102

Patentee before: Zhongguancun Technology Leasing Co.,Ltd.

TR01 Transfer of patent right