CN117521569B - Chip function simulation method and device, electronic equipment and storage medium - Google Patents
Chip function simulation method and device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN117521569B CN117521569B CN202311675565.5A CN202311675565A CN117521569B CN 117521569 B CN117521569 B CN 117521569B CN 202311675565 A CN202311675565 A CN 202311675565A CN 117521569 B CN117521569 B CN 117521569B
- Authority
- CN
- China
- Prior art keywords
- module
- chip
- file
- upf
- level
- 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.)
- Active
Links
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)
- Design And Manufacture Of Integrated Circuits (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及集成电路技术领域,提供一种芯片功能仿真方法、装置、电子设备及存储介质,所述方法包括:响应于用户的操作,更新配置文件中对应于芯片中的至少一个模块的开关标识;获取最新的芯片级UPF文件;编译芯片级UPF文件,其中,在编译到与任意模块对应的代码时,查询配置文件,根据查询到的开关标识,确定是否编译与模块对应的模块级UPF文件,模块级UPF文件的编译结果用于确定仿真结果。本公开实施例的芯片功能仿真方法可自动识别与仿真相关的模块,自动编译与仿真相关的模块对应的模块级UPF文件,用户只需要维护配置文件,人工成本大大降低,并且UPF文件的更新对配置文件无影响,UPF文件无需额外维护,提高仿真效率。
The present disclosure relates to the field of integrated circuit technology, and provides a chip function simulation method, device, electronic device and storage medium, the method comprising: in response to a user's operation, updating a switch identifier corresponding to at least one module in a chip in a configuration file; obtaining the latest chip-level UPF file; compiling a chip-level UPF file, wherein when compiling to a code corresponding to any module, querying the configuration file, and determining whether to compile a module-level UPF file corresponding to the module according to the queried switch identifier, the compilation result of the module-level UPF file is used to determine the simulation result. The chip function simulation method of the embodiment of the present disclosure can automatically identify modules related to the simulation, and automatically compile module-level UPF files corresponding to modules related to the simulation. Users only need to maintain the configuration file, and the labor cost is greatly reduced. In addition, the update of the UPF file has no effect on the configuration file, and the UPF file does not require additional maintenance, thereby improving the simulation efficiency.
Description
技术领域Technical Field
本公开涉及集成电路技术领域,尤其涉及一种芯片功能仿真方法、装置、电子设备及存储介质。The present disclosure relates to the field of integrated circuit technology, and in particular to a chip function simulation method, device, electronic device and storage medium.
背景技术Background Art
现代集成电路芯片的设计规模和集成度越来越高,芯片的仿真速度越来越慢。在一些应用场景中,为了加速仿真,会将与仿真无关的模块空壳化。所谓的空壳化即用模块的一个假的仿真空壳来代替真实的模块进行仿真。而与仿真有关的模块,则不进行空壳化处理。The design scale and integration of modern integrated circuit chips are getting higher and higher, and the simulation speed of chips is getting slower and slower. In some application scenarios, in order to speed up the simulation, the modules that are not related to the simulation will be hollowed out. The so-called hollowing out is to use a fake simulation shell of the module to replace the real module for simulation. The modules related to the simulation are not hollowed out.
在低功耗仿真中,对于与仿真有关的模块,会同时编译模块的寄存器传输级(Register Transfer Level,RTL)文件和模块级统一低功耗标准(Unified Power Format,UPF)文件。对于与仿真无关的模块,也即空壳化的模块,则不需要编译该模块对应的UPF文件。现有的技术方案一般是通过手工方式编写该模块对应的空壳化的UPF文件,在芯片级UPF文件中使用模块对应的空壳化的UPF文件代替对应的原本UPF文件。这样在仿真时就会编译模块对应的空壳化的UPF文件。或者在芯片级UPF文件中将与仿真无关的模块所对应的模块级UPF文件注释掉,这样在仿真时不会编译被注释的部分。现有技术的方法适用于模块较少、较简单的仿真场景,当模块变多、仿真场景变得复杂时,如果仍使用手工编写或手工注释的方式,在环境维护方面工作量就会变大,人工成本大大增加,同时,也容易引入错误,不利于芯片的快速迭代。此外,只要芯片级UPF文件更新,就需要刷新所有空壳化的UPF文件或者逐一检查注释,导致仿真效率较低。In low-power simulation, for modules related to simulation, the register transfer level (RTL) file of the module and the module-level unified low-power standard (UPF) file will be compiled at the same time. For modules that are not related to simulation, that is, empty shell modules, it is not necessary to compile the UPF file corresponding to the module. The existing technical solution is generally to manually write the empty shell UPF file corresponding to the module, and use the empty shell UPF file corresponding to the module in the chip-level UPF file to replace the corresponding original UPF file. In this way, the empty shell UPF file corresponding to the module will be compiled during simulation. Or the module-level UPF file corresponding to the module that is not related to simulation will be commented out in the chip-level UPF file, so that the commented part will not be compiled during simulation. The method of the prior art is suitable for simulation scenarios with fewer modules and simpler ones. When the modules become more and the simulation scenarios become more complicated, if the manual writing or manual annotation method is still used, the workload in environmental maintenance will increase, the labor cost will increase greatly, and at the same time, it is easy to introduce errors, which is not conducive to the rapid iteration of chips. In addition, as long as the chip-level UPF file is updated, it is necessary to refresh all hollow UPF files or check the annotations one by one, resulting in low simulation efficiency.
发明内容Summary of the invention
有鉴于此,本公开提出了一种芯片功能仿真方法、装置、电子设备及存储介质,本公开实施例的芯片功能仿真方法可自动识别与仿真相关的模块,自动编译与仿真相关的模块对应的模块级UPF文件,用户只需要维护配置文件,人工成本大大降低,并且芯片级UPF文件的更新对配置文件无影响,UPF文件无需额外维护,提高仿真效率。In view of this, the present disclosure proposes a chip function simulation method, device, electronic device and storage medium. The chip function simulation method of the embodiment of the present disclosure can automatically identify modules related to the simulation, and automatically compile module-level UPF files corresponding to the modules related to the simulation. Users only need to maintain the configuration files, and the labor cost is greatly reduced. In addition, the update of the chip-level UPF file has no effect on the configuration file, and the UPF file does not require additional maintenance, thereby improving the simulation efficiency.
根据本公开的一方面,提供了一种芯片功能仿真方法,所述芯片包括多个模块,所述芯片对应芯片级统一低功耗标准UPF文件,每个模块分别对应模块级统一低功耗标准UPF文件,所述方法包括:响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的开关标识;获取最新的芯片级统一低功耗标准UPF文件,所述芯片级统一低功耗标准UPF文件包括与所述多个模块分别对应的多段代码;编译所述芯片级统一低功耗标准UPF文件,其中,在编译到与任意模块对应的代码时,查询所述配置文件,根据查询到的与所述模块对应的开关标识,确定是否编译与所述模块对应的模块级统一低功耗标准UPF文件,所述模块级统一低功耗标准UPF文件的编译结果用于确定仿真结果。According to one aspect of the present disclosure, a chip function simulation method is provided, wherein the chip includes multiple modules, the chip corresponds to a chip-level unified low power consumption standard UPF file, and each module corresponds to a module-level unified low power consumption standard UPF file, the method comprising: in response to a user's operation, updating a switch identifier corresponding to at least one module in the chip in a configuration file; obtaining the latest chip-level unified low power consumption standard UPF file, the chip-level unified low power consumption standard UPF file including multiple segments of code corresponding to the multiple modules respectively; compiling the chip-level unified low power consumption standard UPF file, wherein when compiling to a code corresponding to any module, querying the configuration file, and determining whether to compile the module-level unified low power consumption standard UPF file corresponding to the module according to the queried switch identifier corresponding to the module, the compilation result of the module-level unified low power consumption standard UPF file is used to determine the simulation result.
在一种可能的实现方式中,所述多个模块的开关标识的初始状态为第一状态,所述响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的开关标识,包括:所述用户指示将所述至少一个模块设置为虚拟模块时,更新所述至少一个模块的开关标识为第二状态。In a possible implementation, the initial state of the switch identifiers of the multiple modules is a first state, and the updating of the switch identifier corresponding to at least one module in the chip in the configuration file in response to a user operation includes: when the user instructs to set the at least one module as a virtual module, updating the switch identifier of the at least one module to a second state.
在一种可能的实现方式中,所述根据查询到的与所述模块对应的开关标识,确定是否编译与所述模块对应的模块级统一低功耗标准UPF文件,包括:在查询到与所述模块对应的标识为第一状态时,编译与所述模块对应的模块级统一低功耗标准UPF文件;在查询到与所述模块对应的标识为第二状态时,不编译与所述模块对应的模块级统一低功耗标准UPF文件。In a possible implementation, the method determines whether to compile a module-level unified low power consumption standard UPF file corresponding to the module based on the switch identifier corresponding to the module obtained by query, including: when the identifier corresponding to the module obtained by query is in a first state, compiling the module-level unified low power consumption standard UPF file corresponding to the module; when the identifier corresponding to the module obtained by query is in a second state, not compiling the module-level unified low power consumption standard UPF file corresponding to the module.
在一种可能的实现方式中,已编译的至少一个模块级统一低功耗标准UPF文件编译失败时,所述仿真结果指示芯片功能异常。In a possible implementation, when the compilation of at least one compiled module-level unified low power consumption standard UPF file fails, the simulation result indicates that the chip function is abnormal.
在一种可能的实现方式中,所述芯片级统一低功耗标准UPF文件还包括电源状态检查代码,所述编译所述芯片级统一低功耗标准UPF文件之前,所述方法还包括:响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的电源状态信息;所述编译所述芯片级统一低功耗标准UPF文件,还包括:在编译到所述电源状态检查代码时,检查所述至少一个模块的电源状态信息是否满足预设条件,所述电源状态检查代码的编译结果用于确定所述仿真结果。In one possible implementation, the chip-level unified low power consumption standard UPF file also includes a power status check code. Before compiling the chip-level unified low power consumption standard UPF file, the method also includes: in response to user operations, updating the power status information corresponding to at least one module in the chip in the configuration file; compiling the chip-level unified low power consumption standard UPF file also includes: when compiling to the power status check code, checking whether the power status information of the at least one module meets a preset condition, and the compilation result of the power status check code is used to determine the simulation result.
在一种可能的实现方式中,所述电源状态信息包括电源标识,所述预设条件包括:所述至少一个模块的供电状态与所述电源标识相符合。In a possible implementation manner, the power state information includes a power identifier, and the preset condition includes: the power supply state of the at least one module is consistent with the power identifier.
在一种可能的实现方式中,所述电源状态信息包括电压范围,所述预设条件包括:每个模块的电压值均未超出所述电源状态信息中该模块对应的电压范围。In a possible implementation, the power state information includes a voltage range, and the preset condition includes: a voltage value of each module does not exceed a voltage range corresponding to the module in the power state information.
在一种可能的实现方式中,已编译的至少一个模块级统一低功耗标准UPF文件编译失败、或所述至少一个模块的电源状态信息不满足所述预设条件时,所述仿真结果指示芯片功能异常。In a possible implementation, when the compilation of at least one compiled module-level unified low power consumption standard UPF file fails, or the power status information of the at least one module does not meet the preset condition, the simulation result indicates that the chip function is abnormal.
根据本公开的另一方面,提供了一种芯片功能仿真装置,所述芯片包括多个模块,所述芯片对应芯片级统一低功耗标准UPF文件,每个模块分别对应模块级统一低功耗标准UPF文件,所述装置包括:第一更新模块,用于响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的开关标识;获取模块,用于获取最新的芯片级统一低功耗标准UPF文件,所述芯片级统一低功耗标准UPF文件包括与所述多个模块分别对应的多段代码;编译模块,用于编译所述芯片级统一低功耗标准UPF文件,其中,在编译到与任意模块对应的代码时,查询所述配置文件,根据查询到的与所述模块对应的开关标识,确定是否编译与所述模块对应的模块级统一低功耗标准UPF文件,所述模块级统一低功耗标准UPF文件的编译结果用于确定仿真结果。According to another aspect of the present disclosure, a chip function simulation device is provided, wherein the chip includes multiple modules, the chip corresponds to a chip-level unified low power consumption standard UPF file, and each module corresponds to a module-level unified low power consumption standard UPF file, and the device includes: a first update module, for updating a switch identifier corresponding to at least one module in the chip in a configuration file in response to a user's operation; an acquisition module, for acquiring the latest chip-level unified low power consumption standard UPF file, the chip-level unified low power consumption standard UPF file including multiple segments of code corresponding to the multiple modules respectively; a compilation module, for compiling the chip-level unified low power consumption standard UPF file, wherein when compiling to a code corresponding to any module, the configuration file is queried, and according to the queried switch identifier corresponding to the module, it is determined whether to compile the module-level unified low power consumption standard UPF file corresponding to the module, and the compilation result of the module-level unified low power consumption standard UPF file is used to determine the simulation result.
在一种可能的实现方式中,所述多个模块的开关标识的初始状态为第一状态,所述响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的开关标识,包括:所述用户指示将所述至少一个模块设置为虚拟模块时,更新所述至少一个模块的开关标识为第二状态。In a possible implementation, the initial state of the switch identifiers of the multiple modules is a first state, and the updating of the switch identifier corresponding to at least one module in the chip in the configuration file in response to a user operation includes: when the user instructs to set the at least one module as a virtual module, updating the switch identifier of the at least one module to a second state.
在一种可能的实现方式中,所述根据查询到的与所述模块对应的开关标识,确定是否编译与所述模块对应的模块级统一低功耗标准UPF文件,包括:在查询到与所述模块对应的标识为第一状态时,编译与所述模块对应的模块级统一低功耗标准UPF文件;在查询到与所述模块对应的标识为第二状态时,不编译与所述模块对应的模块级统一低功耗标准UPF文件。In a possible implementation, the method determines whether to compile a module-level unified low power consumption standard UPF file corresponding to the module based on the switch identifier corresponding to the module obtained by query, including: when the identifier corresponding to the module obtained by query is in a first state, compiling the module-level unified low power consumption standard UPF file corresponding to the module; when the identifier corresponding to the module obtained by query is in a second state, not compiling the module-level unified low power consumption standard UPF file corresponding to the module.
在一种可能的实现方式中,已编译的至少一个模块级统一低功耗标准UPF文件编译失败时,所述仿真结果指示芯片功能异常。In a possible implementation, when the compilation of at least one compiled module-level unified low power consumption standard UPF file fails, the simulation result indicates that the chip function is abnormal.
在一种可能的实现方式中,所述装置还包括:In a possible implementation manner, the device further includes:
第二更新模块,用于响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的电源状态信息;A second updating module, configured to update, in response to a user operation, power state information corresponding to at least one module in the chip in the configuration file;
所述编译所述芯片级统一低功耗标准UPF文件,还包括:The compiling of the chip-level unified low power consumption standard UPF file also includes:
在编译到所述电源状态检查代码时,检查所述至少一个模块的电源状态信息是否满足预设条件,所述电源状态检查代码的编译结果用于确定所述仿真结果。When the power state check code is compiled, it is checked whether the power state information of the at least one module meets a preset condition, and the compilation result of the power state check code is used to determine the simulation result.
在一种可能的实现方式中,所述电源状态信息包括电源标识,所述预设条件包括:所述至少一个模块的供电状态与所述电源标识相符合。In a possible implementation manner, the power state information includes a power identifier, and the preset condition includes: the power supply state of the at least one module is consistent with the power identifier.
在一种可能的实现方式中,所述电源状态信息包括电压范围,所述预设条件包括:每个模块的电压值均未超出所述电源状态信息中该模块对应的电压范围。In a possible implementation, the power state information includes a voltage range, and the preset condition includes: a voltage value of each module does not exceed a voltage range corresponding to the module in the power state information.
在一种可能的实现方式中,已编译的至少一个模块级统一低功耗标准UPF文件编译失败、或所述至少一个模块的电源状态信息不满足所述预设条件时,所述仿真结果指示芯片功能异常。In a possible implementation, when the compilation of at least one compiled module-level unified low power consumption standard UPF file fails, or the power status information of the at least one module does not meet the preset condition, the simulation result indicates that the chip function is abnormal.
根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。According to another aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to implement the above method when executing the instructions stored in the memory.
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。According to another aspect of the present disclosure, a non-volatile computer-readable storage medium is provided, on which computer program instructions are stored, wherein the computer program instructions implement the above method when executed by a processor.
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。According to another aspect of the present disclosure, a computer program product is provided, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above method.
根据本公开实施例的芯片功能仿真方法,芯片对应芯片级统一低功耗标准UPF文件,每个模块分别对应模块级统一低功耗标准UPF文件,在配置文件中设置对应于模块的开关标识,并响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的开关标识,使得基于配置文件可确定哪些模块与仿真有关、哪些模块与仿真无关;通过获取最新的芯片级统一低功耗标准UPF文件,芯片级统一低功耗标准UPF文件包括与多个模块分别对应的多段代码,使得芯片级统一低功耗标准UPF文件的更新与配置文件的修改互相独立,互不影响;通过编译芯片级统一低功耗标准UPF文件,其中,在编译到与任意模块对应的代码时,查询配置文件,根据查询到的与模块对应的开关标识,确定是否编译与模块对应的模块级统一低功耗标准UPF文件,使得借助设置了开关标识的配置文件可以自动实现模块级UPF文件的选择性编译,最终可基于模块级统一低功耗标准UPF文件的编译结果确定仿真结果,从而能完成芯片功能的仿真。本公开实施例的芯片功能的仿真方法,可自动识别与仿真相关的模块,自动编译与仿真相关的模块对应的模块级UPF文件,用户只需要维护配置文件,在芯片规模比较大时人工成本大大降低,并且芯片级UPF文件的更新对配置文件无影响,UPF文件无需额外维护,提高仿真效率。According to the chip function simulation method of the embodiment of the present disclosure, the chip corresponds to a chip-level unified low-power standard UPF file, each module corresponds to a module-level unified low-power standard UPF file, a switch identifier corresponding to the module is set in a configuration file, and in response to a user's operation, the switch identifier corresponding to at least one module in the chip in the configuration file is updated, so that based on the configuration file, it can be determined which modules are related to the simulation and which modules are not related to the simulation; by obtaining the latest chip-level unified low-power standard UPF file, the chip-level unified low-power standard UPF file includes multiple sections of code corresponding to multiple modules, so that the update of the chip-level unified low-power standard UPF file and the modification of the configuration file are independent of each other and do not affect each other; by compiling the chip-level unified low-power standard UPF file, wherein, when compiling to the code corresponding to any module, the configuration file is queried, and according to the queried switch identifier corresponding to the module, it is determined whether to compile the module-level unified low-power standard UPF file corresponding to the module, so that with the help of the configuration file with the switch identifier set, the selective compilation of the module-level UPF file can be automatically realized, and finally the simulation result can be determined based on the compilation result of the module-level unified low-power standard UPF file, so that the simulation of the chip function can be completed. The simulation method of the chip function of the embodiment of the present disclosure can automatically identify the modules related to the simulation, and automatically compile the module-level UPF files corresponding to the modules related to the simulation. The user only needs to maintain the configuration file. When the chip scale is relatively large, the labor cost is greatly reduced, and the update of the chip-level UPF file has no effect on the configuration file. The UPF file does not require additional maintenance, thereby improving the simulation efficiency.
应用本公开实施例的芯片功能仿真方法,只需要为每个用户提供一个独属于该用户的配置文件,每个用户根据自己实际的仿真需求,对配置文件进行编辑修改。即使芯片级的设计者发布新的芯片级UPF文件和模块级UPF文件,也不需要额外更新配置文件。When using the chip function simulation method of the embodiment of the present disclosure, it is only necessary to provide each user with a configuration file that is unique to the user, and each user can edit and modify the configuration file according to their actual simulation needs. Even if the chip-level designer releases a new chip-level UPF file and module-level UPF file, there is no need to update the configuration file additionally.
同时,用户只需要修改与自己的仿真需求有关的模块的开关状态,使得出错率较低,也降低反复修改配置文件的次数,提高工作效率。At the same time, users only need to modify the switch status of the modules related to their simulation needs, which reduces the error rate, reduces the number of repeated modifications to the configuration files, and improves work efficiency.
将配置文件开放给用户,使得配置文件中信息的可读性更强,也有利于审核效率的提高。Opening the configuration file to users makes the information in the configuration file more readable and is also conducive to improving audit efficiency.
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
图1a示出根据本公开实施例的芯片功能仿真方法的示例性应用场景。FIG. 1 a shows an exemplary application scenario of a chip function simulation method according to an embodiment of the present disclosure.
图1b示出根据本公开实施例的芯片功能仿真方法的示例性应用场景。FIG. 1 b shows an exemplary application scenario of the chip function simulation method according to an embodiment of the present disclosure.
图2示出根据本公开实施例的芯片功能仿真方法的流程的示意图。FIG. 2 is a schematic diagram showing the process of a chip function simulation method according to an embodiment of the present disclosure.
图3示出根据本公开实施例更新配置文件中的开关标识的示例。FIG. 3 shows an example of updating a switch identifier in a configuration file according to an embodiment of the present disclosure.
图4示出根据本公开实施例的各模块对应的代码的编译方式的示意图。FIG. 4 is a schematic diagram showing a compilation method of codes corresponding to each module according to an embodiment of the present disclosure.
图5示出根据本公开实施例的芯片功能仿真方法的流程的示意图。FIG5 is a schematic diagram showing the process of a chip function simulation method according to an embodiment of the present disclosure.
图6示出根据本公开实施例的芯片功能仿真装置的结构的示意图。FIG6 is a schematic diagram showing the structure of a chip function simulation device according to an embodiment of the present disclosure.
图7示出根据本公开实施例的装置1900的框图。FIG. 7 shows a block diagram of an apparatus 1900 according to an embodiment of the present disclosure.
具体实施方式DETAILED DESCRIPTION
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。In addition, in order to better illustrate the present disclosure, numerous specific details are given in the following specific embodiments. It should be understood by those skilled in the art that the present disclosure can also be implemented without certain specific details. In some examples, methods, means, components and circuits well known to those skilled in the art are not described in detail in order to highlight the main purpose of the present disclosure.
下面先介绍低功耗仿真的原理以及实现低功耗仿真的现有技术方案。The following first introduces the principle of low-power simulation and the existing technical solutions for implementing low-power simulation.
实际的芯片设计中,每个模块都会有一个寄存器传输级(Register TransferLevel,RTL)文件来描述其功能,对应的,也需要统一低功耗标准(Unified Power Format,UPF)文件描述此模块内部的电源网络信息。按照层级将模块的RTL文件和UPF文件组织起来,就成为一个模块。In actual chip design, each module has a register transfer level (RTL) file to describe its function, and correspondingly, a unified low power standard (UPF) file is also required to describe the power network information inside this module. Organizing the RTL file and UPF file of the module according to the hierarchy will form a module.
现代集成电路芯片的设计规模和集成度越来越高,芯片的仿真速度越来越慢。在一些应用场景中,为了加速仿真,会将与仿真无关的模块空壳化(dummy)。这种空壳化的操作在芯片级别仿真中是一种常用的方法。所谓的空壳化即用模块的一个假的仿真空壳来代替真实的模块进行仿真。而与仿真有关的模块,则不进行空壳化处理。The design scale and integration of modern integrated circuit chips are getting higher and higher, and the simulation speed of chips is getting slower and slower. In some application scenarios, in order to speed up the simulation, the modules that are not related to the simulation will be dummyed. This dummying operation is a common method in chip-level simulation. The so-called dummying is to use a fake simulation dummy of the module to replace the real module for simulation. The modules related to the simulation are not dummyed.
假设芯片包括三个模块,分别是模块A、模块B、模块C。每个模块都对应一个RTL文件和一个UPF文件。在不做任何空壳化的情况下,在对芯片的功能进行仿真时,会编译所有模块即模块A、模块B、模块C对应的RTL文件。在进行空壳化处理的情况下,例如用户只关心模块A的功能正确性与否,并且模块A的业务运转和模块B、模块C没有数据交互,此时可以对模块B和模块C进行空壳化处理,也就是用模块B对应的一个空壳RTL文件B_dummy来代替模块B对应的原本的RTL文件进行编译,同理用模块C对应的一个空壳RTL文件C_dummy来代替模块C对应的原本的RTL文件进行编译。模块B对应的原本的RTL文件和空壳RTL文件B_dummy的主要区别是原本的RTL文件是真实的模块实现,内部有可能包括若干模块层级,并且有真实的逻辑功能。而空壳RTL文件B_dummy在模块B的基础上只保留了端口定义,即只有输入/输出声明。用空壳RTL文件的好处是减少了需要编译的文件的数量,因而减少了编译时间。同时由于对无关模块进行了空壳化处理,那么无关模块内部将没有真正的逻辑在运转,因而就能将仿真加速。Assume that the chip includes three modules, namely module A, module B, and module C. Each module corresponds to an RTL file and a UPF file. Without any hollowing, when simulating the chip function, the RTL files corresponding to all modules, namely module A, module B, and module C, will be compiled. In the case of hollowing, for example, if the user only cares about the functional correctness of module A, and the business operation of module A has no data interaction with modules B and C, then modules B and C can be hollowed, that is, a hollow RTL file B_dummy corresponding to module B is used to replace the original RTL file corresponding to module B for compilation, and a hollow RTL file C_dummy corresponding to module C is used to replace the original RTL file corresponding to module C for compilation. The main difference between the original RTL file corresponding to module B and the hollow RTL file B_dummy is that the original RTL file is a real module implementation, which may include several module levels and have real logical functions. The hollow RTL file B_dummy only retains the port definition based on module B, that is, only input/output declarations. The benefit of using empty RTL files is that it reduces the number of files that need to be compiled, thereby reducing the compilation time. At the same time, since the irrelevant modules are made empty, there will be no real logic running inside the irrelevant modules, thus speeding up the simulation.
在非低功耗的寄存器传输级功能仿真中,只需要考虑RTL文件的空壳化即可,因此仿真是不需要编译UPF文件的。但在低功耗仿真中,需要感知电源的存在,针对不同的电源域进行不同的开关组合,对芯片内不同的模块进行上下电处理流程,达到降低芯片功耗的目标。而RTL文件和UPF文件在层级关系上是一一对应的,如果以大楼来比喻的话,RTL文件就类似于大楼里面的各个房间,而UPF文件就类似于房间里面的电缆的分布。一个房间就会对应一个电缆的网络。因此当我们在做芯片仿真的时候,一定要保证编译的RTL文件和UPF文件是一一对应的,即如果编译某个模块的RTL文件,也需要将这个模块对应的UPF文件编译进去,否则这个模块就找不到其对应的电源网络,就失去了低功耗仿真的意义。反之亦然,如果为了加速将某个模块进行了空壳化处理,那么这个模块对应的UPF文件也不能被编译,这是因为如果模块的RTL文件被空壳化,那么此模块里面的层级结构是不存在的,而在UPF文件中要引用此模块内部的层次结构进行电源网络的布局,当引用时,仿真使用的工具会因为找不到此模块的内部结构而产生编译错误。因此低功耗仿真面临的问题就是,对于仿真有关的任意模块来说,如何保证其RTL文件和UPF文件的一致性。In non-low-power register transfer level functional simulation, we only need to consider the empty shell of the RTL file, so the simulation does not need to compile the UPF file. However, in low-power simulation, it is necessary to sense the existence of the power supply, perform different switch combinations for different power domains, and perform power-on and power-off processing for different modules in the chip to achieve the goal of reducing chip power consumption. The RTL file and the UPF file are one-to-one corresponding in terms of hierarchy. If we use a building as an analogy, the RTL file is similar to the rooms in the building, and the UPF file is similar to the distribution of cables in the room. One room corresponds to a cable network. Therefore, when we are doing chip simulation, we must ensure that the compiled RTL file and UPF file are one-to-one corresponding, that is, if we compile the RTL file of a module, we also need to compile the UPF file corresponding to this module, otherwise this module will not be able to find its corresponding power network, and the meaning of low-power simulation will be lost. Conversely, if a module is hollowed out for speed, the UPF file corresponding to this module cannot be compiled. This is because if the RTL file of the module is hollowed out, the hierarchical structure inside the module does not exist. In the UPF file, the internal hierarchical structure of this module must be referenced for the layout of the power network. When referencing, the simulation tool will generate a compilation error because it cannot find the internal structure of this module. Therefore, the problem faced by low-power simulation is how to ensure the consistency of its RTL file and UPF file for any module related to the simulation.
在现有的技术方案中,一般是通过手工方式编写该模块对应的空壳化的UPF文件,在芯片级的UPF文件中使用空壳化的UPF文件代替原本的UPF文件。这样在仿真时芯片级UPF文件就会编译空壳化的UPF文件。或者在芯片级UPF文件中将与仿真无关的模块所对应的模块级UPF文件注释掉,这样在仿真芯片级UPF文件时不会编译被注释的部分。In the existing technical solutions, the hollow UPF file corresponding to the module is generally written manually, and the hollow UPF file is used to replace the original UPF file in the chip-level UPF file. In this way, the chip-level UPF file will compile the hollow UPF file during simulation. Or the module-level UPF file corresponding to the module that is not related to the simulation is commented out in the chip-level UPF file, so that the commented part will not be compiled when simulating the chip-level UPF file.
仍以芯片包括三个模块,分别是模块A、模块B、模块C为例,芯片级UPF文件可能存在如下的语句:Still taking the chip including three modules, namely module A, module B, and module C as an example, the chip-level UPF file may contain the following statements:
load A.upfload A.upf
load B.upfload B.upf
load C.upfload C.upf
其中,“load”表示加载模块级UPF文件使用的方法,A.upf是模块A对应的模块级UPF文件,B.upf是模块B对应的模块级UPF文件,C.upf是模块C对应的模块级UPF文件。Among them, "load" represents the method used to load the module-level UPF file, A.upf is the module-level UPF file corresponding to module A, B.upf is the module-level UPF file corresponding to module B, and C.upf is the module-level UPF file corresponding to module C.
如果模块B是仿真有关的模块,模块A和模块C是仿真无关的模块,那么根据仿真需要,采用人工注释的方法,将模块A和模块C对应的模块级UPF文件注释掉后,芯片级UPF文件中的语句可变为如下的形式:If module B is a simulation-related module, and module A and module C are simulation-independent modules, then according to the simulation requirements, the module-level UPF files corresponding to module A and module C are commented out by manual annotation, and the statements in the chip-level UPF file can be changed to the following form:
#load A.upf#load A.upf
load B.upfload B.upf
#load C.upf#load C.upf
其中,“#”表示注释。Here, “#” indicates a comment.
现有技术的方法适用于模块较少、较简单的仿真场景,当模块变多、仿真场景变得复杂时,如果仍使用手工编写或手工注释的方式,在环境维护方面工作量就会变大,人工成本大大增加,同时,也容易引入错误,不利于芯片的快速迭代。此外,只要芯片级UPF文件更新,就需要刷新所有空壳化的UPF文件或者逐一检查注释,导致仿真效率较低。The existing methods are suitable for simulation scenarios with fewer modules and simpler simulation scenarios. When the number of modules increases and the simulation scenarios become more complex, if manual writing or manual annotation is still used, the workload in terms of environmental maintenance will increase, the labor cost will increase greatly, and it is also easy to introduce errors, which is not conducive to the rapid iteration of chips. In addition, as long as the chip-level UPF file is updated, all hollow UPF files need to be refreshed or the annotations need to be checked one by one, resulting in low simulation efficiency.
有鉴于此,本公开提出了一种芯片功能仿真方法、装置、电子设备及存储介质,本公开实施例的芯片功能仿真方法可自动识别与仿真相关的模块,自动编译与仿真相关的模块对应的模块级UPF文件,用户只需要维护配置文件,人工成本大大降低,并且芯片级UPF文件的更新对配置文件无影响,UPF文件无需额外维护,提高仿真效率。In view of this, the present disclosure proposes a chip function simulation method, device, electronic device and storage medium. The chip function simulation method of the embodiment of the present disclosure can automatically identify modules related to the simulation, and automatically compile module-level UPF files corresponding to the modules related to the simulation. Users only need to maintain the configuration files, and the labor cost is greatly reduced. In addition, the update of the chip-level UPF file has no effect on the configuration file, and the UPF file does not require additional maintenance, thereby improving the simulation efficiency.
图1a和图1b示出根据本公开实施例的芯片功能仿真方法的示例性应用场景。1a and 1b illustrate exemplary application scenarios of a chip function simulation method according to an embodiment of the present disclosure.
如图1a所示,该场景中可包括供用户使用的终端设备,本公开实施例的芯片功能仿真方法可由该终端设备执行。上游的工程师负责发布芯片级UPF文件。用户可以是在给定的芯片结构(包括模块层级结构,电源网络结构等等)基础上,对芯片功能进行仿真的人群。该终端设备上可以存储有该用户的配置文件,配置文件可包括芯片的所有模块对应的开关标识(未示出)。用户操作终端设备时,终端设备响应于用户的操作,可以更新配置文件中的开关标识。终端设备编译芯片级的UPF文件,在编译过程中按照配置文件中的开关标识编译模块级UPF文件,综合模块级UPF文件的编译结果得到仿真结果。如果仿真通过,则确定芯片功能正常。如果仿真出现错误,则确定芯片功能异常,继续修改配置文件重新执行芯片功能仿真方法。As shown in FIG. 1a, the scenario may include a terminal device for use by the user, and the chip function simulation method of the embodiment of the present disclosure may be executed by the terminal device. Upstream engineers are responsible for publishing chip-level UPF files. Users may be people who simulate chip functions based on a given chip structure (including module hierarchy structure, power network structure, etc.). The terminal device may store a configuration file of the user, and the configuration file may include switch identifiers corresponding to all modules of the chip (not shown). When the user operates the terminal device, the terminal device may update the switch identifier in the configuration file in response to the user's operation. The terminal device compiles the chip-level UPF file, compiles the module-level UPF file according to the switch identifier in the configuration file during the compilation process, and obtains the simulation result by synthesizing the compilation result of the module-level UPF file. If the simulation passes, it is determined that the chip function is normal. If an error occurs in the simulation, it is determined that the chip function is abnormal, and the configuration file is continued to be modified to re-execute the chip function simulation method.
如图1b所示,该场景中可包括服务器和至少一个终端设备。每个终端设备由一个用户使用。上游的工程师负责发布芯片级UPF文件。用户可以是在给定的芯片结构(包括模块层级结构,电源网络结构等等)基础上,对芯片功能进行仿真的人群。服务器上可设置有数据库,用于存储每个用户的配置文件。每个配置文件都包括芯片的所有模块对应的开关标识。不同用户对于芯片的模块的开关标识的设置方式可以不同。As shown in Figure 1b, the scenario may include a server and at least one terminal device. Each terminal device is used by one user. Upstream engineers are responsible for publishing chip-level UPF files. Users can be people who simulate chip functions based on a given chip structure (including module hierarchy structure, power network structure, etc.). A database may be provided on the server to store configuration files for each user. Each configuration file includes switch identifiers corresponding to all modules of the chip. Different users may set the switch identifiers of chip modules differently.
任意用户发起芯片功能仿真时,可从服务器处下载该用户的配置文件到自己的终端设备。之后在终端设备上执行本公开实施例的芯片功能仿真方法,操作终端设备对配置文件中的开关标识进行更新,然后编译芯片级的UPF文件,在编译过程中按照配置文件中的开关标识编译模块级UPF文件,综合模块级UPF文件的编译结果得到仿真结果。如果仿真通过,则确定芯片功能正常,将配置文件上传至服务器,服务器使用新接收的该用户的配置文件更新原本存储的该用户的配置文件。如果仿真出现错误,则确定芯片功能异常,继续修改配置文件重新执行芯片功能仿真方法。这样一来,多个用户就可以分别完成芯片中自己所关注的模块的仿真。When any user initiates chip function simulation, the user's configuration file can be downloaded from the server to his own terminal device. After that, the chip function simulation method of the disclosed embodiment is executed on the terminal device, the terminal device is operated to update the switch identifier in the configuration file, and then the chip-level UPF file is compiled. During the compilation process, the module-level UPF file is compiled according to the switch identifier in the configuration file, and the simulation result is obtained by integrating the compilation result of the module-level UPF file. If the simulation passes, it is determined that the chip function is normal, and the configuration file is uploaded to the server. The server uses the newly received configuration file of the user to update the originally stored configuration file of the user. If an error occurs in the simulation, it is determined that the chip function is abnormal, and the configuration file is continued to be modified to re-execute the chip function simulation method. In this way, multiple users can complete the simulation of the modules they are concerned about in the chip respectively.
可以理解的是,用户的终端设备存储区域充足时,配置文件也可以存储在用户的终端设备上,不必到服务器处下载,也不必上传至服务器,本公开实施例对于配置文件的具体获取方式不作限制。It is understandable that when the user's terminal device has sufficient storage area, the configuration file can also be stored on the user's terminal device without having to download it from the server or upload it to the server. The embodiment of the present disclosure does not limit the specific method of obtaining the configuration file.
图2示出根据本公开实施例的芯片功能仿真方法的流程的示意图。FIG. 2 is a schematic diagram showing the process of a chip function simulation method according to an embodiment of the present disclosure.
如图2所示,在一种可能的实现方式中,本公开提供一种芯片功能仿真方法,芯片包括多个模块,芯片对应芯片级统一低功耗标准UPF文件,每个模块分别对应模块级统一低功耗标准UPF文件。芯片级统一低功耗标准UPF文件(以下简称芯片级UPF文件)在芯片的模块层级结构里位于顶层,模块级低功耗标准UPF文件(以下简称模块级UPF文件)在芯片的模块层级结构里位于顶层的下一层级。各模块的模块级UPF文件之间是并列的。As shown in FIG2 , in a possible implementation, the present disclosure provides a chip function simulation method, wherein the chip includes multiple modules, the chip corresponds to a chip-level unified low-power standard UPF file, and each module corresponds to a module-level unified low-power standard UPF file. The chip-level unified low-power standard UPF file (hereinafter referred to as the chip-level UPF file) is located at the top level in the module hierarchy of the chip, and the module-level low-power standard UPF file (hereinafter referred to as the module-level UPF file) is located at the next level of the top level in the module hierarchy of the chip. The module-level UPF files of each module are parallel.
所述方法包括:The method comprises:
步骤S21,响应于用户的操作,更新配置文件中对应于芯片中的至少一个模块的开关标识。Step S21: in response to a user operation, updating a switch identifier in a configuration file corresponding to at least one module in the chip.
配置文件可以是用户可见的文件,用户可以通过终端设备来发起操作,从配置文件中选择与仿真需求有关的至少一个模块的开关标识进行修改。开关标识可以指示模块是否与仿真有关,在步骤S21中,对于终端设备来说,可以是响应于用户的操作,更新配置文件中对应于芯片中的至少一个模块的开关标识。The configuration file may be a user-visible file, and the user may initiate an operation through a terminal device, and select a switch identifier of at least one module related to the simulation requirement from the configuration file for modification. The switch identifier may indicate whether the module is related to the simulation. In step S21, for the terminal device, the switch identifier corresponding to at least one module in the chip in the configuration file may be updated in response to the user's operation.
步骤S22,获取最新的芯片级统一低功耗标准UPF文件,芯片级统一低功耗标准UPF文件包括与多个模块分别对应的多段代码。Step S22, obtaining the latest chip-level unified low power consumption standard UPF file, the chip-level unified low power consumption standard UPF file includes multiple code segments corresponding to multiple modules respectively.
随着芯片的迭代,芯片级UPF文件的版本也可能会更新。芯片级UPF文件可以是用户不可修改的文件,可以设置为对用户不可见。因此步骤S22中,可获取最新的芯片级UPF文件。芯片级UPF文件中可包括与多个模块分别对应的多段代码,每段代码包括引用对应的模块级UPF文件的语句,其用途是有选择地加载与模块对应的模块级UPF文件并编译。其示例性实现方式可参见下文对步骤S23的进一步描述。As the chip is iterated, the version of the chip-level UPF file may also be updated. The chip-level UPF file can be a file that cannot be modified by the user and can be set to be invisible to the user. Therefore, in step S22, the latest chip-level UPF file can be obtained. The chip-level UPF file may include multiple code segments corresponding to multiple modules, each of which includes a statement that references the corresponding module-level UPF file, and its purpose is to selectively load the module-level UPF file corresponding to the module and compile it. Its exemplary implementation method can be found in the further description of step S23 below.
步骤S22可以设置为在步骤S21之后、之前执行或者与步骤S21同时执行,只要在执行步骤S23之前,步骤S21和步骤S22已经执行完毕即可,本公开实施例对此不作限制。Step S22 can be set to be executed after, before, or simultaneously with step S21, as long as step S21 and step S22 have been executed before step S23 is executed. The embodiment of the present disclosure does not limit this.
步骤S23,编译芯片级统一低功耗标准UPF文件,其中,在编译到与任意模块对应的代码时,查询配置文件,根据查询到的与模块对应的开关标识,确定是否编译与模块对应的模块级统一低功耗标准UPF文件,模块级统一低功耗标准UPF文件的编译结果用于确定仿真结果。Step S23, compile the chip-level unified low power consumption standard UPF file, wherein, when compiling the code corresponding to any module, query the configuration file, and determine whether to compile the module-level unified low power consumption standard UPF file corresponding to the module according to the queried switch identifier corresponding to the module, and the compilation result of the module-level unified low power consumption standard UPF file is used to determine the simulation result.
举例来说,步骤S22获取到最新的芯片级UPF文件后,在步骤S23中,即可编译该芯片级UPF文件。在编译过程中,会逐一编译各模块对应的代码。在编译到与任意模块对应的代码时,可查询配置文件,根据查询到的与该模块对应的开关标识,判断模块是否与仿真有关,对于与仿真有关的模块,编译其对应的模块级UPF文件,对于与仿真无关的模块,不对其对应的模块级UPF文件进行编译,实现与手工注释相类似的效果。最终各模块级UPF文件的编译结果可用于确定仿真结果。其示例可参见下文对步骤S23的进一步描述。For example, after the latest chip-level UPF file is obtained in step S22, the chip-level UPF file can be compiled in step S23. During the compilation process, the code corresponding to each module will be compiled one by one. When the code corresponding to any module is compiled, the configuration file can be queried, and the switch identification corresponding to the module can be queried to determine whether the module is related to the simulation. For the module related to the simulation, the corresponding module-level UPF file is compiled, and for the module not related to the simulation, the corresponding module-level UPF file is not compiled, so as to achieve an effect similar to manual annotation. Finally, the compilation results of each module-level UPF file can be used to determine the simulation result. The example can be seen in the further description of step S23 below.
根据本公开实施例的芯片功能仿真方法,芯片对应芯片级统一低功耗标准UPF文件,每个模块分别对应模块级统一低功耗标准UPF文件,在配置文件中设置对应于模块的开关标识,并响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的开关标识,使得基于配置文件可确定哪些模块与仿真有关、哪些模块与仿真无关;通过获取最新的芯片级统一低功耗标准UPF文件,芯片级统一低功耗标准UPF文件包括与多个模块分别对应的多段代码,使得芯片级统一低功耗标准UPF文件的更新与配置文件的修改互相独立,互不影响;通过编译芯片级统一低功耗标准UPF文件,其中,在编译到与任意模块对应的代码时,查询配置文件,根据查询到的与模块对应的开关标识,确定是否编译与模块对应的模块级统一低功耗标准UPF文件,使得借助设置了开关标识的配置文件可以自动实现模块级UPF文件的选择性编译,最终可基于模块级统一低功耗标准UPF文件的编译结果确定仿真结果,从而能完成芯片功能的仿真。本公开实施例的芯片功能的仿真方法,可自动识别与仿真相关的模块,自动编译与仿真相关的模块对应的模块级UPF文件,用户只需要维护配置文件,在芯片规模比较大时人工成本大大降低,并且芯片级UPF文件的更新对配置文件无影响,UPF文件无需额外维护,提高仿真效率。According to the chip function simulation method of the embodiment of the present disclosure, the chip corresponds to a chip-level unified low-power standard UPF file, each module corresponds to a module-level unified low-power standard UPF file, a switch identifier corresponding to the module is set in a configuration file, and in response to a user's operation, the switch identifier corresponding to at least one module in the chip in the configuration file is updated, so that based on the configuration file, it can be determined which modules are related to the simulation and which modules are not related to the simulation; by obtaining the latest chip-level unified low-power standard UPF file, the chip-level unified low-power standard UPF file includes multiple sections of code corresponding to multiple modules, so that the update of the chip-level unified low-power standard UPF file and the modification of the configuration file are independent of each other and do not affect each other; by compiling the chip-level unified low-power standard UPF file, wherein, when compiling to the code corresponding to any module, the configuration file is queried, and according to the queried switch identifier corresponding to the module, it is determined whether to compile the module-level unified low-power standard UPF file corresponding to the module, so that with the help of the configuration file with the switch identifier set, the selective compilation of the module-level UPF file can be automatically realized, and finally the simulation result can be determined based on the compilation result of the module-level unified low-power standard UPF file, so that the simulation of the chip function can be completed. The simulation method of the chip function of the embodiment of the present disclosure can automatically identify the modules related to the simulation, and automatically compile the module-level UPF files corresponding to the modules related to the simulation. The user only needs to maintain the configuration file. When the chip scale is relatively large, the labor cost is greatly reduced, and the update of the chip-level UPF file has no effect on the configuration file. The UPF file does not require additional maintenance, thereby improving the simulation efficiency.
应用本公开实施例的芯片功能仿真方法,只需要为每个用户提供一个独属于该用户的配置文件,每个用户根据自己实际的仿真需求,对配置文件进行编辑修改。即使芯片级的设计者发布新的芯片级UPF文件和模块级UPF文件,也不需要额外更新配置文件。When using the chip function simulation method of the embodiment of the present disclosure, it is only necessary to provide each user with a configuration file that is unique to the user, and each user can edit and modify the configuration file according to their actual simulation needs. Even if the chip-level designer releases a new chip-level UPF file and module-level UPF file, there is no need to update the configuration file additionally.
同时,用户只需要修改与自己的仿真需求有关的模块的开关状态,使得出错率较低,也降低反复修改配置文件的次数,提高工作效率。At the same time, users only need to modify the switch status of the modules related to their simulation needs, which reduces the error rate, reduces the number of repeated modifications to the configuration files, and improves work efficiency.
将配置文件开放给用户,使得配置文件中信息的可读性更强,也有利于审核效率的提高。Opening the configuration file to users makes the information in the configuration file more readable and is also conducive to improving audit efficiency.
在一种可能的实现方式中,多个模块的开关标识的初始状态为第一状态,步骤S21包括:In a possible implementation, the initial states of the switch identifiers of the multiple modules are the first state, and step S21 includes:
用户指示将至少一个模块设置为虚拟模块时,更新至少一个模块的开关标识为第二状态。When the user instructs to set at least one module as a virtual module, the switch identifier of the at least one module is updated to the second state.
图3示出根据本公开实施例更新配置文件中的开关标识的示例。FIG. 3 shows an example of updating a switch identifier in a configuration file according to an embodiment of the present disclosure.
如图3所示,假设芯片包括模块A、模块B、模块C,每个模块的开关标识的初始状态均为第一状态T,表示该模块是仿真有关的模块,该模块对应的UPF文件是用户期望编译的。用户的操作可以是指示将模块A设置为虚拟模块,也即,将模块A空壳化。对此,可以将模块A的开关标识更新为第二状态F,表示模块A是与仿真无关的模块。As shown in FIG3 , it is assumed that the chip includes module A, module B, and module C, and the initial state of the switch identification of each module is the first state T, indicating that the module is a simulation-related module, and the UPF file corresponding to the module is what the user expects to compile. The user's operation may be to instruct to set module A as a virtual module, that is, to make module A an empty shell. In this regard, the switch identification of module A can be updated to the second state F, indicating that module A is a module not related to simulation.
本领域技术人员应理解,更新开关标识的方式应不止上述示例,例如也可以设置为每个模块的开关标识的初始状态为第二状态,用户指示将至少一个模块设置为虚拟模块时,将除了至少一个模块之外的其他模块的开关标识更新为第一状态,等等,只要能够根据用户需求完成开关标识的更新即可,本公开实施例对开关标识的具体更新方式不作限制。Those skilled in the art should understand that the method of updating the switch identifier should be more than the above-mentioned example. For example, the initial state of the switch identifier of each module can also be set to the second state. When the user instructs to set at least one module as a virtual module, the switch identifiers of other modules except at least one module are updated to the first state, and so on. As long as the update of the switch identifier can be completed according to user needs, the embodiment of the present disclosure does not limit the specific update method of the switch identifier.
通过这种方式,用户可以通过对配置文件进行更改实现控制模块级UPF文件编译的效果,相比现有技术更为便捷同时效率更高。In this way, users can achieve the effect of controlling module-level UPF file compilation by changing the configuration file, which is more convenient and more efficient than the existing technology.
下面介绍本公开实施例编译芯片级UPF文件的示例性方法。The following describes an exemplary method for compiling a chip-level UPF file according to an embodiment of the present disclosure.
假设芯片包括三个模块A、模块B、模块C,则芯片级UPF文件中也包括三段代码,分别对应于模块A、模块B、模块C。图4示出根据本公开实施例的各模块对应的代码的编译方式的示意图。Assuming that the chip includes three modules A, module B, and module C, the chip-level UPF file also includes three sections of code, corresponding to module A, module B, and module C. FIG4 is a schematic diagram showing a compilation method of codes corresponding to each module according to an embodiment of the present disclosure.
在一种可能的实现方式中,步骤S23中,根据查询到的与模块对应的开关标识,确定是否编译与模块对应的模块级统一低功耗标准UPF文件,包括:In a possible implementation, in step S23, determining whether to compile a module-level unified low power consumption standard UPF file corresponding to the module according to the queried switch identifier corresponding to the module includes:
在查询到与模块对应的标识为第一状态时,编译与模块对应的模块级统一低功耗标准UPF文件;When it is found that the identifier corresponding to the module is in the first state, compile a module-level unified low power consumption standard UPF file corresponding to the module;
在查询到与模块对应的标识为第二状态时,不编译与模块对应的模块级统一低功耗标准UPF文件。When it is found that the identifier corresponding to the module is in the second state, the module-level unified low power consumption standard UPF file corresponding to the module is not compiled.
假设被查询的配置文件如图3所示,则查询到的与模块A对应的开关标识可以是第二状态F,与模块B对应的开关标识可以是第一状态T,与模块C对应的开关标识可以是第一状态T。因此,可认为模块A是与仿真无关的,模块B和模块C是与仿真有关的。如图4所示,在编译对应于模块A的代码时,可以不编译模块A对应的模块级UPF文件。编译对应于模块B的代码时,编译对应于模块B的模块级UPF文件,编译模块C对应的代码时,编译对应于模块C的模块级UPF文件。Assuming that the configuration file being queried is as shown in FIG3 , the switch identifier corresponding to module A can be the second state F, the switch identifier corresponding to module B can be the first state T, and the switch identifier corresponding to module C can be the first state T. Therefore, it can be considered that module A is irrelevant to simulation, and modules B and C are related to simulation. As shown in FIG4 , when compiling the code corresponding to module A, the module-level UPF file corresponding to module A may not be compiled. When compiling the code corresponding to module B, compile the module-level UPF file corresponding to module B, and when compiling the code corresponding to module C, compile the module-level UPF file corresponding to module C.
通过这种方式,可以实现模块级UPF文件的选择性编译。In this way, selective compilation of module-level UPF files can be achieved.
在一种可能的实现方式中,已编译的至少一个模块级统一低功耗标准UPF文件编译失败时,仿真结果指示芯片功能异常。In a possible implementation, when compilation of at least one compiled module-level unified low power consumption standard UPF file fails, the simulation result indicates that the chip function is abnormal.
举例来说,如果某个模块级UPF文件编译失败,则表示该模块的电源网络结构出现问题,因此最终得到的可以是指示芯片功能异常的仿真结果。进一步地,可以输出包括仿真错误信息的日志,可使得日志指示哪些模块处的仿真出现错误,出现何种错误,出现错误的次数等等。本公开实施例对于是否输出日志以及日志所包括的具体内容不作限制。For example, if a module-level UPF file fails to compile, it means that there is a problem with the power network structure of the module, so the final simulation result may indicate that the chip function is abnormal. Furthermore, a log including simulation error information may be output, which may indicate which modules have simulation errors, what kind of errors have occurred, the number of times the errors have occurred, etc. The embodiments of the present disclosure do not limit whether to output the log and the specific content included in the log.
通过这种方式,可以更为直接地确定芯片功能是否正常。In this way, it is more straightforward to determine whether the chip is functioning properly.
图5示出根据本公开实施例的芯片功能仿真方法的流程的示意图。FIG5 is a schematic diagram showing the process of a chip function simulation method according to an embodiment of the present disclosure.
如图5所示,在一种可能的实现方式中,芯片级统一低功耗标准UPF文件还包括电源状态检查代码,步骤S23之前,所述方法还包括:As shown in FIG. 5 , in a possible implementation, the chip-level unified low power consumption standard UPF file also includes a power status check code. Before step S23, the method further includes:
步骤S24,响应于用户的操作,更新配置文件中对应于芯片中的至少一个模块的电源状态信息;Step S24, in response to the user's operation, updating the power state information corresponding to at least one module in the chip in the configuration file;
步骤S23还包括:Step S23 also includes:
在编译到电源状态检查代码时,检查至少一个模块的电源状态信息是否满足预设条件,电源状态检查代码的编译结果用于确定仿真结果。When the power state check code is compiled, it is checked whether the power state information of at least one module meets a preset condition, and the compilation result of the power state check code is used to determine the simulation result.
举例来说,除了对开关状态进行更新之外,用户还可以对配置文件进行更多的操作,例如设置芯片的至少一个模块的电源状态信息。对于终端设备来说,即执行步骤S24,响应于用户的操作,更新配置文件中对应于芯片中的至少一个模块的电源状态信息。电源状态信息可包括电压范围、电源标识等等。相应地,芯片级UPF文件还可包括电源状态检查代码。用户设置好电源状态信息后,在步骤S23中,编译电源状态检查代码时,可以检查多个模块的电源状态信息是否满足预设条件。并基于电源检查代码的编译结果确定芯片功能的仿真结果。For example, in addition to updating the switch status, the user can also perform more operations on the configuration file, such as setting the power status information of at least one module of the chip. For the terminal device, step S24 is executed, and the power status information corresponding to at least one module in the chip in the configuration file is updated in response to the user's operation. The power status information may include a voltage range, a power source identifier, and the like. Accordingly, the chip-level UPF file may also include a power status check code. After the user sets the power status information, in step S23, when compiling the power status check code, it can be checked whether the power status information of multiple modules meets the preset conditions. And the simulation result of the chip function is determined based on the compilation result of the power check code.
本领域技术人员应理解,步骤S24中提及的至少一个模块,与步骤S21中提及的至少一个模块可以完全相同、可以部分相同、也可以完全不同,只要是用户从多个模块中选择出的模块即可,本公开实施例对此不作限制。Those skilled in the art should understand that the at least one module mentioned in step S24 may be completely identical, partially identical, or completely different from the at least one module mentioned in step S21, as long as it is a module selected by the user from multiple modules, and the embodiments of the present disclosure are not limited to this.
通过这种方式,使得电源状态信息与开关标识可以同时由用户进行设置,电源状态检查更加便捷。In this way, the power status information and the switch identification can be set by the user at the same time, making the power status check more convenient.
下面介绍预设条件的两个示例。Two examples of preset conditions are described below.
在一种可能的实现方式中,电源状态信息包括电源标识,预设条件包括:至少一个模块的供电状态与电源标识相符合。In a possible implementation, the power state information includes a power identifier, and the preset condition includes: the power state of at least one module is consistent with the power identifier.
例如,电源状态信息可以包括电源标识,电源标识可以指示模块上电或者不上电,用户通过对配置文件中模块的电源标识进行修改,可以指示预期的模块的电源状态。如果仿真时模块实际的电源状态与期望不符合,则可认为模块的供电状态异常,仿真出现错误。For example, the power status information may include a power identifier, which may indicate whether the module is powered on or not. By modifying the power identifier of the module in the configuration file, the user may indicate the expected power status of the module. If the actual power status of the module during simulation does not match the expected power status, it may be considered that the power status of the module is abnormal and an error occurs in the simulation.
在此情况下,预设条件可包括至少一个模块的供电状态与电源标识相符合。即,在电源标识指示上电时,模块的供电状态也是正常供电的;在电源标识指示不上电时,模块的供电状态可以是未供电。满足该预设条件的模块即为供电状态达到预期的模块。In this case, the preset condition may include that the power supply state of at least one module is consistent with the power supply mark. That is, when the power supply mark indicates power on, the power supply state of the module is also normal power supply; when the power supply mark indicates no power on, the power supply state of the module may be no power supply. The module that meets the preset condition is the module whose power supply state meets the expected state.
通过这种方式,可以将更多信息通过配置文件展示给用户,便于用户进行修改,减少UPF文件的编译成本。In this way, more information can be displayed to users through configuration files, making it easier for users to make modifications and reducing the compilation cost of UPF files.
在一种可能的实现方式中,电源状态信息包括电压范围,预设条件包括:每个模块的电压值均未超出电源状态信息中该模块对应的电压范围。In a possible implementation, the power state information includes a voltage range, and the preset condition includes: the voltage value of each module does not exceed the voltage range corresponding to the module in the power state information.
举例来说,电源状态信息可包括电压范围,也即用户预期的模块被供电时的电压范围。如果仿真时模块实际的电压值位于该电压值范围内,则可认为模块的电压值正常。如果仿真时模块实际的电压值超出该电压值范围,即可认为模块的电压值异常,仿真出现错误。For example, the power status information may include a voltage range, that is, a voltage range that the user expects the module to be powered on. If the actual voltage value of the module during simulation is within the voltage value range, the voltage value of the module can be considered normal. If the actual voltage value of the module during simulation exceeds the voltage value range, the voltage value of the module can be considered abnormal and an error occurs in the simulation.
在此情况下,预设条件可包括每个模块的电压值均未超出电源状态信息中该模块对应的电压范围。此时满足该预设条件的模块即为电压值达到预期的模块。In this case, the preset condition may include that the voltage value of each module does not exceed the voltage range corresponding to the module in the power state information. At this time, the module that meets the preset condition is the module whose voltage value reaches the expected value.
通过这种方式,可使得配置文件的修改方式更灵活,且用户通过配置文件可完成的操作更多,降低UPF文件的编译成本。In this way, the configuration file can be modified more flexibly, and the user can complete more operations through the configuration file, reducing the compilation cost of the UPF file.
本领域技术人员应理解,预设条件可以有多种,例如电源状态信息同时包括电源标识和电压范围时,以上给出的两个预设条件也可以结合为一个预设条件,只要能够在满足预设条件时确定电源状态正常,在不满足预设条件时确定电源状态异常即可,本公开实施例对于预设条件的具体设置方式不作限制。Those skilled in the art should understand that there may be multiple preset conditions. For example, when the power status information includes both the power identification and the voltage range, the two preset conditions given above may be combined into one preset condition. As long as it is possible to determine that the power status is normal when the preset conditions are met, and to determine that the power status is abnormal when the preset conditions are not met, the embodiments of the present disclosure do not limit the specific setting method of the preset conditions.
在一种可能的实现方式中,已编译的至少一个模块级统一低功耗标准UPF文件编译失败、或至少一个模块的电源状态信息不满足预设条件时,仿真结果指示芯片功能异常。In a possible implementation, when the compilation of at least one module-level unified low power consumption standard UPF file fails or the power status information of at least one module does not meet a preset condition, the simulation result indicates that the chip function is abnormal.
举例来说,由于编译了模块对应的代码和电源状态检查代码,因此仿真结果与模块对应的代码的编译结果和电源状态检查代码的编译结果均有关联。即,在已编译的模块级UPF文件中,只要有一个模块级UPF文件编译失败,则仿真必然出错,仿真结果指示芯片功能异常;同理,编译电源状态检查代码时,只要有一个模块的电源状态信息不满足预设条件,那么仿真也会出错,仿真结果也会指示芯片功能异常。For example, since the code corresponding to the module and the power status check code are compiled, the simulation results are related to the compilation results of the code corresponding to the module and the compilation results of the power status check code. That is, in the compiled module-level UPF file, as long as one module-level UPF file fails to compile, the simulation will inevitably fail, and the simulation results will indicate that the chip function is abnormal; similarly, when compiling the power status check code, as long as the power status information of one module does not meet the preset conditions, the simulation will also fail, and the simulation results will also indicate that the chip function is abnormal.
进一步地,可以输出包括仿真错误信息的日志,可使得日志指示哪些模块处的仿真出现错误,出现何种错误,出现错误的次数等等。本公开实施例对于是否输出日志以及日志所包括的具体内容不作限制。Furthermore, a log including simulation error information may be output, so that the log indicates which modules have simulation errors, what errors have occurred, the number of times the errors have occurred, etc. The embodiments of the present disclosure do not limit whether to output the log and the specific content included in the log.
通过这种方式,可以在配置文件包括更多的信息时也能较快地确定芯片功能是否正常。In this way, it is possible to more quickly determine whether the chip functions normally even when the configuration file includes more information.
本公开还提供一种芯片功能仿真装置。图6示出根据本公开实施例的芯片功能仿真装置的结构的示意图。The present disclosure also provides a chip function simulation device. Fig. 6 is a schematic diagram showing the structure of a chip function simulation device according to an embodiment of the present disclosure.
如图6所示,在一种可能的实现方式中,所述芯片包括多个模块,所述芯片对应芯片级统一低功耗标准UPF文件,每个模块分别对应模块级统一低功耗标准UPF文件,所述装置包括:As shown in FIG6 , in a possible implementation, the chip includes multiple modules, the chip corresponds to a chip-level unified low power consumption standard UPF file, each module corresponds to a module-level unified low power consumption standard UPF file, and the device includes:
第一更新模块61,用于响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的开关标识;A first updating module 61, configured to update a switch identifier corresponding to at least one module in the chip in a configuration file in response to a user operation;
获取模块62,用于获取最新的芯片级统一低功耗标准UPF文件,所述芯片级统一低功耗标准UPF文件包括与所述多个模块分别对应的多段代码;An acquisition module 62 is used to acquire the latest chip-level unified low power consumption standard UPF file, wherein the chip-level unified low power consumption standard UPF file includes a plurality of code segments corresponding to the plurality of modules respectively;
编译模块63,用于编译所述芯片级统一低功耗标准UPF文件,其中,在编译到与任意模块对应的代码时,查询所述配置文件,根据查询到的与所述模块对应的开关标识,确定是否编译与所述模块对应的模块级统一低功耗标准UPF文件,所述模块级统一低功耗标准UPF文件的编译结果用于确定仿真结果。The compilation module 63 is used to compile the chip-level unified low-power standard UPF file. When compiling the code corresponding to any module, the configuration file is queried, and according to the switch identifier corresponding to the module queried, it is determined whether to compile the module-level unified low-power standard UPF file corresponding to the module. The compilation result of the module-level unified low-power standard UPF file is used to determine the simulation result.
在一种可能的实现方式中,所述多个模块的开关标识的初始状态为第一状态,所述响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的开关标识,包括:所述用户指示将所述至少一个模块设置为虚拟模块时,更新所述至少一个模块的开关标识为第二状态。In a possible implementation, the initial state of the switch identifiers of the multiple modules is a first state, and the updating of the switch identifier corresponding to at least one module in the chip in the configuration file in response to a user operation includes: when the user instructs to set the at least one module as a virtual module, updating the switch identifier of the at least one module to a second state.
在一种可能的实现方式中,所述根据查询到的与所述模块对应的开关标识,确定是否编译与所述模块对应的模块级统一低功耗标准UPF文件,包括:在查询到与所述模块对应的标识为第一状态时,编译与所述模块对应的模块级统一低功耗标准UPF文件;在查询到与所述模块对应的标识为第二状态时,不编译与所述模块对应的模块级统一低功耗标准UPF文件。In a possible implementation, the method determines whether to compile a module-level unified low power consumption standard UPF file corresponding to the module based on the switch identifier corresponding to the module obtained by query, including: when the identifier corresponding to the module obtained by query is in a first state, compiling the module-level unified low power consumption standard UPF file corresponding to the module; when the identifier corresponding to the module obtained by query is in a second state, not compiling the module-level unified low power consumption standard UPF file corresponding to the module.
在一种可能的实现方式中,已编译的至少一个模块级统一低功耗标准UPF文件编译失败时,所述仿真结果指示芯片功能异常。In a possible implementation, when the compilation of at least one compiled module-level unified low power consumption standard UPF file fails, the simulation result indicates that the chip function is abnormal.
在一种可能的实现方式中,所述装置还包括:In a possible implementation manner, the device further includes:
第二更新模块,用于响应于用户的操作,更新配置文件中对应于所述芯片中的至少一个模块的电源状态信息;A second updating module, configured to update, in response to a user operation, power state information corresponding to at least one module in the chip in the configuration file;
所述编译所述芯片级统一低功耗标准UPF文件,还包括:The compiling of the chip-level unified low power consumption standard UPF file also includes:
在编译到所述电源状态检查代码时,检查所述至少一个模块的电源状态信息是否满足预设条件,所述电源状态检查代码的编译结果用于确定所述仿真结果。When the power state check code is compiled, it is checked whether the power state information of the at least one module meets a preset condition, and the compilation result of the power state check code is used to determine the simulation result.
在一种可能的实现方式中,所述电源状态信息包括电源标识,所述预设条件包括:所述至少一个模块的供电状态与所述电源标识相符合。In a possible implementation manner, the power state information includes a power identifier, and the preset condition includes: the power supply state of the at least one module is consistent with the power identifier.
在一种可能的实现方式中,所述电源状态信息包括电压范围,所述预设条件包括:每个模块的电压值均未超出所述电源状态信息中该模块对应的电压范围。In a possible implementation, the power state information includes a voltage range, and the preset condition includes: a voltage value of each module does not exceed a voltage range corresponding to the module in the power state information.
在一种可能的实现方式中,已编译的至少一个模块级统一低功耗标准UPF文件编译失败、或所述至少一个模块的电源状态信息不满足所述预设条件时,所述仿真结果指示芯片功能异常。In a possible implementation, when the compilation of at least one compiled module-level unified low power consumption standard UPF file fails, or the power status information of the at least one module does not meet the preset condition, the simulation result indicates that the chip function is abnormal.
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。The embodiment of the present disclosure also provides a computer-readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the above method is implemented. The computer-readable storage medium can be a volatile or non-volatile computer-readable storage medium.
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。An embodiment of the present disclosure further proposes an electronic device, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to implement the above method when executing the instructions stored in the memory.
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。The embodiments of the present disclosure also provide a computer program product, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above method.
图7示出根据本公开实施例的装置1900的框图。例如,装置1900可以被提供为一电子设备。参照图7,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。FIG7 shows a block diagram of an apparatus 1900 according to an embodiment of the present disclosure. For example, the apparatus 1900 may be provided as an electronic device. Referring to FIG7 , the apparatus 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions executable by the processing component 1922, such as an application. The application stored in the memory 1932 may include one or more modules, each of which corresponds to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above method.
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出接口1958(I/O接口)。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。The device 1900 may also include a power supply component 1926 configured to perform power management of the device 1900, a wired or wireless network interface 1950 configured to connect the device 1900 to a network, and an input/output interface 1958 (I/O interface). The device 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server ™ , MacOS X ™ , Unix ™ , Linux ™ , FreeBSD ™ or the like.
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions, which can be executed by the processing component 1922 of the device 1900 to perform the above method.
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。The present disclosure may be a system, a method and/or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present disclosure.
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the above. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing/processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and/or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and/or edge servers. The network adapter card or network interface in each computing/processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing/processing device.
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as "C" language or similar programming languages. Computer-readable program instructions may be executed completely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。Various aspects of the present disclosure are described herein with reference to the flowcharts and/or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and/or block diagram and the combination of each box in the flowchart and/or block diagram can be implemented by computer-readable program instructions.
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device that implements the functions/actions specified in one or more boxes in the flowchart and/or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and/or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions/actions specified in one or more boxes in the flowchart and/or block diagram.
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions/actions specified in one or more boxes in the flowchart and/or block diagram.
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and/or flow chart, and the combination of the square boxes in the block diagram and/or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or technical improvements in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311675565.5A CN117521569B (en) | 2023-12-07 | 2023-12-07 | Chip function simulation method and device, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311675565.5A CN117521569B (en) | 2023-12-07 | 2023-12-07 | Chip function simulation method and device, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117521569A CN117521569A (en) | 2024-02-06 |
CN117521569B true CN117521569B (en) | 2024-09-10 |
Family
ID=89749408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311675565.5A Active CN117521569B (en) | 2023-12-07 | 2023-12-07 | Chip function simulation method and device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117521569B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119150768A (en) * | 2024-11-15 | 2024-12-17 | 格创通信(浙江)有限公司 | Chip verification method and device, electronic equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965721A (en) * | 2021-02-26 | 2021-06-15 | 平安壹钱包电子商务有限公司 | Android-based project compiling method and device, computer equipment and storage medium |
CN113408222A (en) * | 2021-06-25 | 2021-09-17 | 上海阵量智能科技有限公司 | File generation method and device, electronic equipment and storage medium |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114911481A (en) * | 2021-02-07 | 2022-08-16 | 腾讯科技(深圳)有限公司 | Code compiling method and device and electronic equipment |
CN113901745A (en) * | 2021-10-11 | 2022-01-07 | 海宁奕斯伟集成电路设计有限公司 | Chip testing method and device, electronic equipment and computer readable storage medium |
CN113919257A (en) * | 2021-10-13 | 2022-01-11 | 海宁奕斯伟集成电路设计有限公司 | Method, device, equipment and storage medium for compiling simulation file |
CN114461225B (en) * | 2022-03-01 | 2024-12-27 | 清华大学 | Compilation method and device, electronic device and storage medium |
CN115809621A (en) * | 2022-11-18 | 2023-03-17 | 中电科申泰信息科技有限公司 | UPF-based processor low-power-consumption design and verification method |
CN117034822B (en) * | 2023-10-10 | 2023-12-15 | 北京云枢创新软件技术有限公司 | Verification method based on three-step simulation, electronic equipment and medium |
-
2023
- 2023-12-07 CN CN202311675565.5A patent/CN117521569B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965721A (en) * | 2021-02-26 | 2021-06-15 | 平安壹钱包电子商务有限公司 | Android-based project compiling method and device, computer equipment and storage medium |
CN113408222A (en) * | 2021-06-25 | 2021-09-17 | 上海阵量智能科技有限公司 | File generation method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN117521569A (en) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10284418B2 (en) | Network switch management via embedded management controller using management information base (MIB) to JSON parser | |
US9405518B2 (en) | Leveraging legacy applications for use with modern applications | |
US6915252B1 (en) | Method and system for ensuring consistency of design rule application in a CAD environment | |
CN107480327B (en) | A simulation verification method, device and electronic device | |
US20160274870A1 (en) | Design framework for an iot system | |
Prehofer et al. | From internet of things mashups to model-based development | |
US20190102489A1 (en) | Generating a template-driven schematic from a netlist of electronic circuits | |
CN117521569B (en) | Chip function simulation method and device, electronic equipment and storage medium | |
US11030362B2 (en) | Modeling and cooperative simulation of systems with interdependent discrete and continuous elements | |
US20230011461A1 (en) | Method and system for generating engineering diagrams in an engineering system | |
US20240232482A9 (en) | Adaptable framework for circuit design simulation verification | |
CN117950652A (en) | Component ecological application development method based on low-code platform | |
CN114168151B (en) | Container-based program compiling method and device, electronic equipment and storage medium | |
CN115803710A (en) | Method and system for generating engineering designs in engineering systems | |
US9886538B1 (en) | System and method for using heterogeneous hierarchical configurations for electronic design reuse | |
KR101726663B1 (en) | Method and System for automated I/O-port linking framework between the models using the concept of cloud or cloud-computing in Model Based Design under the block diagram environment | |
US20240403040A1 (en) | Method and system for generating and optimizing engineering programs for a technical installation | |
CN118394176B (en) | Python-based clock network automatic generation method and device | |
US20230237249A1 (en) | Method and system for generating an automation engineering project in a technical installation using multidisciplinary approach | |
CN117591104B (en) | Model generation method and device, electronic equipment and storage medium | |
US20240264829A1 (en) | Method and system for generating engineering programs which are compatible with a specific engineering environment | |
US20240427992A1 (en) | Tokenizing data and training large code language models | |
CN117933155B (en) | A multi-process joint simulation system and method, electronic device and storage medium | |
EP4328683A1 (en) | Method and system for generating user recommendations to aid generation of an engineering project | |
CN111709118B (en) | Nuclear power simulation data cooperation method and device |
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 | ||
CP03 | Change of name, title or address |
Address after: B655, 4th Floor, Building 14, Cuiwei Zhongli, Haidian District, Beijing, 100036 Patentee after: Mole Thread Intelligent Technology (Beijing) Co.,Ltd. Country or region after: China Address before: 209, 2nd Floor, No. 31 Haidian Street, Haidian District, Beijing Patentee before: Moore Threads Technology Co., Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |