一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

处理器验证方法及相关装置与流程

2022-02-22 23:20:19 来源:中国专利 TAG:


1.本技术涉及电子技术领域,尤其涉及一种用于处理器验证方法及相关装置。


背景技术:

2.目前来看,随着soc的复杂度变得越来越高,soc验证的挑战也随之越来越大。而soc中必然存在着一个cpu作为其大脑,此时,采用c程序作为激励更为合适,也是目前主流的cpu,dsp集成验证和soc验证方法,能够在早期模拟软件的真实行为。
3.当然,system verilog作为主流的硬件验证语言也是芯片验证必不可少的一部分,当结合c和system verilog对芯片进行验证时,c程序是由soc内部的cpu执行,systemverilog环境是由真实的物理cpu执行,双方的语言不同,执行的实体也不同,因此,如何在处理器验证过程中,实现两种不同语言协同仿真的问题亟待解决。


技术实现要素:

4.本技术实施例提供一种处理器验证方法及相关装置,能够在处理器验证过程中,实现两种不同语言协同仿真。
5.第一方面,本技术实施例提供一种处理器验证方法,所述方法包括:
6.以模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,所述n为正整数;
7.通过后门访问机制将所述目标文件载入第一硬件处理器的存储空间,并将所述目标字符串所在所述存储空间的首地址传递给第二硬件处理器,其中,所述第一硬件处理器包括所述模拟处理器,所述第二硬件处理器是不同于所述第一硬件处理器的另一硬件处理器;
8.所述第二硬件处理器以后门读的方式基于所述首地址获取所述目标字符串。
9.第二方面,本技术实施例提供一种处理器验证装置,所述装置包括:传递单元和获取单元,其中,
10.所述传递单元,配置成:
11.通过模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,所述n为正整数;
12.通过后门访问机制将所述目标文件载入第一硬件处理器的存储空间,并将所述目标字符串所在所述存储空间的首地址传递给第二硬件处理器,其中,所述第一硬件处理器包括所述模拟处理器,所述第二硬件处理器是不同于所述第一硬件处理器的另一硬件处理器;
13.所述获取单元,配置成:
14.通过所述第二硬件处理器以后门读的方式基于所述首地址获取所述目标字符串。
15.第三方面,本技术实施例提供一种电子设备,所述电子设备包括第一硬件处理器和第二硬件处理器,其中,
16.所述第一硬件处理器配置成通过后门访问机制将目标文件载入存储空间,并将所述目标字符串所在所述存储空间的首地址传递给第二硬件处理器;
17.所述第二硬件处理器配置成以后门读的方式基于所述首地址获取所述目标字符串;
18.其中,所述目标文件是通过以模拟处理器获取第一编程语言的目标字符串并对所述目标字符串进行编译而得到;所述第一硬件处理器包括所述模拟处理器,所述第二硬件处理器是不同于所述第一硬件处理器的另一硬件处理器。
19.第四方面,本技术实施例提供一种电子设备,所述电子设备包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由处理器执行,所述程序包括用于执行如第一方所描述的部分或者全部步骤。
20.第五方面,本技术实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本技术实施例第一方面中所描述的部分或全部步骤。
21.第六方面,本技术实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本技术实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
22.实施本技术实施例,具备如下有益效果:
23.可以看出,在本技术实施例中所描述的处理器验证方法及相关装置,以模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,n为正整数;通过后门访问机制将目标文件载入第一硬件处理器的存储空间,将目标字符串所在存储空间的首地址传递给第二硬件处理器,第一硬件处理器包括模拟处理器;第二硬件处理器以后门读的方式基于首地址获取目标字符串,第二硬件处理器是不同于第一硬件处理器的另一硬件处理器,能够在处理器验证过程中,以字符串的形式传递命令,建立两个硬件处理器之间的“桥梁”,进而实现两种不同语言协同仿真。
附图说明
24.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1是本技术实施例提供的一种电子设备的结构示意图;
26.图2是本技术实施例提供的一种电子设备的软件结构示意图;
27.图3a是本技术实施例提供的一种协同仿真系统的架构示意图;
28.图3b是本技术实施例提供的一种基于c和system verilog沟通的演示示意图;
29.图3c是本技术实施例提供的一种基于c向system verilog寄信的流程示意图;
30.图4a是本技术实施例提供的一种处理器验证方法的流程示意图;
31.图4b是本技术实施例提供的另一种处理器验证方法的流程示意图;
32.图4c是本技术实施例提供的另一种处理器验证方法的流程示意图;
33.图4d是本技术实施例提供的另一种处理器验证方法的流程示意图;
34.图5是本技术实施例提供的另一种电子设备的结构示意图;
35.图6是本技术实施例提供的另一种电子设备的结构示意图;
36.图7是本技术实施例提供的一种处理器验证装置的功能单元组成框图。
具体实施方式
37.下面将结合附图,对本技术实施例中的技术方案进行描述。
38.为了更好地理解本技术实施例的方案,下面先对本技术实施例可能涉及的相关术语和概念进行介绍。
39.具体实现中,电子设备可以包括各种具有处理器功能的设备,例如,手持设备(智能手机、平板电脑等)、车载设备(导航仪、辅助倒车系统、行车记录仪、车载冰箱等等)、可穿戴设备(智能手环、无线耳机、智能手表、智能眼镜等等)、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,ue),移动台(mobile station,ms),虚拟现实/增强现实设备,终端设备(terminal device)等等,电子设备还可以为基站或者服务器或者验证平台。
40.第一部分,本技术所公开的技术方案的软硬件运行环境介绍如下。
41.如图所示,图1示出了电子设备100的结构示意图。电子设备100可以包括处理器110、外部存储器接口120、内部存储器121、通用串行总线(universal serial bus,usb)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器170a、受话器170b、麦克风170c、耳机接口170d、传感器模块180、指南针190、马达191、指示器192、摄像头193、显示屏194以及用户标识模块(subscriber identification module,sim)卡接口195等。
42.可以理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
43.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器ap,调制解调处理器,图形处理器gpu,图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器npu等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备100也可以包括一个或多个处理器110。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在其他一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。示例性地,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。这样就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备100处理数据或执行指令的效率。处理器还可以包括图像处理器,图像处理器可以为图像预处理器(preprocess image signal processor,pre-isp),其可以理解为一个简化的isp,其也可以进行一些图像处理操作,例如,可以获取图像统计信息。
44.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,i2c)接口、集成电路间音频(inter-integrated circuit sound,i2s)接口、脉冲编码调制(pulse code modulation,pcm)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口、移动产业处理器接口(mobile industry processor interface,mipi)、用输入输出(general-purpose input/output,gpio)接口、sim卡接口和/或usb接口等。其中,usb接口130是符合usb标准规范的接口,具体可以是mini usb接口、micro usb接口、usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。该usb接口130也可以用于连接耳机,通过耳机播放音频。
45.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
46.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
47.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110、内部存储器121、外部存储器、显示屏194、摄像头193和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量、电池循环次数、电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
48.电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。
49.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
50.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g/6g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
51.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络)、蓝牙(blue tooth,bt),全球导航卫星系统(global navigation satellite system,gnss)、调频
(frequency modulation,fm)、近距离无线通信技术(near field communication,nfc)、红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
52.电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
53.显示屏194用于显示图像、视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled)、柔性发光二极管(flex light-emitting diode,fled)、迷你发光二极管(mini light-emitting diode,miniled)、microled、micro-oled、量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备100可以包括1个或多个显示屏194。
54.电子设备100可以通过isp、摄像头193、视频编解码器、gpu、显示屏194以及应用处理器等实现拍摄功能。
55.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点、亮度、肤色进行算法优化。isp还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
56.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或多个摄像头193。
57.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
58.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1、mpeg2、mpeg3、mpeg4等。
59.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别、人脸识别、语音识别、文本理解等。
60.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功
能。例如将音乐,视频等文件保存在外部存储卡中。
61.内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备100执行本技术一些实施例中所提供的显示页面元素的方法,以及各种应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用(比如图库、联系人等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,ufs)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备100执行本技术实施例中所提供的显示页面元素的方法,以及其他应用及数据处理。电子设备100可以通过音频模块170、扬声器170a、受话器170b、麦克风170c、耳机接口170d、以及应用处理器等实现音频功能。例如音乐播放、录音等。
62.传感器模块180可以包括压力传感器180a、陀螺仪传感器180b、气压传感器180c、磁传感器180d、加速度传感器180e、距离传感器180f、接近光传感器180g、指纹传感器180h、温度传感器180j、触摸传感器180k、环境光传感器180l、骨传导传感器180m等。
63.其中,压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
64.陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即x、y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
65.加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
66.环境光传感器180l用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备100是否在口袋里,以防误触。
67.指纹传感器180h用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
68.温度传感器180j用于检测温度。在一些实施例中,电子设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
69.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
70.示例性的,图2示出了电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
71.如图2所示,应用程序层可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
72.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
73.如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
74.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
75.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
76.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
77.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
78.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
79.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
80.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
81.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
82.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
83.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
84.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
85.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
86.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
87.2d图形引擎是2d绘图的绘图引擎。
88.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
89.第二部分,本技术实施例所公开的处理器验证方法及相关装置介绍如下。
90.相关技术中,system verilog作为主流的硬件验证语言也是芯片验证必不可少的一部分,当结合c和system verilog对芯片进行验证时,如图3a所示,针对具体验证的流程,可以首先由验证人员编写c程序,然后,再通过gcc等编译器将程序编译成十六进制格式的文件,再由后门写的方式载入soc的片上sram中,cpu再从sram取指,执行指令。与此同时验证环境(systemverilog环境)负责整个仿真平台的开始和结束,以及直接通过系统verilog直接编程接口(direct programming interface,dpi)对硬件信号进行控制等等。
91.具体实现中,由于c程序是由soc内部的cpu执行,systemverilog环境是由真实的物理cpu执行,双方的语言不同,执行的实体也不同,因此,如何协同仿真就成为了验证过程中必然要解决的问题。
92.基于此,可以通过片上的一段连续的sram地址空间作为c和system verilog沟通的“桥梁”,如图3b所示,该地址空间中的每一个地址代表一个特定的字段,双方通过传入不同的字段表达意图。字段通常包括:command、wdata(writedata)、rdata(readdata)、edata(expectdata)、mask、resp。通过以上字段,能够实现c和systemverilog的同步、通信、打印、读写、比较等常用函数。具体实现原理是将c和systemverilog之间的同步,通信以及打印等常用功能抽象成由1,2,3

表示的命令,传入如图3b的command字段,将其他有关的数据传入其他字段。例如,当双方通信时,约定command字段为1时,表示c要“寄信”给systemverilog,寄信的邮箱地址和内容则通过wdata和rdata字段传递。
93.举例说明下,如图3c所示,其为是一个c寄信的例子。首先,c调用函数mb_put(0x100,0x123),函数内部会将0x100作为邮箱地址,0x123作为邮件内容,0x1代表寄信这一命令,分别写入相应的字段中,然后,system verilog在监控到command字段时,检测到0x1,由于事先双方约定好,0x1表示c寄了一封信,所以,system verilog会接着解析wdata和rdata字段,获得此次寄信的邮箱地址和内容,最终写入systemverilog的邮箱队列中。接着,system verilog可以在任意时刻通过执行mb_get(0x100,message),获得0x100(邮箱地
址)的邮件内容。
94.类似地,命令也可以由systemverilog“寄信”给c,c从邮箱中“取信”,c请求system verilog打印字符串等。
95.上述system verilog和c沟通的模式和传统的客户端-服务器模式比较类似,system verilog作为server时刻监控command字段,c作为client负责发送command以及其他有效数据段.当system verilog检测到有效的command时,会根据约定好的规则解析命令并且获取与该命令对应的有效数据段,然后执行相应的操作。
96.上述相关技术中,虽然可以实现c和system verilog间的协同仿真,但是也存在如下弊端:
97.1、由于需要通过对6个全局共享字段的读写传递信息,引入了对共享资源的竞争。例如当前一个命令正在传输过程中,此时如果外界产生了一个中断,导致cpu进入中断服务程序,中断服务程序通常也会发起一些新的命令,由于前一个命令尚处于未完成状态,新的命令对同一字段的读写会破坏前一个命令的相同字段。为了防止冲突,则一般会采取额外的互斥机制例如屏蔽中断,或者内部实现一个fifo队列用来保存未完成的命令。不论采用哪种技术,代码都将变的更加复杂,执行效率较低,移植性也较差。
98.2、相关技术中,实现的命令众多,除了通信命令以外,还有同步命令、字符串打印命令、8/16/32/64位数据读写命令,比较命令等等,每一个命令使用的字段不尽相同,针对每一个命令,都须有一个对应的函数,导致代码的实现比较复杂,难以维护。
99.3、相关技术中,对于多核的支持略显不足。为了支持多核,通常为每一个核单独分配一段不同的专用的地址空间作为c和system verilog的交互空间,让核与核之间不会相互影响。这种机制会使得每一个命令的实现,都需要额外增加一些代码用来判断当前核的id,然后,选择与之对应的地址空间,再一次使得代码变得更加复杂。
100.总之,受限于以上原因,相关技术中的代码实现往往比较复杂,每一个命令的实现相对独立,难以统一维护,命令的增减对源文件的修改点也较多,移植性较差。
101.进一步地,针对上述相关技术的缺陷,基于图1或图2的结构以及图3a所示的协同仿真系统,本技术提供了请参阅图4a,图4a是本技术实施例提供的一种处理器验证方法的流程示意图,如图所示,本处理器验证方法包括:
102.401、以模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,所述n为正整数;通过后门访问机制将所述目标文件载入第一硬件处理器的存储空间,并将所述目标字符串所在所述存储空间的首地址传递给第二硬件处理器,其中,所述第一硬件处理器包括所述模拟处理器,所述第二硬件处理器是不同于所述第一硬件处理器的另一硬件处理器。
103.其中,第一硬件处理器可以包括以下至少一种:应用处理器ap、调制解调处理器、gpu、isp、控制器、视频编解码器、dsp、片上系统(system on chip,soc)、基带处理器、现场可编程门阵列(field-programmable gate array,fpga)、npu等。模拟处理器用于模拟实现第一硬件处理器的功能,其可以为一段程序代码,或者,也可以理解为一个软件模块,第一硬件处理器包括模拟处理器,模拟处理器可以为第一硬件处理器的一个软件模块,该软件模块能够实现需要仿真的内容的运行过程,使得两个硬件处理器之间能够实现协同仿真。第二硬件处理器可以包括以下至少一种:应用处理器ap、调制解调处理器、gpu、isp、控制
器、视频编解码器、dsp、soc、基带处理器、fpga、npu等。
104.其中,第一编程语言可以为第一硬件处理器上能够运行的编程语言,以soc为例,第一编程语言可以为c或者c 。上述n可为正整数,例如,n为16,或者,n为32。
105.其中,上述存储空间可以为静态随机存取存储器(static random-access memory,sram)或者动态随机存取存储器(dynamic random access memory,dram)。
106.具体实现中,第一硬件处理器可以为需要用于测试的处理器,由于其通过模拟处理器来仿真第一硬件处理器的实际功能。以第一硬件处理器为soc为例,其可以包括内部连接总线(interconnect bus),模拟处理器通过内部链接总线连接内存(memory),其中可以包括image.hex,image.hex可以用c语言实现,第一硬件处理器包括外部接口,其用于实现接收c语言输入的字符串。第二硬件处理器则可以存在于上述本技术所涉及的电子设备。第一硬件处理器和第二硬件处理器也可以集成在一起。
107.具体实现中,模拟处理器可以获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,n为正整数,n进制格式即可以为ascii码,还可以通过后门访问机制将目标文件载入第一硬件处理器的存储空间,以将目标字符串所在存储空间的首地址传递给第二硬件处理器。
108.可选的,上述步骤401,获取第一编程语言的目标字符串,可以包括如下步骤:
109.41、获取目标测试内容;
110.42、确定与所述目标测试内容对应的所述目标字符串,所述第一字符串以所述第一编程语言的形式呈现。
111.其中,目标测试内容可以由用户自行设置或者系统默认。例如,可以预先设置多个虚拟按键,每一虚拟按键对应个测试内容,每一测试内容可以对应一个字符串,而目标测试内容则是其中的一个虚拟按键对应的测试内容,可以预先存储预设的测试内容与字符串之间的映射关系,进而,可以基于该映射关系确定目标测试内容对应的目标字符串。不同的测试内容可以包括不同的命令,不同的命令用于实现不同的功能。
112.可选的,还可以包括如下步骤:
113.a1、所述模拟处理器将所述目标字符串的首地址以函数的实参传给堆栈地址;
114.a2、将所述堆栈地址传入交互空间的指定字符串堆栈地址。
115.具体实现中,目标字符串可以用一个以第一编程语言表示的可变参数函数存在,进而,模拟处理器基于存储空间,将目标字符串的首地址以函数的实参传给堆栈地址,再将堆栈地址传入交互空间的指定字符串堆栈地址。指定字符串堆栈地址可以预先指定一个空间。
116.具体实现中,举例说明下,以c语言为例,当在c程序中写一个字符串时,经过编译,编译器会产生一个十六进制格式的文件。c程序中的字符串被编译成对应的ascii码保存在该文件中。环境通过后门访问机制自动将该文件载入soc的sram空间。c程序只须将字符串所在sram的首地址传给system verilog,然后system verilog就能够以后门读的方式得到字符串。如图4b所示,本技术实施例中,可以再次以c向system verilog寄信为例,假设实现的可变参数函数的名字是info,c程序首先调用info(“mb_put”),经过编译器编译后将字符串mb_put翻译成对应的ascii码,然后,经过后门的方式载入soc的sram中,进而,可以通过地址索引获得字符串mb_put。
117.进一步的,可选的,还可以包括如下步骤:
118.b1、所述第二处理器实时监控所述交互空间中是否存在有效堆栈地址;
119.b2、在监控到所述交互空间中存在所述有效堆栈地址时,通过所述有效堆栈地址从所述指定字符串堆栈地址中获取所述堆栈地址,再基于所述堆栈地址获取所述首地址,执行所述以后门读的方式基于所述首地址获取所述目标字符串的步骤。
120.本技术实施例中,有效堆栈地址是指处于预设存储地址范围的堆栈地址,预设存储地址范围可以预先设置或者系统默认。为了让system verilog可以获得目标字符串,c程序在运行时,将目标字符串的首地址作为函数的实参先传给堆栈地址,然后,再将该堆栈地址传入交互空间的指定字符串堆栈地址stringstackaddress字段。如图4c所示,与此同时system verilog可以视作服务器,时刻监控交互空间中是否存在有效堆栈地址,一旦监控到有效地址,即对该地址以后门读的方式获取目标字符串,即通过有效堆栈地址从指定字符串堆栈地址中获取堆栈地址,再基于堆栈地址获取首地址,基于该首地址获取目标字符串,并且解析该目标字符串,获得客户端的请求命令,即目标字符串的命令内容。
121.当然,针对,其他的命令,如同步等都可以以类似的方式调用同一个函数,同一个函数则可以对应一个调用接口,实现接口统一,维护简单。只是传入的字符串不同。本技术实施例中,c和system verilog之间可以成功通过stringstackaddress字段和一个函数实现了对不同命令的传递。
122.可选的,所述目标字符串至少包括:一个命令的命令内容。
123.其中,目标字符串可以至少包括一个命令的命令内容,例如,该命令内容可以为以下任一种:同步、通信、打印、读写、比较。
124.可选的,所述目标字符串还包括以下至少一项内容:目标地址、传递内容。
125.其中,目标字符串不仅可以包括一个命令的命令内如,还可以包括目标地址、传递内容。例如,c程序首先调用info(“mb_put”,0x10,0x123),此时,函数的实参有三个,mb_put表示命令是寄信,0x10代表寄信的邮箱地址(目标地址),0x123代表寄信的内容(传递内容)。
126.402、所述第二硬件处理器以后门读的方式基于所述首地址获取所述目标字符串。
127.其中,第二硬件处理器可以以后门读的方式基于首地址获取目标字符串,进而,可以基于第二编程语言,即system verilog语言对目标字符串完成解析操作。
128.可选的,在步骤402之后,还可以包括如下步骤:
129.所述第二硬件处理器通过第二编程语言对所述目标字符串进行解析,得到目标解析命令;执行与所述目标解析命令对应的操作。
130.其中,第二编程语言可以为system verilog,第二硬件处理器可以通过第二编程语言对目标字符串进行解析,得到目标解析命令,再执行与目标解析命令对应的操作,如此,可以实现让两个处理器协同仿真,即实现了处理器的验证过程。
131.本技术实施例中,可以不再基于command字段传递命令,因此,省略了command字段。以c语言为例,本技术实施例中采用的实现机制是c基于一个传递字符串的可变参数函数(即函数除了第一个参数外,其他参数的个数和类型可变),将一段字符串发送给system verilog.不同的字符串表示不同的命令,system verilog通过解析该字符串获得当前命令。
132.另外,本技术实施例中,基于堆栈空间传递与命令相关的所有数据,则可以省略wdata,rdata,edata等全局共享字段。使得代码复杂度降低,也可以提升运行效率。当c或者system verilog向对方传递数据时,通过操作数据所在的堆栈地址,达到传递数据的目的。具体的,当调用c函数时,实参的值以从右至左的顺序依次传入堆栈空间中,并且数据是以向下依次递增的方式入栈。当把第一个参数即最左边的参数所在的堆栈地址告诉对方时,对方就能获得相关数据的其他地址,进而获得所有数据。
133.本技术实施例还可以继续以c向system verilog寄信为例,如图4d所示,例如,在运行info(“mb_put”,0x10,0x123),其可以包括寄信的邮箱地址和内容,c程序首先调用info(“mb_put”,0x10,0x123),该函数的实参有三个,mb_put表示命令是寄信,0x10代表寄信的邮箱地址,0x123代表寄信的内容,则根据实参和堆栈的入栈特点,当把第一个参数即字符串的首地址所在的堆栈地址传入stringstackaddress字段时,system verilog可以先获取字符串,并且解析它,根据结果,确定其他相关数据的个数和类型,再将堆栈地址递增多次,最终获得与该命令相关的所有数据。
134.当然,以此类推,针对其他的命令也是类似,因为每一个命令对应的其他数据的个数和类型都是事先约定好的,所以当system verilog解析命令的同时也就能得到与该命令相关的数据的个数和类型。
135.本技术实施例,由于基于特定字符串传递命令,进而,可以减少了command字段,以stringstackaddress字段作为替代;基于堆栈空间传递数据,减少了wdata,rdata,edata,mask,resp等全局字段。另外,所有的命令和相关数据都可以基于一个字段(stringstackaddress)实现,即一个可变参数函数以及非固定的一段堆栈地址空间来实现。
136.如此,只有一个字段和采用堆栈空间的好处在于即避免了对共享资源的竞争,也增强了对多核的支持。首先,因为堆栈地址空间自带先进先出(first input first output,fifo)属性,不用再担心因为中断导致的对共享资源的竞争;其次,对于多核,环境不用为每一个核单独分配一段专有的地址空间,所有核共享stringstackaddress字段。因为即使多核同时访问该字段,由于每一笔写操作在硬件上具备原子性,所以也不会导致任何竞争和命令丢失,并且利用每一个核的堆栈地址空间的独立性,基于堆栈空间传递数据的机制使得与命令相关的数据也不会丢失。
137.另外,只有一个可变参数函数的好处在于极大降低了整个环境的代码复杂度,提高了底层代码的统一性和易于维护性,命令的增减对源文件的改动也很小,从而也具备较好的可移植性。采用堆栈空间对于多核的环境还有一个好处在于能够实时获得当前命令对应的核的id。因为每一个核的堆栈空间都是独立的,所以system verilog在获得堆栈地址的同时,也能计算出与之对应的id,从而,提供给验证人员更多的debug信息。
138.可以看出,在本技术实施例中所描述的处理器验证方法,模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,n为正整数;通过后门访问机制将目标文件载入第一硬件处理器的存储空间,将目标字符串所在存储空间的首地址传递给第二硬件处理器,第一硬件处理器包括模拟处理器,第二硬件处理器是不同于第一硬件处理器的另一硬件处理器;第二硬件处理器以后门读的方式基于首地址获取目标字符串,能够在处理器验证过程中,以字符串的形式传递命令,建立两个硬件处理器
之间的“桥梁”,进而实现两种不同语言协同仿真。
139.与上述实施例一致地,请参阅图5,图5是本技术实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由处理器执行,该处理器为第一硬件处理器中的模拟处理器或者第二硬件处理器,本技术实施例中,上述程序包括用于执行以下步骤的指令:
140.以模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,所述n为正整数;
141.通过后门访问机制将所述目标文件载入第一硬件处理器的存储空间,并将所述目标字符串所在所述存储空间的首地址传递给第二硬件处理器,其中,所述第一硬件处理器包括所述模拟处理器,所述第二硬件处理器是不同于所述第一硬件处理器的另一硬件处理器;
142.所述第二硬件处理器以后门读的方式基于所述首地址获取所述目标字符串。
143.可选的,上述程序还包括用于执行以下步骤的指令:
144.所述模拟处理器将所述目标字符串的首地址以函数的实参传给堆栈地址;以及将所述堆栈地址传入交互空间的指定字符串堆栈地址。
145.可选的,上述程序还包括用于执行以下步骤的指令:
146.所述第二硬件处理器实时监控所述交互空间中是否存在有效堆栈地址;在监控到所述交互空间中存在所述有效堆栈地址时,通过所述有效堆栈地址从所述指定字符串堆栈地址中获取所述堆栈地址,再基于所述堆栈地址获取所述首地址,执行所述以后门读的方式基于所述首地址获取所述目标字符串的步骤。
147.可选的,所述目标字符串至少包括:一个命令的命令内容。
148.可选的,所述目标字符串还包括以下至少一项内容:目标地址、传递内容。
149.可选的,上述程序还包括用于执行以下步骤的指令:
150.所述第二硬件处理器通过第二编程语言对所述目标字符串进行解析,得到目标解析命令;执行与所述目标解析命令对应的操作。
151.可选的,在所述获取第一编程语言的目标字符串,上述程序包括用于执行如下步骤的指令:
152.获取目标测试内容;
153.确定与所述目标测试内容对应的所述目标字符串,所述第一字符串以所述第一编程语言的形式呈现。
154.可以看出,在本技术实施例中所描述的电子设备,该电子设备包括处理器,该处理器为第一硬件处理器中的模拟处理器或者第二硬件处理器,模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,n为正整数;通过后门访问机制将目标文件载入第一硬件处理器的存储空间,将目标字符串所在存储空间的首地址传递给第二硬件处理器,第一硬件处理器包括模拟处理器,第二硬件处理器是不同于第一硬件处理器的另一硬件处理器;第二硬件处理器以后门读的方式基于首地址获取目标字符串,能够在处理器验证过程中,以字符串的形式传递命令,建立两个硬件处理器之间的“桥梁”,进而实现两种不同语言协同仿真。
155.与上述实施例一致地,请参阅图6,图6是本技术实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括第一硬件处理器和第二硬件处理器,其中,
156.所述第一硬件处理器配置成通过后门访问机制将目标文件载入存储空间,并将所述目标字符串所在所述存储空间的首地址传递给第二硬件处理器;
157.所述第二硬件处理器配置成以后门读的方式基于所述首地址获取所述目标字符串;
158.其中,所述目标文件是通过以模拟处理器获取第一编程语言的目标字符串并对所述目标字符串进行编译而得到;所述第一硬件处理器包括所述模拟处理器,所述第二硬件处理器是不同于所述第一硬件处理器的另一硬件处理器。
159.可以看出,在本技术实施例中所描述的电子设备,该电子设备包括第一硬件处理器和第二硬件处理器,模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,n为正整数;通过后门访问机制将目标文件载入第一硬件处理器的存储空间,将目标字符串所在存储空间的首地址传递给第二硬件处理器,第一硬件处理器包括模拟处理器,第二硬件处理器是不同于第一硬件处理器的另一硬件处理器;第二硬件处理器以后门读的方式基于首地址获取目标字符串,能够在处理器验证过程中,以字符串的形式传递命令,建立两个硬件处理器之间的“桥梁”,进而实现两种不同语言协同仿真。
160.上述主要从方法侧执行过程的角度对本技术实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
161.本技术实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
162.图7是本技术实施例中所涉及的处理器验证装置700的功能单元组成框图。该处理器验证装置700包括传递单元701和获取单元702,其中,
163.所述传递单元701,配置成:
164.通过模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,所述n为正整数;
165.通过后门访问机制将所述目标文件载入第一硬件处理器的存储空间,并将所述目标字符串所在所述存储空间的首地址传递给第二硬件处理器,其中,所述第一硬件处理器包括所述模拟处理器,所述第二硬件处理器是不同于所述第一硬件处理器的另一硬件处理器;
166.所述获取单元702,配置成:
167.通过所述第二硬件处理器以后门读的方式基于所述首地址获取所述目标字符串。
168.可选的,所述装置700还具体用于:
169.通过所述模拟处理器将所述目标字符串的首地址以函数的实参传给堆栈地址;以及将所述堆栈地址传入交互空间的指定字符串堆栈地址。
170.可选的,所述装置700还具体用于:
171.通过所述第二硬件处理器实时监控所述交互空间中是否存在有效堆栈地址;在监控到所述交互空间中存在所述有效堆栈地址时,通过所述有效堆栈地址从所述指定字符串堆栈地址中获取所述堆栈地址,再基于所述堆栈地址获取所述首地址,执行所述以后门读的方式基于所述首地址获取所述目标字符串的步骤。
172.可选的,所述目标字符串至少包括:一个命令的命令内容。
173.可选的,所述目标字符串还包括以下至少一项内容:目标地址、传递内容。
174.可选的,可选的,所述装置700还具体用于:
175.通过所述第二硬件处理器通过第二编程语言对所述目标字符串进行解析,得到目标解析命令;执行与所述目标解析命令对应的操作。
176.可选的,在所述获取第一编程语言的目标字符串方面,所述传递单元701具体用于:
177.获取目标测试内容;
178.确定与所述目标测试内容对应的所述目标字符串,所述第一字符串以所述第一编程语言的形式呈现。
179.可以看出,在本技术实施例中所描述的处理器验证装置,模拟处理器获取第一编程语言的目标字符串,对该目标字符串进行编译,得到n进制格式的目标文件,n为正整数;通过后门访问机制将目标文件载入第一硬件处理器的存储空间,以将目标字符串所在存储空间的首地址传递给第二硬件处理器,第一硬件处理器包括模拟处理器,第二硬件处理器是不同于第一硬件处理器的另一硬件处理器;第二硬件处理器以后门读的方式基于首地址获取目标字符串,能够在处理器验证过程中,以字符串的形式传递命令,建立两个硬件处理器之间的“桥梁”,进而实现两种不同语言协同仿真。
180.其中,传递单元701可以是第一硬件处理器或者第一硬件处理器中的模拟处理器,获取单元702可以为第二硬件处理器,基于上述单元模块能够实现上述任一方法的功能或者步骤。
181.本实施例还提供了一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本技术实施例,以用于实现上述实施例中的任一方法。
182.本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的任一方法。
183.另外,本技术的实施例还提供一种处理器验证装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的任一方法。
184.其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于
执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
185.通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
186.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
187.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
188.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
189.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
190.以上内容,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献