SOC simulation verification and SOC simulation verification equipment verification environment construction method

文档序号:1846542 发布日期:2021-11-16 浏览:16次 中文

阅读说明:本技术 Soc仿真验证及soc的仿真验证设备验证环境搭建方法 (SOC simulation verification and SOC simulation verification equipment verification environment construction method ) 是由 熊新永 吕志勇 于 2020-05-12 设计创作,主要内容包括:本发明实施例公开了一种SOC仿真验证及SOC的仿真验证设备验证环境搭建方法,其中,SOC仿真验证方法包括:装载引导启动程序;其中,引导启动程序移植了仿真验证设备中SOC的最小系统设备模块的驱动;装载操作系统;其中,操作系统中移植了仿真验证设备中SOC的最小系统设备模块的驱动;当通过引导启动程序启动操作系统时,通过操作系统远程连接网络文件系统;当接收到对除最小系统设备模块之外的SOC其他设备模块的至少一个验证指令时,从网络文件系统中加载与验证指令匹配的验证程序文件,并运行验证程序文件以对SOC其他设备模块的验证测试,可以缩短验证程序文件加载的时间,可以支持多用户并行验证,提高验证测试效率,可以支持系统级的组合验证。(The embodiment of the invention discloses a method for establishing a verification environment of SOC (system on chip) simulation verification and SOC simulation verification equipment, wherein the SOC simulation verification method comprises the following steps: loading a boot startup program; the boot startup program transplants the drive of the minimum system equipment module of the SOC in the simulation verification equipment; loading an operating system; the operating system is transplanted with a drive of a minimum system equipment module of the SOC in the simulation verification equipment; when the operating system is started through the boot startup program, the network file system is remotely connected through the operating system; when at least one verification instruction for other SOC equipment modules except the minimum system equipment module is received, a verification program file matched with the verification instruction is loaded from the network file system, and the verification program file is operated to perform verification test on the other SOC equipment modules, so that the loading time of the verification program file can be shortened, multi-user parallel verification can be supported, the verification test efficiency can be improved, and system-level combined verification can be supported.)

1. A SOC simulation verification method for a system on chip is characterized by comprising the following steps:

the simulation verification equipment loads a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the simulation verification equipment loads an operating system; wherein, the operating system is transplanted with a driver of a minimum system device module of the SOC in the emulation verification device to drive the minimum system device module, so that the operating system is normally started;

when the simulation verification equipment starts an operating system through the boot startup program, remotely connecting a network file system through the operating system;

and when the simulation verification equipment receives at least one verification instruction of other SOC equipment modules except the minimum system equipment module, loading a verification program file matched with the verification instruction from the network file system, and operating the verification program file to operate the other SOC equipment modules to complete verification tests on the other SOC equipment modules.

2. The method of claim 1,

the minimum system equipment module comprises a timer, a Universal Asynchronous Receiver Transmitter (UART), a Serial Peripheral Interface (SPI) bus controller, a gigabit Ethernet controller (GMAC), a Serial Peripheral Interface (SPI) flash memory (SPI false model), a double-rate synchronous dynamic random access memory (DDR) model and an embedded multimedia controller (EMMC) model.

3. The method of claim 1, wherein the emulation verification device is a Palladium device, the operating system is a LINUX kernel system, and the boot loader is a Uboot system.

4. The method of claim 1, further comprising, prior to remotely connecting to a network file system through the operating system:

performing device driver registration on a minimum system device module and other SOC device modules in the simulation verification device through the operating system;

when the simulation verification device receives at least one verification instruction for other device modules of the SOC except the minimum system device module, loading a verification program file matched with the verification instruction from the network file system, including:

when the simulation verification equipment receives at least one verification instruction for other registered SOC equipment modules through a remote login daemon, a verification program file matched with the verification instruction is loaded from a root file system of a network file system through a Network File System (NFS) client.

5. The method of claim 4, wherein the performing, by the operating system, device driver registration of the smallest system device module and other device modules of the SOC in the emulation verification device comprises:

analyzing the device tree file loaded by the boot program through the operating system, creating a minimum system device module and other SOC device modules based on the device tree file, performing device registration on the created minimum system device module and other SOC device modules, and registering the drivers corresponding to the minimum system device module and other SOC device modules respectively.

6. A method for building a verification environment of simulation verification equipment of a System On Chip (SOC) is characterized by comprising the following steps:

the simulation verification equipment loads a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the simulation verification equipment loads an operating system; wherein, the operating system is transplanted with a driver of a minimum system device module of the SOC in the emulation verification device to drive the minimum system device module, so that the operating system is normally started;

when the simulation verification equipment starts the operating system through the boot startup program, remotely connecting a network file system through the operating system; and the network file system comprises verification program files of other SOC equipment modules except the minimum system equipment module.

7. A system-on-chip SOC simulation verification apparatus, comprising:

the first loading module is used for loading a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the second loading module is used for loading the operating system; the operating system is transplanted with a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module, so that the operating system is started normally;

the connection module is used for remotely connecting the network file system through the operating system when the operating system is started through the boot startup program;

and the verification module is used for loading a verification program file matched with the verification instruction from the network file system when receiving at least one verification instruction for other SOC equipment modules except the minimum system equipment module, and operating the verification program file to operate the other SOC equipment modules to complete verification tests on the other SOC equipment modules.

8. The utility model provides a device is built to simulation verification equipment verification environment of system on chip SOC which characterized in that includes:

the first loading module is used for loading a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the second loading module is used for loading the operating system; the operating system is transplanted with a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module, so that the operating system is started normally;

and the connection module is used for remotely connecting the network file system through the operating system when the operating system is started through the boot startup program.

9. A simulation verification apparatus, comprising:

one or more processors;

a storage device for storing one or more programs,

when the one or more programs are executed by the one or more processors, the one or more processors implement the system-on-chip SOC simulation verification method according to any one of claims 1 to 5 or the simulation verification device verification environment building method of the system-on-chip SOC according to claim 6.

10. A computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements a method of simulation verification of a system-on-chip SOC as claimed in any one of claims 1 to 5 or a method of building a simulation verification device verification environment for a system-on-chip SOC as claimed in claim 6.

Technical Field

The embodiment of the invention relates to the technical field of SOC verification tests, in particular to SOC simulation verification and a verification environment construction method of SOC simulation verification equipment.

Background

With the development of information technology and semiconductor technology, consumer electronics are increasingly miniaturized, the functions are increasingly complex, more and more interfaces are supported, and the power consumption is continuously reduced, and the main factor for promoting the change is the development of System on a Chip (SoC) technology. SoC refers to the integration of a complete system on a single chip, and current chip manufacturing technology is sufficient to integrate multiple processor cores, controllers, and acceleration engines, etc. on a single chip of a nail cover size, which supports applications sufficient to compare with a common personal computer. The SoC has multiple functions, which makes the internal structure of the chip very complex, and the application software supporting the chip is also very complicated, and it is not easy to provide an effective verification method for these challenges.

The simulation test is an important link of SoC verification, and in the related art, the SoC can be simulated through the simulation verification device, and the verification test can be performed on the SoC in the simulation verification device. Wherein the emulation verification device can be a Palladium device. In the related art, as shown in fig. 1a, when performing verification test on an SOC in a simulation verification device (Palladium device), a method may be adopted in which a simulator (joint test task group JTAG simulator) loads a verification program file that can be independently run from an operating system into the simulation verification device through an I/O board, and a CPU on the simulation verification device directly runs the verification program file to verify the SOC; the other method is that the simulation verification equipment carries out verification test in a mode of loading a verification program file which can be independently operated from an operating system in a background mode. However, the two methods need to monopolize all hardware resources, only serial time-sharing verification can be performed in one set of environment, users in charge of different module tests need to wait in a queue, and the test efficiency is low.

Moreover, the simulator needs to be supported by an I/O board, and the simulation verification device has low self simulation rate, so that the communication rate of the simulator and the simulation verification device is low, and the loading of a verification program file needs long time; in addition, by loading the verification program file in the background of the simulation verification device, the format of the verification program file needs to be converted, and the simulation verification device needs to be restarted when the verification program file is loaded each time, so that the whole loading is complicated, and the loading time is longer.

Disclosure of Invention

The embodiment of the invention provides an SOC simulation verification and a verification environment construction method of SOC simulation verification equipment, which can shorten the loading time of a verification program file, support multi-user parallel verification, effectively shorten the verification test time, improve the verification test efficiency and support system-level combined verification.

In a first aspect, an embodiment of the present invention provides a method for verifying SOC simulation of a system on chip, including:

the simulation verification equipment loads a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the simulation verification equipment loads an operating system; wherein, the operating system is transplanted with a driver of a minimum system device module of the SOC in the emulation verification device to drive the minimum system device module, so that the operating system is normally started;

when the simulation verification equipment starts an operating system through the boot startup program, remotely connecting a network file system through the operating system;

and when the simulation verification equipment receives at least one verification instruction of other SOC equipment modules except the minimum system equipment module, loading a verification program file matched with the verification instruction from the network file system, and operating the verification program file to operate the other SOC equipment modules to complete verification tests on the other SOC equipment modules.

In a second aspect, an embodiment of the present invention further provides a method for building a verification environment of an emulation verification device of a system on a chip SOC, including:

the simulation verification equipment loads a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the simulation verification equipment loads an operating system; wherein, the operating system is transplanted with a driver of a minimum system device module of the SOC in the emulation verification device to drive the minimum system device module, so that the operating system is normally started;

when the simulation verification equipment starts the operating system through the boot startup program, remotely connecting a network file system through the operating system; and the network file system comprises verification program files of other SOC equipment modules except the minimum system equipment module.

In a third aspect, an embodiment of the present invention provides a system on chip SOC simulation verification apparatus, including:

the first loading module is used for loading a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the second loading module is used for loading the operating system; the operating system is transplanted with a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module, so that the operating system is started normally;

the connection module is used for remotely connecting the network file system through the operating system when the operating system is started through the boot startup program;

and the verification module is used for loading a verification program file matched with the verification instruction from the network file system when receiving at least one verification instruction for other SOC equipment modules except the minimum system equipment module, and operating the verification program file to operate the other SOC equipment modules to complete verification tests on the other SOC equipment modules.

In a fourth aspect, an embodiment of the present invention provides an apparatus for building a verification environment of an emulation verification device of a system on a chip SOC, including:

the first loading module is used for loading a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the second loading module is used for loading the operating system; the operating system is transplanted with a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module, so that the operating system is started normally;

the connection module is used for remotely connecting the network file system through the operating system when the operating system is started through the boot startup program;

in a fifth aspect, an embodiment of the present invention provides a simulation verification apparatus, including:

one or more processors;

a storage device for storing one or more programs,

when the one or more programs are executed by the one or more processors, the one or more processors implement the method for simulation verification of the system on chip SOC provided by the embodiment of the present invention, or the method for building the verification environment of the simulation verification device of the system on chip SOC provided by the embodiment of the present invention.

In a sixth aspect, an embodiment of the present invention provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and the computer program, when executed by a processor, implements the method for verifying the simulation of the SOC according to the embodiment of the present invention or the method for building the verification environment of the device for verifying the simulation of the SOC according to the embodiment of the present invention.

The embodiment of the invention transplants the minimum system equipment module of SOC in the simulation verification equipment into the boot startup program and the operating system, transplants the boot startup program and the operating system into the simulation verification equipment, and when the operating system is started, can obtain the verification program file matched with the verification instruction by remotely connecting the network file system to carry out verification test, can support multi-user parallel verification, effectively shortens the verification test time, improves the verification test efficiency, loads the verification program file from the network file system by remotely connecting the network file system, does not need fussy steps, greatly shortens the loading time of the verification program file by the high broadband of the network, can effectively improve the verification efficiency, can support remote verification, and the user can effectively reduce the labor intensity of verification work without being in a machine room; the multi-user parallel verification work can be supported by only one set of hardware environment, time-sharing multiplexing can be realized, and the cost of hardware equipment required by the parallel verification environment can be effectively saved; by loading the operating system into the simulation verification equipment, the operating system can support a large amount of open source codes and can be directly used after simple transplantation, the development workload that the verification program files which can be independently operated from the operating system completely depend on self-coding can be effectively reduced, and the operating system supports the simultaneous operation of different verification program files, thereby supporting the combined verification of a system level.

Drawings

FIG. 1a is a schematic diagram of a prior art verification test of SOC in a simulation verification apparatus;

FIG. 1b is a flowchart of a SOC simulation verification method according to an embodiment of the present invention;

FIG. 1c is a flowchart for realizing successful startup of a Uboot system during transplanting the Uboot system;

FIG. 1d is a flowchart illustrating successful booting of a LINUX kernel system in a emulation verification device during migration of a cropped LINUX kernel system;

FIG. 1e is a diagram illustrating multi-user parallel authentication according to an embodiment of the present invention;

fig. 2a is a flowchart of a simulation verification method for SoC of a system on chip according to an embodiment of the present invention;

FIG. 2b is a flowchart of a Root login interface for a Palladium device to enter the LINUX kernel system according to an embodiment of the present invention;

FIG. 3 is a flowchart of a method for establishing a verification environment of simulation verification equipment of a system on chip SOC according to an embodiment of the present invention;

FIG. 4 is a block diagram of a SOC simulation verification apparatus according to an embodiment of the present invention;

FIG. 5 is a block diagram of a device for setting up a verification environment of simulation verification equipment of a system-on-chip SOC according to an embodiment of the present invention;

fig. 6 is a schematic structural diagram of a simulation verification apparatus according to an embodiment of the present invention.

Detailed Description

The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.

Fig. 1b is a flowchart of a SOC simulation verification method for a system on chip according to an embodiment of the present invention, where the method may be executed by a SOC simulation verification apparatus for a system on chip, the apparatus may be configured on an SOC simulation verification device, and the method may be applied in a scenario where multiple users perform verification tests on SOC modules on the simulation verification device in parallel.

As shown in fig. 1b, the technical solution provided by the embodiment of the present invention includes:

s110: the simulation verification equipment loads a boot startup program; the boot startup program transplants the drive of the minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module, so that the boot startup program is started normally.

In the embodiment of the present invention, optionally, the simulation verification device may be a Palladium device. Palladium Z1 may be used in a Palladium plant. The Palladium equipment can correctly simulate digital logic and can process multiple clocks and asynchronous clocks, and compared with the simulation of a traditional Electronic Design Automation (EDA) circuit, the operation speed of the Palladium equipment is about 100-1000 kHz and is 100-1000 times faster than the simulation of the traditional EDA circuit; compared with a traditional hardware accelerator based on a field programmable gate array FPGA, the Palladium device is high in compiling speed and debugging capability and supports multiple users. The boot program may be a Uboot system, the operating system may be an IINUX kernel system, and the operating system is not limited to the LINUX operating system, and the boot program is not limited to the Uboot system.

In the embodiment of the present invention, optionally, the driver of the minimum system device module in the SOC in the simulation verification device may be migrated to the boot loader to drive the minimum system device module in the SOC. When the boot startup program is normally started, the minimum system device module in the SOC needs to be relied on, so that the driver of the minimum system device module needs to be transplanted into the boot startup program to drive the minimum system device module, thereby realizing the normal start of the boot startup program. The minimum system equipment module may include a TIMER, a Universal Asynchronous Receiver Transmitter (UART), a Serial Peripheral Interface (SPI) bus controller, a gigabit Ethernet controller (GMAC), a serial peripheral interface flash memory (SPI false) model, a double-rate synchronous dynamic random access memory (DDR) model, an embedded multimedia controller (EMMC) model, a Central Processing Unit (CPU) (ck810) core, and a Memory Management Unit (MMU). Wherein the DDR model may be a DDR3 model.

S120: the simulation verification equipment loads an operating system; the operating system is transplanted with a driver of a minimum system equipment module of an SOC (system on chip) in the simulation verification equipment to drive the minimum system equipment module, so that the operating system is started normally.

In the embodiment of the invention, the operating system can be transplanted and cut, so that the operating system can support the kernel configuration of a remote login (Telnet) server and a network file system, and the drive of the minimum system equipment module of the SOC in the simulation verification device is transplanted into the operating system to drive the minimum system equipment module in the SOC. When the operating system is normally started, the minimum system equipment module in the SOC needs to be relied on, so that the driver of the minimum system equipment module needs to be transplanted into the operating system to drive the minimum system equipment module, thereby realizing the normal start of the operating system.

S130: when the simulation verification equipment starts an operating system through the boot startup program, the simulation verification equipment is remotely connected with a network file system through the operating system.

In the embodiment of the present invention, specifically, the minimum system device module on the emulation verification device is initialized to normally start the boot loader, and the kernel file of the operating system is loaded by the boot loader to start the operating system. The network file system can be remotely connected through a Telnet protocol.

In an implementation manner of the embodiment of the present invention, before remotely connecting to a network file system through the operating system, optionally, the method further includes: and performing device driver registration on the minimum system device module and other SOC device modules in the simulation verification device through the operating system. After the minimum system device module and the other SOC device modules in the simulation verification device are subjected to device driver registration by the operating system, the operating system can manage the minimum system device module and the other SOC device modules respectively.

In an implementation manner of the embodiment of the present invention, optionally, the performing, by an operating system, device driver registration on a minimum system device module and other device modules of the SOC in the emulation verification device includes: analyzing the device tree file loaded by the boot startup program through an operating system, creating a minimum system device module and other SOC device modules based on the device tree file, registering the created minimum system device module and other SOC device modules, and registering the drivers corresponding to the minimum system device module and other SOC device modules respectively.

Specifically, when the boot program is a Uboot system and the operating system is a LINUX kernel system, the Uboot system loads a device tree file, and after the LINUX kernel system is started, the device tree file is loaded from the Uboot system, the device tree file is analyzed, and a device specified in the device tree file is created, that is, the device module of the minimum system and the other device modules of the SOC. And then registering the created equipment in an equipment manager, searching for a corresponding equipment driver, and registering the corresponding equipment driver. The device manager is used for mounting all devices used in the operating system, when a new device needs to be added, the new device needs to be registered in the device manager, and after the new device and the new device are correspondingly registered, the operating system can manage the device through the device driver.

In this embodiment of the present invention, when the migrated boot program is a Uboot system, referring to fig. 1c, a procedure for implementing successful startup of the Uboot system in the process of migrating the Uboot system may be as follows, as shown in fig. 1c, a procedure for implementing successful startup of the Uboot system in the emulation verification device may be: the method comprises the following steps of CPU kernel initialization, MMU initialization, TIMER initialization, DDR3 model initialization, SPI bus controller initialization, SPI Flash model initialization, UART initialization, EMMC model initialization, GMAC initialization and Uboot universal component initialization, and entering a Uboot menu.

When the operating system is a LINUX kernel system, referring to fig. 1d, in the process of migrating and clipping the LINUX kernel system, a flow for successfully starting the LINUX kernel system in the simulation verification device may be as follows, as shown in fig. 1d, a flow for successfully starting the LINUX kernel system in the simulation verification device may be: CPU (ck810) kernel initialization, MMU initialization, TIMER TIMER device driver registration, SPI bus controller device driver registration, SPI Flash model device driver registration, UART device driver registration, EMMC model device driver registration, GMAC device driver registration and LINUX general-purpose component initialization mounting network file system. Wherein, the network file system can build the network file system before the operation system is transplanted and cut, and the network file system can store the verification program file.

S140: and when the simulation verification equipment receives at least one verification instruction of other SOC equipment modules except the minimum system equipment module, loading a verification program file matched with the verification instruction from the network file system, and operating the verification program file to operate the other SOC equipment modules to complete verification tests on the other SOC equipment modules.

In an implementation manner of the embodiment of the present invention, optionally, when the emulation verification device receives at least one verification instruction for another device module of the SOC other than the minimum system device module, loading a verification program file matching the verification instruction from the network file system, including: when the simulation verification equipment receives at least one verification instruction for other registered SOC equipment modules through a remote login daemon, a verification program file matched with the verification instruction is loaded from a root file system of a network file system through a Network File System (NFS) client.

Specifically, as shown in fig. 1e, a user may log in a verification system in the emulation verification device remotely through a remote login client in the self device, and input a verification instruction for other device modules of the SOC except for the smallest system device module, where the other device modules of the SOC are already registered in an operating system of the emulation verification device. The verification system in the simulation verification equipment can be remotely logged in by multiple users, each user can input verification instructions for other equipment modules of the SOC, and the verification instructions input by each user can be different. The simulation verification device receives at least one verification instruction for other registered SOC device modules through a Telnetd daemon, the verification instruction can be transmitted to an operating system through a pseudo terminal, the operating system sends a verification request matched with the verification instruction to a compiling server through an NFS client, after the compiling server receives the request, the request is sent to the NFS server through the operating system, the NFS server analyzes the request, a verification program file matched with the request is inquired from a root file system, and the verification program file is fed back to the simulation verification device through the operating system and a network of the compiling server, so that the simulation verification device runs the verification program file. The pseudo terminal can be used for communication between a Telnetd daemon process and an operating system.

In the embodiment of the invention, after the operating system loads the verification program file matched with the verification instruction, the verification test of other SOC equipment modules is completed by operating the verification program file to operate the other SOC equipment modules. For example, when configuration data of an SOC module in the simulation verification device is subjected, the configuration data may be read from the SOC module and compared with actual configuration data to obtain a verification test result of the SOC module.

In the related art, when verifying the SOC in the emulation verification device (Palladium device), the SOC may be verified by a method in which a simulator (joint test group JTAG simulator) loads a verification program file into the emulation verification device through an I/O board, and the emulation verification device operates the verification program file to verify the SOC; the other method is that the simulation verification equipment carries out verification test in a mode of loading a verification program file in the background. However, the two methods need to monopolize all hardware resources, only serial time-sharing verification can be performed in one set of environment, users in charge of different module tests need to wait in a queue, and the test efficiency is low. The embodiment of the invention transplants the minimum system equipment module of the SOC in the simulation verification equipment into the boot startup program and the operating system, transplants the boot startup program and the operating system into the simulation verification equipment, and can obtain the verification program file matched with the verification instruction for verification test by remotely connecting the network file system after the operating system is started, thereby supporting the parallel verification of multiple users and improving the verification test efficiency.

In the related technology, the simulator needs to be supported by an I/O board, and the simulation verification device has low simulation rate, so that the communication rate of the simulator and the simulation verification device is low, and the loading of a verification program file needs long time; in addition, by loading the verification program file in the background of the simulation verification device, the format of the verification program file needs to be converted, and the simulation verification device needs to be restarted when the verification program file is loaded each time, so that the whole loading is complicated, and the loading time is longer; and the simulation verification equipment is huge, needs constant temperature working conditions and the like, and generally needs to be placed in a machine room, and because the user usually needs to verify and debug in the machine room due to the limitation of the length of the simulator and the I/O board cable, the user needs to endure the unfavorable working conditions of huge noise, narrow space and the like of the machine room equipment for a long time. The embodiment of the invention loads the verification program file from the network file system by remotely connecting the network file system without complicated steps, the high bandwidth of the network greatly shortens the loading time of the verification program file, can effectively improve the verification efficiency, can support remote verification, and can effectively reduce the labor intensity of verification work without a user in a machine room.

In the related art, in order to accelerate the verification speed, when parallel verification needs to be performed, multiple sets of verification hardware environments need to be independently installed, multiple sets of simulators and I/O boards need to be purchased with high cost, and the simulation verification equipment with larger capacity can support the parallel verification. The cost of adding an I/O board is about 5 ten thousand dollars, the cost of the simulation verification equipment with larger capacity is at least million dollars, and the overall cost is high. And the maximum number of the multiple users of the parallel verification test is directly limited by the circuit logic simulation capacity of the simulation verification equipment, for example, a million-gate simulation verification equipment can be simultaneously distributed to 10 million-gate circuit logic simulations at most, and a billion-gate simulation verification equipment can be simultaneously distributed to 10 million-gate circuit logic simulations at most. The embodiment of the invention transplants the minimum system equipment module of SOC in the simulation verification equipment into a boot program and an operating system, and transplants the boot program and the operating system into the simulation verification equipment; when the operating system is started, the network file system can be remotely connected to acquire the verification program file matched with the verification instruction for verification test, parallel verification of multiple users can be supported, the multiple users can be supported to carry out verification work in parallel only by one hardware environment, time-sharing multiplexing can be realized, and the cost of hardware equipment required by the parallel verification environment can be effectively saved.

In the related art, the method for performing verification by adopting the above traditional method is difficult to find available open source codes because the simulation verification device is not supported by system software, developers are required to develop a large number of verification programs by themselves, more developers are required to participate in cooperation, and the usually developed verification programs are all independently operated unit test verification applets, and are required to be loaded and operated one by one. The combination verification is difficult to realize among different functional modules in parallel, and the method is only suitable for isolated unit-level test verification. According to the technical scheme provided by the embodiment of the invention, the operating system is loaded into the simulation verification equipment, the operating system can support a large number of open source codes, can be directly used after being simply transplanted, can effectively reduce the workload of self-coding of the verification program, and supports the simultaneous operation of different verification programs, so that the combined verification of a system level is supported.

Fig. 2a is a flowchart of a simulation verification method for SoC of a system on chip according to an embodiment of the present invention. In this embodiment, optionally, the simulation verification device is a polium device, the boot initiator is a Uboot system, and the operating system is a LINUX kernel system. As shown in fig. 2a, the technical solution provided by the embodiment of the present invention includes:

s210: and (3) transplanting the drive of the minimum system equipment module of the SOC in the Palladium simulation verification equipment into the Uboot system.

The minimum system equipment module comprises a TIMER TIMER, a UART, an SPI bus controller, a GMAC, an SPI false model, a DDR model, an EMMC model, a CPU (ck810) kernel and a memory management unit MMU. Fig. 1b is a flowchart for implementing successful startup of a Uboot system in the Uboot transplantation process, and reference may be made to the foregoing embodiment for detailed description.

S220: and constructing a remote network file system.

The network file system stores various files and data, including verification program files and the like. Wherein the network file system can be built in a Telnet server.

S230: and transplanting a drive of a minimum system equipment module of the SOC in the Palladium equipment into the LINUX kernel system, and transplanting and cutting the LINUX kernel system so that the LINUX kernel system supports configuration items of a Telnet server and a network file system.

In the embodiment of the invention, the LINUX kernel system can be transplanted and cut, and only a Telnet server and a network file system can be supported. Other introductions may refer to the above embodiments.

S240: and converting the generated Uboot system, the device tree file and the cut file of the LINUX kernel system into a text format which can be identified by the Palladium device, storing the text format at the appointed position of an SPI Flash model or an EMMC model, and automatically running the stored file when the Palladium device is started to enter a Root login interface of the LINUX kernel system.

In this embodiment of the present invention, optionally, the flow of the Palladium device entering the Root login interface of the LINUX kernel system may refer to fig. 2b, as shown in fig. 2b, the flow may be: starting a UOot system, loading a device tree file by the Uboot, loading a LINUX kernel system by the Uboot system, registering equipment drivers of the LINUX kernel system, initializing general components of the LINUX system, mounting a network file system, and entering a Root login interface. The user can remotely access the Root login interface to log in the verification system. The LINUX kernel system device driver registration may refer to device driver registration of a minimum system device module of the SOC and other device modules of the SOC in the Palladium device, which is described in detail in the foregoing embodiments.

S250: when the Palladium device receives at least one verification instruction for other device modules of the SOC except the minimum system device module, a verification program file matched with the verification instruction is loaded from the network file system, and the verification program file is operated to operate the other device modules of the SOC so as to finish verification tests on the other device modules of the SOC.

The introduction of S250 may refer to the above embodiments.

According to the technical scheme provided by the embodiment of the invention, the minimum system equipment module of SOC in the Palladium equipment is transplanted to the Uboot system and the LINUX kernel system, the Uboot system and the LINUX kernel system are transplanted to the Palladium equipment, and when the LINUX kernel system is started, the verification program file matched with the verification instruction can be obtained by remotely connecting the network file system to carry out verification test, so that the parallel verification of multiple users can be supported, the verification time is effectively shortened, and the verification test efficiency is improved; the verification program file is loaded from the network file system through remote connection of the network file system, complex steps are not needed, the loading time of the verification program file is greatly shortened by the high bandwidth of the network, the verification efficiency can be effectively improved, remote verification can be supported, a user does not need to be in a machine room, and the labor intensity of verification work is effectively reduced.

The embodiment of the invention transplants the minimum system equipment module of SOC in the Palladium equipment into the Uboot system and the LINUX kernel system, transplants the Uboot system and the LINUX kernel system into the Palladium equipment, and when the LINUX kernel system is started, can obtain a verification program file matched with a verification instruction by remotely connecting a network file system for verification test, can support multi-user parallel verification work only by one set of hardware environment, can realize time-sharing multiplexing, and can effectively save the cost of hardware equipment required by the parallel verification environment; the LINUX kernel system can support a large amount of open source codes by being loaded into the Palladium equipment, can be directly used after being simply transplanted, can effectively reduce the workload of self-coding of a verification program, and supports different verification test programs to be operated simultaneously, thereby supporting the combined verification of a system level.

Fig. 3 is a flowchart of a method for establishing a verification environment of an emulation verification device of a system on chip SOC according to an embodiment of the present invention, where the method may be performed by an emulation verification device verification environment establishment apparatus of the system on chip SOC, and the apparatus may be configured in an emulation verification device. As shown in fig. 3, the technical solution provided by the embodiment of the present invention includes:

s310: the simulation verification equipment loads a boot startup program; the boot startup program transplants the drive of the minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module, so that the boot startup program is started normally.

In the embodiment of the present invention, optionally, the simulation verification device may be a Palladium device. The boot program may be a Uboot system, and the operating system may be an IINUX kernel system, where the operating system is not limited to the LINUX operating system, and the boot program is not limited to the Uboot system.

In the embodiment of the present invention, optionally, the driver of the minimum system device module in the SOC in the simulation verification device may be migrated to the boot loader to drive the minimum system device module in the SOC. When the boot startup program is normally started, the minimum system device module in the SOC needs to be relied on, so that the driver of the minimum system device module needs to be transplanted into the boot startup program to drive the minimum system device module, thereby realizing the normal start of the boot startup program. The minimum system equipment module may include a TIMER, a Universal Asynchronous Receiver Transmitter (UART), a Serial Peripheral Interface (SPI) bus controller, a gigabit Ethernet controller (GMAC), a serial peripheral interface flash memory (SPI false) model, a double-rate synchronous dynamic random access memory (DDR) model, an embedded multimedia controller (EMMC) model, a Central Processing Unit (CPU) (ck810) core, and a Memory Management Unit (MMU). Wherein the DDR model may be a DDR3 model. S320: the simulation verification equipment loads an operating system; the operating system is transplanted with a driver of a minimum system equipment module of an SOC (system on chip) in the simulation verification equipment to drive the minimum system equipment module, so that the operating system is started normally.

S320: the simulation verification equipment loads an operating system; the operating system is transplanted with a driver of a minimum system equipment module of an SOC (system on chip) in the simulation verification equipment to drive the minimum system equipment module, so that the operating system is started normally.

In the embodiment of the invention, the operating system can be transplanted and cut, so that the operating system can support the kernel configuration of a remote login (Telnet) server and a network file system, and the drive of the minimum system equipment module of the SOC in the simulation verification device is transplanted into the operating system to drive the minimum system equipment module in the SOC. When the operating system is normally started, the minimum system equipment module in the SOC needs to be relied on, so that the driver of the minimum system equipment module needs to be transplanted into the operating system to drive the minimum system equipment module, thereby realizing the normal start of the operating system.

S330: when the simulation verification equipment starts the operating system through the boot startup program, remotely connecting a network file system through the operating system; and the network file system comprises verification program files of other SOC equipment modules except the minimum system equipment module.

In the embodiment of the present invention, specifically, a minimum system device module on the emulation verification device is initialized to normally start the boot loader, and a kernel file of the operating system is recorded by the boot loader to start the operating system. When the boot program to be migrated is a Uboot system, the process of successfully starting the Uboot system in the Uboot process may refer to fig. 1c, and as shown in fig. 1c, the process of successfully starting the Uboot system in the simulation verification device may be: the method comprises the following steps of CPU kernel initialization, MMU initialization, TIMER initialization, DDR3 model initialization, SPI bus controller initialization, SPI Flash model initialization, UART initialization, EMMC model initialization, GMAC initialization and Uboot universal component initialization, and entering a Uboot menu.

When the operating system is a LINUX kernel system, referring to fig. 1d, in the process of migrating and clipping the LINUX kernel system, a flow for successfully starting the LINUX kernel system in the simulation verification device may be as follows, as shown in fig. 1d, a flow for successfully starting the LINUX kernel system in the simulation verification device may be: CPU (ck810) kernel initialization, MMU initialization, TIMER TIMER device driver registration, SPI bus controller device driver registration, SPI Flash model device driver registration, UART device driver registration, EMMC model device driver registration, GMAC device driver registration and LINUX general-purpose component initialization mounting network file system.

Wherein, the network file system can build the network file system before the operation system is transplanted and cut, and the network file system can store the verification program file. After the network text system is remotely connected through the operating system, the establishment of a verification environment is completed, and the verification test can be performed on the SOC in the simulation verification equipment.

The embodiment of the invention transplants the minimum system equipment module of SOC in the simulation verification equipment into the boot startup program and the operating system, transplants the boot startup program and the operating system into the simulation verification equipment, and when the operating system is started, can obtain the verification program file matched with the verification instruction by remotely connecting the network file system to carry out verification test, can support multi-user parallel verification to improve the verification test efficiency, can support multi-user parallel verification work only by one set of hardware environment, can carry out time-sharing multiplexing, can effectively save the hardware equipment cost required by the parallel verification environment, can support remote verification, and effectively reduce the labor intensity of users; by loading the operating system into the simulation verification equipment, the operating system can support a large number of open source codes, can be directly used after simple transplantation, can effectively reduce the workload of self-coding of the verification test program, and supports the simultaneous operation of different verification test programs, thereby supporting the combined verification of a system level.

Fig. 4 is a block diagram of a SOC simulation verification apparatus of a system on chip according to an embodiment of the present invention, and as shown in fig. 4, the apparatus includes: a first load module 410, a second load module 420, a connection module 430, and a verification module 440.

The first loading module 410 is configured to load a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

a second loading module 420 for loading the operating system; the operating system is transplanted with a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module, so that the operating system is started normally;

a connection module 430, configured to remotely connect to a network file system through the operating system when the operating system is started through the boot loader;

a verification module 440, configured to, when at least one verification instruction for other device modules of the SOC other than the minimum system device module is received, load a verification program file matching the verification instruction from the network file system, and run the verification program file to operate the other device modules of the SOC to complete verification tests on the other device modules of the SOC.

Optionally, the minimum system equipment module includes a timer, a UART, a SPI bus controller, a gigabit ethernet controller GMAC, a SPI flash model, a DDR model, and an EMMC model.

Optionally, the simulation verification device is a Palladium device, the operating system is a LINUX kernel system, and the boot initiator is a Uboot system.

Optionally, the apparatus further includes a boot startup program starting module, configured to initialize a minimum system device module on the emulation verification device, so as to normally start the boot startup program.

Optionally, starting to the operating system through a boot launcher includes:

and loading a kernel file of the operating system through a boot starter so as to start the operating system on the simulation verification device.

Optionally, the apparatus further includes a device driver registration module, configured to perform device driver registration on a minimum system device module and other device modules of the SOC in the emulation verification device through the operating system before remotely connecting to the network file system through the operating system;

the verification module 440 is configured to, when at least one verification instruction for the registered SOC other device module is received through the telnet daemon, load, by the network file system client, a verification program file matching the verification instruction from a root file system in the network file system.

Optionally, the device driver registration module is configured to analyze, by the operating system, the device tree file loaded by the boot loader, create a minimum system device module and other SOC device modules based on the device tree file, perform device registration on the created minimum system device module and other SOC device modules, and register drivers corresponding to the minimum system device module and the other SOC device modules respectively.

The device can execute the method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.

Fig. 5 is a structural block diagram of a device for building a verification environment of an emulation verification device of a system on chip SOC according to an embodiment of the present invention, and as shown in fig. 5, the device includes: a first loading module 510, a second loading module 520, and a connection module 530.

A first loading module 510 for loading a boot loader; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

a second loading module 520 for loading the operating system; the operating system is transplanted with a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module, so that the operating system is started normally;

a connection module 530, configured to remotely connect to a network file system through the operating system when the operating system is started through the boot loader.

The device can execute the method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.

Fig. 6 is a schematic structural diagram of a simulation verification apparatus according to an embodiment of the present invention, and as shown in fig. 6, the apparatus includes:

one or more processors 610, one processor 610 being exemplified in fig. 6;

a memory 620;

the apparatus may further include: an input device 630 and an output device 640.

The processor 610, the memory 620, the input device 630 and the output device 640 of the apparatus may be connected by a bus or other means, and fig. 6 illustrates the example of connection by a bus.

The memory 620, as a non-transitory computer-readable storage medium, may be used to store a software program, a computer-executable program, and modules, such as program instructions/modules corresponding to a simulation verification method of a system on chip SOC in an embodiment of the present invention (for example, the first loading module 410, the second loading module 420, the connection module 430, and the verification module 440 shown in fig. 4), or program instructions/modules corresponding to a simulation verification device verification environment setup method of a system on chip SOC in an embodiment of the present invention (for example, the first loading module 510, the second loading module 520, and the connection module 530 shown in fig. 5). The processor 610 executes various functional applications and data processing of the computer device by running software programs, instructions and modules stored in the memory 620, namely, a system on chip SOC simulation verification method for implementing the above method embodiments, namely:

the simulation verification equipment loads a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the simulation verification equipment loads an operating system; wherein, the operating system is transplanted with a driver of a minimum system device module of the SOC in the emulation verification device to drive the minimum system device module, so that the operating system is normally started;

when the simulation verification equipment starts an operating system through the boot startup program, remotely connecting a network file system through the operating system;

and when the simulation verification equipment receives at least one verification instruction of other SOC equipment modules except the minimum system equipment module, loading a verification program file matched with the verification instruction from the network file system, and operating the verification program file to operate the other SOC equipment modules to complete verification tests on the other SOC equipment modules.

Or the method for establishing the verification environment of the simulation verification equipment of the SOC provided by the embodiment of the method comprises the following steps:

the simulation verification equipment loads a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the simulation verification equipment loads an operating system; wherein, the operating system is transplanted with a driver of a minimum system device module of the SOC in the emulation verification device to drive the minimum system device module, so that the operating system is normally started;

when the simulation verification equipment starts the operating system through the boot startup program, remotely connecting a network file system through the operating system; and the network file system comprises verification program files of other SOC equipment modules except the minimum system equipment module.

The memory 620 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to use of the computer device, and the like. Further, the memory 620 may include high speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, memory 620 optionally includes memory located remotely from processor 610, which may be connected to the terminal device via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.

The input means 630 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the computer apparatus. The output device 640 may include an output interface, and the like.

An embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements a method for verifying SOC simulation of a system on chip, according to an embodiment of the present invention:

the simulation verification equipment loads a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the simulation verification equipment loads an operating system; wherein, the operating system is transplanted with a driver of a minimum system device module of the SOC in the emulation verification device to drive the minimum system device module, so that the operating system is normally started;

when the simulation verification equipment starts an operating system through the boot startup program, remotely connecting a network file system through the operating system;

and when the simulation verification equipment receives at least one verification instruction of other SOC equipment modules except the minimum system equipment module, loading a verification program file matched with the verification instruction from the network file system, and operating the verification program file to operate the other SOC equipment modules to complete verification tests on the other SOC equipment modules.

Or the method for establishing the verification environment of the simulation verification equipment of the SOC provided by the embodiment of the method comprises the following steps:

the simulation verification equipment loads a boot startup program; wherein the boot loader transplants a driver of a minimum system equipment module of the SOC in the simulation verification equipment to drive the minimum system equipment module so as to normally start the boot loader;

the simulation verification equipment loads an operating system; wherein, the operating system is transplanted with a driver of a minimum system device module of the SOC in the emulation verification device to drive the minimum system device module, so that the operating system is normally started;

when the simulation verification equipment starts the operating system through the boot startup program, remotely connecting a network file system through the operating system; and the network file system comprises verification program files of other SOC equipment modules except the minimum system equipment module.

Any combination of one or more computer-readable media may be employed. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).

It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:片上系统SOC仿真验证方法、装置、验证服务器及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类