CN115203054A - Virtual chip test system - Google Patents
Virtual chip test system Download PDFInfo
- Publication number
- CN115203054A CN115203054A CN202210913004.3A CN202210913004A CN115203054A CN 115203054 A CN115203054 A CN 115203054A CN 202210913004 A CN202210913004 A CN 202210913004A CN 115203054 A CN115203054 A CN 115203054A
- Authority
- CN
- China
- Prior art keywords
- test
- module
- virtual machine
- request
- host
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
The invention provides a virtual chip test system, which comprises: the system comprises a front-end control module, a back-end test module and a front-end control module, wherein the front-end control module is configured to receive a test request of a user and send the test request to the back-end test module; and the back-end test module is configured to receive the test request sent by the front-end control module and execute the test operation corresponding to the test request according to the test request. The technical scheme of the invention provides a virtualized chip test system, which can bring the following beneficial effects: according to the scheme, the use difficulty of the chip simulation test system is reduced, technicians at any level can easily enter the system and use the tool to execute test verification work, and the repeated environment building work of testers is reduced. The automatic equipment creating/deleting process and the general test case executing process reduce the software and hardware abnormity caused by test environment conflict, and realize a uniform equipment management mechanism and a uniform equipment creating process.
Description
Technical Field
The invention relates to the field of computers, in particular to a virtualized chip test system.
Background
With the increasingly urgent need for replacing the chip in a home-made manner, more and more chip design companies emerge in the market, however, the chip development cycle is long, and the chip needs to go through a plurality of stages such as architecture, design, verification, software development, test, tape-out post-test, and the problem repair cost is higher after the product comes, and in order to reduce the development cycle, research and development personnel design a plurality of chip simulation test systems, and the purpose is to execute the chip design and test in parallel so as to find and repair the problem as soon as possible.
The existing common chip simulation test platform design method is that a virtualization technology is utilized, hardware equipment for simulating chip behaviors is added into a hypervisor, a virtual machine mirror image is created, a system is installed, parameters of the simulation equipment are transmitted, a virtual machine is started, the virtual machine is logged into the virtual machine system, the simulation hardware equipment can be seen, whether the hardware behaviors achieve expectations or not is verified by writing an equipment driver, and therefore verification test and other work of the chip can be conducted at the same time in the chip design stage.
By the method, the parallelism of chip design and verification test work can be effectively improved, but the following problems still exist:
1. the system is difficult to use. System users need to master professional knowledge of virtualization, hardware principles, equipment drive development, test code development and the like to operate the whole system, and usually a single developer cannot have all skills, so that multi-role personnel are required to cooperate to complete chip testing, and the product development iteration speed is seriously influenced.
2. The system has more repetitive work. Different hardware tests need to execute a lot of repeated development, operation and maintenance work, for example, adding simulation hardware for a hypervisor, creating a virtual machine image file, installing an operating system, configuring a virtual machine network environment, compiling a hardware drive code, compiling a drive test code, building an automatic test environment, and the like, so that test cases can be executed.
3. The system resources conflict more. Due to the lack of a test environment management mechanism, multiple users may log in the same test environment to execute a test and cannot know each other until software and hardware are abnormal due to resource conflict, conflicts may also be generated when the users build the test environments respectively, and the exceptions are usually difficult to locate, such as the host and the virtual machine cannot log in due to network configuration conflict.
Therefore, an effective solution to the above problems is needed.
Disclosure of Invention
To solve the above problems, the present invention provides a virtualized chip testing system, which includes:
the system comprises a front-end control module, a back-end test module and a front-end control module, wherein the front-end control module is configured to receive a test request of a user and send the test request to the back-end test module;
and the back-end test module is configured to receive the test request sent by the front-end control module and execute the test operation corresponding to the test request according to the test request.
In some embodiments of the invention, the front end control module comprises a Web front end, the Web front end further comprising:
the equipment management view is configured to provide an equipment management operation interface for a user and send an operation request of the user for equipment to the back-end test module;
and the case management view is configured to provide a management operation interface of the test case for the user and send an operation request of the user on the test case to the back-end test module.
In some embodiments of the invention, the back-end testing module comprises a Web back-end, the Web back-end further comprising:
the equipment management agent module is configured to receive an operation request for equipment sent by the front-end control module and send the operation request for the equipment to a host machine in the back-end test module;
and the case agent management module is configured to receive the operation request for the test case sent by the front-end control module and send the operation request for the test case to a corresponding virtual machine in the back-end test module.
In some embodiments of the invention, the back end test module further comprises
The host machine is configured to create one or more virtual machines for chip testing and manage the created virtual machines.
In some embodiments of the invention, the back end test module further comprises:
the host adapter is configured to process the test request sent by the front-end control module;
a physical hardware peripheral configured to simulate a chip to be tested;
a hardware peripheral driver configured to drive the physical hardware peripheral;
a virtual machine configured to emulate a host connected to the physical hardware peripheral.
In some embodiments of the invention, a host adapter comprises:
the host command analysis module is configured to analyze the operation request for the equipment sent by the equipment management agent module and call different command processing interfaces based on the operation request;
and the host machine command processing module is configured to receive the processing command sent by the host machine command analysis module and manage the virtual machine according to the processing command.
In some embodiments of the invention, a virtual machine comprises:
and the virtual machine adapter is configured to receive an operation request for the test case sent by the case agent management module and execute an operation corresponding to the test case according to the operation request.
A simulated hardware peripheral module configured to simulate the physical hardware peripheral based on the physical hardware peripheral on a host according to a virtualized device model standard;
the virtual machine hardware peripheral driving module is configured to drive the virtual machine hardware peripheral.
In some embodiments of the invention, a virtual machine adapter comprises:
the virtual machine command analysis module is configured to receive an operation request for a test case sent by the case agent management module and convert the operation request into an operation command of the corresponding test case;
and the virtual machine command processing module is configured to execute the corresponding test case based on the operation command of the test case analyzed by the virtual machine command analysis module.
In some embodiments of the invention, the back end test module further comprises:
and the HTTP load balancing module is configured to map the test request sent by the front-end control module to a corresponding Web back end in the back-end test module.
In some embodiments of the invention, the back end test module further comprises:
and the adapter message forwarding module is configured to forward an operation request for equipment and/or an operation request for a test case, which are sent by the Web back end, to the corresponding host adapter and/or virtual machine adapter.
In some embodiments of the invention, the back end test module further comprises:
a database configured to store data generated by the back-end test module.
The technical scheme of the invention provides a virtualized chip test system, which can bring the following beneficial effects: the use difficulty of the chip simulation test system is reduced. Technical personnel at any level can easily enter the system and use the tool to execute test verification work, the tester does not need to master professional knowledge such as various virtualization, operating systems, hardware principles, equipment drive development and test code development, and does not need multi-role matching to execute a chip test work, the test environment is simple to build, and only a computer provided with a browser is needed to be used as the test equipment.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic structural diagram of a virtualized chip test system according to an embodiment of the present invention;
FIG. 2 is a schematic structural diagram of a virtualized chip test system according to an embodiment of the present invention;
fig. 3 is a schematic usage diagram of an example of a virtualized chip test system according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the following embodiments of the present invention are described in further detail with reference to the accompanying drawings.
As shown in fig. 1, to solve the above problem, the present invention provides a virtualized chip testing system, which includes:
the front-end control module 23 is configured to receive a test request of a user and send the test request to the back-end test module;
and the back-end testing module 24, where the back-end testing module 24 is configured to receive a testing request sent by the front-end control module and execute a testing operation corresponding to the testing request according to the testing request.
In the embodiment of the invention, the chip test combines the B/S technology and the virtualization technology to realize a virtualization test system. The B/S (Browser/server) framework is a software framework based on a Browser, and is divided into a front end and a back end, wherein the front end is used for providing a graphical user interface based on the Browser and converting webpage operation into an HTTP request to be sent to the back end, and the back end is used for executing corresponding processing according to the request submitted by the front end and returning a request processing result to the front end through an HTTP response after the request processing is finished. Virtualization technologies can simulate a physical machine as multiple virtual hosts, and are divided into processor virtualization (simulating a single physical processor as multiple virtual processors), storage virtualization (simulating storage resources of a physical host as multiple different virtual machine storages), and network virtualization (simulating a single physical network port as multiple virtual machine network ports).
Specifically, as shown in fig. 1, the front-end control module 23 refers to a functional module displayed on a browser interface, displays corresponding idle energy in the form of a Web page, and sends the idle energy to the back-end test module 24 by means of the browser based on an operation on a user re-interface as a test request. The back-end test module 24 executes a corresponding test command according to the test request sent by the front-end control module 23 to complete the test scheme for the chip.
In some embodiments of the present invention, the front end control module comprises a Web front end 1, said Web front end 1 further comprising:
the equipment management view 2 is configured to provide an equipment management operation interface for a user and send an operation request of the user for equipment to the back-end test module;
and the use case management view 3 is configured to provide a management operation interface of the test case for the user and send an operation request of the user for the test case to the back-end test module.
In this embodiment, as shown in fig. 2, the Web front end 1 is used for presenting an operation interface to a user, and further includes: a device management view 2 and a use case management view 3.
Specifically, the device management view 2 is used for providing a device management operation interface for a user, and includes the following modules:
a) The method comprises the steps of creating equipment, wherein a simulation hardware peripheral module which simulates chip behaviors, such as a network card, a hard disk, a U disk and the like, and a virtual machine of a software running environment, such as a Linux operating system and various software dependent libraries, are created;
b) The method comprises the steps of equipment display, namely displaying a virtual machine which comprises a simulation hardware peripheral module simulating chip behaviors and a software running environment of the simulation hardware peripheral module on a web page, or displaying an FPGA prototype verification platform comprising executable chip codes before chip stream, or displaying a host machine running state of a hardware peripheral with a packaged chip after the chip stream, such as a PCIe acceleration card;
c) The device control is used for executing various control operations such as reading and writing a register, executing a hardware compression/erasure correction coding and decoding algorithm and the like on the simulation device contained in the virtual machine or the physical device contained in the host machine;
d) And (4) deleting the equipment, namely deleting various simulation/physical hardware test equipment on the web page so that the simulation/physical hardware test equipment is not shown any more.
In addition, the use case management view 3 is used for providing a use case management operation interface for a user, and comprises the following modules:
a) Creating use cases step by step based on a graphical interface, or directly importing the use cases from an external file;
b) The method comprises the steps of case display, namely displaying a test case created in the previous step on a web page;
c) The method comprises the steps of case execution, namely sending a command execution case to a virtual machine at the web back end and displaying the case execution state;
d) And deleting the use cases, namely deleting the created use cases on the web page to ensure that the use cases are not displayed any more.
In some embodiments of the present invention, the back-end test module comprises a Web back-end 5, said Web back-end 5 further comprising:
the device management agent module 7 is configured to receive the operation request for the device sent by the front-end control module, and send the operation request for the device to a host in the back-end test module;
and the case agent management module 8 is configured to receive the operation request for the test case sent by the front-end control module, and send the operation request for the test case to a corresponding virtual machine in the back-end test module.
As shown in fig. 2, the Web backend 5 is a Server module in a B/S architecture, and is mainly used to interface a corresponding test request sent by a browser-side Web interface, and is used to process HTTP request information submitted by a Web front end, including device creation, case execution, and the like. The Web backend 5 mainly includes: the Web server 6 is a kind of HTTP proxy software for forwarding request response information between the Web front-end and the Web back-end. And a device management agent module 7 and a use case agent management module 8,
the device management agent module 7 processes the device management request information from the web front-end page, and includes the following modules:
a) Device creation, which is to notify the back-end host module to execute the device creation process, mainly to create a virtual machine including simulation hardware and its software operating environment, such as Linux operating system, and the details refer to fig. 2;
b) State saving, namely saving the current equipment state such as equipment online (receiving equipment heartbeat information), equipment offline (stopping receiving the heartbeat information), equipment abnormity (reporting own software and hardware abnormity by the equipment) and the like into a database, and returning the equipment state information when a web front-end page submits an equipment state query request;
c) The device control is used for informing the back-end virtual machine to execute a specific device control process, wherein the specific device control process comprises reading and writing a register of simulation hardware in the virtual machine, executing a hardware compression/erasure coding and decoding algorithm on the simulation hardware and the like;
d) And equipment deletion, namely informing the back-end host machine of deleting the virtual machine created on the back-end host machine, wherein the virtual machine comprising the simulation hardware and the software running environment thereof, such as a Linux system, the recorded information of database equipment and the like are deleted.
The use case agent module management 8 processes the device management request information from the web front end page, and comprises the following modules:
a) Device creation, which is to notify the back-end host module to execute the device creation process, mainly to create a virtual machine including simulation hardware and its software operating environment, such as Linux operating system, and the details refer to fig. 2;
b) State saving, namely saving the current equipment state such as equipment online (receiving equipment heartbeat information), equipment offline (stopping receiving the heartbeat information), equipment abnormity (reporting own software and hardware abnormity by the equipment) and the like into a database, and returning the equipment state information when a web front-end page submits an equipment state query request;
c) The device control is used for informing the back-end virtual machine to execute a specific device control process, wherein the specific device control process comprises reading and writing a register of internal simulation hardware of the virtual machine, executing a hardware compression/erasure coding and decoding algorithm on the simulation hardware and the like;
d) And equipment deletion, namely informing the back-end host machine of deleting the virtual machine created on the back-end host machine, wherein the virtual machine comprising the simulation hardware and the software running environment thereof, such as a Linux system, the recorded information of database equipment and the like are deleted.
As shown in fig. 2, in some embodiments of the invention, the Web backend 5 further comprises:
a database 9 for storing various data used by the web backend 5, including the following data tables:
a) The user account table is used for storing identification information of the user in the system and binding the equipment to the user;
b) The device state table is used for storing virtual machine configuration information related to the device, such as processor core number, memory capacity, hard disk capacity, host name/IP address of a virtual machine where the device is located, simulation hardware running state and the like;
c) An IP address table, which stores the IP address resource pool information of the virtual machine associated with the device, and is used to mutually exclusively allocate different IPs to the virtual machines where different analog devices are located, and the specific IP address allocation process refers to fig. 2;
d) The test case table stores test parameters under various user scenes;
e) And the mirror image template table is used for storing various virtual machine mirror image templates such as centros, ubuntu virtual machines and software libraries thereof.
In some embodiments of the present invention, back-end test module 24 further comprises
The host machine 11 is configured to create one or more virtual machines for chip testing, and manage the created virtual machines.
As shown in fig. 2, in the present embodiment, the back-end testing module 24 further includes a host 11 for executing testing force. The host 11 is a physical host for creating a virtual machine, and may have physical hardware such as an FPGA prototype verification platform, etc., and may directly execute a chip hardware code test operation before a chip is streamed based on the host, or may have a hardware device with a packaged chip after the chip is streamed, and may execute a hardware device test after the chip is streamed based on the host.
In some embodiments of the present invention, back-end test module 24 further comprises:
a host machine adapter 12, wherein the host machine 12 adapter is configured to process the test request sent by the front-end control module;
a physical hardware peripheral 16, the physical hardware peripheral 16 configured to simulate a chip to be tested;
a hardware peripheral driver 15, the hardware peripheral driver 15 configured to drive the physical hardware peripheral;
a virtual machine 17, said virtual machine 17 configured to emulate a host connected to said physical hardware peripheral.
As shown in fig. 2, in this embodiment, the back-end test module further includes a host adapter 12, a physical hardware peripheral 16, a hardware peripheral driver 15, and a virtual machine 17. It should be noted that the host adapter 12, the physical hardware peripheral 16, the hardware peripheral driver 15, and the virtual machine 17 are software modules running on the host 11.
The host adapter 12 is configured to process, on the host 11, the device management and use case management requests sent from the web backend.
The physical hardware peripheral 16 is physical hardware for simulating chip behavior before streaming, such as various FPGA prototype verification platforms, and can verify key algorithms implemented by the chip hardware, such as compression and erasure correction hardware coding and decoding algorithms, or test physical hardware devices packaged with a chip after streaming, such as a network card based on a PCIe interface, a hard disk, a compression/erasure correction algorithm accelerator card, and the like; the simulation implementation program of the chip to be tested is similar to a simulation program, is not necessarily a real actual chip, and comprises a simulated design chip and real chip equipment.
The hardware peripheral driver 15 is used to drive the physical hardware to be tested (the driver of the chip to be tested in the present invention), different hardware has different drivers, such as a network driver for driving a network card to receive and transmit data packets, a hard disk driver for reading and writing hard disk data, and the like, and the driver module is installed in the operating system of the host 11 through a specific driver installation process of the operating system, such as a module loading command of a Linux platform.
The virtual machine 17 is used to simulate a host machine into which hardware to be tested, i.e. the physical hardware peripheral 16 is inserted, such as a compression and erasure coding and decoding algorithm accelerator card based on PCIe bus interface, and the virtual machine is created by a device creation module running on the host machine.
In some embodiments of the present invention, the host adapter 12 comprises:
a host command analysis module 13, where the host command analysis module 13 is configured to analyze an operation request for the device sent by the device management agent module, and call different command processing interfaces based on the operation request;
the host command processing module 14 is configured to receive the processing command sent by the host command parsing module, and manage the virtual machine according to the processing command.
In this embodiment, as shown in fig. 2, the host command parsing module 13 is configured to invoke different command processing interfaces according to a test command sent by the web backend 5; the host command processing module 14 is configured to deploy various command processing modules, including the following modules:
a) IP management, configured to allocate/release an IP address of a virtual machine including a device to be tested, with reference to fig. 2 for details;
b) Device creation/deletion, which creates/deletes a virtual machine including a device to be tested, and the details refer to fig. 2;
c) The heartbeat request is used for sending heartbeat information representing the survival state of the virtual machine to the equipment management agent module;
d) Equipment control, which executes control operations such as resetting, checking/configuring registers and the like on the physical hardware to be tested;
e) And executing the use case, namely executing the function/performance test operation under various user scenes on the physical hardware to be tested.
The host command parsing module 13 may convert the corresponding operation request for the device into a corresponding command, and send the command to the host command processing module 14.
In some embodiments of the invention, the virtual machine 17 comprises:
and the virtual machine adapter 18, where the virtual machine adapter 18 is configured to receive an operation request for the test case sent by the use case agent management module 8, and execute an operation corresponding to the test case according to the operation request.
A simulated hardware peripheral module 22, said simulated hardware peripheral module 22 configured to simulate said physical hardware peripheral based on said physical hardware peripheral 16 on a host machine in accordance with a virtualized device model standard;
a virtual machine hardware peripheral driving module 21, where the virtual machine hardware peripheral driving module 21 is configured to drive the virtual machine hardware peripheral 22.
In the present embodiment, as shown in fig. 2, the virtual machine 17 is provided with a virtual machine adapter 18, a simulation hardware peripheral module 22, and a virtual machine hardware peripheral driver module 21. Wherein:
the virtual machine adapter 18 is used for processing a device/use case management request sent by the web backend on the virtual machine;
the simulation hardware peripheral module 22 is a simulation hardware peripheral module added according to the host hypervisor equipment model standard and used for simulating chip behaviors in the virtual machine operating system, such as various hardware coding and decoding algorithm accelerator cards based on PCIe interfaces;
the virtual machine hardware peripheral driver module 21 is configured to drive a hardware driver 22 of the simulation hardware to be tested, and load a command lsmod through a virtual machine operating system interface, such as a driver module of a Linux platform, and install the command lsmod into the virtual machine operating system.
In some embodiments of the present invention, virtual machine adapter 18 comprises:
the virtual machine command analysis module 19 is configured to analyze the virtual machine command 19, and is configured to receive an operation request for the test case sent by the case agent management module, and convert the operation request into an operation command of the corresponding test case;
a virtual machine command processing module 20, where the virtual machine command processing module 20 is configured to execute a corresponding test case based on the operation command of the test case analyzed by the virtual machine command analysis module 19.
In this embodiment, as shown in fig. 2, the virtual machine adapter includes: a virtual machine command parsing module 19 and a virtual machine command processing module 20, wherein:
the virtual machine command analysis module 19 is used for calling different command processing interfaces according to the received test command;
the virtual machine command processing module 20 provides various command processing interfaces including:
a) A heartbeat request, which is used for reporting heartbeat information representing the survival state of the machine;
b) Equipment control, namely executing control operations such as hardware reset, register reading and writing and the like on the simulation hardware to be tested;
c) And executing the use case, namely executing the function/performance test operation under various user scenes on the simulation hardware to be tested.
In actual operation, the virtual machine command parsing module 19 sends a corresponding command to the virtual machine command processing module 20.
In some embodiments of the present invention, back-end test module 24 further comprises:
an HTTP load balancing module 4, where the HTTP load balancing module 4 is configured to map the test request sent by the front-end control module to a corresponding Web backend in the backend test module.
In this embodiment, the back-end testing module 24 further includes an HTTP load balancing module 4 and an HTTP load balancing module 4, which are used to map HTTP requests of different users to different web back-ends, and improve access performance and reliability of the web users through technologies such as web service cluster and database sub-table division and backup of the web back-ends.
In some embodiments of the present invention, back-end test module 24 further comprises:
the adapter message forwarding module 10 is configured to forward an operation request for the device and/or an operation request for the test case sent by the Web backend to the corresponding host adapter 12 and/or virtual machine adapter 18.
In this embodiment, as shown in fig. 2, the adaptor message forwarding module 10 is a message transmission channel between the backend web of the host. Messages are forwarded between the web backend 5 and the host adapter 12/virtual machine adapter 18 via a message queue protocol, including but not limited to advanced message queue protocol, publish-subscribe protocol, and the like.
The embodiment is as follows:
further, as shown in fig. 2, reference numerals (1) to (6) in fig. 2 show a deployment process of the virtualized chip test system proposed by the present invention, which is detailed as follows:
(1) deploying a hardware peripheral driver, deploying the hardware peripheral driver on a host machine by using a host machine operating system driver loading interface such as a driver loading command lsmod of a Linux platform, and providing an access interface of physical hardware (such as an FPGA prototype verification platform before a chip stream chip, or a compression with chip packaging and an erasure coding and decoding algorithm PCIe acceleration card after the chip stream chip) of the host machine, such as an algorithm acceleration card compression interface, an erasure correction interface, a hard disk read-write interface and the like, and simultaneously deploying the hardware peripheral driver in a virtual machine image template and providing an access interface of simulation hardware after a virtual machine is started based on the virtual machine image template;
(2) deploying an adapter message forwarding module, operating a specific message protocol including but not limited to message middleware protocols based on MQTT, AMQP, kafka and the like, providing interfaces of publishing/subscribing and the like of the message, and forwarding the message from a publisher to a subscriber;
(3) deploying adapter software, and operating a command analysis and command processing module (comprising sub-modules of IP management, equipment creation \ deletion \ control, use case execution, heartbeat request and the like), wherein the command analysis module needs to subscribe a message containing a specific command (comprising equipment creation/deletion/control, use case execution and the like), and after the message subscription is successful, the message can be forwarded to the host adapter command analysis module by the adapter message forwarding module when a corresponding command is sent at the web back end. Meanwhile, adapter software is deployed in the virtual machine mirror image template and used for providing the same function after the virtual machine is started based on the virtual machine mirror image template;
(4) deploying an HTTP load balancer, and operating a specific HTTP load balancing algorithm, including but not limited to a DNS domain name resolution-based load balancing algorithm based on IP address consistency hash, a hardware-implemented load balancer and the like;
(5) deploying a web back end, operating an equipment management agent module and a use case management agent, wherein the equipment management agent module needs to subscribe a response message of an equipment management command (including equipment creation/deletion/control and the like) of a host machine/virtual machine adapter, the use case management agent needs to subscribe a response message of a use case execution command of the host machine/virtual machine adapter, so that after the back end host machine/virtual machine adapter executes a corresponding command, an adapter message forwarding module forwards a command response result to the web back end agent module, and the equipment management agent module simultaneously needs to subscribe a heartbeat request message of the host machine/virtual machine adapter, so that when the host machine/virtual machine adapter sends a heartbeat request, the adapter message forwarding module forwards the heartbeat message to the equipment management agent module;
(6) deploying a web front end, operating a device/use case management view, and waiting for receiving a device/use case management operation of a user;
further, the operation flow of the virtualized chip test system provided by the invention is detailed as follows:
1) A user submits a user creating request through a web front-end page, information such as a user name and a password is forwarded to a web back-end through a web service, and the information such as the user name and the password is stored in a database by the web back-end so as to be verified in the subsequent login process;
2) The host computer is started up and the host computer adapter is automatically started, the host computer adapter calls the heartbeat request module to issue continuously-changed heartbeat messages (including host computer names, IP addresses and the like), the heartbeat messages are forwarded to the equipment management agent module through the adapter message forwarding module, and the equipment management agent module updates the state of the host computer into the online state of the equipment and stores the online state of the equipment in a database;
3) The Web front-end page equipment display module is used for sending equipment state query information to the equipment management agent module at regular time, and after the equipment management agent module queries the host machine state information from the database, the equipment management agent module returns the host machine state information such as equipment online and IP addresses to the Web front-end page, and the Web front-end page displays the equipment state for a user to check;
4) A user submits an equipment creating request through a web front-end equipment management view, and request information comprises information such as the number of processor cores of a virtual machine, memory capacity, hard disk capacity, and identifiers of simulated hardware peripheral modules such as various hardware accelerator cards;
5) After receiving the device creation request, the Web back-end device management agent module further forwards the device creation request information to an adapter module of a certain host in the host cluster through an adapter message forwarding module according to a certain load balancing algorithm (such as a consistent hash algorithm comprehensively considering the IP address of the host and the number of created virtual machines);
6) The host machine adapter calls a local machine equipment creating module to create a virtual machine and distributes a simulation hardware peripheral module to the virtual machine according to the virtual machine configuration parameters contained in the received equipment request, then the virtual machine is started, and the details refer to fig. 2;
7) The virtual machine startup self-starting adapter module executes a command (including equipment creation/deletion/control, case execution and the like) message subscription process same as that of a host adapter, and simultaneously calls a heartbeat request module to issue continuously-changed heartbeat messages (including host names, IP addresses and the like), wherein the heartbeat messages are forwarded to an equipment management agent module through an adapter message forwarding module, and the equipment management agent module updates the state of a virtual machine into an online state of equipment and stores the online state of the equipment in a database;
8) The Web front-end page equipment display module is used for sending equipment state query information to the equipment management agent module at regular time, after the equipment management agent module queries the virtual machine state information from the database, the virtual machine state information such as equipment on-line, equipment off-line and the like is returned to a Web front-end page, and the Web front-end page displays the equipment state for a user to check;
9) A user creates a use case on a web front-end page according to an interface provided by a use case management view, or introduces the use case from an external file, the use case management view automatically sends a use case creation request to a web rear-end use case management agent, and the use case management agent stores use case data into a database after receiving use case creation request information;
10 After a user selects a to-be-executed use case and a to-be-tested device on a web front-end page and clicks a use case execution button, the web front-end page automatically sends a use case execution request to a web back-end use case management agent through a web server;
11 The use case management agent further forwards the request to a host machine adapter/a virtual machine adapter through an adapter message forwarding module according to equipment information contained in the use case execution request, the host machine/the virtual machine adapter calls a local use case execution module and further calls a hardware peripheral drive, and a use case is executed on the simulated hardware peripheral module;
12 After the host/virtual machine adapter finishes executing the use case, the use case execution state is forwarded to a use case management agent through an adapter message forwarding module, and the use case management agent stores the use case execution state into a database;
13 The Web front-end page sends a case state query request to the case management agent, the case management agent returns case state information to the Web front-end page after querying the case state request from the database, and the Web front-end page displays case execution states including success, failure, specific error codes and the like;
14 When the host/virtual machine cannot issue the heartbeat due to software and hardware abnormity (such as abnormal exit of the host/virtual machine adapter module and forced closing of the virtual machine), the equipment management agent module detects that the heartbeat of the host/virtual machine is overtime, changes the state of the host/virtual machine into the state of equipment offline and stores the equipment offline into the database, and returns the state of the equipment offline and displays the equipment offline state to the web front-end page when the web front-end page sends an equipment state query request;
in summary, the heartbeat request and the use case execution process of the host adapter and the virtual machine adapter are the same, and the only difference is that the host adapter has a device creation function and can create a virtual machine including a simulated hardware peripheral module and an execution software environment thereof.
Further, referring to fig. 3, fig. 3 shows a schematic flow diagram of creation/deletion of the device of the present invention, and the key execution flow in the way is as follows:
1) The equipment management agent module sends the parameters required by the backend host hypervisor to start the virtual machine, including the number of processors, the memory capacity, the hard disk capacity, the mirror image template identification, the analog hardware peripheral module identification and the like, to the adapter message forwarding module through the release message, and then the adapter message forwarding module forwards the messages to the host adapter;
2) The host machine adapter caches the received equipment creating request to a linked list, and the purpose is to avoid the blocking of an adapter message forwarding module due to the fact that messages in a message queue of the adapter message forwarding module are not taken away timely, so that the response speed of a web page is improved;
3) The host adapter informs the device management agent module to obtain the IP address through the message forwarding module, and the device management agent module obtains 1 IP address in an idle state from the IP address table of the database and modifies the state of the IP address into an in-use state;
4) Judging whether the virtual machine image of the appointed IP is created for the first time or not according to the fact that whether the host machine has the virtual machine image of which the file name comprises the suffix of the appointed IP address or not, if so, copying a new virtual machine image from a virtual machine image template, otherwise, multiplexing the previously copied virtual machine image, and avoiding the need of copying the image again every time;
5) Modifying an IP address configuration file in the virtual machine mirror image through a virtual machine mirror image operation software library such as libgustfs and the like;
6) Starting a heartbeat thread in the virtual machine adapter, continuously sending a device heartbeat message to the device management agent module through the adapter message forwarding module, updating the device state to be an online state after the device management agent module receives the heartbeat message, and storing the device state and the IP address information into a database;
7) Because the mirror image file name of the virtual machine has an IP address suffix, after the virtual machine is started, the name of the process of the virtual machine has an IP address identifier, the process can be inquired through the process filtering command of an operating system, such as commands of ps, grep and the like, and the process of the virtual machine can be killed and the virtual machine can be forcibly closed through the killing command of the operating system, such as a kill command and the like;
8) Restoring the IP of the virtual machine to be idle in the initial stage so as to obtain the IP again when equipment is created next time;
the hardware test environment may be customized by deploying different command processing modules for different virtual machine image templates.
The technical scheme of the invention provides a virtualized chip test system, which can bring the following beneficial effects:
the scheme reduces the use difficulty of the chip simulation test system. Technical personnel at any level can easily enter the system and use the tool to execute test verification work, the tester does not need to master professional knowledge such as various virtualization, operating systems, hardware principles, equipment drive development and test code development, and does not need multi-role matching to execute a chip test work, the test environment is simple to build, and only a computer provided with a browser is needed to be used as the test equipment.
The scheme reduces repeated environment building work of testers. The method comprises the steps of creating/deleting a flow and a general test case execution flow by automatic equipment, so that a tester can build a simulated hardware test environment for a specific chip only by adding hardware equipment for simulating chip behaviors in a hypervisor and deploying different test modules in different virtual machine mirror image templates, and repeated processes of virtual machine creation, operating system installation, network configuration and the like do not need to be executed.
The scheme reduces software and hardware abnormity caused by test environment conflict. The unified device management mechanism enables all users to execute the test only by using the test environment bound to the user, thereby avoiding the problem of test environment conflict caused by the fact that a plurality of users use the same test environment under the condition of mutual agnostic. The unified equipment creating process also avoids the problem of network address conflict or other environment deployment conflict caused when a plurality of users configure the network environment of the host machine and the virtual machine by themselves.
Claims (15)
1. A virtualized chip test system, comprising:
the system comprises a front-end control module, a back-end test module and a front-end control module, wherein the front-end control module is configured to receive a test request of a user and send the test request to the back-end test module;
and the back-end test module is configured to receive the test request sent by the front-end control module and execute the test operation corresponding to the test request according to the test request.
2. The system of claim 1, wherein the front end control module comprises a Web front end, the Web front end further comprising:
and the equipment management view is configured to provide an equipment management operation interface for a user and send an operation request of the user for equipment to the back-end test module.
3. The system of claim 2, wherein the Web front end further comprises:
and the case management view is configured to provide a management operation interface of the test case for the user and send an operation request of the user for the test case to the back-end test module.
4. The system of claim 1, wherein the back-end test module comprises a Web back-end, the Web back-end further comprising:
and the equipment management agent module is configured to receive the operation request for the equipment sent by the front-end control module and send the operation request for the equipment to a host machine in the rear-end test module.
5. The system of claim 4, wherein the Web backend further comprises:
and the case agent management module is configured to receive the operation request for the test case sent by the front-end control module and send the operation request for the test case to a corresponding virtual machine in the back-end test module.
6. The system of claim 5, wherein the back-end test module further comprises a host configured to create one or more virtual machines for chip testing and manage the created virtual machines.
7. The system of claim 5, wherein the back-end test module further comprises:
the host adapter is configured to process the test request sent by the front-end control module;
a physical hardware peripheral configured to simulate a chip to be tested;
a hardware peripheral driver configured to drive the physical hardware peripheral;
a virtual machine configured to emulate a host connected to the physical hardware peripheral.
8. The system of claim 7, wherein the host adapter comprises:
and the host command analysis module is configured to analyze the operation request for the equipment sent by the equipment management agent module and call different command processing interfaces based on the operation request.
9. The system of claim 8, wherein the host adapter further comprises:
and the host machine command processing module is configured to receive the processing command sent by the host machine command analysis module and manage the virtual machine according to the processing command.
10. The system of claim 7, wherein the virtual machine comprises:
the virtual machine adapter is configured to receive an operation request for the test case sent by the case agent management module and execute an operation corresponding to the test case according to the operation request;
a simulated hardware peripheral module configured to simulate the physical hardware peripheral according to a virtualized device model standard based on the physical hardware peripheral on a host;
the hardware peripheral driving module of the virtual machine is configured to drive the hardware peripheral of the virtual machine.
11. The system of claim 10, wherein the virtual machine adapter comprises:
and the virtual machine command analysis module is configured to receive an operation request for the test case sent by the case agent management module and convert the operation request into an operation command of the corresponding test case.
12. The system of claim 11, wherein the virtual machine adapter comprises:
and the virtual machine command processing module is configured to execute the corresponding test case based on the operation command of the test case analyzed by the virtual machine command analysis module.
13. The system of claim 1, wherein the back-end test module further comprises:
and the HTTP load balancing module is configured to map the test request sent by the front-end control module to a corresponding Web back end in the back-end test module.
14. The system of claim 1, the back-end test module further comprising:
and the adapter message forwarding module is configured to forward an operation request for equipment and/or an operation request for a test case, which are sent by the Web back end, to the corresponding host adapter and/or virtual machine adapter.
15. The system of claim 1, wherein the back-end test module further comprises:
a database configured to store data generated by the back-end test module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210913004.3A CN115203054A (en) | 2022-07-31 | 2022-07-31 | Virtual chip test system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210913004.3A CN115203054A (en) | 2022-07-31 | 2022-07-31 | Virtual chip test system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115203054A true CN115203054A (en) | 2022-10-18 |
Family
ID=83585500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210913004.3A Pending CN115203054A (en) | 2022-07-31 | 2022-07-31 | Virtual chip test system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203054A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116681013A (en) * | 2023-08-01 | 2023-09-01 | 无锡沐创集成电路设计有限公司 | Simulation verification method, platform, device, equipment and medium of network chip |
CN116828347A (en) * | 2023-08-31 | 2023-09-29 | 北京智芯微电子科技有限公司 | Remote monitoring device, testing system and method for chip reliability test |
-
2022
- 2022-07-31 CN CN202210913004.3A patent/CN115203054A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116681013A (en) * | 2023-08-01 | 2023-09-01 | 无锡沐创集成电路设计有限公司 | Simulation verification method, platform, device, equipment and medium of network chip |
CN116681013B (en) * | 2023-08-01 | 2023-10-03 | 无锡沐创集成电路设计有限公司 | Simulation verification method, platform, device, equipment and medium of network chip |
CN116828347A (en) * | 2023-08-31 | 2023-09-29 | 北京智芯微电子科技有限公司 | Remote monitoring device, testing system and method for chip reliability test |
CN116828347B (en) * | 2023-08-31 | 2023-12-05 | 北京智芯微电子科技有限公司 | Remote monitoring device, testing system and method for chip reliability test |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144439B2 (en) | Emulation-based testing of a microservices architecture | |
US20210311858A1 (en) | System and method for providing a test manager for use with a mainframe rehosting platform | |
US7971047B1 (en) | Operating system environment and installation | |
US7165189B1 (en) | Distributed test framework for clustered systems | |
CN115203054A (en) | Virtual chip test system | |
US20080320071A1 (en) | Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system | |
CN111338762A (en) | Request processing techniques | |
US9626284B2 (en) | Systems and methods to test programs | |
US9983988B1 (en) | Resuming testing after a destructive event | |
KR20130126251A (en) | System and method for web service monitoring | |
Schumilo et al. | Don’t trust your USB! How to find bugs in USB device drivers | |
US7472052B2 (en) | Method, apparatus and computer program product for simulating a storage configuration for a computer system | |
CN116681013B (en) | Simulation verification method, platform, device, equipment and medium of network chip | |
CN111813495A (en) | Node testing method and device, storage medium and electronic device | |
US9354962B1 (en) | Memory dump file collection and analysis using analysis server and cloud knowledge base | |
CN112764981B (en) | Cooperative testing system and method | |
CN116743619B (en) | Network service testing method, device, equipment and storage medium | |
US20030101040A1 (en) | Hardware simulation using a test scenario manager | |
CN115913913B (en) | Network card pre-starting execution environment function fault positioning method and device | |
CN115840617A (en) | Debugging method, system and related device | |
Sieh et al. | Umlinux-a versatile swifi tool | |
US11068371B2 (en) | Method and apparatus for simulating slow storage disk | |
CN111221687B (en) | Cloud storage testing system and method | |
CN117472516B (en) | Virtual resource scheduling method, device, cluster system, electronic equipment and medium | |
CN113157382B (en) | Virtual drive-based equipment calling 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 |