WO2024001251A1 - Chip test system and method, and device and medium - Google Patents

Chip test system and method, and device and medium Download PDF

Info

Publication number
WO2024001251A1
WO2024001251A1 PCT/CN2023/078372 CN2023078372W WO2024001251A1 WO 2024001251 A1 WO2024001251 A1 WO 2024001251A1 CN 2023078372 W CN2023078372 W CN 2023078372W WO 2024001251 A1 WO2024001251 A1 WO 2024001251A1
Authority
WO
WIPO (PCT)
Prior art keywords
service interface
service
use case
interface
test
Prior art date
Application number
PCT/CN2023/078372
Other languages
French (fr)
Chinese (zh)
Inventor
郑俊飞
任明刚
Original Assignee
苏州元脑智能科技有限公司
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 苏州元脑智能科技有限公司 filed Critical 苏州元脑智能科技有限公司
Publication of WO2024001251A1 publication Critical patent/WO2024001251A1/en

Links

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

Definitions

  • the present application relates to the field of testing technology, and in particular, to a chip testing system, method, equipment and medium.
  • Web World Wide Web, Global Wide Area Network
  • Web service is a distributed application software design method that can realize cross-platform, cross-programming language, low-coupling, self-contained distributed application software, regardless of different software running on different network hosts.
  • programming language, operating platform, and communication protocol used as long as they are designed in accordance with Web services, data can be exchanged arbitrarily without relying on third-party software and hardware.
  • chip R&D is characterized by a long cycle, including multiple stages such as architecture, design, testing, tape-out, and post- tape-out testing.
  • stages such as architecture, design, testing, tape-out, and post- tape-out testing.
  • researchers designed many chip simulation test systems so that chip design, verification and other work can be executed in parallel.
  • the currently commonly used chip simulation test platform design method is: divide the entire system into two parts: the front end and the front end.
  • the front end displays the user interface and sends user operations to the back end.
  • the back end uses virtualization technology to add hardware that simulates chip behavior, and then based on The test command submitted by the front end executes the corresponding test flow and returns the test results to the front end for display.
  • this application proposes a chip testing system, method, equipment and medium to solve the problem of existing testing systems. Problems such as poor portability, poor reliability, and difficulty in expansion.
  • Problems such as poor portability, poor reliability, and difficulty in expansion.
  • the differences in the underlying hypervisor are shielded and the additional environment deployment work caused by replacing the hypervisor is reduced. ;
  • cloud platform software and hardware services such as identity authentication, mirror service, dynamic migration, etc., the portability and reliability of the system are improved; and the plug-in use case service development mechanism based on Web services supports adding any chip test items to the test System, the new service is not coupled with other original services of the system and will not affect the operation of the original modules, making the system more scalable.
  • the system specifically includes:
  • the communication layer includes communication protocols;
  • the virtualization layer includes use case service scheduling module, cloud platform, virtual services and virtual hosts deployed on the cloud platform, and deployment For use case services on virtual hosts,
  • the hardware device layer includes hardware devices, and the engine layer includes algorithm acceleration engines for hardware devices;
  • the application layer is configured to convert user operations into use case execution requests, and send the use case execution requests to the use case service scheduling module based on the communication protocol;
  • the use case service scheduling module is configured to call the use case service on the virtual host based on the use case execution request;
  • the use case service is configured to obtain test parameters from the use case execution request and configure the test parameters to the hardware device;
  • the hardware device is configured to call the corresponding algorithm acceleration engine based on the test parameters to execute the test, and return the test results to the application layer through the use case service scheduling module.
  • the application layer includes a user operation interface
  • the algorithm acceleration engine is configured to return the test results to the use case service of the virtual host after the test is completed;
  • the virtual host is configured to return test results 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 results to the application layer and display them to the user operation interface.
  • the use case service scheduling module includes a service interface configuration module, and the service interface configuration module is configured as:
  • Each level includes at least one service interface, and each service interface includes a passive service interface and an active service interface. and lower-level service interfaces.
  • the use case service scheduling module includes a service interface detection module and a service interface parsing module.
  • the service interface detection module is configured as:
  • the service interface parsing module In response to changes in the service interface configuration file, the service interface parsing module is triggered, and the service interface configuration file is updated through the service interface parsing module;
  • the service interface parsing module is configured to read from the service interface configuration file and parse the service interface line by line.
  • the use case service scheduling module includes a service interface parsing module, and the service interface parsing module is configured as:
  • determining whether the active service interface of the next service interface is empty includes:
  • judging whether the subordinate service interface of the next service interface is empty includes:
  • start thread polling In response to the active service interface of the next service interface not being empty, start thread polling to determine whether the subordinate service interface of the next service interface is empty. Thread polling is used to call the active service interface of this level service interface;
  • the service interface resolution module is also configured as:
  • the service interface resolution of this level is ended.
  • the use case service scheduling module includes a service interface triggering module, and the service interface triggering module is configured as:
  • the corresponding service interface is found from the service interface hash table based on the message type field in the use case execution request.
  • the use case service scheduling module includes a service interface calling module, and the service interface calling module is configured as:
  • the use case service is configured to call the hardware testing tool, and based on the hardware testing tool, call the corresponding hardware peripheral driver to drive the corresponding hardware device to perform the corresponding hardware test.
  • the test system includes: an application layer, a communication layer, a virtualization layer, a hardware device layer and an engine layer, where the communication layer includes communication Protocol; the virtualization layer includes the use case service scheduling module, the cloud platform, virtual services and virtual hosts deployed on the cloud platform, and use case services deployed on the virtual hosts.
  • the hardware device layer includes hardware devices, and the engine layer includes hardware devices.
  • Algorithm acceleration engine; methods include:
  • the application layer converts user operations into use case execution requests, and sends the use case execution requests to the use case service scheduling module based on the communication protocol;
  • the use case service scheduling module calls the use case service on the virtual host based on the use case execution request;
  • the use case service obtains test parameters from the use case execution request and configures the test parameters to the hardware device;
  • the hardware device calls the corresponding algorithm acceleration engine based on the test parameters to execute the test, and returns the test results to the application layer through the use case service scheduling module.
  • Another aspect of the embodiments of the present application also provides a computer device, including: at least one processor; and a memory.
  • the memory stores a computer program that can be run on the processor. When the computer program is executed by the processor, the above method is implemented. A step of.
  • a non-volatile readable storage medium stores a computer program that implements the above method steps when executed by a processor.
  • This application has at least the following beneficial technical effects: 1) Improves the portability of the system. Replacing the hypervisor at the bottom of the system does not require modification of the environment deployment process, such as virtual machine image creation, operating system installation, startup, shutdown, suspension, recovery of virtual machines, etc., and the image of the specific use case service interface can be deployed on bare metal, virtual machines, containers Any migration between them; 2) Improves the security and reliability of the system. Based on the cloud platform's mature user identity authentication, image backup, dynamic migration, data and network security, status monitoring and other mechanisms, and because the cloud platform has been fully tested by large-scale users, the system failure rate is low and the fault self-recovery capability is also strong.
  • the unified use case service scheduling module reduces repeated test code writing work.
  • the use case service plug-in development framework based on the Web service interface makes the test modules developed by each test developer not dependent on each other. The coupling degree of each service interface is low, reducing In order to solve the problem of difficulty in locating system faults caused by module coupling, the newly added software and hardware test modules will not interfere with the operation of the original modules.
  • Figure 1 is a schematic structural diagram of an embodiment of the chip testing system provided by this application.
  • FIG. 2 is a schematic structural diagram of another embodiment of the chip testing system provided by this application.
  • FIG. 3 is a schematic diagram of an embodiment of the service interface configuration file provided by this application.
  • Figure 4 is a matching flow chart of the service interface hash table provided by this application.
  • FIG. 5 is a block diagram of an embodiment of the chip testing method provided by this application.
  • Figure 6 is a schematic structural diagram of an embodiment of the computer equipment provided by the present application.
  • Figure 7 is a schematic structural diagram of an embodiment of a non-volatile readable storage medium provided by this application.
  • a first aspect of the embodiments of this application provides an embodiment of a chip testing system. As shown in Figure 1, the system includes:
  • the testing process based on the above test system is as follows:
  • the application layer converts user operations into use case execution requests, and sends the use case execution requests to the use case service scheduling module based on the communication protocol;
  • the use case service scheduling module calls the use case service on the virtual host based on the use case execution request;
  • the use case service obtains the test parameters from the use case execution request and configures the test parameters to the hardware device;
  • the hardware device calls the corresponding algorithm acceleration engine based on the test parameters to execute the test, and returns the test results to the application layer through the use case service scheduling module.
  • the application layer provides a user operation interface, and converts user operations obtained through the user operation interface into use case execution requests and sends them to the use case service scheduling module of the virtualization layer.
  • the use case service scheduling module calls different virtualization environments (i.e. virtual hosts) based on test parameters. , such as bare metal servers, virtual machines, containers, etc.), the use case service calls the underlying hardware (such as FPGA (Field Programmable Gate Array, field programmable logic gate array) prototype verification platform, post-strip hardware, simulation hardware, Test stubs, etc.) execute the test and return the results to the use case service scheduling module through the use case service, and further return to the user operation interface through the use case service scheduling module.
  • virtualization environments i.e. virtual hosts
  • test parameters such as bare metal servers, virtual machines, containers, etc.
  • the use case service calls the underlying hardware (such as FPGA (Field Programmable Gate Array, field programmable logic gate array) prototype verification platform, post-strip hardware, simulation hardware, Test
  • test system can be applied to testing at various stages of chip development, such as system architecture stage, design stage, tape-out stage, post- tape-out stage and other stages of testing.
  • the chip is tested, and through the design of the application layer, communication layer, virtualization layer, device layer and engine layer, the differences in the underlying hypervisor are shielded and the additional environment deployment work caused by replacing the hypervisor is reduced. ; And combined with cloud platform software and hardware services such as identity authentication, mirroring services, dynamic migration, etc., the portability and reliability of the system are improved; and the use case service scheduling module supports adding any chip test items to the test system, making new services compatible with Other original services of the system are not coupled and will not affect the operation of the original modules, thus enhancing the scalability of the system.
  • cloud platform software and hardware services such as identity authentication, mirroring services, dynamic migration, etc.
  • FIG. 2 it is a schematic structural diagram of another chip testing system.
  • the S001 application layer is used to display the user operation interface to the user.
  • the user operation interface includes any one of S001, S002, and S003;
  • S002 browser interface a graphical user operation interface based on a web browser
  • S004 command line interface a user operation interface based on the terminal command line and without graphical elements
  • S005 communication layer used for communication between the use case service scheduling module of the application layer and virtualization layer, including any one of S006, S007, and S008;
  • HTTP Hyper Text Transfer Protocol
  • S007 network transport layer protocol a data transmission protocol based on the network transport layer, can provide a socket form interface
  • S009 virtualization layer used to provide test equipment, test environment, and various carriers for test case execution
  • S010 use case service scheduling is used to receive various test commands from the application layer
  • S011 bare metal is a physical server that can provide virtual software and hardware resources on the cloud platform. It is a type of virtual host. Only one virtual host can be selected for each test and deployed on the cloud platform based on the application scenario;
  • S012 bare metal use case service a use case service module running on a bare metal server, is a type of virtual host. Only one virtual host can be selected for each test and deployed on the cloud platform based on the application scenario;
  • S013 virtual machine a virtual host that can provide software and hardware resources on the cloud platform, is created through the hypervisor software of the physical server. Due to the hypervisor software overhead, its performance is lower than that of bare metal with the same configuration;
  • S015 containers containers that use lightweight virtualization technology on cloud platforms, can usually only run a single process
  • S017 cloud platform a cloud computing platform that provides computing, network, storage, application software and other virtual services
  • S018 authentication service provides services for managing user identity authentication, service rules, service tokens and other information
  • S019 image service provides services for registering, downloading, and creating operating system images of different types and versions
  • S020 computing service provides life cycle management services such as creation, deletion, suspension and recovery of virtual machines
  • S021 storage service provides block storage as a virtual hard disk and object storage service for storing object data
  • S022 network service provides virtual switch/bridge, virtual router, DHCP (Dynamic Host Configuration Protocol), namespace and other services;
  • DHCP Dynamic Host Configuration Protocol
  • the S023 device layer provides various hardware devices that can be used to simulate chip behavior. Each test can only select one hardware device according to the application scenario to perform the corresponding test;
  • S026 test pile is a hardware test interface simulated by software and does not have any hardware functions
  • the S027 engine layer includes various algorithm acceleration engines within the hardware
  • S032 network offload (offload, a network fragmentation technology), network protocols such as TCP (Transmission Control Protocol, Transmission Control Protocol)/UDP (User Datagram Protocol, User Datagram Protocol)/IP (Internet Protocol, Internet Protocol), etc.
  • Algorithm hardware acceleration engine Algorithm hardware acceleration engine
  • the application layer After the application layer receives the user's execution of the test case on the user operation interface, the application layer converts the user operation into a use case execution request, and based on a certain communication protocol of the communication layer (including but not limited to hypertext transfer protocol, network transmission layer protocol, advanced message queue protocol, etc.) forward the use case execution request to the use case service scheduling module of the virtualization layer;
  • a certain communication protocol of the communication layer including but not limited to hypertext transfer protocol, network transmission layer protocol, advanced message queue protocol, etc.
  • the use case service scheduling module submits the use case execution request to the Web server, and forwards the use case execution request to the use case service on the corresponding virtual host (including but not limited to bare metal, virtual machines, containers, etc.) through the Web server;
  • the use case service on the virtual host obtains the test parameters from the use case execution request and configures the test parameters into the corresponding hardware devices (including but not limited to physical hardware, simulated hardware, test stubs, etc.).
  • the hardware devices call different hardware
  • the engine executes corresponding test cases, including but not limited to compression, erasure, encryption and decryption, RAID, network offload, audio and video codec, etc.;
  • the use case service of the virtual host further returns the test results to the use case service scheduling module;
  • the use case service scheduling module further returns the test results to the application layer software and displays them on the operation interface.
  • Unified use case service scheduling module to reduce The use case service plug-in development framework based on the Web service interface eliminates repetitive test code writing work, so that the test modules developed by each test developer will not depend on each other, and the coupling degree of each service interface is low, reducing system failures caused by module coupling. It is difficult to locate the problem. The newly added software and hardware test module will not interfere with the operation of the original module.
  • the application layer includes a user operation interface
  • the algorithm acceleration engine is configured to return the test results to the use case service of the virtual host after the test is completed;
  • the virtual host is configured to return test results 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 results to the application layer and display them to the user operation interface.
  • the use case service scheduling module includes a service interface configuration module, and the service interface configuration module is configured as:
  • Each level includes at least one service interface, and each service interface includes a passive service interface and an active service interface. and lower-level service interfaces.
  • FIG. 3 it is a schematic diagram of the service interface configuration file.
  • the service developer is developing a specific service, for example, the specific service is a testing service for a certain chip.
  • the deployed virtual service writes the service interface required for testing into a certain level of the configuration file as a use case service interface at that level.
  • Each use case service interface includes Passive service interface, active service interface, lower-level service interface (if the service contains more sub-services, such as use case execution service may include compression, erasure, redundant array and other algorithm acceleration chip sub-test services, it will be reflected in the lower-level service interface) .
  • the passive service interface is used to execute command processing after receiving the command, such as device control, use case execution services, etc.; the active service interface is used to proactively report service status, such as hardware interrupt processing, etc.; the subordinate service interface is used to associate sub-services. , if the current service contains more sub-services, for example, the use case execution service may include compression, erasure, redundant array and other algorithm acceleration chip sub-test services, it will be reflected in the lower-level service interface.
  • the use case service scheduling module includes a service interface detection module and a service interface parsing module.
  • the service interface detection module is configured as:
  • the service interface parsing module In response to changes in the service interface configuration file, the service interface parsing module is triggered, and the service interface configuration file is updated through the service interface parsing module;
  • the service interface parsing module is configured to read from the service interface configuration file and parse the service interface line by line.
  • S23 Trigger the service interface parsing module, and implement online updating of the service interface configuration file through the service interface parsing module.
  • the passive service interface If it is determined that the passive service interface is not empty, configure the passive service interface into the service interface hash table.
  • the use case service scheduling module receives the use case execution message, it searches for the matching passive service interface execution in the hash table according to the message type field. Corresponding test cases;
  • a thread will be started to poll and call the service interface.
  • the running status of the service can be reported to the application layer software when necessary, such as reporting hardware interrupt notifications, hardware exception status information, or Other service abnormal status information, etc.
  • the message type of each level of test parameters submitted by the user can trigger the service interface of the corresponding level. Then parameter 1 of this level is used as the identification field of the next-level test parameter, and the same processing process is performed on the lower-level test parameters.
  • Different developers can Configure different service interfaces for different cloud platform hosts to achieve a customized testing environment.
  • the use case service scheduling module includes a service interface parsing module, and the service interface parsing module is configured as:
  • determining whether the active service interface of the next service interface is empty includes:
  • judging whether the subordinate service interface of the next service interface is empty includes:
  • start thread polling In response to the active service interface of the next service interface not being empty, start thread polling to determine whether the subordinate service interface of the next service interface is empty. Thread polling is used to call the active service interface of this level service interface;
  • the service interface resolution module is also configured as:
  • the service interface resolution of this level is ended.
  • step S36 In response to the passive service interface of the next service interface being empty, step S36 is directly executed;
  • step S39 is directly executed;
  • Thread polling is used to call the active service interface of this level service interface
  • This embodiment uses a unified use case service scheduling module to reduce repeated test code writing work, reduces the coupling degree of each service interface through the detection and analysis of service interface configuration files, and reduces the difficulty in locating system faults caused by module coupling. , the newly added software and hardware test modules will not interfere with the operation of the original modules, thereby reducing the coupling between system modules and enhancing system scalability.
  • the use case service scheduling module includes a service interface triggering module, and the service interface triggering module is configured as:
  • the corresponding service interface is found from the service interface hash table based on the message type field in the use case execution request.
  • the application layer software converts the user operation into a use case execution request, sends the use case execution request to the use case service scheduling module, and triggers the use case service scheduling module to find the service interface corresponding to the hash table execution.
  • This embodiment uses a unified use case service scheduling module to reduce repeated test code writing work, reduces the coupling degree of each service interface through the configuration of service interface files, and reduces the difficulty in locating system faults caused by module coupling.
  • Newly added software The hardware test module will not interfere with the operation of the original modules, thus reducing the coupling between system modules and enhancing system scalability.
  • the use case service scheduling module includes a service interface calling module, and the service interface calling module is configured as:
  • the web server forwards the use case execution request to the corresponding use case service
  • the use case service calls hardware testing tools written in various programming languages, such as auduino (an open source electronic prototyping platform) control tool written in python (a computer programming language), or using C language (a computer programming language) Written PCIe (Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard) reset tool, etc.;
  • the hardware device driver controls the physical/simulated hardware device to perform corresponding hardware test operations.
  • This embodiment reduces repetitive test code writing work through a unified use case service scheduling module.
  • the use case service plug-in development framework based on the Web service interface makes the test modules developed by each test developer not dependent on each other, and the coupling degree of each service interface is improved. It is lower, which reduces the difficulty in locating system faults caused by module coupling.
  • the newly added software and hardware test modules will not interfere with the operation of the original modules, thus reducing the coupling between system modules and enhancing system scalability.
  • the use case service is configured to call the hardware testing tool, and based on the hardware testing tool, call the corresponding hardware peripheral driver to drive the corresponding hardware device to perform the corresponding hardware test.
  • an embodiment of the present application also provides a chip testing method, which is applied to the test system.
  • the method includes:
  • the application layer converts user operations into use case execution requests, and sends the use case execution requests to the use case service scheduling module based on the communication protocol;
  • the use case service scheduling module calls the use case service on the virtual host based on the use case execution request;
  • the use case service obtains test parameters from the use case execution request and configures the test parameters to the hardware device;
  • the hardware device calls the corresponding algorithm acceleration engine to execute the test based on the test parameters, and returns the test results to the application layer through the use case service scheduling module.
  • an embodiment of the present application also provides a computer device 30.
  • the computer device 30 includes a processor 310 and a memory 320.
  • the memory 320 stores There is a computer program 321 that can be run on the processor. When the processor 310 executes the program, it performs the steps of the above method.
  • the memory as a non-volatile readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions corresponding to the chip testing method in the embodiment of the present application. /module.
  • the processor executes various functions of the device by running non-volatile software programs, instructions and modules stored in the memory. Functional application and data processing are the chip testing methods that implement the above method embodiments.
  • the memory may include a program storage area and a data storage area, where the program storage area may store an operating system and an application program required for at least one function; the storage data area may store data created according to use of the device, etc.
  • 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.
  • the memory optionally includes memory located remotely from the processor, and these remote memories may be connected to the local module through a network. Examples of the above-mentioned networks include but are not limited to the Internet, intranets, local area networks, mobile communication networks and combinations thereof.
  • an embodiment of the present application also provides a non-volatile readable storage medium 40.
  • the non-volatile readable storage medium 40 stores A computer program 410 that performs the above method when executed by a processor.
  • the program can be stored in a computer-readable storage medium.
  • the storage medium of the program can be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM) or a random access memory (Random Access Memory, RAM), etc.
  • the foregoing computer program embodiments can achieve the same or similar effects as any of the corresponding foregoing method embodiments.

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)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A chip test system and method, and a device and a medium. The system comprises: an application layer (10), a communication layer (20), a virtualization layer (30), a hardware device layer (40), and an engine layer (50), wherein the application layer (10) is configured to convert a user operation into a use-case execution request, and send the use-case execution request to a use-case service scheduling module (31) on the basis of a communication protocol (21) of the communication layer; the use-case service scheduling module (31) is configured to call a use-case service (35) on a virtual host (34) on the basis of the use-case execution request; the use-case service (35) is configured to acquire a test parameter from the use-case execution request, and configure the test parameter to a hardware device (41); and the hardware device (41) is configured to invoke a corresponding algorithm acceleration engine (51) on the basis of the test parameter, so as to execute a test, and return a test result to the application layer (10) by means of the use-case service scheduling module (31). The system improves the portability, security and reliability of a test system, reduces the coupling between system modules, and enhances the expandability of the system.

Description

一种芯片测试系统、方法、设备及介质A chip testing system, method, equipment and medium
相关申请的交叉引用Cross-references to related applications
本申请要求于2022年06月30日提交中国专利局、申请号202210760710.9、申请名称为“一种芯片测试系统、方法、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application filed with the China Patent Office on June 30, 2022, with application number 202210760710.9 and the application title "A chip testing system, method, equipment and medium", the entire content of which is incorporated by reference in in this application.
技术领域Technical field
本申请涉及测试技术领域,尤其涉及一种芯片测试系统、方法、设备及介质。The present application relates to the field of testing technology, and in particular, to a chip testing system, method, equipment and medium.
背景技术Background technique
Web(World Wide Web,全球广域网)服务是一种分布式应用软件设计方法,可实现跨平台、跨编程语言、低耦合、自包含的分布式应用软件,不同网络主机上运行的不同软件,不论使用什么编程语言、运行平台、通信协议,只要都按照Web服务设计,即可不依赖第三方软硬件任意交换数据。Web (World Wide Web, Global Wide Area Network) service is a distributed application software design method that can realize cross-platform, cross-programming language, low-coupling, self-contained distributed application software, regardless of different software running on different network hosts. Regardless of the programming language, operating platform, and communication protocol used, as long as they are designed in accordance with Web services, data can be exchanged arbitrarily without relying on third-party software and hardware.
随着芯片国产化替代需求日益迫切,市场上涌现出众多芯片设计公司,然而芯片研发特征是周期较长,包含架构、设计、测试、流片、流片后测试等多个阶段,为了降低研发周期,研究人员设计了许多芯片仿真测试系统,以便芯片设计、验证等工作并行执行。As the demand for chip localization replacement becomes increasingly urgent, many chip design companies have emerged on the market. However, chip R&D is characterized by a long cycle, including multiple stages such as architecture, design, testing, tape-out, and post- tape-out testing. In order to reduce R&D costs, During the cycle, researchers designed many chip simulation test systems so that chip design, verification and other work can be executed in parallel.
目前通常采用的芯片仿真测试平台设计方法为:将整个系统分为前后端两部分,前端展示用户界面并将用户操作发送给后端,后端利用虚拟化技术添加模拟芯片行为的硬件,然后根据前端提交的测试命令执行相应的测试流,并将测试结果返回到前端进行展示。The currently commonly used chip simulation test platform design method is: divide the entire system into two parts: the front end and the front end. The front end displays the user interface and sends user operations to the back end. The back end uses virtualization technology to add hardware that simulates chip behavior, and then based on The test command submitted by the front end executes the corresponding test flow and returns the test results to the front end for display.
上述芯片仿真测试系统虽然能够对芯片进行测试,但是存在以下问题:Although the above chip simulation test system can test the chip, it has the following problems:
1)系统可移植性较差。由于测试系统基于特定hypervisor(管理程序)实现,当更换hypervisor时,所有环境部署操作如镜像创建、系统安装、启动、关闭虚拟机等,都需更换为新的hypervisor接口,并且也不便于虚拟主机之间的动态迁移。1) System portability is poor. Since the test system is implemented based on a specific hypervisor (management program), when the hypervisor is replaced, all environment deployment operations such as image creation, system installation, startup, and shutdown of virtual machines, etc., need to be replaced with the new hypervisor interface, and it is not convenient for virtual hosts. dynamic migration between.
2)系统安全及可靠性较差。由于系统缺少镜像备份、动态迁移、数据和网络安全、状态监控等机制,并且没有经过内外部用户充分测试,系统容易开发不完善。例如未考虑宿主机存储介质损坏,或者因受到内外部攻击如网络拒绝服务攻击等而产生难以恢复的异常。2) System security and reliability are poor. Because the system lacks mechanisms such as image backup, dynamic migration, data and network security, and status monitoring, and has not been fully tested by internal and external users, the system is prone to incomplete development. For example, damage to the host storage media is not considered, or exceptions that are difficult to recover from internal and external attacks such as network denial of service attacks are not considered.
3)系统耦合度较高不容易扩展。由于没有统一规划,新添加硬件、驱动和测试代码,不仅可能重复,还可能影响原有模块运行,需要耗费大量精力定位模块冲突问题,许多研发人员采用重复安装虚拟机等方式解决冲突,又进一步增加了资源消耗和环境部署工作。3) The system is highly coupled and difficult to expand. Since there is no unified planning, newly added hardware, drivers and test codes may not only be duplicated, but may also affect the operation of the original modules. It requires a lot of effort to locate module conflicts. Many R&D personnel use methods such as repeated installation of virtual machines to resolve conflicts, and further Increased resource consumption and environment deployment work.
发明内容Contents of the invention
有鉴于此,本申请提出了一种芯片测试系统、方法、设备及介质,解决了现有测试系统 可移植性差、可靠性差、扩展困难等问题,通过对应用层、通信层、虚拟化层、设备层以及引擎层的设计,屏蔽了底层hypervisor的差异,减少了更换hypervisor带来的额外环境部署工作;并且结合云平台软硬件服务如身份认证、镜像服务、动态迁移等,使得系统的可移植性和可靠性提高;并且基于Web服务的插件式用例服务开发机制,支持添加任何芯片测试项目到测试系统,新服务与系统原有其他服务没有耦合,不会影响原有模块运行,使得系统可扩展性增强。In view of this, this application proposes a chip testing system, method, equipment and medium to solve the problem of existing testing systems. Problems such as poor portability, poor reliability, and difficulty in expansion. Through the design of the application layer, communication layer, virtualization layer, device layer, and engine layer, the differences in the underlying hypervisor are shielded and the additional environment deployment work caused by replacing the hypervisor is reduced. ; And combined with cloud platform software and hardware services such as identity authentication, mirror service, dynamic migration, etc., the portability and reliability of the system are improved; and the plug-in use case service development mechanism based on Web services supports adding any chip test items to the test System, the new service is not coupled with other original services of the system and will not affect the operation of the original modules, making the system more scalable.
基于上述目的,本申请实施例的一方面提供了一种芯片测试系统,系统具体包括:Based on the above purpose, one aspect of the embodiments of the present application provides a chip testing system. The system specifically includes:
应用层、通信层、虚拟化层、硬件设备层和引擎层,其中,通信层包括通信协议;虚拟化层包括用例服务调度模块、云平台、部署于云平台上的虚拟服务和虚拟主机、部署于虚拟主机上的用例服务,硬件设备层包括硬件设备,引擎层包括用于硬件设备的算法加速引擎;Application layer, communication layer, virtualization layer, hardware device layer and engine layer. The communication layer includes communication protocols; the virtualization layer includes use case service scheduling module, cloud platform, virtual services and virtual hosts deployed on the cloud platform, and deployment For use case services on virtual hosts, the hardware device layer includes hardware devices, and the engine layer includes algorithm acceleration engines for hardware devices;
应用层配置为将用户操作转化为用例执行请求,并基于通信协议将用例执行请求发送到用例服务调度模块;The application layer is configured to convert user operations into use case execution requests, and send the use case execution requests to the use case service scheduling module based on the communication protocol;
用例服务调度模块配置为基于用例执行请求调用虚拟主机上的用例服务;The use case service scheduling module is configured to call the use case service on the virtual host based on the use case execution request;
用例服务配置为从用例执行请求中获取测试参数,并将测试参数配置到硬件设备;The use case service is configured to obtain test parameters from the use case execution request and configure the test parameters to the hardware device;
硬件设备配置为基于测试参数调用对应的算法加速引擎来执行测试,并将测试结果通过用例服务调度模块返回到应用层。The hardware device is configured to call the corresponding algorithm acceleration engine based on the test parameters to execute the test, and return the test results to the application layer through the use case service scheduling module.
在一些实施方式中,应用层包括用户操作界面;In some embodiments, the application layer includes a user operation interface;
算法加速引擎配置为在测试结束后,将测试结果返回到虚拟主机的用例服务;The algorithm acceleration engine is configured to return the test results to the use case service of the virtual host after the test is completed;
虚拟主机配置为基于用例服务将测试结果返回到用例服务调度模块;The virtual host is configured to return test results 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 results to the application layer and display them to the user operation interface.
在一些实施方式中,用例服务调度模块包括服务接口配置模块,服务接口配置模块配置为:In some implementations, the use case service scheduling module includes a service interface configuration module, and the service interface configuration module is configured as:
获取部署到云平台的虚拟服务,并基于虚拟服务将对应的服务接口分层级写入服务接口配置文件,其中每一层级包括至少一个服务接口,每一个服务接口包括被动服务接口、主动服务接口及下级服务接口。Obtain the virtual services deployed to the cloud platform, and write the corresponding service interfaces into the service interface configuration file hierarchically based on the virtual services. Each level includes at least one service interface, and each service interface includes a passive service interface and an active service interface. and lower-level service interfaces.
在一些实施方式中,用例服务调度模块包括服务接口检测模块和服务接口解析模块,服务接口检测模块配置为:In some implementations, the use case service scheduling module includes a service interface detection module and a service interface parsing module. The service interface detection module is configured as:
定时检测服务接口配置文件是否发生变化;Regularly detect whether the service interface configuration file has changed;
响应于服务接口配置文件发生变化,则触发服务接口解析模块,并通过服务接口解析模块对服务接口配置文件进行更新;In response to changes in the service interface configuration file, the service interface parsing module is triggered, and the service interface configuration file is updated through the service interface parsing module;
服务接口解析模块配置为从服务接口配置文件中读取并逐行解析服务接口。 The service interface parsing module is configured to read from the service interface configuration file and parse the service interface line by line.
在一些实施方式中,用例服务调度模块包括服务接口解析模块,服务接口解析模块配置为:In some implementations, the use case service scheduling module includes a service interface parsing module, and the service interface parsing module is configured as:
获取本层级服务接口中的下一个服务接口;Get the next service interface among the service interfaces at this level;
判断下一个服务接口是否为本层级服务接口中的最后一个服务接口;Determine whether the next service interface is the last service interface among the service interfaces at this level;
响应于下一个服务接口不为本层级服务接口中的最后一个服务接口,判断下一个服务接口的被动服务接口是否为空;In response to the next service interface not being the last service interface among the service interfaces at this level, determine whether the passive service interface of the next service interface is empty;
基于下一个服务接口的被动服务接口是否为空的判断结果,判断下一个服务接口的主动服务接口是否为空;Based on the judgment result of whether the passive service interface of the next service interface is empty, judge whether the active service interface of the next service interface is empty;
基于下一个服务接口的主动服务接口是否为空的判断结果,判断下一个服务接口的下级服务接口是否为空;Based on the judgment result of whether the active service interface of the next service interface is empty, judge whether the subordinate service interface of the next service interface is empty;
响应于下一个服务接口的下级服务接口为空或不为空,返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口。In response to the lower-level service interface of the next service interface being empty or not empty, return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until all the services of this level are parsed. Service interface.
在一些实施方式中,基于下一个服务接口的被动服务接口是否为空的判断结果,判断下一个服务接口的主动服务接口是否为空包括:In some implementations, based on the determination result of whether the passive service interface of the next service interface is empty, determining whether the active service interface of the next service interface is empty includes:
响应于下一个服务接口的被动服务接口不为空,在服务接口哈希表中注册被动服务接口,并判断下一个服务接口的主动服务接口是否为空,其中,被动服务接口用于在接收到测试请求时调用;In response to the passive service interface of the next service interface being not empty, register the passive service interface in the service interface hash table, and determine whether the active service interface of the next service interface is empty, where the passive service interface is used when receiving Called when testing a request;
响应于下一个服务接口的被动服务接口为空,则直接判断下一个服务接口的主动服务接口是否为空。In response to the passive service interface of the next service interface being empty, it is directly determined whether the active service interface of the next service interface is empty.
在一些实施方式中,基于下一个服务接口的主动服务接口是否为空的判断结果,判断下一个服务接口的下级服务接口是否为空,包括:In some implementations, based on the judgment result of whether the active service interface of the next service interface is empty, judging whether the subordinate service interface of the next service interface is empty includes:
响应于下一个服务接口的主动服务接口不为空,启动线程轮询,判断下一个服务接口的下级服务接口是否为空,其中,线程轮询用于调用本层级服务接口的主动服务接口;In response to the active service interface of the next service interface not being empty, start thread polling to determine whether the subordinate service interface of the next service interface is empty. Thread polling is used to call the active service interface of this level service interface;
响应于下一个服务接口的主动服务接口为空,则直接判断下一个服务接口的下级服务接口是否为空。In response to the active service interface of the next service interface being empty, it is directly determined whether the subordinate service interface of the next service interface is empty.
在一些实施方式中,响应于下一个服务接口的下级服务接口不为空,返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口,包括:In some implementations, in response to the lower-level service interface of the next service interface being not empty, return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until the current level is parsed. All service interfaces at the level, including:
响应于下一个服务接口的下级服务接口不为空,基于下级服务接口获取下一层级的服务接口,并递归解析下一层级的服务接口直到所有下层级的所有服务接口解析完毕; In response to the lower-level service interface of the next service interface not being empty, obtain the service interface of the next level based on the lower-level service interface, and recursively parse the service interface of the next level until all service interfaces of all lower levels are parsed;
返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口。Return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until all service interfaces of this level are parsed.
在一些实施方式中,服务接口解析模块还配置为:In some implementations, the service interface resolution module is also configured as:
响应于下一个服务接口为本层级服务接口中的最后一个服务接口,结束本层级的服务接口解析。In response to the next service interface being the last service interface among the service interfaces of this level, the service interface resolution of this level is ended.
在一些实施方式中,用例服务调度模块包括服务接口触发模块,服务接口触发模块配置为:In some implementations, the use case service scheduling module includes a service interface triggering module, and the service interface triggering module is configured as:
响应于接收到用例执行请求,基于用例执行请求中的消息类型字段从服务接口哈希表中查找到对应的服务接口。In response to receiving the use case execution request, the corresponding service interface is found from the service interface hash table based on the message type field in the use case execution request.
在一些实施方式中,用例服务调度模块包括服务接口调用模块,服务接口调用模块配置为:In some implementations, the use case service scheduling module includes a service interface calling module, and the service interface calling module is configured as:
调用对应的服务接口发送用例执行请求到Web服务器,以基于Web服务器将用例执行请求转发到用例服务。Call the corresponding service interface to send the use case execution request to the Web server to forward the use case execution request to the use case service based on the Web server.
在一些实施方式中,用例服务配置为调用硬件测试工具,并基于硬件测试工具调用对应的硬件外设驱动来驱动对应的硬件设备以执行相应的硬件测试。In some implementations, the use case service is configured to call the hardware testing tool, and based on the hardware testing tool, call the corresponding hardware peripheral driver to drive the corresponding hardware device to perform the corresponding hardware test.
本申请实施例的另一方面,还提供了一种芯片测试方法,应用于测试系统,测试系统包括:应用层、通信层、虚拟化层、硬件设备层和引擎层,其中,通信层包括通信协议;虚拟化层包括用例服务调度模块、云平台、部署于云平台上的虚拟服务和虚拟主机、部署于虚拟主机上的用例服务,硬件设备层包括硬件设备,引擎层包括用于硬件设备的算法加速引擎;方法包括:Another aspect of the embodiment of the present application also provides a chip testing method, which is applied to a test system. The test system includes: an application layer, a communication layer, a virtualization layer, a hardware device layer and an engine layer, where the communication layer includes communication Protocol; the virtualization layer includes the use case service scheduling module, the cloud platform, virtual services and virtual hosts deployed on the cloud platform, and use case services deployed on the virtual hosts. The hardware device layer includes hardware devices, and the engine layer includes hardware devices. Algorithm acceleration engine; methods include:
应用层将用户操作转化为用例执行请求,并基于通信协议将用例执行请求发送到用例服务调度模块;The application layer converts user operations into use case execution requests, and sends the use case execution requests to the use case service scheduling module based on the communication protocol;
用例服务调度模块基于用例执行请求调用虚拟主机上的用例服务;The use case service scheduling module calls the use case service on the virtual host based on the use case execution request;
用例服务从用例执行请求中获取测试参数,并将测试参数配置到硬件设备;The use case service obtains test parameters from the use case execution request and configures the test parameters to the hardware device;
硬件设备基于测试参数调用对应的算法加速引擎来执行测试,并将测试结果通过用例服务调度模块返回到应用层。The hardware device calls the corresponding algorithm acceleration engine based on the test parameters to execute the test, and returns the test results to the application layer through the use case service scheduling module.
本申请实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机程序,计算机程序由处理器执行时实现如上方法的步骤。Another aspect of the embodiments of the present application also provides a computer device, including: at least one processor; and a memory. The memory stores a computer program that can be run on the processor. When the computer program is executed by the processor, the above method is implemented. A step of.
本申请实施例的再一方面,还提供了一种非易失性可读存储介质,非易失性可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。 In another aspect of the embodiments of the present application, a non-volatile readable storage medium is also provided. The non-volatile readable storage medium stores a computer program that implements the above method steps when executed by a processor.
本申请至少具有以下有益技术效果:1)提高了系统的可移植性。系统底层更换hypervisor不需要修改环境部署流程,例如虚拟机镜像创建、操作系统安装、启动、关闭、挂起、恢复虚拟机等,并且部署特定用例服务接口的镜像可在裸金属、虚拟机、容器之间任意迁移;2)提高了系统的安全及可靠性。基于云平台成熟的用户身份认证、镜像备份、动态迁移、数据和网络安全、状态监控等机制,并且由于云平台经受大规模用户充分测试,系统故障率较低,故障自恢复能力也较强,并且可有效过滤内外部用户的恶意网络攻击;3)降低了系统模块间的耦合并增强了系统可扩展性。统一的用例服务调度模块,减少了重复的测试代码编写工作,基于Web服务接口的用例服务插件开发框架,使得各测试开发人员开发的测试模块不会互相依赖,各服务接口耦合度较低,减少了因模块耦合造成的系统故障难以定位问题,新增加软硬件测试模块,不会干扰原有模块运行。This application has at least the following beneficial technical effects: 1) Improves the portability of the system. Replacing the hypervisor at the bottom of the system does not require modification of the environment deployment process, such as virtual machine image creation, operating system installation, startup, shutdown, suspension, recovery of virtual machines, etc., and the image of the specific use case service interface can be deployed on bare metal, virtual machines, containers Any migration between them; 2) Improves the security and reliability of the system. Based on the cloud platform's mature user identity authentication, image backup, dynamic migration, data and network security, status monitoring and other mechanisms, and because the cloud platform has been fully tested by large-scale users, the system failure rate is low and the fault self-recovery capability is also strong. And it can effectively filter malicious network attacks from internal and external users; 3) Reduces the coupling between system modules and enhances system scalability. The unified use case service scheduling module reduces repeated test code writing work. The use case service plug-in development framework based on the Web service interface makes the test modules developed by each test developer not dependent on each other. The coupling degree of each service interface is low, reducing In order to solve the problem of difficulty in locating system faults caused by module coupling, the newly added software and hardware test modules will not interfere with the operation of the original modules.
附图说明Description of drawings
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。In order to explain the embodiments of the present application or the technical solutions in the prior art more clearly, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings in the following description are only These are some embodiments of the present application. For those of ordinary skill in the art, other embodiments can be obtained based on these drawings without exerting creative efforts.
图1为本申请提供的芯片测试系统的一实施例的结构示意图;Figure 1 is a schematic structural diagram of an embodiment of the chip testing system provided by this application;
图2为本申请提供的芯片测试系统的又一实施例的结构示意图;Figure 2 is a schematic structural diagram of another embodiment of the chip testing system provided by this application;
图3为本申请提供的服务接口配置文件的一实施例的示意图;Figure 3 is a schematic diagram of an embodiment of the service interface configuration file provided by this application;
图4为本申请提供的服务接口哈希表的匹配流程图;Figure 4 is a matching flow chart of the service interface hash table provided by this application;
图5为本申请提供的芯片测试方法的一实施例的框图;Figure 5 is a block diagram of an embodiment of the chip testing method provided by this application;
图6为本申请提供的计算机设备的一实施例的结构示意图;Figure 6 is a schematic structural diagram of an embodiment of the computer equipment provided by the present application;
图7为本申请提供的非易失性可读存储介质的一实施例的结构示意图。Figure 7 is a schematic structural diagram of an embodiment of a non-volatile readable storage medium provided by this application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请实施例进一步详细说明。In order to make the purpose, technical solutions and advantages of the present application more clear, the embodiments of the present application will be further described in detail below with reference to specific embodiments and the accompanying drawings.
需要说明的是,本申请实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本申请实施例的限定,后续实施例对此不再一一说明。It should be noted that all expressions using “first” and “second” in the embodiments of this application are intended to distinguish two entities or parameters with the same name but not the same. It can be seen that “first” and “second” It is only for the convenience of description and should not be understood as a limitation on the embodiments of the present application, and subsequent embodiments will not describe this one by one.
基于上述目的,本申请实施例的第一个方面,提出了一种芯片测试系统的实施例。如图1所示,系统包括:Based on the above purpose, a first aspect of the embodiments of this application provides an embodiment of a chip testing system. As shown in Figure 1, the system includes:
应用层10、通信层20、虚拟化层30、硬件设备层40和引擎层50,其中,通信层20包括通 信协议21;虚拟化层30包括用例服务调度模块31、云平台32、部署于云平台32上的虚拟服务33和虚拟主机34、部署于虚拟主机34上的用例服务35,硬件设备层40包括硬件设备41,引擎层50包括用于硬件设备的算法加速引擎51。The application layer 10, the communication layer 20, the virtualization layer 30, the hardware device layer 40 and the engine layer 50, where the communication layer 20 includes communication 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, a use case service 35 deployed on the virtual host 34, and the hardware device layer 40 includes The hardware device 41 and the engine layer 50 include an algorithm acceleration engine 51 for the hardware device.
基于上述测试系统进行测试的流程如下:The testing process based on the above test system is as follows:
S1、应用层将用户操作转化为用例执行请求,并基于通信协议将用例执行请求发送到用例服务调度模块;S1. The application layer converts user operations into use case execution requests, and sends the use case execution requests to the use case service scheduling module based on the communication protocol;
S2、用例服务调度模块基于用例执行请求调用虚拟主机上的用例服务;S2. The use case service scheduling module calls the use case service on the virtual host based on the use case execution request;
S3、用例服务从用例执行请求中获取测试参数,并将测试参数配置到硬件设备;S3. The use case service obtains the test parameters from the use case execution request and configures the test parameters to the hardware device;
S4、硬件设备基于测试参数调用对应的算法加速引擎来执行测试,并将测试结果通过用例服务调度模块返回到应用层。S4. The hardware device calls the corresponding algorithm acceleration engine based on the test parameters to execute the test, and returns the test results to the application layer through the use case service scheduling module.
应用层提供用户操作界面,并将通过用户操组界面获取的用户操作转为用例执行请求发送到虚拟化层的用例服务调度模块,用例服务调度模块根据测试参数调用不同虚拟化环境(即虚拟主机,例如裸金属服务器、虚拟机、容器等)上的用例服务,用例服务调用底层硬件(如FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)原型验证平台、流片后硬件、模拟硬件、测试桩等)执行测试并将结果通过用例服务返回到用例服务调度模块,通过用例服务调度模块进一步返回到用户操作界面。The application layer provides a user operation interface, and converts user operations obtained through the user operation interface into use case execution requests and sends them to the use case service scheduling module of the virtualization layer. The use case service scheduling module calls different virtualization environments (i.e. virtual hosts) based on test parameters. , such as bare metal servers, virtual machines, containers, etc.), the use case service calls the underlying hardware (such as FPGA (Field Programmable Gate Array, field programmable logic gate array) prototype verification platform, post-strip hardware, simulation hardware, Test stubs, etc.) execute the test and return the results to the use case service scheduling module through the use case service, and further return to the user operation interface through the use case service scheduling module.
上述测试系统可应用于芯片研发的各个阶段的测试,例如,系统架构阶段、设计阶段、流片阶段、流片后阶段等多个阶段的测试。The above-mentioned test system can be applied to testing at various stages of chip development, such as system architecture stage, design stage, tape-out stage, post- tape-out stage and other stages of testing.
通过上述测试系统实现了对芯片的测试,并且通过对应用层、通信层、虚拟化层、设备层以及引擎层的设计,屏蔽了底层hypervisor的差异,减少了更换hypervisor带来的额外环境部署工作;并且结合云平台软硬件服务如身份认证、镜像服务、动态迁移等,使得系统的可移植性和可靠性提高;并且用例服务调度模块,支持添加任何芯片测试项目到测试系统,使新服务与系统原有其他服务没有耦合,不会影响原有模块运行,增强了系统的可扩展性。Through the above test system, the chip is tested, and through the design of the application layer, communication layer, virtualization layer, device layer and engine layer, the differences in the underlying hypervisor are shielded and the additional environment deployment work caused by replacing the hypervisor is reduced. ; And combined with cloud platform software and hardware services such as identity authentication, mirroring services, dynamic migration, etc., the portability and reliability of the system are improved; and the use case service scheduling module supports adding any chip test items to the test system, making new services compatible with Other original services of the system are not coupled and will not affect the operation of the original modules, thus enhancing the scalability of the system.
下面通过一些具体的实施例对上述测试系统的应用层、通信层、虚拟化层、设备层以及引擎层进行更加具体的说明。The application layer, communication layer, virtualization layer, device layer and engine layer of the above test system will be described in more detail below through some specific embodiments.
如图2所示,为又一芯片测试系统的结构示意图。As shown in Figure 2, it is a schematic structural diagram of another chip testing system.
下面对图2中各个模块的功能进行介绍。The functions of each module in Figure 2 are introduced below.
S001应用层,用于给用户展示用户操作界面,用户操作界面包括S001、S002、S003中的任意一种;The S001 application layer is used to display the user operation interface to the user. The user operation interface includes any one of S001, S002, and S003;
S002浏览器界面,基于Web浏览器的图形用户操作界面;S002 browser interface, a graphical user operation interface based on a web browser;
S003图形用户界面,基于桌面应用图形库的图形用户操作界面; S003 graphical user interface, a graphical user operation interface based on desktop application graphics library;
S004命令行界面,基于终端命令行、无图形元素的用户操作界面;S004 command line interface, a user operation interface based on the terminal command line and without graphical elements;
S005通信层,用于在应用层和虚拟化层的用例服务调度模块之间通信,包括S006、S007、S008中的任意一种;S005 communication layer, used for communication between the use case service scheduling module of the application layer and virtualization layer, including any one of S006, S007, and S008;
S006超文本传输协议(Hyper Text Transfer Protocol,HTTP),一种位于网络传输层之上的应用层数据传输协议;S006 Hyper Text Transfer Protocol (HTTP), an application layer data transfer protocol located above the network transport layer;
S007网络传输层协议,基于网络传输层的数据传输协议,可提供套接字形式接口;S007 network transport layer protocol, a data transmission protocol based on the network transport layer, can provide a socket form interface;
S008高级消息队列协议,基于网络传输层之上的应用层消息发布-订阅协议;S008 Advanced Message Queuing Protocol, an application layer message publish-subscribe protocol based on the network transport layer;
S009虚拟化层,用于提供测试设备、测试环境、测试用例运行的各种载体;S009 virtualization layer, used to provide test equipment, test environment, and various carriers for test case execution;
S010用例服务调度,用于接收应用层发来的各种测试命令;S010 use case service scheduling is used to receive various test commands from the application layer;
S011裸金属,云平台上可提供虚拟软硬件资源的物理服务器,为虚拟主机的一种,每一次测试根据应用场景只能选取一种虚拟主机部署于云平台上;S011 bare metal is a physical server that can provide virtual software and hardware resources on the cloud platform. It is a type of virtual host. Only one virtual host can be selected for each test and deployed on the cloud platform based on the application scenario;
S012裸金属用例服务,运行在裸金属服务器之上的用例服务模块,为虚拟主机的一种,每一次测试根据应用场景只能选取一种虚拟主机部署于云平台上;S012 bare metal use case service, a use case service module running on a bare metal server, is a type of virtual host. Only one virtual host can be selected for each test and deployed on the cloud platform based on the application scenario;
S013虚拟机,云平台上可提供软硬件资源的虚拟主机,通过物理服务器的hypervisor软件创建,由于存在hypervisor软件开销,因此相比同样配置的裸金属性能较低;S013 virtual machine, a virtual host that can provide software and hardware resources on the cloud platform, is created through the hypervisor software of the physical server. Due to the hypervisor software overhead, its performance is lower than that of bare metal with the same configuration;
S014虚拟机用例服务,运行在虚拟机之上的用例服务模块;S014 virtual machine use case service, a use case service module running on a virtual machine;
S015容器,云平台上使用轻量级虚拟化技术的容器,通常只能运行单个进程;S015 containers, containers that use lightweight virtualization technology on cloud platforms, can usually only run a single process;
S016容器用例服务,运行在容器之上的用例服务模块;S016 container use case service, a use case service module running on the container;
S017云平台,提供计算、网络、存储、应用软件等虚拟服务的云计算平台;S017 cloud platform, a cloud computing platform that provides computing, network, storage, application software and other virtual services;
S018认证服务,提供管理用户的身份认证、服务规则和服务令牌等信息的服务;S018 authentication service provides services for managing user identity authentication, service rules, service tokens and other information;
S019镜像服务,提供注册、下载、创建不同种类、不同版本操作系统镜像的服务;S019 image service provides services for registering, downloading, and creating operating system images of different types and versions;
S020计算服务,提供虚拟机的创建、删除、挂起、恢复等生命周期管理的服务;S020 computing service provides life cycle management services such as creation, deletion, suspension and recovery of virtual machines;
S021存储服务,提供作为虚拟硬盘的块存储和用于存放对象数据的对象存储服务;S021 storage service provides block storage as a virtual hard disk and object storage service for storing object data;
S022网络服务,提供虚拟交换机/网桥、虚拟路由器、DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)、命名空间等服务;S022 network service provides virtual switch/bridge, virtual router, DHCP (Dynamic Host Configuration Protocol), namespace and other services;
S023设备层,提供各种用于可用于模拟芯片行为的硬件设备,每一次测试根据应用场景只能选取一种硬件设备来执行相应的测试;The S023 device layer provides various hardware devices that can be used to simulate chip behavior. Each test can only select one hardware device according to the application scenario to perform the corresponding test;
S024物理硬件,流片前FPGA原型验证硬件、流片后硬件等;S024 physical hardware, FPGA prototype verification hardware before tape-out, hardware after tape-out, etc.;
S025模拟硬件,通过软件模拟芯片行为的模拟硬件设备;S025 simulation hardware, a simulation hardware device that simulates chip behavior through software;
S026测试桩,通过软件模拟的硬件测试接口,不具备任何硬件功能; S026 test pile is a hardware test interface simulated by software and does not have any hardware functions;
S027引擎层,包含硬件内部各种算法加速引擎;The S027 engine layer includes various algorithm acceleration engines within the hardware;
S028压缩,压缩算法的硬件加速引擎;S028 compression, a hardware acceleration engine for compression algorithms;
S029纠删,纠删算法的硬件加速引擎;S029 erasure, hardware acceleration engine for erasure algorithm;
S030加解密,加解密算法的硬件加速引擎;S030 encryption and decryption, hardware acceleration engine for encryption and decryption algorithms;
S031 RAID(Redundant Array of Independent Disk,独立磁盘冗余系统),磁盘冗余阵列算法的硬件加速引擎;S031 RAID (Redundant Array of Independent Disk, independent disk redundancy system), the hardware acceleration engine of the disk redundant array algorithm;
S032网络offload(卸载,一种网络分片技术),网络协议如TCP(Transmission Control Protocol,传输控制协议)/UDP(User Datagram Protocol,用户数据报协议)/IP(Internet Protocol,网际互联协议)等算法的硬件加速引擎;S032 network offload (offload, a network fragmentation technology), network protocols such as TCP (Transmission Control Protocol, Transmission Control Protocol)/UDP (User Datagram Protocol, User Datagram Protocol)/IP (Internet Protocol, Internet Protocol), etc. Algorithm hardware acceleration engine;
S033音视频编解码,音视频编解码算法的硬件加速引擎。S033 audio and video codec, a hardware acceleration engine for audio and video codec algorithms.
下面结合图2,对测试系统进行芯片的测试流程进行说明。The following describes the chip testing process of the test system in conjunction with Figure 2.
S11、应用层在接收到用户在用户操作界面上执行测试用例后,应用层将用户操作转化为用例执行请求,并基于通信层的某种通信协议(包括但不限于超文本传输协议、网络传输层协议、高级消息队列协议等)转发用例执行请求到虚拟化层的用例服务调度模块;S11. After the application layer receives the user's execution of the test case on the user operation interface, the application layer converts the user operation into a use case execution request, and based on a certain communication protocol of the communication layer (including but not limited to hypertext transfer protocol, network transmission layer protocol, advanced message queue protocol, etc.) forward the use case execution request to the use case service scheduling module of the virtualization layer;
S12、用例服务调度模块将用例执行请求提交到Web服务器,通过Web服务器将用例执行请求转发到相应虚拟主机(包括但不限于裸金属、虚拟机、容器等)上的用例服务;S12. The use case service scheduling module submits the use case execution request to the Web server, and forwards the use case execution request to the use case service on the corresponding virtual host (including but not limited to bare metal, virtual machines, containers, etc.) through the Web server;
S13、虚拟主机上的用例服务从用例执行请求中获取测试参数,并将测试参数配置到相应的硬件设备(包括但不限于物理硬件、模拟硬件、测试桩等)中,硬件设备调用不同的硬件引擎执行相应的测试用例,包括但不限于压缩、纠删、加解密、RAID、网络offload、音视频编解码等;S13. The use case service on the virtual host obtains the test parameters from the use case execution request and configures the test parameters into the corresponding hardware devices (including but not limited to physical hardware, simulated hardware, test stubs, etc.). The hardware devices call different hardware The engine executes corresponding test cases, including but not limited to compression, erasure, encryption and decryption, RAID, network offload, audio and video codec, etc.;
S14、硬件引擎执行完测试用例后,将测试结果返回到虚拟主机的用例服务当中;S14. After the hardware engine executes the test case, it returns the test results to the use case service of the virtual host;
S15、虚拟主机的用例服务将测试结果进一步返回到用例服务调度模块;S15. The use case service of the virtual host further returns the test results to the use case service scheduling module;
S16、用例服务调度模块将测试结果进一步返回到应用层软件并将其展示到操作界面。S16. The use case service scheduling module further returns the test results to the application layer software and displays them on the operation interface.
上述方案具有如下好处:The above solution has the following benefits:
1)提高了系统的可移植性。系统底层更换hypervisor不需要修改环境部署流程,例如虚拟机镜像创建、操作系统安装、启动、关闭、挂起、恢复虚拟机等,并且部署特定用例服务接口的镜像可在裸金属、虚拟机、容器之间任意迁移;1) Improved the portability of the system. Replacing the hypervisor at the bottom of the system does not require modification of the environment deployment process, such as virtual machine image creation, operating system installation, startup, shutdown, suspension, recovery of virtual machines, etc., and the image of the specific use case service interface can be deployed on bare metal, virtual machines, containers Any migration between them;
2)提高了系统的安全及可靠性。基于云平台成熟的用户身份认证、镜像备份、动态迁移、数据和网络安全、状态监控等机制,并且由于云平台经受大规模用户充分测试,系统故障率较低,故障自恢复能力也较强,并且可有效过滤内外部用户的恶意网络攻击。2) Improve the safety and reliability of the system. Based on the cloud platform's mature user identity authentication, image backup, dynamic migration, data and network security, status monitoring and other mechanisms, and because the cloud platform has been fully tested by large-scale users, the system failure rate is low and the fault self-recovery capability is also strong. And it can effectively filter malicious network attacks from internal and external users.
3)降低了系统模块间的耦合并增强了系统可扩展性。统一的用例服务调度模块,减少 了重复的测试代码编写工作,基于Web服务接口的用例服务插件开发框架,使得各测试开发人员开发的测试模块不会互相依赖,各服务接口耦合度较低,减少了因模块耦合造成的系统故障难以定位问题,新增加软硬件测试模块,不会干扰原有模块运行。3) Reduces the coupling between system modules and enhances system scalability. Unified use case service scheduling module to reduce The use case service plug-in development framework based on the Web service interface eliminates repetitive test code writing work, so that the test modules developed by each test developer will not depend on each other, and the coupling degree of each service interface is low, reducing system failures caused by module coupling. It is difficult to locate the problem. The newly added software and hardware test module will not interfere with the operation of the original module.
在一些实施方式中,应用层包括用户操作界面;In some embodiments, the application layer includes a user operation interface;
算法加速引擎配置为在测试结束后,将测试结果返回到虚拟主机的用例服务;The algorithm acceleration engine is configured to return the test results to the use case service of the virtual host after the test is completed;
虚拟主机配置为基于用例服务将测试结果返回到用例服务调度模块;The virtual host is configured to return test results 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 results to the application layer and display them to the user operation interface.
在一些实施方式中,用例服务调度模块包括服务接口配置模块,服务接口配置模块配置为:In some implementations, the use case service scheduling module includes a service interface configuration module, and the service interface configuration module is configured as:
获取部署到云平台的虚拟服务,并基于虚拟服务将对应的服务接口分层级写入服务接口配置文件,其中每一层级包括至少一个服务接口,每一个服务接口包括被动服务接口、主动服务接口及下级服务接口。Obtain the virtual services deployed to the cloud platform, and write the corresponding service interfaces into the service interface configuration file hierarchically based on the virtual services. Each level includes at least one service interface, and each service interface includes a passive service interface and an active service interface. and lower-level service interfaces.
如图3所示,为服务接口配置文件的示意图。As shown in Figure 3, it is a schematic diagram of the service interface configuration file.
结合图3对配置服务接口配置文件的具体过程如下:The specific process of configuring the service interface configuration file based on Figure 3 is as follows:
假设服务开发人员在开发某一项特定服务,例如该特定服务为针对某一芯片的测试服务。在将虚拟服务部署到云平台的虚拟机镜像模板后,基于部署的虚拟服务将测试需要的服务接口写入配置文件的某一层级,作为该层级的一个用例服务接口,每个用例服务接口包括被动服务接口、主动服务接口、下级服务接口(如果该服务包含更多子服务,如用例执行服务可能包含压缩、纠删、冗余阵列等算法加速芯片子测试服务,则在下级服务接口体现)。Suppose that the service developer is developing a specific service, for example, the specific service is a testing service for a certain chip. After the virtual service is deployed to the virtual machine image template of the cloud platform, the deployed virtual service writes the service interface required for testing into a certain level of the configuration file as a use case service interface at that level. Each use case service interface includes Passive service interface, active service interface, lower-level service interface (if the service contains more sub-services, such as use case execution service may include compression, erasure, redundant array and other algorithm acceleration chip sub-test services, it will be reflected in the lower-level service interface) .
更加具体地,被动服务接口用于接收到命令后执行命令处理,如设备控制、用例执行服务等;主动服务接口用于主动上报服务状态,如硬件中断处理等;下级服务接口用于关联子服务,如果当前服务包含更多子服务,如用例执行服务可能包含压缩、纠删、冗余阵列等算法加速芯片子测试服务,则在下级服务接口体现。More specifically, the passive service interface is used to execute command processing after receiving the command, such as device control, use case execution services, etc.; the active service interface is used to proactively report service status, such as hardware interrupt processing, etc.; the subordinate service interface is used to associate sub-services. , if the current service contains more sub-services, for example, the use case execution service may include compression, erasure, redundant array and other algorithm acceleration chip sub-test services, it will be reflected in the lower-level service interface.
在一些实施方式中,用例服务调度模块包括服务接口检测模块和服务接口解析模块,服务接口检测模块配置为:In some implementations, the use case service scheduling module includes a service interface detection module and a service interface parsing module. The service interface detection module is configured as:
定时检测服务接口配置文件是否发生变化;Regularly detect whether the service interface configuration file has changed;
响应于服务接口配置文件发生变化,则触发服务接口解析模块,并通过服务接口解析模块对服务接口配置文件进行更新;In response to changes in the service interface configuration file, the service interface parsing module is triggered, and the service interface configuration file is updated through the service interface parsing module;
服务接口解析模块配置为从服务接口配置文件中读取并逐行解析服务接口。The service interface parsing module is configured to read from the service interface configuration file and parse the service interface line by line.
下面结合图3对服务接口检测模块的检测过程进行说明。The detection process of the service interface detection module will be described below with reference to Figure 3.
S21、定时检测服务接口配置文件有无变化; S21. Regularly detect whether there are any changes in the service interface configuration file;
S22、如果服务接口配置文件有变化,则停止所有服务;S22. If the service interface configuration file changes, stop all services;
S23、触发服务接口解析模块,通过服务接口解析模块实现服务接口配置文件的在线更新。S23. Trigger the service interface parsing module, and implement online updating of the service interface configuration file through the service interface parsing module.
下面为服务接口解析模块的解析过程:The following is the parsing process of the service interface parsing module:
从服务接口配置文件中逐行解析服务接口;Parse the service interface line by line from the service interface configuration file;
如果判断被动服务接口不为空,则将被动服务接口配置到服务接口哈希表中,当用例服务调度模块收到用例执行消息后,根据消息类型字段在哈希表查找匹配的被动服务接口执行相应的测试用例;If it is determined that the passive service interface is not empty, configure the passive service interface into the service interface hash table. When the use case service scheduling module receives the use case execution message, it searches for the matching passive service interface execution in the hash table according to the message type field. Corresponding test cases;
如果判断主动服务接口不为空,则将启动一个线程轮询调用该服务接口,可通过该服务接口在必要时向应用层软件上报服务的运行状态,如上报硬件中断通知、硬件异常状态信息或者其他服务异常状态信息等。If it is determined that the active service interface is not empty, a thread will be started to poll and call the service interface. Through this service interface, the running status of the service can be reported to the application layer software when necessary, such as reporting hardware interrupt notifications, hardware exception status information, or Other service abnormal status information, etc.
如图4所示,为服务接口哈希表的匹配流程图。As shown in Figure 4, it is the matching flow chart of the service interface hash table.
用户提交的每一级测试参数的消息类型均可触发对应层级的服务接口,然后将该层级的参数1作为下一级测试参数的标识字段,对下级测试参数执行同样处理过程,不同开发者可以为不同的云平台主机配置不同的服务接口,从而实现定制化的测试环境。The message type of each level of test parameters submitted by the user can trigger the service interface of the corresponding level. Then parameter 1 of this level is used as the identification field of the next-level test parameter, and the same processing process is performed on the lower-level test parameters. Different developers can Configure different service interfaces for different cloud platform hosts to achieve a customized testing environment.
在一些实施方式中,用例服务调度模块包括服务接口解析模块,服务接口解析模块配置为:In some implementations, the use case service scheduling module includes a service interface parsing module, and the service interface parsing module is configured as:
获取本层级服务接口中的下一个服务接口;Get the next service interface among the service interfaces at this level;
判断下一个服务接口是否为本层级服务接口中的最后一个服务接口;Determine whether the next service interface is the last service interface among the service interfaces at this level;
响应于下一个服务接口不为本层级服务接口中的最后一个服务接口,判断下一个服务接口的被动服务接口是否为空;In response to the next service interface not being the last service interface among the service interfaces at this level, determine whether the passive service interface of the next service interface is empty;
基于下一个服务接口的被动服务接口是否为空的判断结果,判断下一个服务接口的主动服务接口是否为空;Based on the judgment result of whether the passive service interface of the next service interface is empty, judge whether the active service interface of the next service interface is empty;
基于下一个服务接口的主动服务接口是否为空的判断结果,判断下一个服务接口的下级服务接口是否为空;Based on the judgment result of whether the active service interface of the next service interface is empty, judge whether the subordinate service interface of the next service interface is empty;
响应于下一个服务接口的下级服务接口为空或不为空,返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口。In response to the lower-level service interface of the next service interface being empty or not empty, return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until all the services of this level are parsed. Service interface.
在一些实施方式中,基于下一个服务接口的被动服务接口是否为空的判断结果,判断下一个服务接口的主动服务接口是否为空包括:In some implementations, based on the determination result of whether the passive service interface of the next service interface is empty, determining whether the active service interface of the next service interface is empty includes:
响应于下一个服务接口的被动服务接口不为空,在服务接口哈希表中注册被动服务接 口,并判断下一个服务接口的主动服务接口是否为空,其中,被动服务接口用于在接收到测试请求时调用;In response to the passive service interface of the next service interface not being empty, register the passive service interface in the service interface hash table. interface, and determine whether the active service interface of the next service interface is empty, where the passive service interface is used to call when receiving a test request;
响应于下一个服务接口的被动服务接口为空,则直接判断下一个服务接口的主动服务接口是否为空。In response to the passive service interface of the next service interface being empty, it is directly determined whether the active service interface of the next service interface is empty.
在一些实施方式中,基于下一个服务接口的主动服务接口是否为空的判断结果,判断下一个服务接口的下级服务接口是否为空,包括:In some implementations, based on the judgment result of whether the active service interface of the next service interface is empty, judging whether the subordinate service interface of the next service interface is empty includes:
响应于下一个服务接口的主动服务接口不为空,启动线程轮询,判断下一个服务接口的下级服务接口是否为空,其中,线程轮询用于调用本层级服务接口的主动服务接口;In response to the active service interface of the next service interface not being empty, start thread polling to determine whether the subordinate service interface of the next service interface is empty. Thread polling is used to call the active service interface of this level service interface;
响应于下一个服务接口的主动服务接口为空,则直接判断下一个服务接口的下级服务接口是否为空。In response to the active service interface of the next service interface being empty, it is directly determined whether the subordinate service interface of the next service interface is empty.
在一些实施方式中,响应于下一个服务接口的下级服务接口不为空,返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口,包括:In some implementations, in response to the lower-level service interface of the next service interface being not empty, return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until the current level is parsed. All service interfaces at the level, including:
响应于下一个服务接口的下级服务接口不为空,基于下级服务接口获取下一层级的服务接口,并递归解析下一层级的服务接口直到所有下层级的所有服务接口解析完毕;In response to the lower-level service interface of the next service interface not being empty, obtain the service interface of the next level based on the lower-level service interface, and recursively parse the service interface of the next level until all service interfaces of all lower levels are parsed;
返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口。Return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until all service interfaces of this level are parsed.
在一些实施方式中,服务接口解析模块还配置为:In some implementations, the service interface resolution module is also configured as:
响应于下一个服务接口为本层级服务接口中的最后一个服务接口,结束本层级的服务接口解析。In response to the next service interface being the last service interface among the service interfaces of this level, the service interface resolution of this level is ended.
下面结合图3对服务接口解析模块的解析过程进行说明。The following explains the parsing process of the service interface parsing module in conjunction with Figure 3.
S30、获取本层级服务接口中的下一个服务接口;S30. Obtain the next service interface among the service interfaces at this level;
S31、判断下一个服务接口是否为本层级服务接口中的最后一个服务接口;S31. Determine whether the next service interface is the last service interface among the service interfaces at this level;
S32、响应于下一个服务接口为本层级服务接口中的最后一个服务接口,结束本层级的服务接口解析;S32. In response to the next service interface being the last service interface among the service interfaces at this level, end the service interface parsing at this level;
S33、响应于下一个服务接口不为本层级服务接口中的最后一个服务接口,判断下一个服务接口的被动服务接口是否为空;S33. In response to the next service interface not being the last service interface among the service interfaces at this level, determine whether the passive service interface of the next service interface is empty;
S34、响应于下一个服务接口的被动服务接口为空,则直接执行步骤S36;S34. In response to the passive service interface of the next service interface being empty, step S36 is directly executed;
S35、响应于下一个服务接口的被动服务接口不为空,在服务接口哈希表中注册被动服务接口(即回调接口),其中,被动服务接口用于在接收到测试请求时调用;S35. In response to the passive service interface of the next service interface being not empty, register the passive service interface (ie callback interface) in the service interface hash table, where the passive service interface is used to call when a test request is received;
S36、判断下一个服务接口的主动服务接口是否为空; S36. Determine whether the active service interface of the next service interface is empty;
S37、响应于下一个服务接口的主动服务接口为空,则直接执行步骤S39;S37. In response to the active service interface of the next service interface being empty, step S39 is directly executed;
S38、响应于下一个服务接口的主动服务接口不为空,启动线程轮询,线程轮询用于调用本层级服务接口的主动服务接口;S38. In response to the active service interface of the next service interface not being empty, start thread polling. Thread polling is used to call the active service interface of this level service interface;
S39、判断下一个服务接口的下级服务接口是否为空;S39. Determine whether the subordinate service interface of the next service interface is empty;
S40、响应于下一个服务接口的下级服务接口为空,返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口。S40. In response to the lower-level service interface of the next service interface being empty, return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until all service interfaces of this level are parsed. .
S41、响应于下一个服务接口的下级服务接口不为空,基于下级服务接口获取下一层级的服务接口,并递归解析下一层级的服务接口直到所有下层级的所有服务接口解析完毕;S41. In response to the lower-level service interface of the next service interface not being empty, obtain the service interface of the next level based on the lower-level service interface, and recursively parse the service interface of the next level until all service interfaces of all lower levels are parsed;
S42、返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口。S42. Return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until all service interfaces of this level are parsed.
本实施例通过统一的用例服务调度模块,减少了重复的测试代码编写工作,通过对服务接口配置文件的检测与解析降低了各服务接口耦合度,减少了因模块耦合造成的系统故障难以定位问题,新增加软硬件测试模块,不会干扰原有模块运行,从而降低了系统模块间的耦合并增强了系统可扩展性。This embodiment uses a unified use case service scheduling module to reduce repeated test code writing work, reduces the coupling degree of each service interface through the detection and analysis of service interface configuration files, and reduces the difficulty in locating system faults caused by module coupling. , the newly added software and hardware test modules will not interfere with the operation of the original modules, thereby reducing the coupling between system modules and enhancing system scalability.
在一些实施方式中,用例服务调度模块包括服务接口触发模块,服务接口触发模块配置为:In some implementations, the use case service scheduling module includes a service interface triggering module, and the service interface triggering module is configured as:
响应于接收到用例执行请求,基于用例执行请求中的消息类型字段从服务接口哈希表中查找到对应的服务接口。In response to receiving the use case execution request, the corresponding service interface is found from the service interface hash table based on the message type field in the use case execution request.
下面结合图3对服务接口触发模块的触发过程进行说明。The triggering process of the service interface trigger module will be described below with reference to Figure 3.
S51、用户在应用层软件操作界面上执行用例;S51. The user executes the use case on the application layer software operation interface;
S52、应用层软件将用户操作转换为用例执行请求,并将用例执行请求发送到用例服务调度模块,触发用例服务调度模块查找哈希表执行对应的服务接口。S52. The application layer software converts the user operation into a use case execution request, sends the use case execution request to the use case service scheduling module, and triggers the use case service scheduling module to find the service interface corresponding to the hash table execution.
本实施例通过统一的用例服务调度模块,减少了重复的测试代码编写工作,通过服务接口文件的配置降低了各服务接口耦合度,减少了因模块耦合造成的系统故障难以定位问题,新增加软硬件测试模块,不会干扰原有模块运行,从而降低了系统模块间的耦合并增强了系统可扩展性。This embodiment uses a unified use case service scheduling module to reduce repeated test code writing work, reduces the coupling degree of each service interface through the configuration of service interface files, and reduces the difficulty in locating system faults caused by module coupling. Newly added software The hardware test module will not interfere with the operation of the original modules, thus reducing the coupling between system modules and enhancing system scalability.
在一些实施方式中,用例服务调度模块包括服务接口调用模块,服务接口调用模块配置为:In some implementations, the use case service scheduling module includes a service interface calling module, and the service interface calling module is configured as:
调用对应的服务接口发送用例执行请求到Web服务器,以基于Web服务器将用例执行请求转发到用例服务。 Call the corresponding service interface to send the use case execution request to the Web server to forward the use case execution request to the use case service based on the Web server.
下面结合图3对服务接口调用模块的调用过程进行说明。The following describes the calling process of the service interface calling module in conjunction with Figure 3.
S61、服务接口调用模块调用对应的服务接口(回调接口)时会自动提交用例执行请求到Web服务器;S61. When the service interface calling module calls the corresponding service interface (callback interface), it will automatically submit the use case execution request to the Web server;
S62、Web服务器将用例执行请求转发给相应的用例服务;S62. The web server forwards the use case execution request to the corresponding use case service;
S63、用例服务调用各种编程语言编写的硬件测试工具,如使用python(一种计算机编程语言)编写的auduino(一种开源电子原型平台)控制工具,或者使用C语言(一种计算机编程语言)编写的PCIe(Peripheral Component Interconnect Express,一种高速串行计算机扩展总线标准)复位工具等;S63. The use case service calls hardware testing tools written in various programming languages, such as auduino (an open source electronic prototyping platform) control tool written in python (a computer programming language), or using C language (a computer programming language) Written PCIe (Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard) reset tool, etc.;
S64、各种硬件测试工具调用硬件设备(外设)驱动执行硬件测试操作;S64. Various hardware testing tools call hardware device (peripheral) drivers to perform hardware testing operations;
S65、硬件设备驱动控制物理/模拟硬件设备执行相应的硬件测试操作。S65. The hardware device driver controls the physical/simulated hardware device to perform corresponding hardware test operations.
本实施例通过统一的用例服务调度模块,减少了重复的测试代码编写工作,基于Web服务接口的用例服务插件开发框架,使得各测试开发人员开发的测试模块不会互相依赖,各服务接口耦合度较低,减少了因模块耦合造成的系统故障难以定位问题,新增加软硬件测试模块,不会干扰原有模块运行,从而降低了系统模块间的耦合并增强了系统可扩展性。This embodiment reduces repetitive test code writing work through a unified use case service scheduling module. The use case service plug-in development framework based on the Web service interface makes the test modules developed by each test developer not dependent on each other, and the coupling degree of each service interface is improved. It is lower, which reduces the difficulty in locating system faults caused by module coupling. The newly added software and hardware test modules will not interfere with the operation of the original modules, thus reducing the coupling between system modules and enhancing system scalability.
在一些实施方式中,用例服务配置为调用硬件测试工具,并基于硬件测试工具调用对应的硬件外设驱动来驱动对应的硬件设备以执行相应的硬件测试。In some implementations, the use case service is configured to call the hardware testing tool, and based on the hardware testing tool, call the corresponding hardware peripheral driver to drive the corresponding hardware device to perform the corresponding hardware test.
基于同一发明构思,根据本申请的另一个方面,如图5所示,本申请的实施例还提供了一种芯片测试方法,应用于测试系统,方法包括:Based on the same inventive concept, according to another aspect of the present application, as shown in Figure 5, an embodiment of the present application also provides a chip testing method, which is applied to the test system. The method includes:
S100、应用层将用户操作转化为用例执行请求,并基于通信协议将所述用例执行请求发送到所述用例服务调度模块;S100. The application layer converts user operations into use case execution requests, and sends the use case execution requests to the use case service scheduling module based on the communication protocol;
S200、所述用例服务调度模块基于所述用例执行请求调用虚拟主机上的用例服务;S200. The use case service scheduling module calls the use case service on the virtual host based on the use case execution request;
S300、所述用例服务从所述用例执行请求中获取测试参数,并将所述测试参数配置到硬件设备;S300. The use case service obtains test parameters from the use case execution request and configures the test parameters to the hardware device;
S400、所述硬件设备基于所述测试参数调用对应的算法加速引擎来执行测试,并将测试结果通过所述用例服务调度模块返回到所述应用层。S400. The hardware device calls the corresponding algorithm acceleration engine to execute the test based on the test parameters, and returns the test results to the application layer through the use case service scheduling module.
基于同一发明构思,根据本申请的另一个方面,如图6所示,本申请的实施例还提供了一种计算机设备30,在该计算机设备30中包括处理器310以及存储器320,存储器320存储有可在处理器上运行的计算机程序321,处理器310执行程序时执行如上的方法的步骤。Based on the same inventive concept, according to another aspect of the present application, as shown in FIG. 6, an embodiment of the present application also provides a computer device 30. The computer device 30 includes a processor 310 and a memory 320. The memory 320 stores There is a computer program 321 that can be run on the processor. When the processor 310 executes the program, it performs the steps of the above method.
其中,存储器作为一种非易失性可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的芯片测试方法对应的程序指令/模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行装置的各种 功能应用以及数据处理,即实现上述方法实施例的芯片测试方法。Among them, the memory, as a non-volatile readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions corresponding to the chip testing method in the embodiment of the present application. /module. The processor executes various functions of the device by running non-volatile software programs, instructions and modules stored in the memory. Functional application and data processing are the chip testing methods that implement the above method embodiments.
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory may include a program storage area and a data storage area, where the program storage area may store an operating system and an application program required for at least one function; the storage data area may store data created according to use of the device, etc. In addition, 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 these remote memories may be connected to the local module through a network. Examples of the above-mentioned networks include but are not limited to the Internet, intranets, local area networks, mobile communication networks and combinations thereof.
基于同一发明构思,根据本申请的另一个方面,如图7所示,本申请的实施例还提供了一种非易失性可读存储介质40,非易失性可读存储介质40存储有被处理器执行时执行如上方法的计算机程序410。Based on the same inventive concept, according to another aspect of the present application, as shown in Figure 7, an embodiment of the present application also provides a non-volatile readable storage medium 40. The non-volatile readable storage medium 40 stores A computer program 410 that performs the above method when executed by a processor.
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。Finally, it should be noted that those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it may include the processes of the above method embodiments. Among them, the storage medium of the program can be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM) or a random access memory (Random Access Memory, RAM), etc. The foregoing computer program embodiments can achieve the same or similar effects as any of the corresponding foregoing 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 generally in terms of their functionality. Whether this functionality is implemented as software or hardware depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art can implement the functions in various ways for each specific application, but such implementation decisions should not be interpreted as causing a departure from the scope of the embodiments disclosed in the present application.
以上是本申请公开的示例性实施例,但是应当注意,在不背离权利要求限定的本申请实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。上述本申请实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。此外,尽管本申请实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。The above are exemplary embodiments disclosed in the present application, but it should be noted that various changes and modifications can be made without departing from the scope of the embodiments disclosed in the present application as defined in the 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 embodiment numbers disclosed in the above embodiments of the present application are only for description and do not represent the advantages or disadvantages of the embodiments. In addition, although the elements disclosed in the embodiments of the present application may be described or claimed in individual form, they may also be understood as plural unless explicitly limited to the singular.
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。It will be understood that, as used herein, the singular form "a" and "an" are intended to include the plural form as well, unless the context clearly supports an exception. It will also be understood that as used herein, "and/or" 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 should understand that the above discussion of any embodiments is illustrative only and is not intended to imply It is indicated that the disclosed scope of the embodiments of the present application (including the claims) is limited to these examples; under the idea of the embodiments of the present application, the technical features in the above embodiments or different embodiments can also be combined, and there are the above present inventions. There are many other variations on different aspects of the application embodiments and are therefore not provided in detail for the sake of brevity. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application shall be included in the protection scope of the embodiments of the present application.

Claims (20)

  1. 一种芯片测试系统,其特征在于,包括:A chip testing system is characterized by including:
    应用层、通信层、虚拟化层、硬件设备层和引擎层,其中,所述通信层包括通信协议;所述虚拟化层包括用例服务调度模块、云平台、部署于所述云平台上的虚拟服务和虚拟主机、部署于所述虚拟主机上的用例服务,所述硬件设备层包括硬件设备,所述引擎层包括用于硬件设备的算法加速引擎;Application layer, communication layer, virtualization layer, hardware device layer and engine layer, wherein the communication layer includes a communication protocol; the virtualization layer includes a use case service scheduling module, a cloud platform, and a virtual machine deployed on the cloud platform. Services, virtual hosts, and use case services deployed on the virtual host, the hardware device layer includes hardware devices, and the engine layer includes an algorithm acceleration engine for hardware devices;
    所述应用层配置为将用户操作转化为用例执行请求,并基于所述通信协议将所述用例执行请求发送到所述用例服务调度模块;The application layer is configured to convert user operations into use case execution requests, and send the use case execution requests to the use case service scheduling module based on the communication protocol;
    所述用例服务调度模块配置为基于所述用例执行请求调用所述虚拟主机上的用例服务;The use case service scheduling module is configured to call the use case service on the virtual host based on the use case execution request;
    所述用例服务配置为从所述用例执行请求中获取测试参数,并将所述测试参数配置到所述硬件设备;The use case service is configured to obtain test parameters from the use case execution request and configure the test parameters to the hardware device;
    所述硬件设备配置为基于所述测试参数调用对应的算法加速引擎来执行测试,并将测试结果通过所述用例服务调度模块返回到所述应用层。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 results to the application layer through the use case service scheduling module.
  2. 根据权利要求1所述的系统,其特征在于,所述应用层包括用户操作界面;The system according to claim 1, wherein the application layer includes a user operation interface;
    所述算法加速引擎配置为在测试结束后,将测试结果返回到所述虚拟主机的用例服务;The algorithm acceleration engine is configured to return test results to the use case service of the virtual host after the test is completed;
    所述虚拟主机配置为基于所述用例服务将所述测试结果返回到所述用例服务调度模块;The virtual host is configured to return the test results 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 results to the application layer and display them to the user operation interface.
  3. 根据权利要求1所述的系统,其特征在于,所述用例服务调度模块包括服务接口配置模块,所述服务接口配置模块配置为:The system according to claim 1, characterized in that the use case service scheduling module includes a service interface configuration module, and the service interface configuration module is configured as:
    获取部署到所述云平台的虚拟服务,并基于所述虚拟服务将对应的服务接口分层级写入服务接口配置文件,其中每一层级包括至少一个服务接口,每一个服务接口包括被动服务接口、主动服务接口及下级服务接口。Obtain the virtual service deployed to the cloud platform, and write the corresponding service interface into the service interface configuration file hierarchically based on the virtual service, where each level includes at least one service interface, and each service interface includes a passive service interface , active service interface and subordinate service interface.
  4. 根据权利要求3所述的系统,其特征在于,所述被动服务接口用于接收到命令后执行命令处理,所述主动服务接口用于主动上报服务的运行状态,所述下级服务接口用于关联子服务。The system according to claim 3, characterized in that the passive service interface is used to execute command processing after receiving a command, the active service interface is used to actively report the running status of the service, and the lower-level service interface is used to associate subservice.
  5. 根据权利要求4所述的系统,其特征在于,所述服务的运行状态包括硬件中断通知、硬件异常状态信息、其他服务异常状态信息。The system according to claim 4, wherein the running status of the service includes hardware interrupt notification, hardware abnormal status information, and other service abnormal status information.
  6. 根据权利要求3所述的系统,其特征在于,所述用例服务调度模块包括服务接口 检测模块和服务接口解析模块,所述服务接口检测模块配置为:The system according to claim 3, characterized in that the use case service scheduling module includes a service interface Detection module and service interface analysis module, the service interface detection module is configured as:
    定时检测所述服务接口配置文件是否发生变化;Regularly detect whether the service interface configuration file has changed;
    响应于所述服务接口配置文件发生变化,则触发所述服务接口解析模块,并通过所述服务接口解析模块对所述服务接口配置文件进行更新;In response to changes in the service interface configuration file, the service interface parsing module is triggered, and the service interface configuration file is updated through the service interface parsing module;
    所述服务接口解析模块配置为从所述服务接口配置文件中读取并逐行解析所述服务接口。The service interface parsing module is configured to read the service interface configuration file and parse the service interface line by line.
  7. 根据权利要求3所述的系统,其特征在于,所述用例服务调度模块包括服务接口解析模块,所述服务接口解析模块配置为:The system according to claim 3, characterized in that the use case service scheduling module includes a service interface parsing module, and the service interface parsing module is configured as:
    获取本层级服务接口中的下一个服务接口;Get the next service interface among the service interfaces at this level;
    判断所述下一个服务接口是否为所述本层级服务接口中的最后一个服务接口;Determine whether the next service interface is the last service interface among the service interfaces at this level;
    响应于所述下一个服务接口不为所述本层级服务接口中的最后一个服务接口,判断下一个服务接口的被动服务接口是否为空;In response to the next service interface not being the last service interface among the service interfaces at this level, determining whether the passive service interface of the next service interface is empty;
    基于所述下一个服务接口的被动服务接口是否为空的判断结果,判断下一个服务接口的主动服务接口是否为空;Based on the determination result of whether the passive service interface of the next service interface is empty, determine whether the active 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, determine whether the subordinate service interface of the next service interface is empty;
    响应于所述下一个服务接口的下级服务接口为空或不为空,返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口。In response to the lower-level service interface of the next service interface being empty or not empty, return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until the current level is parsed. All service interfaces.
  8. 根据权利要求7所述的系统,其特征在于,基于所述下一个服务接口的被动服务接口是否为空的判断结果,判断下一个服务接口的主动服务接口是否为空,包括:The system according to claim 7, characterized in that, based on the judgment result of whether the passive service interface of the next service interface is empty, judging whether the active service interface of the next service interface is empty includes:
    响应于所述下一个服务接口的被动服务接口不为空,在服务接口哈希表中注册所述被动服务接口,并判断下一个服务接口的主动服务接口是否为空,其中,所述被动服务接口用于在接收到测试请求时调用;In response to the passive service interface of the next service interface being not empty, register the passive service interface in the service interface hash table, and determine whether the active service interface of the next service interface is empty, wherein the passive service The interface is used to call when receiving a test request;
    响应于所述下一个服务接口的被动服务接口为空,则直接判断下一个服务接口的主动服务接口是否为空。In response to the passive service interface of the next service interface being empty, it is directly determined whether the active service interface of the next service interface is empty.
  9. 根据权利要求7所述的系统,其特征在于,基于所述下一个服务接口的主动服务接口是否为空的判断结果,判断下一个服务接口的下级服务接口是否为空,包括:The system according to claim 7, characterized in that, based on the judgment result of whether the active service interface of the next service interface is empty, judging whether the subordinate service interface of the next service interface is empty includes:
    响应于所述下一个服务接口的主动服务接口不为空,启动线程轮询,判断下一个服务接口的下级服务接口是否为空,其中,所述线程轮询用于调用所述本层级服务接口的主动服务接口; In response to the active service interface of the next service interface being not empty, thread polling is started to determine whether the lower-level service interface of the next service interface is empty, where the thread polling is used to call the service interface of this level. Active service interface;
    响应于所述下一个服务接口的主动服务接口为空,则直接判断下一个服务接口的下级服务接口是否为空。In response to the active service interface of the next service interface being empty, it is directly determined whether the subordinate service interface of the next service interface is empty.
  10. 根据权利要求7所述的系统,其特征在于,响应于所述下一个服务接口的下级服务接口不为空,返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口,包括:The system according to claim 7, characterized in that, in response to the lower-level service interface of the next service interface being not empty, the step of obtaining the next service interface of this level is returned to continue to obtain the next service interface of this level. A service interface is parsed until all service interfaces at this level are parsed, including:
    响应于所述下一个服务接口的下级服务接口不为空,基于所述下级服务接口获取下一层级的服务接口,并递归解析下一层级的服务接口直到所有下层级的所有服务接口解析完毕;In response to the lower-level service interface of the next service interface not being empty, obtain the service interface of the next level based on the lower-level service interface, and recursively parse the service interface of the next level until all service interfaces of all lower levels are parsed;
    返回获取本层级的下一个服务接口的步骤以继续对本层级下一个服务接口的下一个服务接口进行解析直到解析完本层级的所有服务接口。Return to the step of obtaining the next service interface of this level to continue parsing the next service interface of the next service interface of this level until all service interfaces of this level are parsed.
  11. 根据权利要求7所述的系统,其特征在于,所述服务接口解析模块还配置为:The system according to claim 7, characterized in that the service interface parsing module is further configured to:
    响应于所述下一个服务接口为所述本层级服务接口中的最后一个服务接口,结束本层级的服务接口解析。In response to the next service interface being the last service interface among the service interfaces at this level, the service interface parsing at this level is ended.
  12. 根据权利要求1所述的系统,其特征在于,所述用例服务调度模块包括服务接口触发模块,所述服务接口触发模块配置为:The system according to claim 1, characterized in that the use case service scheduling module includes a service interface trigger module, and the service interface trigger module is configured as:
    响应于接收到所述用例执行请求,基于所述用例执行请求中的消息类型字段从服务接口哈希表中查找到对应的服务接口。In response to receiving the use case execution request, the corresponding service interface is found from the service interface hash table based on the message type field in the use case execution request.
  13. 根据权利要求12所述的系统,其特征在于,所述用例服务调度模块包括服务接口调用模块,所述服务接口调用模块配置为:The system according to claim 12, characterized in that the use case service scheduling module includes a service interface calling module, and the service interface calling module is configured as:
    调用所述对应的服务接口发送用例执行请求到Web服务器,以基于所述Web服务器将所述用例执行请求转发到所述用例服务。The corresponding service interface is called to send a use case execution request to the Web server, so as to forward the use case execution request to the use case service based on the Web server.
  14. 根据权利要求13所述的系统,其特征在于,所述用例服务配置为调用硬件测试工具,并基于所述硬件测试工具调用对应的硬件外设驱动来驱动对应的硬件设备以执行相应的硬件测试。The system of claim 13, wherein the use case service is configured to call a hardware testing tool, and based on the hardware testing tool, calls a corresponding hardware peripheral driver to drive the corresponding hardware device to perform the corresponding hardware test. .
  15. 根据权利要求14所述的系统,其特征在于,基于硬件测试工具调用对应的硬件外设驱动来驱动对应的硬件设备以执行相应的硬件测试,包括:The system according to claim 14, characterized in that, based on the hardware testing tool, the corresponding hardware peripheral driver is called to drive the corresponding hardware device to perform the corresponding hardware test, including:
    基于所述硬件测试工具调用对应的硬件外设驱动,所述硬件外设驱动用于驱动所述硬件测试工具对应的硬件设备执行相应的硬件测试,其中,所述硬件设备包括物理硬件设备、模拟硬件设备。Based on the hardware testing tool, the corresponding hardware peripheral driver is called, and the hardware peripheral driver is used to drive the hardware device corresponding to the hardware testing tool to perform the corresponding hardware test, wherein the hardware device includes a physical hardware device, a simulation hardware equipment.
  16. 根据权利要求15所述的系统,其特征在于,所述硬件设备配置为调用对应的硬件引擎执行相应的测试用例,所述测试用例包括压缩、纠删、加解密、音视频编解码。 The system according to claim 15, wherein the hardware device is configured to call a corresponding hardware engine to execute corresponding test cases, and the test cases include compression, erasure, encryption and decryption, and audio and video encoding and decoding.
  17. 根据权利要求1所述的系统,其特征在于,所述虚拟化层配置为提供测试设备、测试环境、测试用例运行的各种载体。The system according to claim 1, characterized in that the virtualization layer is configured to provide test equipment, test environments, and various carriers for test case execution.
  18. 一种芯片测试方法,其特征在于,应用于测试系统,所述测试系统包括:应用层、通信层、虚拟化层、硬件设备层和引擎层,其中,所述通信层包括通信协议;所述虚拟化层包括用例服务调度模块、云平台、部署于所述云平台上的虚拟服务和虚拟主机、部署于所述虚拟主机上的用例服务,所述硬件设备层包括硬件设备,所述引擎层包括用于硬件设备的算法加速引擎;所述方法包括:A chip testing method, characterized in that it is applied to a test system, the test system includes: an application layer, a communication layer, a virtualization layer, a hardware device layer and an engine layer, wherein the communication layer includes a communication protocol; The virtualization layer includes a use case service scheduling module, a cloud platform, virtual services and virtual hosts deployed on the cloud platform, and use case services deployed on the virtual host. The hardware device layer includes hardware devices, and the engine layer An algorithm acceleration engine is included for a hardware device; the method includes:
    所述应用层将用户操作转化为用例执行请求,并基于通信协议将所述用例执行请求发送到用例服务调度模块;The application layer converts user operations into use case execution requests, and sends the use case execution requests to the use case service scheduling module based on the communication protocol;
    所述用例服务调度模块基于所述用例执行请求调用虚拟主机上的用例服务;The use case service scheduling module calls the use case service on the virtual host based on the use case execution request;
    所述用例服务从所述用例执行请求中获取测试参数,并将所述测试参数配置到硬件设备;The use case service obtains test parameters from the use case execution request and configures the test parameters to the hardware device;
    所述硬件设备基于所述测试参数调用对应的算法加速引擎来执行测试,并将测试结果通过所述用例服务调度模块返回到所述应用层。The hardware device calls the corresponding algorithm acceleration engine to execute the test based on the test parameters, and returns the test results to the application layer through the use case service scheduling module.
  19. 一种计算机设备,包括:A computer device consisting of:
    至少一个处理器;以及at least one processor; and
    存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求18所述的方法的步骤。A memory storing a computer program executable on the processor, characterized in that when the processor executes the program, the steps of the method of claim 18 are performed.
  20. 一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求18所述的方法的步骤。 A non-volatile readable storage medium, the non-volatile readable storage medium stores a computer program, characterized in that when the computer program is executed by a processor, the steps of the method as claimed in claim 18 are performed. .
PCT/CN2023/078372 2022-06-30 2023-02-27 Chip test system and method, and device and medium WO2024001251A1 (en)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2024001251A1 true WO2024001251A1 (en) 2024-01-04

Family

ID=82522541

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816894B (en) * 2022-06-30 2022-12-02 苏州浪潮智能科技有限公司 Chip testing system, method, equipment and medium
CN116828347B (en) * 2023-08-31 2023-12-05 北京智芯微电子科技有限公司 Remote monitoring device, testing system and method for chip reliability test

Citations (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
CN111600760A (en) * 2020-05-25 2020-08-28 广东电科院能源技术有限责任公司 Quality detection system, method and equipment of power grid operation monitoring system
CN112463631A (en) * 2020-12-11 2021-03-09 苏州浪潮智能科技有限公司 Chip driver testing method, device and equipment and readable storage medium
WO2022016847A1 (en) * 2020-07-21 2022-01-27 国云科技股份有限公司 Automatic test method and device applied to cloud platform
CN114036060A (en) * 2021-11-24 2022-02-11 长江存储科技有限责任公司 Method, system and computer readable medium for chip testing
CN114816894A (en) * 2022-06-30 2022-07-29 苏州浪潮智能科技有限公司 Chip testing system, method, equipment and medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108023952B (en) * 2017-12-04 2020-08-18 西安电子科技大学 Cloud and mist combination-based modularized Internet of things application rapid construction platform
US10536563B2 (en) * 2018-02-06 2020-01-14 Nicira, Inc. Packet handling based on virtual network configuration information in software-defined networking (SDN) environments
CN112671772B (en) * 2020-12-24 2023-03-24 国网冀北电力有限公司信息通信分公司 Network security service system and method based on cloud security capability platform

Patent Citations (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
CN111600760A (en) * 2020-05-25 2020-08-28 广东电科院能源技术有限责任公司 Quality detection system, method and equipment of power grid operation monitoring system
WO2022016847A1 (en) * 2020-07-21 2022-01-27 国云科技股份有限公司 Automatic test method and device applied to 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
CN114816894A (en) * 2022-06-30 2022-07-29 苏州浪潮智能科技有限公司 Chip testing system, method, equipment and medium

Also Published As

Publication number Publication date
CN114816894B (en) 2022-12-02
CN114816894A (en) 2022-07-29

Similar Documents

Publication Publication Date Title
US9842045B2 (en) Failure recovery testing framework for microservice-based applications
WO2024001251A1 (en) Chip test system and method, and device and medium
US11307967B2 (en) Test orchestration platform
CN114787781B (en) System and method for enabling high availability managed failover services
US9218231B2 (en) Diagnosing a problem of a software product running in a cloud environment
US9189367B2 (en) Methods and systems for debugging bytecode in an on-demand service environment
US20200366573A1 (en) Systems and methods for visualizing dependency experiments
US10339039B2 (en) Virtual service interface
US11366728B2 (en) Systems and methods for enabling a highly available managed failover service
US10754741B1 (en) Event-driven replication for migrating computing resources
GB2504491A (en) Remote debug service in a cloud environment
WO2022072137A1 (en) Automated testing of systems and applications
US11917023B2 (en) Fast session restoration for latency sensitive middleboxes
WO2022007418A1 (en) Cloud platform block device abnormity auditing method, apparatus and device and storage medium
US11894983B2 (en) Simulation and testing of infrastructure as a service scale using a container orchestration engine
US11281550B2 (en) Disaster recovery specific configurations, management, and application
US11552868B1 (en) Collect and forward
US20110113436A1 (en) Event Logging Application Programming Interface (API)
US9477490B2 (en) Milestone based dynamic multiple watchdog timeouts and early failure detection
US10223241B2 (en) Resuming a remote debugging session using a backup node
CN110955489B (en) Method and system for reliably recovering virtual machine
CN112448854B (en) Kubernetes complex network policy system and implementation method thereof
WO2023230797A1 (en) Cross-system test method and apparatus
EP4222601A1 (en) Automated testing of systems and applications
Sochor et al. An automated evaluation of broker compatibility for the Message Queuing Telemetry Transport protocol

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23829443

Country of ref document: EP

Kind code of ref document: A1