CN114816894A - Chip testing system, method, equipment and medium - Google Patents

Chip testing system, method, equipment and medium Download PDF

Info

Publication number
CN114816894A
CN114816894A CN202210760710.9A CN202210760710A CN114816894A CN 114816894 A CN114816894 A CN 114816894A CN 202210760710 A CN202210760710 A CN 202210760710A CN 114816894 A CN114816894 A CN 114816894A
Authority
CN
China
Prior art keywords
service interface
service
use case
interface
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210760710.9A
Other languages
Chinese (zh)
Other versions
CN114816894B (en
Inventor
郑俊飞
任明刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210760710.9A priority Critical patent/CN114816894B/en
Publication of CN114816894A publication Critical patent/CN114816894A/en
Application granted granted Critical
Publication of CN114816894B publication Critical patent/CN114816894B/en
Priority to PCT/CN2023/078372 priority patent/WO2024001251A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses a chip testing system, method, device and medium, the system includes: the system comprises an application layer, a communication layer, a virtualization layer, a hardware device layer and an engine layer, wherein the application layer is configured to convert user operation into a use case execution request and send the use case execution request to a use case service scheduling module based on a communication protocol of the communication layer; the use case service scheduling module is configured to call use case services on the virtual host based on the use case execution request; the case service is configured to obtain the test parameters from the case execution request and configure the test parameters to the hardware equipment; the hardware device is configured to call a corresponding algorithm acceleration engine to execute the test based on the test parameters, and return the test result to the application layer through the use case service scheduling module. The scheme of the invention improves the transportability, safety and reliability of the test system; the coupling between system modules is reduced and the system scalability is enhanced.

Description

Chip testing system, method, equipment and medium
Technical Field
The invention relates to the technical field of testing, in particular to a chip testing system, method, equipment and medium.
Background
The Web service is a distributed application software design method, can realize cross-platform, cross-programming language, low coupling, self-contained distributed application software, different software running on different network hosts, no matter what programming language, running platform and communication protocol are used, as long as the design is carried out according to the Web service, data can be exchanged arbitrarily without depending on third-party software and hardware.
With the increasing urgency of chip localization substitution requirements, numerous chip design companies emerge in the market, however, chip development features a long period, including a plurality of stages of architecture, design, test, tape-out post-test, and the like, in order to reduce the development period, researchers have designed many chip simulation test systems so that the work of chip design, verification, and the like can be executed in parallel.
The current common chip simulation test platform design method is that the whole system is divided into a front part and a back part, the front part displays a user interface and sends user operation to the back part, the back part adds hardware simulating chip behavior by using virtualization technology, then executes corresponding test flow according to a test command submitted by the front part, and returns a test result to the front part for display.
Although the chip simulation test system can test the chip, the following problems exist:
1) the system portability is poor. Since the test system is implemented based on a specific hypervisor (hypervisor), when the hypervisor is changed, all environment deployment operations such as image creation, system installation, starting, virtual machine shutdown, etc. need to be changed to a new hypervisor interface, and dynamic migration between virtual hosts is also not facilitated.
2) The system safety and reliability are poor. Because the system lacks mirror backup, dynamic migration, data and network security, state monitoring and other mechanisms and is not fully tested by internal and external users, the system is easy to develop imperfectly. For example, host storage media corruption is not considered, or anomalies that are difficult to recover are generated by internal and external attacks, such as denial of service attacks on the network, etc.
3) The system coupling degree is high and is not easy to expand. Because unified planning is not available, newly added hardware, drive and test codes are not only repeated, but also can influence the operation of the original module, and a great deal of energy is consumed to position the module conflict problem, so that many research and development personnel adopt modes of repeatedly installing virtual machines and the like to solve the conflict, and the resource consumption and environment deployment work are further increased.
Disclosure of Invention
In view of this, the invention provides a chip test system, method, device and medium, which solve the problems of poor portability, poor reliability, difficult expansion and the like of the existing test system, and shield the difference of the bottom layer hypervisor and reduce the extra environment deployment work brought by replacing the hypervisor by designing an application layer, a communication layer, a virtualization layer, a device layer and an engine layer; and the portability and the reliability of the system are improved by combining cloud platform software and hardware services such as identity authentication, mirror image service, dynamic migration and the like; and a plug-in type use case service development mechanism based on the web service supports the addition of any chip test item to the test system, and the new service is not coupled with other original services of the system, so that the operation of the original module is not influenced, and the expandability of the system is enhanced.
In view of the above, an aspect of the embodiments of the present invention provides a chip testing system, which specifically includes:
the system comprises an application layer, a communication layer, a virtualization layer, a hardware device layer and an engine layer, wherein the communication layer comprises a communication protocol; the virtualization layer comprises a use case service scheduling module, a cloud platform, a virtual service and a virtual host deployed on the cloud platform, and a use case service deployed on the virtual host, wherein the hardware device layer comprises hardware devices, and the engine layer comprises an algorithm acceleration engine for the hardware devices;
the application layer is configured to convert user operation into a use case execution request and send the use case execution request to the use case service scheduling module based on the communication protocol;
the use case service scheduling module is configured to call use case services on the virtual host based on the use case execution request;
the case service is configured to obtain test parameters from the case execution request and configure the test parameters to the hardware equipment;
the hardware equipment is configured to call a corresponding algorithm acceleration engine to execute the test based on the test parameters, and return the test result to the application layer through the use case service scheduling module.
In some embodiments, the application layer includes a user-operated interface;
the algorithm acceleration engine is configured to return a test result to the use case service of the virtual host after the test is finished;
the virtual host is configured to return the test result to the use case service scheduling module based on the use case service;
the use case service scheduling module is configured to further return the test result to an application layer and display the test result to the user operation interface.
In some embodiments, the use case service scheduling module comprises a service interface configuration module configured to:
the method comprises the steps of obtaining virtual services deployed to the cloud platform, and writing corresponding service interfaces into service interface configuration files in a hierarchical mode based on the virtual services, wherein each hierarchical layer comprises at least one service interface, and each service interface comprises a passive service interface, an active service interface and a lower-level service interface.
In some embodiments, the use case service scheduling module includes a service interface detection module and a service interface parsing module, and the service interface detection module is configured to:
detecting whether the service interface configuration file changes at regular time;
responding to the change of the service interface configuration file, triggering the service interface analysis module, and updating the service interface configuration file through the service interface analysis module;
the service interface analysis module is configured to read from the service interface configuration file and analyze the service interface line by line.
In some embodiments, the use case service scheduling module comprises a service interface parsing module configured to:
acquiring a next service interface in the hierarchy service interfaces;
judging whether the next service interface is the last service interface in the current-level service interface;
responding to the next service interface not being the last service interface in the current-level service interface, and judging whether a passive service interface of the next service interface is empty;
judging whether the active service interface of the next service interface is empty or not based on the judgment result of whether the passive service interface of the next service interface is empty or not;
judging whether a subordinate service interface of the next service interface is empty or not based on a judgment result of whether the active service interface of the next service interface is empty or not;
and responding to the lower-level service interface of the next service interface as empty or not, returning to the step of acquiring the next service interface of the current level to continue to analyze the next service interface of the current level until all service interfaces of the current level are analyzed.
In some embodiments, determining whether the active service interface of the next service interface is empty based on the determination of whether the passive service interface of the next service interface is empty comprises:
in response to that the passive service interface of the next service interface is not empty, registering the passive service interface in a service interface hash table, and judging whether the active service interface of the next service interface is empty or not, wherein the passive service interface is used for being called when a test request is received;
and responding to the fact that the passive service interface of the next service interface is empty, and directly judging whether the active service interface of the next service interface is empty or not.
In some embodiments, determining whether the subordinate service interface of the next service interface is empty based on the determination result of whether the active service interface of the next service interface is empty includes:
in response to that the active service interface of the next service interface is not empty, starting thread polling, and judging whether a subordinate service interface of the next service interface is empty, wherein the thread polling is used for calling the active service interface of the current-level service interface;
and in response to the active service interface of the next service interface being empty, directly judging whether a subordinate service interface of the next service interface is empty.
In some embodiments, in response to that the lower-level service interface of the next-level service interface is not empty, returning to the step of obtaining the next-level service interface of the current hierarchy to continue parsing the next-level service interface of the current hierarchy until all service interfaces of the current hierarchy are completely parsed, including:
responding to the fact that the lower-level service interface of the next service interface is not empty, acquiring the service interface of the next level based on the lower-level service interface, and recursively analyzing the service interface of the next level until all the service interfaces of all the lower levels are analyzed;
and returning to the step of acquiring the next service interface of the current level to continue to analyze the next service interface of the current level until all service interfaces of the current level are analyzed.
In some embodiments, the service interface parsing module is further configured to:
and in response to the next service interface being the last service interface in the service interfaces of the current hierarchy, ending the service interface resolution of the current hierarchy.
In some embodiments, the use case service scheduling module comprises a service interface triggering module configured to:
and in response to receiving the use case execution request, finding the corresponding service interface from the service interface hash table based on the message type field in the use case execution request.
In some embodiments, the use case service scheduling module comprises a service interface calling module configured to:
and calling the corresponding service interface to send a use case execution request to a Web server so as to forward the use case execution request to the use case service based on the Web server.
In some embodiments, the use case service is configured to invoke a hardware test tool and to invoke a corresponding hardware peripheral driver to drive a corresponding hardware device to perform a corresponding hardware test based on the hardware test tool.
In another aspect of the embodiments of the present invention, a chip testing method is further provided, which is applied to a testing system, and the method includes:
the application layer converts the user operation into a use case execution request and sends the use case execution request to the use case service scheduling module based on a communication protocol;
the use case service scheduling module calls use case services on the virtual host based on the use case execution request;
the case service acquires the test parameters from the case execution request and configures the test parameters to hardware equipment;
and the hardware equipment calls a corresponding algorithm acceleration engine to execute the test based on the test parameters, and returns the test result to the application layer through the use case service scheduling module.
In another aspect of the embodiments of the present invention, there is also provided a computer device, including: at least one processor; and a memory storing a computer program executable on the processor, the computer program when executed by the processor implementing the steps of the method as above.
In a further aspect of the embodiments of the present invention, a computer-readable storage medium is also provided, in which a computer program for implementing the above method steps is stored when the computer program is executed by a processor.
The invention has at least the following beneficial technical effects: 1) the portability of the system is improved. The hypervisor is replaced at the bottom layer of the system without modifying the environment deployment process, such as virtual machine image creation, operating system installation, starting, closing, suspending, virtual machine recovery and the like, and the image of a service interface for deploying a specific use case can be randomly migrated among bare metal, virtual machines and containers; 2) the safety and the reliability of the system are improved. Based on the mature mechanisms of user identity authentication, mirror image backup, dynamic migration, data and network security, state monitoring and the like of the cloud platform, as the cloud platform is subjected to large-scale user full tests, the system fault rate is low, the fault self-recovery capability is strong, and malicious network attacks of internal and external users can be effectively filtered; 3) the coupling between system modules is reduced and the system scalability is enhanced. The unified use case service scheduling module reduces repeated test code compiling work, and a use case service plug-in development framework based on the web service interface ensures that test modules developed by test developers cannot depend on each other, the coupling degree of each service interface is low, the problem that system faults caused by module coupling are difficult to locate is reduced, software and hardware test modules are newly added, and the operation of the original modules cannot be interfered.
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, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other embodiments can be obtained by using the drawings without creative efforts.
FIG. 1 is a schematic structural diagram of a chip test system according to an embodiment of the present invention;
FIG. 2 is a schematic structural diagram of a chip test system according to another embodiment of the present invention;
FIG. 3 is a diagram illustrating an embodiment of a service interface configuration file provided by the present invention;
FIG. 4 is a flow chart of the matching of the service interface hash table provided by the present invention;
FIG. 5 is a block diagram of an embodiment of a chip testing method provided by the present invention;
FIG. 6 is a schematic structural diagram of an embodiment of a computer device provided in the present invention;
fig. 7 is a schematic structural diagram of an embodiment of a computer-readable storage medium provided in 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.
It should be noted that all expressions using "first" and "second" in the embodiments of the present invention are used for distinguishing two entities with the same name but different names or different parameters, and it should be noted that "first" and "second" are merely for convenience of description and should not be construed as limitations of the embodiments of the present invention, and they are not described in any more detail in the following embodiments.
In view of the above objects, a first aspect of the embodiments of the present invention provides an embodiment of a chip testing system. As shown in fig. 1, the system includes:
an application layer 10, a communication layer 20, a virtualization layer 30, a hardware device layer 40, and an engine layer 50, wherein the communication layer 20 includes a communication protocol 21; the virtualization layer 30 includes a use case service scheduling module 31, a cloud platform 32, a virtual service 33 and a virtual host 34 deployed on the cloud platform 32, and a use case service 35 deployed on the virtual host 34, the hardware device layer 40 includes a hardware device 41, and the engine layer 50 includes an algorithm acceleration engine 51 for the hardware device.
The test flow based on the test system is as follows:
s1, converting the user operation into a use case execution request by the application layer, and sending the use case execution request to a use case service scheduling module based on a communication protocol;
s2, the use case service scheduling module calls the use case service on the virtual host based on the use case execution request;
s3, the case service acquires the test parameters from the case execution request and configures the test parameters to the hardware equipment;
and S4, the hardware equipment calls the corresponding algorithm acceleration engine based on the test parameters to execute the test, and returns the test result to the application layer through the use case service scheduling module.
The application layer provides a user operation interface, converts user operation acquired through the user operation interface into a case execution request and sends the case execution request to a case service scheduling module of the virtualization layer, the case service scheduling module calls case services on different virtualization environments (namely virtual hosts, such as bare metal servers, virtual machines, containers and the like) according to test parameters, the case service calls bottom hardware (such as FPGA prototype verification platforms, post-tape-out hardware, simulation hardware, test stakes and the like) to execute tests, returns results to the case service scheduling module through the case services, and further returns to the user operation interface through the case service scheduling module.
The test system can be applied to the test of each stage of chip development, for example, the test of a plurality of stages such as a system architecture stage, a design stage, a tape-out stage and the like.
The test system realizes the test of the chip, and through the design of the application layer, the communication layer, the virtualization layer, the equipment layer and the engine layer, the difference of the bottom layer hypervisor is shielded, and the extra environment deployment work brought by replacing the hypervisor is reduced; and the portability and the reliability of the system are improved by combining cloud platform software and hardware services such as identity authentication, mirror image service, dynamic migration and the like; and the use case service scheduling module supports adding any chip test item to the test system, so that the new service is not coupled with other original services of the system, the operation of the original module is not influenced, and the expandability of the system is enhanced.
The application layer, the communication layer, the virtualization layer, the device layer, and the engine layer of the test system are described in more detail through a specific embodiment.
Fig. 2 is a schematic structural diagram of another chip testing system.
The functions of the various blocks of fig. 2 are described below.
The S001 application layer is used for displaying a user operation interface for a user, and the user operation interface comprises any one of S001, S002 and S003;
an S002 browser interface based on the graphic user operation interface of the web browser;
s003, a graphical user interface based on the desktop application graphic library;
s004, a command line interface, a user operation interface without graphic elements based on a terminal command line;
the S005 communication layer is used for communication between the application layer and the use case service scheduling module of the virtualization layer and comprises any one of S006, S007 and S008;
s006 hypertext transfer protocol (HTTP), an application layer data transfer protocol located above the network transport layer;
the S007 network transmission layer protocol is based on the data transmission protocol of the network transmission layer and can provide a socket font interface;
s008 advanced message queue protocol, based on application layer message publishing-subscribing protocol above network transmission layer;
the S009 virtualization layer is used for providing various carriers for test equipment, test environment and test case operation;
s010 uses the service scheduling of case, is used for receiving various test commands that the application layer sends;
s011 bare metal, wherein a physical server which can provide virtual software and hardware resources is arranged on a cloud platform and is one virtual host, and only one virtual host can be selected to be deployed on the cloud platform according to an application scene in each test;
s012 bare metal use case service, which is a use case service module running on a bare metal server and is one of virtual hosts, wherein only one virtual host can be selected to be deployed on a cloud platform according to an application scene in each test;
s013 the virtual machine, wherein the virtual machine can provide software and hardware resources on a cloud platform, is created through hypervisor software of a physical server, and has lower performance compared with bare metal configured in the same way due to the hypervisor software overhead;
s014, virtual machine case service, a case service module running on the virtual machine;
the method comprises the steps that S015, a container which uses a lightweight virtualization technology on a cloud platform can only run a single process generally;
s016 container use case service, a use case service module running on the container;
the system comprises an S017 cloud platform, a cloud computing platform and a cloud service platform, wherein the cloud computing platform provides virtual services such as computing, network, storage, application software and the like;
s018 is an authentication service that provides services for managing information such as user identity authentication, service rules, and service tokens;
s019 mirror image service, which provides services of registering, downloading and creating different types and versions of operating system mirror images;
s020 computing service, which provides life cycle management services such as creation, deletion, suspension, recovery and the like of a virtual machine;
s021 storage service, which provides block storage as a virtual hard disk and object storage service for storing object data;
s022 network service, provide services such as virtual switch/bridge, virtual router, DHCP, name space, etc.;
the S023 device layer is used for providing various hardware devices used for simulating chip behaviors, and only one hardware device can be selected to execute corresponding tests according to application scenes in each test;
s024 physical hardware, FPGA prototype verification hardware before tape-out, hardware after tape-out and the like;
s025 simulation hardware, namely simulation hardware equipment for simulating chip behaviors through software;
s026 test the stake, test the interface through the hardware that the software simulates, do not have any hardware function;
the S027 engine layer comprises various algorithm acceleration engines in hardware;
s028 compression, hardware acceleration engine of compression algorithm;
s029 erasure correction, hardware acceleration engine of erasure correction algorithm;
s030 is an encryption and decryption hardware acceleration engine of an encryption and decryption algorithm;
s031 RAID, hardware acceleration engine of redundant array of disks algorithm;
s032 network offload, hardware acceleration engine of algorithms of network protocols such as TCP/UDP/IP and the like;
and S033 an audio and video coding and decoding and a hardware acceleration engine of an audio and video coding and decoding algorithm.
The following describes a chip testing flow of the testing system with reference to fig. 2.
S11, after receiving a test case executed by a user on a user operation interface, the application layer converts the user operation into a case execution request, and forwards the case execution request to a case service scheduling module of the virtualization layer based on a certain communication protocol (including but not limited to a hypertext transfer protocol, a network transfer layer protocol, an advanced message queue protocol, etc.) of the communication layer;
s12, the use case service scheduling module submits the use case execution request to the web server, and the use case execution request is forwarded to the use case service on the corresponding virtual host (including but not limited to bare metal, virtual machine, container, etc.) through the web server;
s13, the use case service on the virtual host acquires the test parameters from the use case execution request, and configures the test parameters into corresponding hardware equipment (including but not limited to physical hardware, simulation hardware, test piles and the like), and the hardware equipment calls different hardware engines to execute corresponding test cases, including but not limited to compression, erasure correction, encryption and decryption, RAID, network offload, audio and video coding and decoding and the like;
s14, after the hardware engine finishes executing the test case, returning the test result to the case service of the virtual host;
s15, the case service of the virtual host further returns the test result to the case service scheduling module;
and S16, the use case service scheduling module further returns the test result to the application layer software and displays the test result to the operation interface.
The above scheme has the following advantages:
1) the portability of the system is improved. The hypervisor is replaced at the bottom layer of the system without modifying the environment deployment process, such as virtual machine image creation, operating system installation, starting, closing, suspending, virtual machine recovery and the like, and the image of a service interface for deploying a specific use case can be randomly migrated among bare metal, virtual machines and containers;
2) the safety and the reliability of the system are improved. Based on the mature mechanisms of user identity authentication, mirror image backup, dynamic migration, data and network security, state monitoring and the like of the cloud platform, the cloud platform is subjected to large-scale user sufficient tests, the system fault rate is low, the fault self-recovery capability is high, and malicious network attacks of internal and external users can be effectively filtered.
3) The coupling between system modules is reduced and the system scalability is enhanced. The unified use case service scheduling module reduces repeated test code compiling work, and a use case service plug-in development framework based on the web service interface ensures that test modules developed by test developers cannot depend on each other, the coupling degree of each service interface is low, the problem that system faults caused by module coupling are difficult to locate is reduced, software and hardware test modules are newly added, and the operation of the original modules cannot be interfered.
In some embodiments, the application layer includes a user-operated interface;
the algorithm acceleration engine is configured to return a test result to the use case service of the virtual host after the test is finished;
the virtual host is configured to return the test result to the use case service scheduling module based on the use case service;
the use case service scheduling module is configured to further return the test result to an application layer and display the test result to the user operation interface.
In some embodiments, the use case service scheduling module comprises a service interface configuration module configured to:
the method comprises the steps of obtaining virtual services deployed to the cloud platform, and writing corresponding service interfaces into service interface configuration files in a hierarchical mode based on the virtual services, wherein each hierarchical layer comprises at least one service interface, and each service interface comprises a passive service interface, an active service interface and a lower-level service interface.
As shown in fig. 3, a schematic diagram of a service interface configuration file is shown.
The specific process for configuring the service interface configuration file with reference to fig. 3 is as follows:
it is assumed that a service developer is developing a specific service, for example a test service for a certain chip. After the virtual service is deployed to a virtual machine mirror image template of the cloud platform, a service interface required by testing is written into a certain level of a configuration file based on the deployed virtual service and serves as a use case service interface of the level, each use case service interface comprises a passive service interface (used for executing command processing after receiving a command, such as equipment control and use case execution service), an active service interface (used for actively reporting service state, such as hardware interrupt processing and the like), and a lower level service interface (embodied in the lower level service interface if the service contains more sub-services, such as algorithm acceleration chip sub-test services of compression, erasure correction, redundant array and the like possibly contained in the use case execution service).
More specifically, the passive service interface is configured to execute command processing, such as device control, use case execution service, and the like, after receiving the command; the active service interface is used for actively reporting a service state, such as hardware interrupt processing and the like; the lower-level service interface is used for associating the sub-services, and if the current service comprises more sub-services, for example, the case execution service may comprise algorithm acceleration chip sub-test services such as compression, erasure correction, redundant array and the like, the sub-test services are embodied in the lower-level service interface.
In some embodiments, the use case service scheduling module includes a service interface detection module and a service interface parsing module, and the service interface detection module is configured to:
detecting whether the service interface configuration file changes at regular time;
responding to the change of the service interface configuration file, triggering the service interface analysis module, and updating the service interface configuration file through the service interface analysis module;
the service interface analysis module is configured to read from the service interface configuration file and analyze the service interface line by line.
The detection process of the service interface detection module is described below with reference to fig. 3.
S21, detecting whether the configuration file of the service interface changes at regular time;
s22, if the service interface configuration file changes, stopping all services;
and S23, triggering a service interface analysis module, and realizing online updating of the service interface configuration file through the service interface analysis module.
The following is the parsing process of the service interface parsing module:
analyzing the service interface line by line from the service interface configuration file;
if the passive service interface is not empty, the passive service interface is configured into a service interface hash table, and after the case service scheduling module receives the case execution message, the matched passive service interface is searched in the hash table according to the message type field to execute a corresponding test case;
if the active service interface is not empty, a thread is started to poll and call the service interface, and the service can report the running state of the service to application layer software through the interface if necessary, such as reporting hardware interrupt notification, hardware abnormal state information or other service abnormal state information.
Fig. 4 is a flow chart illustrating the matching of the hash table of the service interface.
The message type of each level of test parameters submitted by a user can trigger a service interface of a corresponding level, then the parameter 1 of the level is used as an identification field of the next level of test parameters, the same processing process is executed on the next level of test parameters, and different developers can configure different service interfaces for different cloud platform hosts, so that a customized test environment is realized.
In some embodiments, the use case service scheduling module comprises a service interface parsing module configured to:
acquiring a next service interface in the hierarchy service interfaces;
judging whether the next service interface is the last service interface in the current-level service interface;
responding to the next service interface not being the last service interface in the current-level service interface, and judging whether a passive service interface of the next service interface is empty;
judging whether the active service interface of the next service interface is empty or not based on the judgment result of whether the passive service interface of the next service interface is empty or not;
judging whether a subordinate service interface of the next service interface is empty or not based on a judgment result of whether the active service interface of the next service interface is empty or not;
and responding to the lower-level service interface of the next service interface as empty or not, returning to the step of acquiring the next service interface of the current level to continue to analyze the next service interface of the current level until all service interfaces of the current level are analyzed.
In some embodiments, determining whether the active service interface of the next service interface is empty based on the determination of whether the passive service interface of the next service interface is empty comprises:
in response to that the passive service interface of the next service interface is not empty, registering the passive service interface in a service interface hash table, and judging whether the active service interface of the next service interface is empty or not, wherein the passive service interface is used for being called when a test request is received;
and responding to the fact that the passive service interface of the next service interface is empty, and directly judging whether the active service interface of the next service interface is empty or not.
In some embodiments, determining whether the subordinate service interface of the next service interface is empty based on the determination result of whether the active service interface of the next service interface is empty includes:
in response to that the active service interface of the next service interface is not empty, starting thread polling, and judging whether a subordinate service interface of the next service interface is empty, wherein the thread polling is used for calling the active service interface of the current-level service interface;
and in response to the active service interface of the next service interface being empty, directly judging whether a subordinate service interface of the next service interface is empty.
In some embodiments, in response to that the lower-level service interface of the next-level service interface is not empty, returning to the step of obtaining the next-level service interface of the current hierarchy to continue parsing the next-level service interface of the current hierarchy until all service interfaces of the current hierarchy are completely parsed, including:
responding to the fact that the lower-level service interface of the next service interface is not empty, acquiring the service interface of the next level based on the lower-level service interface, and recursively analyzing the service interface of the next level until all the service interfaces of all the lower levels are analyzed;
and returning to the step of acquiring the next service interface of the current level to continue to analyze the next service interface of the current level until all service interfaces of the current level are analyzed.
In some embodiments, the service interface parsing module is further configured to:
and in response to the next service interface being the last service interface in the service interfaces of the current hierarchy, ending the service interface resolution of the current hierarchy.
The parsing procedure of the service interface parsing module is described below with reference to fig. 3.
S30, acquiring the next service interface in the service interfaces of the current level;
s31, judging whether the next service interface is the last service interface in the service interface of the current level;
s32, responding to the next service interface as the last service interface in the service interface of the hierarchy, and ending the service interface analysis of the hierarchy;
s33, responding to the fact that the next service interface is not the last service interface in the service interfaces of the hierarchy, and judging whether the passive service interface of the next service interface is empty or not;
s34, responding to the passive service interface of the next service interface is empty, directly executing the step S36;
s35, in response to the fact that the passive service interface of the next service interface is not empty, registering the passive service interface (namely, a callback interface) in a service interface hash table, wherein the passive service interface is used for calling when receiving the test request;
s36, judging whether the active service interface of the next service interface is empty;
s37, responding to the fact that the active service interface of the next service interface is empty, directly executing the step S39;
s38, in response to the fact that the active service interface of the next service interface is not empty, thread polling is started, and the thread polling is used for calling the active service interface of the current-level service interface;
s39, judging whether the lower service interface of the next service interface is empty;
and S40, responding to the fact that the lower-level service interface of the next-level service interface is empty, returning to the step of acquiring the next-level service interface of the current level to continue analyzing the next-level service interface of the current level until all service interfaces of the current level are analyzed.
S41, responding to the fact that the lower-level service interface of the next service interface is not empty, acquiring the service interface of the next level based on the lower-level service interface, and recursively analyzing the service interface of the next level until all the service interfaces of all the lower levels are analyzed;
and S42, returning to the step of obtaining the next service interface of the current level to continue to analyze the next service interface of the current level until all service interfaces of the current level are analyzed.
In the embodiment, repeated test code compiling work is reduced through the unified use case service scheduling module, the coupling degree of each service interface is reduced through detection and analysis of the service interface configuration file, the problem that system faults caused by module coupling are difficult to locate is solved, software and hardware test modules are newly added, the original module operation is not interfered, and therefore the coupling among system modules is reduced, and the system expandability is enhanced.
In some embodiments, the use case service scheduling module comprises a service interface triggering module configured to:
and in response to receiving the use case execution request, finding the corresponding service interface from the service interface hash table based on the message type field in the use case execution request.
The triggering process of the service interface triggering module is described below with reference to fig. 3.
S51, executing a use case on the application layer software operation interface by a user;
s52, the application layer software converts the user operation into a use case execution request, and sends the use case execution request to the use case service scheduling module, and triggers the use case scheduling module to search the hash table to execute the corresponding service interface.
In the embodiment, through the unified use case service scheduling module, repeated test code compiling work is reduced, the coupling degree of each service interface is reduced through the configuration of the service interface file, the problem that system faults caused by module coupling are difficult to locate is solved, the software and hardware test module is newly added, the original module operation is not interfered, and therefore the coupling among system modules is reduced, and the system expandability is enhanced.
In some embodiments, the use case service scheduling module comprises a service interface calling module configured to:
and calling the corresponding service interface to send a use case execution request to a Web server so as to forward the use case execution request to the use case service based on the Web server.
The calling process of the service interface calling module is explained below with reference to fig. 3.
S61, when the service interface calling module calls the corresponding service interface (callback interface), the service interface calling module will automatically submit the use case execution request to the web server;
s62, the web server forwards the use case execution request to the corresponding use case service;
s63, calling hardware testing tools written by various programming languages with the use of the case service, such as auduino control tools written by python, PCIe reset tools written by c and the like;
s64, calling a hardware device (peripheral) driver to execute hardware test operation by various hardware test tools;
and S65, controlling the physical/analog hardware device to execute corresponding hardware test operation by the hardware device driver.
The embodiment reduces repeated test code compiling work through a unified use case service scheduling module, and a use case service plug-in development framework based on the web service interface ensures that test modules developed by test developers cannot depend on each other, the coupling degree of each service interface is low, the problem that system faults caused by module coupling are difficult to locate is reduced, software and hardware test modules are newly added, the original module operation is not interfered, and the coupling among system modules is reduced and the system expandability is enhanced.
In some embodiments, the use case service is configured to invoke a hardware test tool and to invoke a corresponding hardware peripheral driver to drive a corresponding hardware device to perform a corresponding hardware test based on the hardware test tool.
Based on the same inventive concept, according to another aspect of the present invention, as shown in fig. 5, an embodiment of the present invention further provides a chip testing method applied to a testing system, where the method includes:
s100, converting user operation into a use case execution request by an application layer, and sending the use case execution request to the use case service scheduling module based on a communication protocol;
s200, the use case service scheduling module calls use case services on the virtual host based on the use case execution request;
s300, the case service acquires the test parameters from the case execution request and configures the test parameters to hardware equipment;
s400, the hardware equipment calls a corresponding algorithm acceleration engine to execute the test based on the test parameters, and returns the test result to the application layer through the use case service scheduling module.
Based on the same inventive concept, according to another aspect of the present invention, as shown in fig. 6, the embodiment of the present invention further provides a computer device 30, in which the computer device 30 comprises a processor 310 and a memory 320, the memory 320 stores a computer program 321 that can run on the processor, and the processor 310 executes the program to perform the steps of the above method.
The memory, as a non-volatile computer-readable storage medium, may be used to store a non-volatile software program, a non-volatile computer-executable program, and modules, such as program instructions/modules corresponding to the chip testing method in the embodiments of the present application. The processor executes various functional applications and data processing of the device by running the nonvolatile software programs, instructions and modules stored in the memory, that is, the chip testing method of the above method embodiment is realized.
The memory 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 the use of the device, and the like. Further, the memory may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, the memory optionally includes memory located remotely from the processor, and such remote memory may be coupled to the local module 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.
Based on the same inventive concept, according to another aspect of the present invention, as shown in fig. 7, an embodiment of the present invention further provides a computer-readable storage medium 40, where the computer-readable storage medium 40 stores a computer program 410, which when executed by a processor, performs the above method.
Finally, it should be noted that, as will be understood by those skilled in the art, all or part of the processes of the methods of the above embodiments may be implemented by a computer program, which may be stored in a computer-readable storage medium, and when executed, may include the processes of the embodiments of the methods described above. The storage medium of the program may be a magnetic disk, an optical disk, a Read Only Memory (ROM), a Random Access Memory (RAM), or the like. The embodiments of the computer program may achieve the same or similar effects as any of the above-described method embodiments.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as software or hardware depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosed embodiments of the present invention.
The foregoing are exemplary embodiments of the present disclosure, but it should be noted that various changes and modifications could be made herein without departing from the scope of the present disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the disclosed embodiments described herein need not be performed in any particular order. The numbers of the embodiments disclosed in the above embodiments of the present invention are merely for description, and do not represent the advantages or disadvantages of the embodiments. Furthermore, although elements of the disclosed embodiments of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
It should be understood that, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly supports the exception. It should also be understood that "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items.
Those of ordinary skill in the art will understand that: the discussion of any embodiment above is meant to be exemplary only, and is not intended to intimate that the scope of the disclosure, including the claims, of embodiments of the invention is limited to these examples; within the idea of an embodiment of the invention, also technical features in the above embodiment or in different embodiments may be combined and there are many other variations of the different aspects of the embodiments of the invention as described above, which are not provided in detail for the sake of brevity. Therefore, any omissions, modifications, substitutions, improvements, and the like that may be made without departing from the spirit and principles of the embodiments of the present invention are intended to be included within the scope of the embodiments of the present invention.

Claims (15)

1. A chip test system, comprising:
the system comprises an application layer, a communication layer, a virtualization layer, a hardware device layer and an engine layer, wherein the communication layer comprises a communication protocol; the virtualization layer comprises a use case service scheduling module, a cloud platform, a virtual service and a virtual host deployed on the cloud platform, and a use case service deployed on the virtual host, wherein the hardware device layer comprises hardware devices, and the engine layer comprises an algorithm acceleration engine for the hardware devices;
the application layer is configured to convert user operation into a use case execution request and send the use case execution request to the use case service scheduling module based on the communication protocol;
the use case service scheduling module is configured to call use case services on the virtual host based on the use case execution request;
the case service is configured to obtain test parameters from the case execution request and configure the test parameters to the hardware device;
the hardware equipment is configured to call a corresponding algorithm acceleration engine to execute the test based on the test parameters, and return the test result to the application layer through the use case service scheduling module.
2. The system of claim 1, wherein the application layer comprises a user interface;
the algorithm acceleration engine is configured to return a test result to the use case service of the virtual host after the test is finished;
the virtual host is configured to return the test result to the use case service scheduling module based on the use case service;
the use case service scheduling module is configured to further return the test result to an application layer and display the test result to the user operation interface.
3. The system of claim 1, wherein the use case service scheduling module comprises a service interface configuration module configured to:
the method comprises the steps of obtaining virtual services deployed to the cloud platform, and writing corresponding service interfaces into service interface configuration files in a hierarchical mode based on the virtual services, wherein each hierarchical layer comprises at least one service interface, and each service interface comprises a passive service interface, an active service interface and a lower-level service interface.
4. The system of claim 3, wherein the use case service scheduling module comprises a service interface detection module and a service interface parsing module, and wherein the service interface detection module is configured to:
detecting whether the service interface configuration file changes at regular time;
responding to the change of the service interface configuration file, triggering the service interface analysis module, and updating the service interface configuration file through the service interface analysis module;
the service interface analysis module is configured to read from the service interface configuration file and analyze the service interface line by line.
5. The system of claim 3, wherein the use case service scheduling module comprises a service interface parsing module configured to:
acquiring a next service interface in the hierarchy service interfaces;
judging whether the next service interface is the last service interface in the current-level service interface;
responding to the next service interface not being the last service interface in the current-level service interface, and judging whether a passive service interface of the next service interface is empty;
judging whether the active service interface of the next service interface is empty or not based on the judgment result of whether the passive service interface of the next service interface is empty or not;
judging whether a subordinate service interface of the next service interface is empty or not based on a judgment result of whether the active service interface of the next service interface is empty or not;
and responding to the lower-level service interface of the next service interface as empty or not, returning to the step of acquiring the next service interface of the current level to continue to analyze the next service interface of the current level until all service interfaces of the current level are analyzed.
6. The system of claim 5, wherein determining whether the active service interface of the next service interface is empty based on the determination of whether the passive service interface of the next service interface is empty comprises:
in response to that the passive service interface of the next service interface is not empty, registering the passive service interface in a service interface hash table, and judging whether the active service interface of the next service interface is empty or not, wherein the passive service interface is used for being called when a test request is received;
and responding to the fact that the passive service interface of the next service interface is empty, and directly judging whether the active service interface of the next service interface is empty or not.
7. The system of claim 5, wherein determining whether the subordinate service interface of the next service interface is empty based on the determination of whether the active service interface of the next service interface is empty comprises:
in response to that the active service interface of the next service interface is not empty, starting thread polling, and judging whether a subordinate service interface of the next service interface is empty, wherein the thread polling is used for calling the active service interface of the current-level service interface;
and in response to the active service interface of the next service interface being empty, directly judging whether a subordinate service interface of the next service interface is empty.
8. The system according to claim 5, wherein in response to the lower level service interface of the next service interface not being empty, returning to the step of obtaining the next service interface of the current hierarchy to continue parsing the next service interface of the current hierarchy until all service interfaces of the current hierarchy are parsed, the method comprises:
responding to the fact that the lower-level service interface of the next service interface is not empty, acquiring the service interface of the next level based on the lower-level service interface, and recursively analyzing the service interface of the next level until all the service interfaces of all the lower levels are analyzed;
and returning to the step of acquiring the next service interface of the current level to continue to analyze the next service interface of the current level until all service interfaces of the current level are analyzed.
9. The system of claim 5, wherein the service interface parsing module is further configured to:
and in response to the next service interface being the last service interface in the service interfaces of the current hierarchy, ending the service interface resolution of the current hierarchy.
10. The system of claim 1, wherein the use case service scheduling module comprises a service interface triggering module configured to:
and in response to receiving the use case execution request, finding the corresponding service interface from the service interface hash table based on the message type field in the use case execution request.
11. The system of claim 10, wherein the use case service scheduling module comprises a service interface call module configured to:
and calling the corresponding service interface to send a use case execution request to a Web server so as to forward the use case execution request to the use case service based on the Web server.
12. The system of claim 11, wherein the use case service is configured to invoke a hardware testing tool and to invoke a corresponding hardware peripheral driver to drive a corresponding hardware device to perform a corresponding hardware test based on the hardware testing tool.
13. A chip test method is characterized by being applied to a test system and comprising the following steps:
the application layer converts the user operation into a use case execution request and sends the use case execution request to a use case service scheduling module based on a communication protocol;
the use case service scheduling module calls use case services on the virtual host based on the use case execution request;
the case service acquires the test parameters from the case execution request and configures the test parameters to hardware equipment;
and the hardware equipment calls a corresponding algorithm acceleration engine to execute the test based on the test parameters, and returns the test result to the application layer through the use case service scheduling module.
14. A computer device, comprising:
at least one processor; and
memory storing a computer program operable on the processor, characterized in that the processor executes the program to perform the steps of the method as claimed in claim 13.
15. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method as claimed in claim 13.
CN202210760710.9A 2022-06-30 2022-06-30 Chip testing system, method, equipment and medium Active CN114816894B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210760710.9A CN114816894B (en) 2022-06-30 2022-06-30 Chip testing system, method, equipment and medium
PCT/CN2023/078372 WO2024001251A1 (en) 2022-06-30 2023-02-27 Chip test system and method, and device and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210760710.9A CN114816894B (en) 2022-06-30 2022-06-30 Chip testing system, method, equipment and medium

Publications (2)

Publication Number Publication Date
CN114816894A true CN114816894A (en) 2022-07-29
CN114816894B CN114816894B (en) 2022-12-02

Family

ID=82522541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210760710.9A Active CN114816894B (en) 2022-06-30 2022-06-30 Chip testing system, method, equipment and medium

Country Status (2)

Country Link
CN (1) CN114816894B (en)
WO (1) WO2024001251A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116828347A (en) * 2023-08-31 2023-09-29 北京智芯微电子科技有限公司 Remote monitoring device, testing system and method for chip reliability test
WO2024001251A1 (en) * 2022-06-30 2024-01-04 苏州元脑智能科技有限公司 Chip test system and method, and device and medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108023952A (en) * 2017-12-04 2018-05-11 西安电子科技大学 A kind of modularization Internet of Things application rapid build platform combined based on cloud and mist
US20190245949A1 (en) * 2018-02-06 2019-08-08 Nicira, Inc. Packet handling based on virtual network configuration information in software-defined networking (sdn) environments
CN112671772A (en) * 2020-12-24 2021-04-16 国网冀北电力有限公司信息通信分公司 Network security service system and method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558307B1 (en) * 2014-12-31 2017-01-31 Cadence Design Systems, Inc. System and method for providing a scalable server-implemented regression query environment for remote testing and analysis of a chip-design model
CN111600760B (en) * 2020-05-25 2023-05-23 南方电网电力科技股份有限公司 Quality detection system, method and equipment of power grid operation monitoring system
CN111897724B (en) * 2020-07-21 2022-12-06 国云科技股份有限公司 Automatic testing method and device suitable for cloud platform
CN112463631A (en) * 2020-12-11 2021-03-09 苏州浪潮智能科技有限公司 Chip driver testing method, device and equipment and readable storage medium
CN114036060A (en) * 2021-11-24 2022-02-11 长江存储科技有限责任公司 Method, system and computer readable medium for chip testing
CN114816894B (en) * 2022-06-30 2022-12-02 苏州浪潮智能科技有限公司 Chip testing system, method, equipment and medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108023952A (en) * 2017-12-04 2018-05-11 西安电子科技大学 A kind of modularization Internet of Things application rapid build platform combined based on cloud and mist
US20190245949A1 (en) * 2018-02-06 2019-08-08 Nicira, Inc. Packet handling based on virtual network configuration information in software-defined networking (sdn) environments
CN112671772A (en) * 2020-12-24 2021-04-16 国网冀北电力有限公司信息通信分公司 Network security service system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024001251A1 (en) * 2022-06-30 2024-01-04 苏州元脑智能科技有限公司 Chip test system and method, and device and medium
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

Also Published As

Publication number Publication date
WO2024001251A1 (en) 2024-01-04
CN114816894B (en) 2022-12-02

Similar Documents

Publication Publication Date Title
US10623418B2 (en) Internet of Things security appliance
CN114816894B (en) Chip testing system, method, equipment and medium
US10642725B2 (en) Automated test generation for multi-interface enterprise virtualization management environment
US20170374101A1 (en) Security Policy Generation for Virtualization, Bare-Metal Server, and Cloud Computing Environments
US20130191105A1 (en) Virtual systems testing
US11163552B2 (en) Federated framework for container management
US20130111018A1 (en) Passive monitoring of virtual systems using agent-less, offline indexing
CN111367534A (en) Service arrangement method and system based on application environment
US20200410106A1 (en) Optimizing Operating System Vulnerability Analysis
US20190104024A1 (en) Bulk service mapping
US10685115B1 (en) Method and system for implementing cloud native application threat detection
CA3206084A1 (en) Distributed immutable data object testing
CN116541184A (en) Multi-protocol application framework system
US11552868B1 (en) Collect and forward
US20160232021A1 (en) Automated virtual machine provisioning based on defect state
US20170091076A1 (en) Debugging remote vertex code on test machine
TW201629768A (en) Infrastructure rule generation
US9823998B2 (en) Trace recovery via statistical reasoning
US20180198707A1 (en) Partial switching of network traffic
US10462234B2 (en) Application resilience system and method thereof for applications deployed on platform
CN115495731A (en) Container host platform-oriented lightweight attack detection method and device
US10572805B2 (en) Service modeling and execution
CN114661458A (en) Method and system for migration of provisioning to cloud workload through cyclic deployment and evaluation migration
CN113420288A (en) Container mirror image sensitive information detection system and method
CN111385253A (en) Vulnerability detection system for network security of power distribution automation system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant