Non-blocking PMU measurement method and device, test machine and electronic equipment

Through the non-blocking PMU measurement method, the problem of inefficient measurement of traditional PMU is solved by using task threads and producer consumer models, and efficient measurement of configuring and reading multiple channels of data simultaneously.

CN120428057APending Publication Date: 2025-08-05HANGZHOU CHANGCHUAN TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510333588.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-19
Publication Date
2025-08-05

AI Technical Summary

Technical Problem

The traditional PMU measurement method is blocking, resulting in low measurement efficiency and the inability to configure and read data from multiple channels at the same time.

Method used

The non-blocking PMU measurement method is used to connect the tested channels in the PE chip to the monitoring resources through task threads, generate measurement tasks and notify the ADC to perform signal sampling, obtain output coded values and store them in the storage location, and use producer consumer models and thread pooling technology to improve measurement efficiency.

Benefits of technology

It realizes the reduction of latency during the measurement drive process, improves the efficiency of PMU measurement, and enables the configuration and reading of data from multiple channels at the same time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120428057A_ABST
    Figure CN120428057A_ABST
Patent Text Reader

Abstract

The invention relates to a non-blocking type PMU measurement method and device, a test machine and electronic equipment, and the method comprises the steps that a measurement driver creates a corresponding task thread according to an obtained setting parameter; a to-be-tested channel in the PE chip is connected with a monitoring resource based on the setting parameters through the task thread, and the monitoring resource is used for a PMU unit in the PE chip to establish a link to communicate a to-be-tested device and an ADC, so that the ADC samples a channel signal. And packaging the set parameters and the parameter information of the ADC correspondingly connected with the PE chip through the task thread, generating a measurement task, and putting the measurement task into a task queue. And notifying a corresponding ADC to perform signal sampling through the task thread according to the measurement task in the task queue, and obtaining an output coding value of the ADC and storing the output coding value in a storage position corresponding to the to-be-measured channel. Related ADC data reading operation is executed through the measurement drive under the test main thread, and the test main thread can continue subsequent related data measurement configuration operation in the data measurement process of the measurement drive, so that the waiting time is shortened, and the measurement efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of semiconductor testing technology, and in particular to a non-blocking PMU measurement method, device, tester, and electronic equipment. Background Art

[0002] Semiconductor automated testing refers to the use of automatic test equipment (ATE) to inspect various chip parameters and indicators, eliminating defective products and ensuring quality control before shipment. The PMU (Precision Measurement Unit) module in the tester board primarily outputs and measures voltage and current. Traditional PMU measurement methods use a blocking approach. After configuring parameters for a group of channels, the test thread must wait for the reading of one group of channels to complete before configuring parameters and reading data for the next group. This results in low measurement efficiency. Summary of the Invention

[0003] Based on this, it is necessary to provide a non-blocking PMU measurement method, device, test machine and electronic equipment that can improve measurement efficiency to address the above problems.

[0004] In a first aspect, the present application provides a non-blocking PMU measurement method, which is implemented based on a measurement driver in a test main thread. The method includes:

[0005] Create the corresponding task thread according to the obtained setting parameters;

[0006] Connecting the channel to be tested in the PE chip to the monitoring resource based on the setting parameters through the task thread; the monitoring resource is used for the PMU unit in the PE chip to establish a link connecting the device to be tested and the ADC, so that the ADC samples the channel signal;

[0007] The task thread encapsulates the setting parameters and the parameter information of the ADC connected to the PE chip, generates a measurement task and puts it into the task queue;

[0008] The task thread notifies the corresponding ADC to perform signal sampling according to the measurement task in the task queue, and obtains the output code value of the ADC and stores it in the storage location corresponding to the channel to be measured.

[0009] In one embodiment, the setting parameters are used to send parameters to the test main thread and configure parameters for the ADC and / or the PE chip.

[0010] In one embodiment, the setting parameters include a number of sampling points and a channel identifier to be tested, the sampling point number being used by the ADC to perform signal sampling, and the channel identifier to be tested being used to determine the channels to be tested in the PE chip; the task thread includes a consumer thread and a producer thread corresponding to the number of channels to be tested; and connecting the channels to be tested in the PE chip to the monitoring resources based on the setting parameters through the task thread includes:

[0011] After the parameters of the channel to be tested are issued, the producer thread determines the parameter information of the ADC connected to the PE chip where the channel to be tested is located according to the identifier of the channel to be tested;

[0012] The producer thread detects whether the monitoring resources in the PE chip where the channel to be tested is located are in an idle state; if so, the idle monitoring resources are connected to the channel to be tested, and the idle monitoring resources are connected to the corresponding ADC according to the parameter information of the ADC, and the monitoring resources are locked with a mutex lock.

[0013] In one embodiment, the parameter information of the ADC includes a device identifier and a channel identifier; encapsulating the setting parameters and the parameter information of the ADC connected to the PE chip through the task thread, generating a measurement task and placing it in a task queue, includes:

[0014] The producer thread encapsulates the channel identifier to be measured, the number of sampling points, the device identifier of the ADC and the channel identifier corresponding to the channel to be measured, generates a measurement task and puts it into the task queue, and then waits for the consumer thread to wake up.

[0015] In one embodiment, notifying a corresponding ADC to perform signal sampling according to a measurement task in the task queue by the task thread, and obtaining an output code value of the ADC and storing it in a storage location corresponding to a channel to be measured includes:

[0016] The consumer thread polls the task queue and notifies the corresponding ADC to sample the signal of the channel to be measured when a measurement task is detected;

[0017] After the sampling is completed according to the flag bit of the ADC, the consumer thread reads the output code value of the ADC and stores it in the result storage area, and wakes up the producer thread corresponding to the channel to be tested;

[0018] After the producer thread is awakened, it reads the output code value of the channel to be measured from the result storage area according to the ADC parameter information and stores it in the corresponding storage location, and releases the monitoring resources connected to the channel to be measured in the PE chip.

[0019] In one embodiment, the number of the ADC is at least one; the consumer thread polls the task queue and, when a measurement task is detected, notifies the corresponding ADC to perform signal sampling on the channel to be measured, including: obtaining the measurement task from the task queue, notifying the corresponding ADC to perform signal sampling on the channel to be measured according to the measurement task, and while the ADC is performing signal sampling, continuing to obtain the next measurement task from the task queue, and notifying the corresponding ADC to perform signal sampling on the channel to be measured according to the newly obtained measurement task.

[0020] In one embodiment, the number of channels to be tested is more than two, and the producer threads corresponding to the channels to be tested connect the channels to be tested in the PE chip with the monitoring resources in parallel based on the setting parameters, and encapsulate the setting parameters and the parameter information of the ADC connected to the PE chip, generate a measurement task and put it into the task queue.

[0021] A second aspect of the present application provides a non-blocking PMU measurement device, which is implemented based on a measurement driver under a test main thread. The device includes:

[0022] The thread creation module is used to create the corresponding task thread according to the obtained setting parameters;

[0023] a channel configuration module configured to connect the channel under test in the PE chip to a monitoring resource based on the setting parameters through the task thread; the monitoring resource is used by the PMU unit in the PE chip to establish a link connecting the device under test and the ADC, so that the ADC samples the channel signal;

[0024] An information encapsulation module is used to encapsulate the setting parameters and the parameter information of the ADC connected to the PE chip through the task thread, generate a measurement task and put it into the task queue;

[0025] The data reading module is used to notify the corresponding ADC to perform signal sampling according to the measurement task in the task queue through the task thread, and obtain the output code value of the ADC and store it in the storage location corresponding to the channel to be measured.

[0026] A third aspect of the present application provides a test machine, comprising a digital board, wherein the digital board performs PMU measurement according to the above method.

[0027] A fourth aspect of the present application provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above method when executing the computer program.

[0028] In the above-mentioned non-blocking PMU measurement method, device, test machine and electronic equipment, the measurement driver creates a corresponding task thread based on the obtained setting parameters. The task thread connects the channel to be tested in the PE chip with the monitoring resource based on the setting parameters. The monitoring resource is used for the PMU unit in the PE chip to build a link to connect the device to be tested and the ADC, so that the ADC samples the channel signal. The task thread encapsulates the setting parameters and the parameter information of the ADC connected to the PE chip, generates a measurement task and puts it into the task queue. The task thread notifies the corresponding ADC to perform signal sampling based on the measurement task in the task queue, and obtains the output code value of the ADC and stores it in the storage location corresponding to the channel to be tested. The measurement driver under the test main thread executes ADC data reading related operations. During the data measurement process of the measurement driver, the test main thread can continue with subsequent data measurement related configuration operations, thereby reducing waiting time and improving measurement efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 is a flow chart of a non-blocking PMU measurement method in one embodiment;

[0030] Figure 2 A schematic diagram of the connection between the PE chip and the ADC in one embodiment;

[0031] Figure 3 1 is a flow chart of a non-blocking PMU measurement method according to an embodiment;

[0032] Figure 4 A block diagram of a non-blocking PMU measurement device according to an embodiment;

[0033] Figure 5 FIG. 1 is a diagram showing the internal structure of an electronic device in one embodiment. DETAILED DESCRIPTION

[0034] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0035] In one embodiment, Figure 1 As shown, a non-blocking PMU measurement method is provided, which is based on the measurement driver implementation under the test main thread. The method includes:

[0036] Step S110: creating a corresponding task thread according to the acquired setting parameters.

[0037] Specifically, the main test thread is loaded into the digital board of the test machine, and overall performs functions such as parameter distribution, link establishment, and output of stimulus signals to the device under test (DUT). The digital board includes a main board BE and several sub-boards FE. The main board BE is connected to each sub-board FE. Each sub-board FE includes an ADC (analog-to-digital converter) and multiple PE (Pin Electronics Driver / Comparator) chips. Each channel of the PE chip is connected to the pin of the device under test and receives the feedback signal of the device under test. The ADC is connected to the PE chip and samples the signal output by the PE chip. By creating a measurement driver under the main test thread to perform ADC data reading related operations, the main test thread can continue subsequent data measurement-related configuration operations while the measurement driver is performing data measurement, such as parameter distribution and link establishment required for the next measurement, thereby reducing waiting time.

[0038] The setting parameters are used by the test main thread to send parameters and configure parameters for the ADC and / or PE chip. In addition to the setting parameters required for PMU measurement, the parameters sent by the test main thread can also include channel configuration parameters such as voltage and current. In this embodiment, the setting parameters include the number of sampling points (SampleSize) and the channel identifier to be tested (BoardChl). The number of sampling points is used for ADC signal sampling, and the channel identifier to be tested is used to determine the channel to be tested in the PE chip. The tester can input parameters through human-computer interaction, and the test main thread configures the board register data and sets the number of sampling points, voltage, current, etc. required for the operation of devices such as ADC and PE chip. The specific values are determined based on the parameters input by human-computer interaction. The number of channels to be tested can be one or more and can be determined according to actual test needs. After obtaining the setting parameters, the measurement driver configures the corresponding task thread so that the task thread can be called later to perform tasks packaging, data reading, and other operations.

[0039] Step S120: Based on the configured parameters, the task thread connects the channel under test in the PE chip to the monitoring resource. The monitoring resource is used by the PMU unit within the PE chip to establish a link between the device under test and the ADC, enabling the ADC to sample the channel signal. Specifically, upon detecting an idle monitoring resource in the PE chip, the task thread controls the PMU unit to toggle its internal switch, preempting the idle monitoring resource and connecting it to the channel under test and the corresponding channel of the ADC via the PMU unit's internal switch, thus completing the link establishment and enabling the ADC to subsequently sample the channel signal.

[0040] In one embodiment, the task thread includes a consumer thread and a producer thread corresponding to the number of channels to be tested, and the created threads are uniformly managed in a thread pool. A producer thread is created for each channel to be tested, and each producer thread is responsible for the task encapsulation and data transfer of the corresponding channel to be tested. Step S120 includes: after the parameters of the channel to be tested are issued, the producer thread determines the parameter information of the ADC corresponding to the PE chip where the channel to be tested is located according to the channel to be tested identifier; the producer thread detects whether the monitoring resource in the PE chip where the channel to be tested is located is idle; if so, the idle monitoring resource is connected to the channel to be tested, and the idle monitoring resource is connected to the corresponding ADC according to the parameter information of the ADC, and the monitoring resource is locked with a mutex lock. In this embodiment, the channel to be tested is the channel to be tested of the PE chip, and the corresponding channel to be tested identifier is the corresponding channel to be tested identifier.

[0041] The parameter information of the ADC may include a device identifier (AdcId), a channel identifier (AdcChl), etc. Specifically, the device identifier (AdcId) is used to indicate the corresponding ADC device, and the channel identifier (AdcChl) is used to indicate the channel number of the corresponding ADC. Figure 2 As shown, each FE sub-board has 4 PE chips, each PE chip has 8 channels, and each of the 8 channels has a corresponding channel identifier, namely the channel identifier to be detected, totaling 32 channels. The ADC has 8 ADC channels, which are responsible for measuring the channels of all PE chips on a FE sub-board. Each ADC channel has a corresponding channel identifier, namely the channel identifier (AdcChl), such as CHL0, CHL1, etc. Every two channels in the ADC are responsible for measuring the 8 channels of a PE chip, for example, channel CHL0 and channel CHL4 are responsible for measuring the channels of chip PE0. Moreover, since the hardware connection relationship between the ADC channel and each PE chip has been determined before the measurement, that is, the corresponding relationship between each PE chip and the ADC channel is determined, the PE chip where the channel to be measured is located can be determined based on the channel identifier to be measured, and then based on this corresponding relationship, the parameter information of the ADC corresponding to the PE chip can be determined. Each PE chip has two monitoring resources (MON0 and MON1). During measurement, the producer thread configures the PE chip, that is, configures the PMU unit inside the PE chip, to connect the channel to be measured to one of the preempted monitoring resources. Of course, if both monitoring resources are not occupied, both monitoring resources are connected to the channel to be measured, and then the preempted monitoring resource is connected to the corresponding channel of the ADC to facilitate subsequent ADC signal sampling.

[0042] Generally, the PMU unit in a PE chip can connect to eight channels, that is, connect to eight devices under test. However, there are only two monitoring resources (MON0 and MON1). Therefore, after switching the internal switch of the PMU unit, the monitoring resources are connected to the channels under test, thereby achieving PMU measurement of up to eight channels under test in one PE chip.

[0043] Specifically, if Figure 3 As shown, after the test main thread obtains the input setting parameters, it can call the parameter sending thread to configure the voltage value, current value and other parameters of the channel to be tested determined according to the channel to be tested identifier. After the producer thread learns that the parameter sending is completed through the parameter sending thread, it determines the PE chip where the channel to be tested is located according to the channel to be tested identifier, and detects whether the two monitoring resources on the PE chip are idle. If so, it seizes the idle monitoring resources, connects the monitoring resources to the channel to be tested, and locks the monitoring resources with a mutex lock. During the locking period, other threads cannot use the monitoring resources. It can be understood that if there are no idle monitoring resources in the PE chip, the producer thread waits until there are idle monitoring resources, for example, waiting for the previous channel to be tested of the PE chip to complete the measurement. After the mutex lock is unlocked to release the monitoring resources, the producer thread connects the idle monitoring resources to the current channel to be tested and locks them with a mutex lock.

[0044] Step S130: Encapsulate the setting parameters and the parameter information of the ADC connected to the PE chip through the task thread, generate a measurement task and put it into the task queue. Correspondingly, step S130 includes: encapsulating the channel identifier, sampling point number, ADC device identifier and channel identifier corresponding to the channel to be measured through the producer thread, generating a measurement task and putting it into the task queue, and then waiting for the consumer thread to wake up. Figure 3 As shown in the figure, after the producer thread completes the monitoring resource preemption of the channel to be measured, it encapsulates the information related to the channel to be measured, such as the channel identifier, number of sampling points, ADC device identifier and channel identifier, and inserts it into the global task queue as a measurement task, that is, the task is enqueued, and then waits for the consumer thread to poll the task queue and wake up the producer thread.

[0045] Step S140: Based on the measurement tasks in the task queue, the task thread notifies the corresponding ADC to perform signal sampling, obtains the ADC's output code value, and stores it in the storage location corresponding to the channel under test. Accordingly, step S140 includes: the consumer thread polls the task queue and, upon detecting a measurement task, notifies the corresponding ADC to perform signal sampling on the channel under test; after detecting that sampling is complete based on the ADC's flag bit, the consumer thread reads the ADC's output code value, stores it in the result storage area, and wakes up the producer thread corresponding to the channel under test; after waking up, the producer thread reads the output code value of the channel under test from the result storage area based on the ADC parameter information, stores it in the corresponding storage location, and releases the monitoring resources connected to the channel under test in the PE chip.

[0046] Continue to refer to Figure 3 The consumer thread continuously polls the task queue to check whether there are any measurement tasks in the task queue. When a measurement task is detected, the task is dequeued. Based on the ADC device identifier and channel identifier in the measurement task, the consumer thread notifies the corresponding ADC to sample the signal connected to the corresponding channel. Specifically, after the ADC completes the corresponding number of sampling points and samples the signal a corresponding number of times, it averages the sampled data and outputs it as the output code value (AdcCode), completing the signal sampling of the current channel to be measured. The consumer thread can determine whether the ADC has completed signal sampling based on the ADC sampling completion flag. For example, a flag of 0 indicates that sampling is in progress, and a flag of 1 indicates that sampling is complete. Only after the ADC sampling is complete does the consumer thread read the ADC output code value. Using the ADC device identifier and channel identifier as an index, it inserts the ADC output code value into the global result storage area and uses the conditional variable wake-up mechanism to wake up the producer thread corresponding to the current channel to be measured. The consumer thread repeats the above steps. When it detects that all channels to be measured have completed measurement, the consumer thread ends. After the producer thread is awakened, it finds the corresponding output code value in the result storage area based on the ADC's device and channel identifiers and transfers it to the storage location corresponding to the channel under test. This completes the binding storage of the channel under test and the output code value, facilitating subsequent data reading. After the producer thread corresponding to each channel under test completes the data transfer, it releases the monitoring resources connected to the channel under test in the PE chip, allowing other threads to use the monitoring resources, and the producer thread terminates.

[0047] In one embodiment, there are at least one ADC; the consumer thread polls the task queue and, upon detecting a measurement task, notifies the corresponding ADC to sample the signal of the channel to be measured. This includes: obtaining a measurement task from the task queue, notifying the corresponding ADC to sample the signal of the channel to be measured based on the measurement task; and, while the ADC is sampling the signal, continuing to obtain the next measurement task from the task queue and notifying the corresponding ADC to sample the signal of the channel to be measured based on the newly obtained measurement task. For example, if there are two or more ADCs, after the consumer thread reads a measurement task from the task queue and notifies the ADC on daughter board FE0 to sample the signal, the consumer thread may also read the next measurement task from the task queue and notify the ADC on daughter board FE1 to sample the signal before the ADC completes sampling. Alternatively, there may be one ADC on a single FE board, corresponding to four connected PE chips. After the consumer thread reads a measurement task from the task queue and notifies the ADC on daughter board FE0 to sample the corresponding channel, the consumer thread may also read the next measurement task from the task queue and notify the ADC on daughter board FE0 to sample the signal of other channels before the ADC completes sampling. By splitting ADC sampling and reading, if an ADC completes sampling (flag is set to 1), the consumer thread reads the ADC output code value. If no ADC completes sampling, the consumer thread can continue to read new measurement tasks from the task queue or perform other tasks, using the ADC sampling blocking time to perform other tasks, thereby improving the PMU measurement efficiency.

[0048] Furthermore, when there are two or more channels to be measured, the producer threads corresponding to each channel work in parallel to connect the channels to monitoring resources in the PE chip based on the set parameters. They also encapsulate the set parameters and the parameters of the ADC connected to the PE chip, generating a measurement task and placing it in the task queue. When measuring multiple channels simultaneously, after creating the corresponding producer threads, all producer threads can simultaneously preempt monitoring resources and encapsulate tasks, further improving PMU measurement efficiency.

[0049] The non-blocking PMU measurement method described above separates the test process from ADC operations, as well as ADC sampling and reading. Combining the producer-consumer model, thread pools, conditional variables, and mutexes, the PMU maximizes parallel testing.

[0050] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.

[0051] Based on the same inventive concept, embodiments of the present application also provide a non-blocking PMU measurement device for implementing the aforementioned non-blocking PMU measurement method. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations of one or more non-blocking PMU measurement device embodiments provided below can be found in the aforementioned limitations of the non-blocking PMU measurement method and are not further elaborated here.

[0052] In one embodiment, Figure 4 As shown, a non-blocking PMU measurement device is provided, which is implemented based on the measurement driver under the test main thread. The device includes: a thread creation module 110, a channel configuration module 120, an information encapsulation module 130 and a data reading module 140, wherein:

[0053] The thread creation module 110 is used to create a corresponding task thread according to the acquired setting parameters.

[0054] The channel configuration module 120 is used to connect the channel to be tested in the PE chip with the monitoring resources based on the set parameters through the task thread; the monitoring resources are used for the PMU unit in the PE chip to build a link connecting the device to be tested and the ADC, so that the ADC can sample the channel signal.

[0055] The information encapsulation module 130 is used to encapsulate the setting parameters and the parameter information of the ADC connected to the PE chip through the task thread, generate a measurement task and put it into the task queue.

[0056] The data reading module 140 is used to notify the corresponding ADC to perform signal sampling according to the measurement tasks in the task queue through the task thread, and obtain the output code value of the ADC and store it in the storage location corresponding to the channel to be measured.

[0057] In one embodiment, after the parameters of the channel to be tested are distributed through the producer thread, the channel configuration module 120 determines the parameter information of the ADC connected to the PE chip where the channel to be tested is located based on the identifier of the channel to be tested; the producer thread detects whether the monitoring resources in the PE chip where the channel to be tested is located are idle; if so, the idle monitoring resources are connected to the channel to be tested, and the idle monitoring resources are connected to the corresponding ADC based on the ADC parameter information, and the monitoring resources are locked with a mutex lock.

[0058] In one embodiment, the information encapsulation module 130 encapsulates the channel identifier, sampling point number, ADC device identifier and channel identifier corresponding to the channel to be measured through the producer thread, generates a measurement task and puts it into the task queue, and waits for the consumer thread to wake up.

[0059] In one embodiment, the data reading module 140 polls the task queue through a consumer thread and notifies the corresponding ADC to sample the signal of the channel to be measured when a measurement task is detected. After the consumer thread detects that the sampling is completed according to the ADC flag bit, it reads the output code value of the ADC and stores it in the result storage area, and wakes up the producer thread corresponding to the channel to be measured. After being woken up, the producer thread reads the output code value of the channel to be measured from the result storage area according to the ADC parameter information and stores it in the corresponding storage location, and releases the monitoring resources connected to the channel to be measured in the PE chip.

[0060] Each module in the aforementioned non-blocking PMU measurement device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in an electronic device in the form of software, so that the processor can call and execute the corresponding operations of each module.

[0061] In one embodiment, an electronic device is provided. The electronic device may be a terminal, and its internal structure diagram may be as follows: Figure 5As shown. The electronic device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected via a system bus, and the communication interface, the display unit and the input device are connected to the system bus via the input / output interface. The processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the electronic device is used to exchange information between the processor and an external device. The communication interface of the electronic device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a non-blocking PMU measurement method is implemented. The display unit of the electronic device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the electronic device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the electronic device casing, or an external keyboard, touchpad or mouse.

[0062] Those skilled in the art will understand that Figure 5 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0063] In one embodiment, an electronic device is provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in the above method embodiments when executing the computer program.

[0064] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0065] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the steps in the above-mentioned method embodiments.

[0066] In one embodiment, a test machine is provided, including a digital board, which performs PMU measurement according to the above method.

[0067] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.

[0068] The technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above-mentioned embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0069] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make various modifications and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application. Therefore, the scope of protection of the present patent application shall be determined by the appended claims.

Claims

1. A non-blocking PMU measurement method, characterized in that: Based on the measurement driver implementation under the test main thread, the method includes: Create the corresponding task thread according to the obtained setting parameters; Connecting the channel to be tested in the PE chip to the monitoring resource based on the setting parameters through the task thread; the monitoring resource is used for the PMU unit in the PE chip to establish a link connecting the device to be tested and the ADC, so that the ADC samples the channel signal; The task thread encapsulates the setting parameters and the parameter information of the ADC connected to the PE chip, generates a measurement task and puts it into the task queue; The task thread notifies the corresponding ADC to perform signal sampling according to the measurement task in the task queue, and obtains the output code value of the ADC and stores it in the storage location corresponding to the channel to be measured.

2. The method according to claim 1, characterized in that The setting parameters are used to test the main thread to send parameters and configure parameters for the ADC and / or the PE chip.

3. The method according to claim 1, characterized in that The setting parameters include the number of sampling points and the identification of the channel to be tested, the number of sampling points is used for the ADC to perform signal sampling, and the identification of the channel to be tested is used to determine the channel to be tested in the PE chip; the task thread includes a consumer thread and a producer thread corresponding to the number of channels to be tested; Connecting the channel to be tested in the PE chip to the monitoring resource based on the setting parameters through the task thread includes: After the parameters of the channel to be tested are issued, the producer thread determines the parameter information of the ADC connected to the PE chip where the channel to be tested is located according to the identifier of the channel to be tested; The producer thread detects whether the monitoring resources in the PE chip where the channel to be tested is located are in an idle state; if so, the idle monitoring resources are connected to the channel to be tested, and the idle monitoring resources are connected to the corresponding ADC according to the parameter information of the ADC, and the monitoring resources are locked with a mutex lock.

4. The method according to claim 3, characterized in that The parameter information of the ADC includes a device identifier and a channel identifier; the setting parameters and the parameter information of the ADC connected to the PE chip are encapsulated by the task thread, and a measurement task is generated and placed in a task queue, including: The producer thread encapsulates the channel identifier to be measured, the number of sampling points, the device identifier of the ADC and the channel identifier corresponding to the channel to be measured, generates a measurement task and puts it into the task queue, and then waits for the consumer thread to wake up.

5. The method according to claim 4, characterized in that Notifying the corresponding ADC to perform signal sampling according to the measurement task in the task queue through the task thread, and obtaining the output code value of the ADC and storing it in the storage location corresponding to the channel to be measured, including: The consumer thread polls the task queue and notifies the corresponding ADC to sample the signal of the channel to be measured when a measurement task is detected; After the sampling is completed according to the flag bit of the ADC, the consumer thread reads the output code value of the ADC and stores it in the result storage area, and wakes up the producer thread corresponding to the channel to be tested; After the producer thread is awakened, it reads the output code value of the channel to be measured from the result storage area according to the ADC parameter information and stores it in the corresponding storage location, and releases the monitoring resources connected to the channel to be measured in the PE chip.

6. The method according to claim 5, characterized in that The number of the ADCs is at least one; the consumer thread polls the task queue and, when a measurement task is detected, notifies the corresponding ADC to perform signal sampling on the channel to be measured, including: obtaining a measurement task from the task queue, notifying the corresponding ADC to perform signal sampling on the channel to be measured according to the measurement task, and while the ADC is performing signal sampling, continuing to obtain the next measurement task from the task queue, and notifying the corresponding ADC to perform signal sampling on the channel to be measured according to the newly obtained measurement task.

7. The method according to claim 3 or 4, characterized in that The number of channels to be tested is more than two, and the producer threads corresponding to the channels to be tested connect the channels to be tested in the PE chip with the monitoring resources in parallel based on the setting parameters, and encapsulate the setting parameters and the parameter information of the ADC connected to the PE chip, generate a measurement task and put it into the task queue.

8. A non-blocking PMU measurement device, characterized in that: Based on the measurement driver implementation under the test main thread, the device includes: The thread creation module is used to create the corresponding task thread according to the obtained setting parameters; a channel configuration module configured to connect the channel under test in the PE chip to a monitoring resource based on the setting parameters through the task thread; the monitoring resource is used by the PMU unit in the PE chip to establish a link connecting the device under test and the ADC, so that the ADC samples the channel signal; An information encapsulation module is used to encapsulate the setting parameters and the parameter information of the ADC connected to the PE chip through the task thread, generate a measurement task and put it into the task queue; The data reading module is used to notify the corresponding ADC to perform signal sampling according to the measurement task in the task queue through the task thread, and obtain the output code value of the ADC and store it in the storage location corresponding to the channel to be measured.

9. A testing machine, characterized in that: The method comprises a digital board, wherein the digital board performs PMU measurement according to the method according to any one of claims 1 to 7.

10. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Transient thermal resistance testing method and system and electronic equipment

    CN114354982A

  • Parallel scheduling method and device for responding to multiple chips and multiple test tasks in real time and medium

    CN118011183A

  • Multi-channel voltage and current measuring method and multi-channel test driving system

    CN118169462A

  • Method and system for improving chip parallel measurement DUT (Device Under Test) number

    CN119355492A