Test and measurement system and method for testing device under test
By separating waveform capture and analysis tasks and enabling parallel processing in the test measurement system, the complexity and time constraints of testing silicon chips and semiconductors are addressed, resulting in improved test throughput and reduced time.
Patent Information
- Application Number
- JP2020086855
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-05-10
- Filing Date
- 2020-05-18
- Publication Date
- 2025-04-21
- Estimated Expiration
- 2040-05-18
AI Technical Summary
As silicon chips and other semiconductors increase in complexity, the testing time and throughput also increase, making it difficult to verify next-generation hardware due to the growing number of scenarios and recombination in each scenario.
The system separates the tasks of capturing waveforms into memory and analyzing captured waveforms, allowing for parallel acquisition and analysis of waveforms from multiple tests, thereby improving test throughput and reducing overall test time.
This approach significantly reduces overall test time and improves throughput by allowing analysis of one waveform to begin before the acquisition of another waveform is complete, effectively parallelizing the testing process.
Smart Images

Figure 0007665293000001 
Figure 0007665293000002 
Figure 0007665293000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a test and measurement system, and more particularly to a test and measurement system for parallel waveform analysis and a method for testing a device under test. [Background technology]
[0002] Verification and testing of integrated circuits (silicon chips or simply "chips") involves testing the manufactured chip design / structure in a laboratory to ensure all functions are correct. This may be done using the assembled chip on a test or reference board along with other components of the system for which the chip is designed. The goal is to verify all possible use cases for the chip that a customer may end up using, and to ensure the design is suitable for all of these use models. Such verification may also be applied to testing other semiconductors, such as gallium arsenide and indium phosphide. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 8-304482 [Non-patent literature]
[0004] [Non-Patent Document 1] Transistor Technology Special, ed., "Digital Oscilloscope Usage Notes," 5-2 How Trigger Circuits Work, pp. 85-87, Figure 2 (Circuit Block Diagram), Transistor Technology Special for Freshers No. 99, CQ Publishing Co., Ltd., July 1, 2007 [Non-patent document 2] Introduction site of "Arbitrary Waveform Generator", especially introducing the AWG series, Tektronix, [online], [searched on May 11, 2020], Internet <https: / / jp.tek.com / arbitrary-waveform-generator>
Non-Patent Document 3
Non-Patent Document 4
Non-Patent Document 5
Non-Patent Document 6
Non-Patent Document 7
Non-Patent Document 8
[0005] However, silicon chips and other semiconductors continue to grow in complexity at a rapid pace, following Moore's Law and driven by new semiconductor designs, as the number of transistors increases. This increased complexity is driving increased customer test demands to verify next-generation hardware while reducing overall test time and improving test throughput. In particular, as silicon chip complexity increases, the number of test scenarios and the number of permutations within each of these scenarios also increase. This presents significant challenges for verifying silicon chips and other semiconductors. For example, silicon chip verification has historically relied on test equipment (e.g., oscilloscopes, arbitrary waveform generators (AWGs), arbitrary function generators (AFGs), bit error rate testers (BERTs), etc.) for debug, characterization, compliance testing, and factory testing. This test equipment traditionally performs two high-level tasks: The first task is to acquire the waveforms generated by the oscilloscope during test (acquisition), and the second task is to analyze the waveforms using digital signal processing (DSP) algorithms to verify the analog signal. Typically, both tasks are performed sequentially. In particular, traditional oscilloscopes have dedicated hardware to acquire waveforms into memory, which are then analyzed by a central processing unit (CPU) built into the oscilloscope. Because these tasks are performed sequentially, the overall test time increases as the complexity of the silicon chip being verified and tested increases.
[0006] SUMMARY OF THE INVENTION The present invention therefore seeks to overcome the above-mentioned technical challenges and limitations of currently known systems. [Means for solving the problem]
[0007] The systems and methods disclosed herein separate the tasks of acquiring a waveform into memory (acquisition) from the task of analyzing the acquired waveform, as discussed above.
[0008] In one example embodiment, the systems and methods described herein acquire waveforms resulting from performing tests on a device under test (DUT) and perform, at least partially in parallel, an analysis of each waveform resulting from performing the test on the DUT. The systems and methods described herein also capture, with an oscilloscope, a first waveform resulting from performing a first test on the DUT, and perform analysis of the first waveform at least partially in parallel with the oscilloscope capture of a second waveform resulting from performing a second test on the DUT. Such improvements increase test throughput and reduce overall test time.
[0009] In one example embodiment, a method for testing a device under test (DUT) in a test and measurement system includes electronically capturing a first waveform from the DUT resulting from performing a first test on the DUT, initiating electronic analysis of the first waveform resulting from performing the first test on the DUT in response to capturing the first waveform resulting from performing the first test on the DUT, and initiating electronic capture of a second waveform resulting from performing a second test on the DUT while analyzing the first waveform resulting from performing the first test on the DUT. The method further includes initiating electronic analysis of the second waveform resulting from performing the second test on the DUT while analyzing the first waveform resulting from performing the first test on the DUT, and initiating electronic capture of a third waveform resulting from performing a third test on the DUT in response to capturing the second waveform resulting from performing the second test on the DUT.
[0010] According to various embodiments of the present invention, a non-transitory computer-readable storage medium stores computer-executable instructions that, when executed by at least one processor, cause the at least one processor to perform one or more of the methods described above. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a timing diagram of waveform acquisition and analysis in a conventional oscilloscope. [Figure 2] FIG. 2 is a timing diagram of oscilloscope waveform acquisition and analysis according to various example embodiments of the present invention. [Figure 3] FIG. 3 is a block diagram illustrating a network architecture of a test and measurement system for parallel waveform analysis in accordance with various example embodiments of the present invention. [Figure 4] FIG. 4 is a block diagram illustrating parallel analysis components in an example architecture of a test and measurement system for parallel waveform analysis in accordance with various example embodiments of the present invention. [Figure 5] FIG. 5 is a sequence diagram illustrating example operations in a test and measurement system for parallel waveform analysis according to various example embodiments of the present invention. [Figure 6] FIG. 6 is a block diagram illustrating an example logging and monitoring architecture in a test and measurement system for parallel waveform analysis in accordance with various example embodiments of the present invention. [Figure 7] FIG. 7 is a block diagram illustrating an example asset management and control architecture in a test and measurement system for parallel waveform analysis in accordance with various example embodiments of the present invention. [Figure 8] FIG. 8 is a block diagram illustrating an example test automation platform architecture in which a test and measurement system for parallel waveform analysis according to various example embodiments of the present invention can operate. [Figure 9] FIG. 9 is a schematic block diagram illustrating an example of a computing device of a test system in which embodiments of a test and measurement system for parallel waveform analysis according to various example embodiments of the present invention may be implemented. [Figure 10] FIG. 10 is a flow diagram of an exemplary computer-controlled method for parallel waveform analysis in a test and measurement system for parallel waveform analysis according to various example embodiments of the present invention. [Figure 11] FIG. 11 is a flow diagram of another exemplary computer-controlled method for parallel waveform analysis in a test and measurement system for parallel waveform analysis according to various example embodiments of the present invention. [Figure 12]FIG. 12 is a flow diagram of an exemplary computer-controlled method for parallel waveform analysis in a test and measurement system that includes analyzing a first waveform at least partially in parallel with acquiring a second waveform in accordance with various example embodiments of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0012] The components in the drawings of this application are not necessarily to scale relative to each other, and like reference numbers throughout the several drawings indicate corresponding components.
[0013] Various embodiments of the disclosed technology provide systems and methods for verifying and testing silicon chips and other semiconductors that separate the tasks of capturing waveforms in memory from the tasks of analyzing the captured waveforms. In one example embodiment, the described systems and methods acquire waveforms resulting from performing tests on a device under test (DUT) and analyze, at least in part, each waveform resulting from performing a test on the DUT. The described systems and methods also acquire, with an oscilloscope, a first waveform resulting from performing a first test on the DUT, and analyze the first waveform at least in part in parallel with the oscilloscope acquisition of a second waveform resulting from performing a second test on the DUT. Such improvements increase test throughput and reduce overall test time.
[0014] 1 is a timing diagram 100 for prior art oscilloscope waveform acquisition and analysis. The vertical axis of timing diagram 100 shows four example tests (Test No. 1, Test No. 2, Test No. 3, and Test No. 4).
[0015] Tests performed in semiconductor verification involve the generation of test signals using an arbitrary waveform generator (AWG) or similar, and the application of these test signals to the DUT. An oscilloscope captures the waveforms generated by applying specific test signals to the DUT. The system then analyzes the waveforms generated as a result of applying the specific test signals to the DUT. Thus, each test has a waveform acquisition (or waveform capture) portion and a waveform analysis portion. Conventional systems complete the waveform acquisition and waveform analysis portions of the preceding test before starting the waveform acquisition and waveform analysis portions of the subsequent test.
[0016] Specifically, in the prior art example shown in FIG. 1, Test No. 1 has a waveform acquisition portion 102 and a waveform analysis portion 104. Test No. 2 has a waveform acquisition portion 106 and a waveform analysis portion 108. Test No. 3 has a waveform acquisition portion 110 and a waveform analysis portion 112. Finally, Test No. 4 has a waveform acquisition portion 114 and a waveform analysis portion 116. Timing diagram 100 shows when each portion of each test occurs relative to other tests. As shown, the prior art system completes the waveform acquisition and waveform analysis portions of each test before beginning the waveform acquisition and waveform analysis portions of the subsequent test. As shown, both the waveform acquisition portion 102 and the waveform analysis portion 104 of Test No. 1 are completed before the waveform acquisition portion 106 and the waveform analysis portion 108 of Test No. 2 begin. After both the waveform acquisition portion 106 and the waveform analysis portion 108 of Test No. 2 are completed, the waveform acquisition portion 110 and the waveform analysis portion 112 of Test No. 3 begin. Finally, after both the waveform acquisition portion 110 and the waveform analysis portion 112 of Test No. 3 are completed, the waveform acquisition portion 114 and the waveform analysis portion 116 of Test No. 4 begin. This sequential process can continue for a large number of additional tests, but would result in a very long overall test time for the DUT.
[0017] FIG. 2 is a timing diagram 200 of oscilloscope waveform acquisition and analysis according to various embodiments of the present invention.
[0018] To address the issues inherent in the sequential semiconductor testing and verification system depicted in timing diagram 100 of FIG. 1 , FIG. 2 illustrates a process for acquiring waveforms resulting from testing a DUT and analyzing each waveform resulting from testing the DUT, at least in part, in parallel. Specifically, in the example shown in FIG. 2 , Test No. 1 includes a waveform acquisition portion 202 and a waveform analysis portion 204. Test No. 2 includes a waveform acquisition portion 206 and a waveform analysis portion 208. Test No. 3 includes a waveform acquisition portion 210 and a waveform analysis portion 212. Finally, Test No. 4 includes a waveform acquisition portion 214 and a waveform analysis portion 216. Timing diagram 200 illustrates when each portion of each test occurs relative to other tests. As shown, systems according to various embodiments described herein perform analysis of each acquired waveform resulting from testing a DUT, at least in part, in parallel. Specifically, waveform analysis portion 204 of test number 1, waveform analysis portion 208 of test number 2, waveform analysis portion 212 of test number 3, and waveform analysis portion 216 of test number 4 are all performed at least partially in parallel (although in some embodiments, analysis of the acquired waveforms of one test may be completed before analysis of the acquired waveforms of another test begins).
[0019] In this example, the system performs waveform acquisition 202 for Test No. 1 and then performs analysis portion 204 of Test No. 1 based on the acquired waveforms. However, before analysis portion 204 of Test No. 1 is complete, the system begins waveform acquisition 206 of Test No. 2. Also, before analysis portion 208 of Test No. 2 is complete, the system begins waveform acquisition 210 of Test No. 3. Furthermore, before analysis portion 212 of Test No. 3 is complete, the system begins waveform acquisition 214 of Test No. 4.
[0020] The parallel processing (or concurrent processing) can continue for a large number of additional tests, thereby significantly increasing test throughput and reducing overall test time for the DUT.
[0021] FIG. 3 is a block diagram illustrating a network architecture 300 of a test and measurement system for parallel waveform analysis in accordance with various embodiments of the present invention.
[0022] The left side of the block diagram illustrating network architecture 300 shows components of an exemplary silicon chip or other semiconductor validation lab for a customer 306, including a test bench 304. The validation lab, including the test bench 304, includes a personal computer (PC) 308, which, in some embodiments, may instead include other computing systems, processing units, or computer servers. Connected to the PC 308 are various test and measurement devices, which may include an oscilloscope 314, an AWG 316, an analyzer (spectral, vector network, parameter, modulation, power, etc.) 318, a voltmeter 312, and a bit error rate tester (BERT) 310. In various embodiments, exemplary additional devices may include an arbitrary function generator (AFG) and probes.
[0023] Test equipment may be connected to PC 308 via one or more types of network or communication connections, including, but not limited to, 10G (Gigabit Ethernet), universal serial bus (USB), and general-purpose interface bus (GPIB). Such test equipment may be directly or indirectly connected to DUT 320. In some examples, PC 308 is configured to perform and control operations to automate, to some extent, testing of DUT 320, such as measuring the characteristics of DUT 320 and transporting and positioning silicon chips or other semiconductors to form DUT 320. Such processes include the verification and testing of silicon chips or other semiconductors and may include the systematic testing of all functions / features of the semiconductor that constitutes DUT 320. For example, for each test applied to DUT 320, AWG 316 generates a test signal that is applied to DUT 320. The oscilloscope 314 may then acquire the waveform resulting from applying each particular test signal to the DUT 320. The PC 308 may initiate and control this process, including running multiple tests on the DUT 320.
[0024] The PC 308 is connected to an on-premise network (or "lab network") 322 (which may comprise, for example, a local area network (LAN)) and can function as a local controller or server on the lab network 322. The lab network 322 may be separated from one or more other public or private networks via a firewall 326. Also connected to the lab network 322 is an on-premise cloud computing server 324. The PC 308 can store acquired waveforms for multiple different tests in disaggregated persistent memory 334, such as by electronically transmitting the acquired waveforms for multiple different tests to the on-premise cloud computing server 324 via the lab network 322. The on-premise cloud computing server 324 can enable and perform parallel analysis of multiple acquired waveforms, each resulting from a different test performed on the DUT 320 by the test bench 304. For example, cloud computing server 324 may perform, at least partially in parallel, the analysis of each acquired waveform resulting from a test performed on DUT 320 by test bench 304. Using PC 308, AWG 316, and oscilloscope 314 on test bench 304 to acquire the waveform for each test and cloud computing server 324 to analyze those waveforms separates the tasks of capturing waveforms into memory and analyzing the captured waveforms, as discussed above. Cloud computing server 324 may also perform analysis of one waveform at least partially in parallel with the oscilloscope 314 capturing a new waveform resulting from a new test performed on DUT 320. This improvement increases test throughput and reduces overall test time.
[0025] In some embodiments, the PC 308 or the on-premise cloud computing server 324 may optionally be connected to a public cloud computing system 328. For example, such a public cloud computing system 328 may include a cloud computing server accessible through a lab network 322 that is connected to the Internet through a firewall 326. In such an embodiment, the PC 308 or the on-premise cloud computing server 324 electronically transmits acquired waveforms associated with multiple different tests performed on the DUT 320 to the public cloud computing system 328 through the lab network 322, which is connected to a public network, such as the Internet. The public cloud computing system 328 may, in addition to or instead of the on-premise cloud computing server 324, perform parallel analysis of multiple acquired waveforms, each resulting from a different test performed on the DUT 320 at the test bench 304. Additionally, another computing system or device 330 of a remote user, such as remote user 332, may be able to access the public cloud computing system 328 over a public network to access associated test results, equipment logs, and test asset management data.
[0026] In some embodiments, the on-premise cloud computing server 324 or the public cloud computing system 328 can store test and validation data resulting from performing tests on the DUT 320 in a data lake implemented on such system (see Non-Patent Document 7). As used herein, a data lake is a centralised repository that stores data and shares it with different users in different locations (e.g., remote user devices 330, such as remote user 332) based on security policies. A data lake can store relational and non-relational data, allowing it to store data from a variety of test instruments and sources as is, without first structuring the data. For example, the on-premise cloud computing server 324 or the public cloud computing system 328 may further store logs from various validation lab equipment (e.g., including oscilloscope 314, AWG 316, analyzer 318, voltmeter 312, and BERT 310), as well as equipment inventory information to keep track of all equipment on the network 322 and, optionally, other network information. The results stored in the data lake may be used to perform deep analysis and correlation. Analysis capabilities allow users to perform advanced analysis on test results and equipment logs.
[0027] In various embodiments, the data lake of the on-premise cloud computing server 324 or the public cloud computing system 328 electronically enables the customer 306 and other remote users to access the analysis results of each waveform stored on the on-premise cloud computing server 324 or the public cloud computing system 328 for overall test result analysis. Test equipment logs (including, for example, the oscilloscope 314, the AWG 316, the analyzer 318, the voltmeter 312, and the BERT 310) resulting from testing the DUT 320 may also be stored on the on-premise cloud computing server 324 or the public cloud computing system 328. Storing the test equipment logs on the on-premise cloud computing server 324 or the public cloud computing system 328 enables the customer 306 and remote users (e.g., other computing systems or devices 330 of remote users, such as remote user 332) to access and use the equipment logs for analysis.
[0028] Equipment inventory information for multiple test assets (e.g., including oscilloscope 314, AWG 316, analyzer 318, voltmeter 312, and BERT 310) resulting from testing on DUT 320 can also be stored on on-premise cloud computing server 324 or public cloud computing system 328. This allows various systems (e.g., PC 308 or other computing system or remote user device 330, such as remote user 332) to keep track of multiple test assets using the inventory information for multiple test equipment on network 322.
[0029] FIG. 4 is a block diagram illustrating parallel analysis components 412a-412e in an exemplary architecture 400 of a test and measurement system for parallel waveform analysis in accordance with various embodiments of the present invention.
[0030] 4 illustrates a computing system 404 of a user 402 of a test and measurement system for parallel waveform analysis. For example, the user 402 may be the customer 306 of FIG. 3. In this example embodiment, the computing system 404 is coupled to and communicates with an execution engine 408 that controls the parallel analysis of acquired waveforms using a World Wide Web application (Web App) 406 as a front-end interface. Thus, via the Web App 406, execution of the parallel analysis of acquired waveforms may be performed remotely from the validation laboratory where the waveforms were acquired. For example, the computing system 404 may be the PC 308 of FIG. 3 or one or more devices 330 of a remote user 332.
[0031] In this example embodiment, the computing system 404 communicates with the execution engine 406 using a web application (Web App) 406 via a RESTful or Representational State Transfer (REST) application programming interface (API). 4 It is linked to 08. REST APIs are open APIs, designed to leverage existing protocols. REST can be used with almost any protocol, so developers do not need to install libraries or additional software to use REST API mechanisms. Unlike SOAP (Simple Object Access Protocol), REST is not constrained to Extensible Markup Language (XML), but instead can return XML, JSON (JavaScript Object Notation), or other formats depending on what the client requests. With REST, unlike RPC (Remote Procedure Call), users and systems do not need to know the procedure name or specific parameters of a particular command.
[0032] 4 also illustrates a waveform acquisition service 418 that can communicate with the execution engine 408. The waveform acquisition service 418 acquires waveforms from the DUT 426 (e.g., an integrated circuit) via an interface fixture 428 (e.g., a PCIe4 fixture) by performing individual tests on the DUT 426. For example, the waveform acquisition service 418 can be a service provided or implemented by an oscilloscope 422 (e.g., a Tektronix DPO73304D high-speed digital phosphor oscilloscope). The execution engine 408 can then initiate these waveform acquisition processes and control when waveform acquisition occurs via a REST API. In the example embodiment, the waveform acquisition service 418 may be in communication with an AWG 432 (e.g., a Tektronix AWG7122C Arbitrary Waveform Generator) that generates test signals applied to an interface fixture 428 connected to the DUT 426 to perform various individual tests on the DUT 426. The waveform acquisition service 418 may also be in communication with a power control unit 424 that generates power control signals applied to an interface fixture 428 connected to the DUT 426 to perform various individual tests on the DUT 426. In the example embodiment, the waveform acquisition service 418 may be connected to the AWG 432 and the power control unit 424 via a VISA (Virtual Instrument Software Architecture: see Non-Patent Document 6) connection.
[0033] The waveform acquisition service 418 executes tests on the DUT 426 and transfers the acquired waveforms to the database 414 via the API services 416. The database 414 may be a centralized data server that maintains a record of the acquired waveforms and associated metadata about the waveforms. The execution of parallel waveform analysis may be based on a microservice architecture. For example, the transfer of each waveform for a particular test to the database 414 via the API services 416 may trigger the execution engine 408 to create or start independent, parallel instances of a waveform analysis application as a microservice for analyzing the waveform. The execution engine 408 may start independent, parallel instances of the waveform analysis application as a microservice via a REST API. For example, in response to the acquisition of each waveform, a separate waveform analysis application may be launched, and the corresponding waveform may be transferred from the database 414 to the waveform analysis application. In this example, multiple waveform analysis applications 412a, 412b, 412c, 412d, 412e, and 412f are instantiated in response to receiving in database 414 respective waveforms resulting from performing different tests on DUT 426. Each of the multiple waveform analysis applications 412a, 412b, 412c, 412d, 412e, and 412f executes at least partially in parallel with one another. Analysis results resulting from the multiple waveform analysis applications 412a, 412b, 412c, 412d, 412e, and 412f may also be stored in database 414 for further analysis.
[0034] To implement parallel analysis of acquired waveforms, the execution engine 408 may operate using an event notification bus used in a publish-subscribe messaging pattern (see non-patent document 10). In a publish-subscribe messaging pattern, message senders (called publishers) are not programmed to send messages directly to specific recipients (called subscribers). Instead, published messages (as events on an event notification bus) are categorized without knowledge of any potential subscribers. Similarly, subscribers indicate one or more classes of interest and receive and read only messages belonging to those classes, without knowledge of the publishers. As waveforms are acquired, the execution engine 408 receives these measurements as messages on the event notification bus, where the waveform acquisition service 418 and the execution engine 408 register as subscribers and publishers, respectively, triggering the instantiation of multiple analysis applications (e.g., 412a, 412b, 412c, 412d, 412e, and 412f) in response. The API services 416 are configured to support this publish-subscribe model messaging system. However, in some embodiments, other such message queue models are used and supported by the API services 416. In various embodiments, the use of a microservices architecture and publish-subscribe model messaging pattern allows the web application (Web App) 406, the execution engine 408, the API services 416, and the database 414 to operate or run independently on separate computers, servers, PCs, or other computing systems.In some embodiments, the web application (Web App) 406, the execution engine 408, the API services 416, the database 414, and the waveform analysis applications 412a, 412b, 412c, 412d, 412e, and 412f may comprise a parallel analysis system 430, which may be located remotely from the oscilloscope 422 and the user's 402 computing system 404. In some embodiments, the web application 406, the execution engine 408, the API services 416, and the database 414 may be implemented using a single Linux / Windows system. Also, the waveform analysis applications 412a, 412b, 412c, 412d, 412e, and 412f may be implemented using a single Linux / Windows system.
[0035] FIG. 5 is a sequence diagram illustrating exemplary operations 500 in a test and measurement system for parallel waveform analysis according to various embodiments of the present invention.
[0036] The exemplary operations 500 illustrated in FIG. 5 are operations that may be performed by various parallel analysis components illustrated in the exemplary architecture 400 of FIG. 4. Specifically, a user 402 can use a web application (Web App) 406 to initially select specific measurements to perform and configure test equipment to test a DUT. The user 402 then uses the web application 406 to initiate a group of measurements (a test group) with a corresponding test sequence (a test order consisting of selected tests from among multiple tests) according to the specific measurements to be performed. Based on the corresponding test sequence, the execution engine 408 sends a message to the waveform acquisition service 418 to initiate acquisition of a first waveform (Waveform 1). The waveform acquisition service 418 sends Waveform 1 to the API service 416, which then couples with the database 414 and sends Waveform 1 to the database 414. The database 414 then sends a message to the execution engine 408 notifying it that Waveform 1 has been acquired and is ready for analysis.
[0037] The message informing the execution engine 408 that waveform 1 has been captured triggers the execution engine 408 to send a message to the waveform acquisition service 418 informing it to begin acquiring a second waveform (waveform 2). Thus, once waveform 1 is captured, the system begins acquiring waveform 2. Waveform acquisition service 418 then sends waveform 2 to API services 416, which then couples with database 414 and transmits waveform 2 to database 414. At least partially in parallel with the acquisition of waveform 2, the system begins analyzing waveform 1. For example, the execution engine 408 creates a Docker (registered trademark, see non-patent document 11) instance of waveform 1, which is an example of an instance of a self-contained waveform analysis application (e.g., 412a) of FIG. 4 and is part of the overall analysis service 412 that includes such an instance, allowing the execution engine 408 to perform measurements on waveform 1. Docker® is a software platform provided by Docker, Inc. that allows applications and all their dependencies to be packaged in the form of software containers. This containerization aspect of Docker® ensures that applications (such as waveform analysis application 412a) can run in any environment. However, other containerization platforms and software implementations may also be used. Thus, while waveform 2 is being captured, analysis of the measurement results for waveform 1 begins. While measurement result analysis is being performed on waveform 1, database 414 sends a message to execution engine 408 notifying it that waveform 2 has been captured and is ready for analysis.
[0038] In response to the message informing the execution engine 408 that waveform 2 has been captured, the execution engine 408 creates a Docker® instance of waveform 2, which is an example of an instance of a self-contained waveform analysis application (e.g., 412b) of FIG. 4 , and is part of an overall analysis service 412 that includes such an instance, allowing the execution engine 408 to perform measurements on waveform 2. While the measurement analysis of waveform 2 is occurring, the execution engine 408 sends a message to the waveform acquisition service 418 to notify it of the start of acquisition of a third waveform (waveform 3). The waveform acquisition service 418 then sends waveform 3 to the API service 416, which interfaces with and transmits waveform 3 to the database 414. Once captured by the database 414, the database 414 sends a message informing the execution engine 408 that waveform 3 has been captured and is ready for analysis. The above process may continue for additional waveforms, whereby in addition to performing, at least partially in parallel, an analysis of each of the different waveforms resulting from performing different tests on the DUT on a single oscilloscope, the analysis of each of the different waveforms resulting from performing different tests on the DUT on the oscilloscope is performed, at least partially in parallel, while each of the different waveforms resulting from performing different tests on the DUT on the oscilloscope is being acquired.
[0039] FIG. 6 is a block diagram illustrating an example logging and monitoring architecture 600 in a test and measurement system for parallel waveform analysis in accordance with various embodiments of the present invention.
[0040] One or more test devices 602 shown in FIG. 6 may include an asset subsystem 604, an analysis subsystem 606, an asset subsystem 608, and a configuration subsystem 610. The test devices 602 may use REST to communicate with a logging API 616 and a test monitoring API 620 of a remote logging and monitoring system 614 via an API gateway 612. Also shown is a log visualization web application (Web App) 626 of a customer's computing system, such as customer 306 of FIG. 3 or user 402 of FIG. 4, which may use REST to communicate with a log data analysis API 622 of the remote logging and monitoring system 614 via an API gateway 630. In various embodiments, the test devices 602 may be or include test and measurement equipment of the exemplary validation lab of customer 306 of FIG. 3 or device 330 of remote user 332. In various embodiments, test equipment 602 may be or include test and measurement equipment such as oscilloscope 422 and AWG 432 of Figure 4. Web application (Web App) 626 may be or include web application (Web App) 406 of Figure 4, which is a front-end interface to and enables communication with execution engine 408 of Figure 4, which controls the parallel analysis of acquired waveforms.
[0041] The log repository 618 receives corresponding log data from the test equipment 602 via a logging API 616 and test monitoring data via a test monitoring API 620. The log repository 618 also receives corresponding log data analysis data transmitted from a log visualization web application (Web App) 626 via a log data analysis API 622. The remote logging and monitoring system 614 (which may be a cloud computing system) stores the test equipment 602's device logs resulting from tests performed on the DUT in the log repository 618. The remote logging and monitoring system 614 enables a remote user, such as user 402, to access and perform analysis using the device logs, for example, via an API gateway 630.
[0042] Using the data stored in the log repository 618, the log and monitoring analytics engine 628 captures detailed logs of activity on test and measurement devices, such as the test device 602 and corresponding software layers. Examples of log categories stored in the log repository 618 include error, warning, information, and debug logs. The log and monitoring analytics engine 618 monitors device and test logs and captures or enables capture of system metrics, including central processing unit (CPU) metrics, memory metrics, and the number of instances of a particular service (e.g., the number of parallel analysis components 412), at any point during operation. Monitoring of tests performed by the log and monitoring analytics engine 618 can also capture events during the test. Monitoring of tests by the log and monitoring analytics engine 618 can also provide details about the test execution, such as the time taken for each activity in the test.
[0043] FIG. 7 is a block diagram illustrating an example of an asset management and control architecture 700 in a test and measurement system for parallel waveform analysis in accordance with various embodiments of the present invention.
[0044] FIG. 7 illustrates multiple test assets, including multiple devices. For example, a first device (Device 1) 702 and a second device (Device 2) 704 can be any two different pieces of test equipment, such as an oscilloscope, a DUT, a voltmeter, probes, virtual assets such as test software, or one or more signal generators (such as an AWG or AFG). In various embodiments, the first device 702 or the second device 704 can be or include any test and measurement equipment in the example validation lab of the customer 306 in FIG. 3 or the device 330 of the remote user 332. In this example, the first device 702 includes a device data and log streaming API 706, a device control API 708, and a device locator and verification API 710. The second device 704 includes a device log streaming API 728, a device locator and verification API 714, and a device control API 712.
[0045] 7 also shows a remote asset management system 730 including an asset locator engine 720 (which provides asset locator data to an asset management API 724), an asset controller 722, and an asset repository 726. An equipment data and log streaming API 706 and an equipment log streaming API 728 are coupled to the asset management API 724 of the asset management system 730 via an API gateway 718 to transmit equipment data and log data to the asset management API 724 of the asset management system 730. The asset repository 726 stores data about the devices 702 and signal generators 704 (e.g., inventory information, device status, device usage, device location, etc.) communicated via the API gateway 718 and the asset management API 724 for managing the devices 702 and signal generators 704, including instances of software for testing the DUTs. The asset management system 730 uses such information stored in the asset repository 726 to keep track of a number of test assets, including the device 702 and the signal generator 704, as well as the various devices shown in Figures 3 and 4.
[0046] The asset controller 722 also controls the device 702 and the signal generator 704 to perform actions on each of the test assets by sending control signals via the asset controller 722 and the asset locator engine 720 to the device control API 708 and the device locator and verification API 710 of the device 702, respectively, and to the device control API 712 and the device locator and verification API 714 of the signal generator 704, respectively. For example, the asset controller 722 can manage automatic software upgrades for multiple test assets, including the device 702 and the signal generator 704, and can also manage licenses for such assets. Additionally, using the data stored in the asset repository 726, the asset management system 730 can determine usage patterns of multiple test assets to help users optimize their resource usage.
[0047] FIG. 8 is a block diagram illustrating an example test automation platform architecture 800 in which a test and measurement system for parallel waveform analysis according to various embodiments of the present invention may operate.
[0048] The test automation platform 806 shown in FIG. 8 communicates via an API with an external test automation framework 802 that provides automated testing of a DUT 810. The test automation platform 806 may communicate with and control an oscilloscope 808, custom test scripts and code 812, an environmental control system 814, and an AWG 816 for testing the DUT 810. Such test automation may be remotely configured, initiated, updated, or controlled by the external test automation framework 802 via an open API. Physical hardware-independent test suites, report templates, and equipment management may also be provided via the test automation platform 806 in communication with the external test automation framework 802. In various embodiments, the external test automation framework 802 is a software framework that may be built or implemented in a variety of programming languages, including Python, Java, and C#. Also shown is a database 804 of structured, standardized data, which the test automation platform 806 may update with test suites, report templates, equipment management data, and other data regarding tests and test equipment that is independent of the physical hardware.
[0049] Test automation platform 806 and external test automation framework 802 may include or be integrated with parallel analysis components of Figure 4 with which users 403 communicate via web application (Web App) 406. Additionally, database 804 may be or incorporate data from database 414 of Figure 4, log repository 618 of Figure 6, or asset repository 726 of Figure 7.
[0050] FIG. 9 is a schematic block diagram illustrating an example computing device 910 upon which embodiments of a test and measurement system for parallel waveform analysis according to various embodiments of the present invention may be implemented.
[0051] Computing device 910 is an example of a computing device that may be or be included in the test and measurement system of the parallel waveform analysis system described herein. For example, computing device 910 is an exemplary computing device that may be or include a portion of PC 308, on-premise cloud computing server 324, a computing device of public cloud computing system 328, or remote user computing system or device 330 of FIG. 3. Additionally, the storage system of computing device 910 may include or be embodied as database 414 of FIG. 4, log repository 618 of FIG. 6, or asset repository 726 of FIG. 7.
[0052] In the illustrated embodiment, the test system computing device 910 includes computer memory (memory) 901, a display 902 (such as, but not limited to, a light-emitting diode (LED) panel, a liquid crystal display (LCD), a touch screen display, etc.), one or more central processing units (CPUs) 903, input / output (I / O) devices 904 (such as, for example, a button panel, a keyboard, a mouse, an RF or infrared receiver, a USB port or other communications port, etc.), other computer-readable media 905, and communications connections 206. Test system operations 902 for parallel waveform analysis as described herein are shown residing in memory 901. In other embodiments, some of the contents of test system operations 902 and some or all of the components may be stored in or transmitted to other computer-readable media 905. In various embodiments, the cloud computing system 328 storage device, disaggregated persistent memory 334, database 414, log repository 618, asset repository 726, and / or database 804 may be part of or include data storage 920.
[0053] Components of test system operations 902 preferably execute on one or more CPUs 903 to acquire or facilitate the acquisition of waveforms resulting from the execution of tests on a device under test (DUT) and to perform, at least in part, parallel analysis of each waveform resulting from the execution of tests on the DUT. Test system operations 902 also execute on one or more CPUs 903 to acquire, with an oscilloscope, a first waveform resulting from the execution of a first test on the DUT and to analyze the first waveform at least in part parallel with the oscilloscope acquisition of a second waveform resulting from the execution of a second test on the DUT.
[0054] In other embodiments, other processing devices and configurations may be used, including, but not limited to, graphics processing units (GPUs), ASICs, and embedded CPU / GPU blocks. Test system operations 902 may operate as part of various software applications stored in memory 901, or may operate in conjunction with or in coordination with several of these. Test system operations 902 also facilitates communication with remote user computing systems 904, such as computing system or device 330 shown in FIG. 3, and test equipment 906, such as the exemplary validation lab test and measurement equipment for customer 306 in FIG. 3 or device 330 of remote user 332, via communications system 908.
[0055] The communications system 908 can include a wide variety of communications media, including those utilized by a variety of different physical and logical communications channels now known or later developed. Non-limiting examples of media and communications channels include Universal Serial Bus (USB), Peripheral Component Interconnect (PCI), Wi-Fi systems, WLAN systems, short-range wireless (e.g., Bluetooth®) systems, peer-to-peer networking systems, High-Definition Multimedia Interface (HDMI®), hardwired systems, communications buses, computer network cabling, wide area network (WAN) systems, the Internet, cable systems, telephone systems, fiber optic systems, microwave systems, asynchronous transfer mode (ATM) systems, frame relay systems, digital subscriber line (DSL) systems, radio frequency (RF) systems, cellular systems, and satellite communications systems.
[0056] The test system operations 902 may include one or more APIs (e.g., API 620, API services 416, API 616, API 620, API 622, API gateway 630, etc.) described herein that provide programmatic access to one or more functions or services (e.g., execution engine 408, waveform acquisition service, etc.) of the test system operations 902. An API (e.g., API 620, API services 416, API 616, API 620, API 622, API gateway 630, etc.) may provide programmatic connectivity to one or more functions or services of the test system operations 902, such as the web application 406, execution engine 408, waveform acquisition service 418 that can be launched by a user, as well as other programs, engines, databases, etc., as described herein, represented as other programs 930.
[0057] In one embodiment, the components / modules of test system operations 902 are implemented using standard programming techniques. For example, test system operations 902 may be implemented as a "native" executable running on CPU 903 along with one or more static or dynamic libraries. In other embodiments, test system operations 902 may be implemented as instructions processed by a virtual machine running as one of several other programs 930 or as a microservice deployed via a containerization platform. Generally speaking, a wide variety of programming languages may be utilized to implement these exemplary embodiments, including exemplary implementations in a variety of programming languages, including, but not limited to, object-oriented (e.g., JSON, Java, C++, C#, Visual Basic.NET, Smalltalk, etc.), functional (e.g., ML, Lisp, Scheme, etc.), procedural (e.g., C, Pascal, Ada, Modula, etc.), scripting (e.g., Perl, Ruby, Scratch, Python, JavaScript, VBScript, etc.), or declarative (e.g., SQL, Prolog, etc.).
[0058] In a software or firmware implementation, instructions stored in memory, when executed, configure one or more processors (e.g., CPUs) of test system computing device 910 to perform the functions of test system operations 902. The instructions cause CPU 903 or other processors, such as an I / O controller / processor, to perform the processes described herein.
[0059] The embodiments described herein may use other synchronous or asynchronous client-server computing techniques. However, the various components may be implemented using simpler programming techniques, such as being implemented as executable files running on a single-CPU computer system. Alternatively, the various components may be decomposed using a variety of structuring techniques, including, but not limited to, multiprogramming, multithreading, client-server, and peer-to-peer (e.g., Bluetooth® wireless technology) running on one or more computer systems, each having one or more CPUs or other processors. Some embodiments may execute simultaneously and asynchronously, communicating using message-passing techniques. Equivalent synchronous embodiments may also be supported by implementations of test system operation 902. Other functions may also be implemented or performed by each component / module, in a different order, and by different components / modules, while still achieving the functionality of the embodiments.
[0060] Additionally, programming interfaces to the data stored as part of test system operations 902 may be available through mechanisms such as C, C++, C#, and Java APIs, libraries for accessing files, databases, or other data repositories, scripting languages, or via web servers, FTP servers, or other servers that provide access to the stored data and machine learning models.
[0061] Various configurations and arrangements of programs and data for using the techniques described herein are contemplated. There are various distributed or cloud computing technologies suitable for implementing the components of the described embodiments in a distributed manner, including, but not limited to, TCP / IP, REST, sockets, RPC, RMI, HTTP, and web services (e.g., XML-RPC, JAX-RPC, SOAP). Other variations are possible. Additional functionality may be provided by each component / module, and existing functionality may be distributed in various ways among components / modules while still achieving the functionality of test system operation 902.
[0062] Additionally, in some embodiments, some or all components of the test system operation 902 may be implemented or provided, at least in part, in other ways, such as firmware or hardware, including, but not limited to, one or more application-specific integrated circuits (ASICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, including microcontrollers and / or embedded controllers), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), etc. Some or all of the system components and data structures may be stored as content (e.g., executable software instructions or structured data) on a computer-readable medium, such that the computer-readable medium or one or more associated computing systems or devices can execute, utilize, or provide the content to perform at least some of the techniques described herein. Examples of computer-readable media include, for example, hard disks, memory, computer networks, cellular or wireless networks, or other data transmission media, or portable media products such as flash memory devices that are read by an appropriate drive or connection.
[0063] FIG. 10 is a flow diagram of an exemplary computer-controlled method 1000 for parallel waveform analysis in a test and measurement system for parallel waveform analysis in accordance with various embodiments of the present invention.
[0064] In step 1002, a test and measurement system electronically acquires a first waveform from a device under test (DUT) resulting from performing a first test on the DUT.
[0065] In step 1004, in response to acquiring the first waveform resulting from performing the first test on the DUT, the test and measurement system begins electronically analyzing the first waveform resulting from performing the first test on the DUT.
[0066] Similarly, in step 1006, in response to acquiring a first waveform resulting from performing a first test on the DUT, the test and measurement system begins electronically acquiring a second waveform from the DUT resulting from performing a second test on the DUT while analyzing the first waveform resulting from performing the first test on the DUT.
[0067] In step 1008, in response to acquiring a second waveform from the DUT resulting from performing the second test on the DUT, and while analyzing the first waveform resulting from performing the first test on the DUT, the test and measurement system begins electronically analyzing the second waveform from the DUT resulting from performing the second test on the DUT.
[0068] Also in step 1010, in response to acquiring a second waveform from the DUT resulting from performing a second test on the DUT, the test and measurement system begins electronically acquiring a third waveform from the DUT resulting from performing a third test on the DUT. The process of beginning to electronically acquire a third waveform from the DUT resulting from performing the third test on the DUT occurs while analyzing the first waveform resulting from performing the first test on the DUT.
[0069] The test and measurement system may also electronically acquire additional waveforms resulting from performing additional tests on the DUT. The system may electronically perform, at least partially in parallel, an analysis of each additional waveform resulting from performing additional tests on the DUT. The acquisition of one or more additional waveforms resulting from performing additional tests on the DUT may at least partially in parallel with an analysis of each waveform other than the additional waveforms.
[0070] FIG. 11 is a flow diagram of another exemplary computer-controlled method 1100 for parallel waveform analysis in a test and measurement system for parallel waveform analysis in accordance with various embodiments of the present invention.
[0071] In step 1102, a test and measurement system acquires waveforms resulting from performing tests on a device under test (DUT). For example, the test and measurement system may acquire the waveforms from an oscilloscope and store the waveforms in distributed non-volatile memory.
[0072] In step 1104, the test and measurement system performs, at least partially in parallel, an analysis of each waveform resulting from performing tests on the DUT. The system automatically stores the results of the analysis of each waveform on a cloud computing system and electronically enables a remote user to access the analysis results of each waveform stored on the cloud computing system for analysis of the results.
[0073] FIG. 12 is a flow diagram of an exemplary computer-controlled method 1200 in a test and measurement system for parallel waveform analysis in accordance with various embodiments of the present invention, where a first waveform is analyzed at least partially in parallel with the acquisition of a second waveform.
[0074] In step 1202, the test and measurement system acquires a first waveform with an oscilloscope that results from performing a first test on a device under test (DUT).
[0075] In step 1204, the test and measurement system may acquire, with an oscilloscope, a second waveform resulting from performing a second test on the DUT, at least partially in parallel with analyzing the first waveform. For example, the execution engine may instantiate a waveform analysis application for the first waveform in response to acquiring the first waveform. The system may then instantiate a waveform analysis application for the second waveform, with the waveform analysis execution engine, in response to acquiring the second waveform, at least partially in parallel with executing the waveform analysis application for the first waveform. The system may store, on the cloud computing system, an equipment log of the test equipment resulting from the additional tests on the DUT, and enable a remote user to access the equipment log for overall analysis using the equipment log.
[0076] The following examples are provided to aid in understanding the technology disclosed in this application. Embodiments of the technology may include one or more of the examples described below, and any combination thereof.
[0077] A first embodiment is a method for testing a device under test (DUT) in a test and measurement system, comprising: acquiring a first waveform resulting from performing a first test on the DUT; In response to the process of acquiring a first waveform resulting from performing a first test on the DUT, a process of starting an analysis of the first waveform resulting from performing the first test on the DUT; and analyzing a first waveform resulting from a first test on the DUT while starting to acquire a second waveform resulting from a second test on the DUT. In response to the process of acquiring a second waveform resulting from performing a second test on the DUT, a process of starting an analysis of the second waveform resulting from performing the second test on the DUT while analyzing the first waveform resulting from performing the first test on the DUT; It is equipped with:
[0078] Example 2 is a method for testing the DUT of Example 1, further comprising a process of starting acquisition of a third waveform resulting from performing a third test on the DUT while analyzing a first waveform resulting from performing a first test on the DUT.
[0079] Example 3 is a method for testing the DUT of Example 1, comprising: acquiring additional waveforms resulting from performing additional tests on the DUT; performing at least partially in parallel an analysis of each additional waveform resulting from performing additional tests on the DUT; It further comprises:
[0080] Example 4 is a method of testing the DUT of Example 3, in which the acquisition of one or more additional waveforms resulting from performing additional tests on the DUT is performed at least in part in parallel with the analysis of each waveform other than the one or more additional waveforms.
[0081] Example 5 is the method for testing the DUT of example 3, wherein the process of acquiring the additional waveform includes: Acquiring additional waveforms with an oscilloscope; storing the additional waveform in distributed non-volatile memory; It has the following characteristics.
[0082] Example 6 is the method for testing the DUT of example 5, wherein the process of storing the additional waveform in the distributed non-volatile memory includes: receiving the additional waveforms from a waveform acquisition engine running on the oscilloscope via an application programming interface (API); Storing the received additional waveforms in a database on a centralized data server that can be remotely accessed by remote users' systems. It has the following characteristics.
[0083] Example 7 is a method of testing the DUT of Example 3, comprising: The processing of analyzing each additional waveform at least partially in parallel includes processing of analyzing each additional waveform at least partially in parallel on a cloud computing system.
[0084] Example 8 is a method of testing the DUT of Example 7, comprising: Automatically storing the analysis results for each additional waveform on a cloud computing system; The analysis results for each additional waveform stored on the cloud computing system are then made accessible to remote users. It further comprises:
[0085] Example 9 is a method of testing the DUT of Example 7, comprising: Storing the test equipment logs obtained from additional tests on the DUT on the cloud computing system; A process that allows remote users to access the device logs. It further comprises:
[0086] Example 10 is a method of testing the DUT of Example 7, comprising: The method further includes storing inventory information of a plurality of test assets, including the oscilloscope and the oscilloscope on a network connected to the cloud computing system, on the cloud computing system.
[0087] Example 11 is a method of testing the DUT of Example 10, comprising: The method further includes maintaining, by at least one computer processor of the test and measurement system, a record of at least one of the plurality of test assets using at least a portion of the inventory information of the plurality of test devices on the network.
[0088] Example 12 is a method for testing the DUT of Example 11, wherein the plurality of test assets further comprises one or more of a bit error rate tester (BERT), an arbitrary waveform generator (AWG), an arbitrary function generator (AFG), a voltmeter, the DUT, a probe, and test software.
[0089] Example 13 is a method of testing the DUT of Example 11, comprising: The method further includes determining, by at least one computer processor of the test and measurement system, a usage pattern of the plurality of test assets.
[0090] Example 14 is a method of testing the DUT of Example 11, comprising: The method further includes managing, by at least one computer processor of the test and measurement system, automated software upgrades of the plurality of test assets.
[0091] Example 15 is a test measurement system, comprising: At least one memory; at least one processor coupled to at least one memory; Equipped with At least one memory stores computer-executable instructions that, when executed, cause at least one processor to: Acquiring waveforms resulting from testing a device under test (DUT); The analysis of each waveform generated by performing a test on the DUT is performed at least partially in parallel.
[0092] Example 16 is the test and measurement system of Example 15, wherein the acquisition of one or more additional waveforms resulting from performing tests on the DUT is performed at least partially in parallel with the analysis of each waveform resulting from performing tests on the DUT.
[0093] Example 17 is the test and measurement system of example 15, comprising: The process of acquiring the waveform is Acquiring waveforms using an oscilloscope; The process of storing the waveform in a distributed non-volatile memory. Contains:
[0094] Example 18 is the test and measurement system of example 17, wherein the process of storing the waveform in the distributed non-volatile memory comprises: Accepting additional waveforms from the waveform acquisition engine running on the oscilloscope via an application programming interface (API); Storing the received additional waveforms in a database on a centralized data server that can be remotely accessed by remote users' systems. It has the following characteristics.
[0095] Example 19 is the test and measurement system of Example 15, wherein performing the analysis of each of the waveforms at least partially in parallel includes performing the analysis of each of the waveforms identified at a location of the DUT on a cloud computing system at least partially in parallel.
[0096] Example 20 is the test and measurement system of example 19, wherein the computer-executable instructions, when executed, cause the at least one processor to: The analysis results for each waveform are automatically saved on a cloud computing system. The analysis results for each waveform are stored on a cloud computing system, allowing remote users to access them.
[0097] Example 21 is a non-transitory computer-readable storage medium storing computer-executable instructions, the computer-executable instructions, when executed by at least one processor, causing the at least one processor to: performing a first test on a device under test (DUT) and acquiring a first waveform resulting from the first test using an oscilloscope; At least partially concurrently with the analysis of the first waveform, a second waveform resulting from performing a second test on the DUT is acquired by the oscilloscope.
[0098] Example 22 is the non-transitory computer-readable storage medium of Example 21, wherein the computer-executable instructions, when executed by at least one processor, cause the at least one processor to perform analysis of the second waveform at least partially in parallel with performing analysis of the first waveform.
[0099] Example 23 is the non-transitory computer-readable storage medium of example 21, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to: storing on a cloud computing system an equipment log of the test equipment resulting from the additional testing of the DUT; Allows remote users to access device logs.
[0100] Example 24 is the non-transitory computer-readable storage medium of example 21, wherein the process of performing the analysis of the second waveform at least partially in parallel with performing the analysis of the first waveform comprises: The method includes, in response to acquiring the second waveform, executing a waveform analysis application for the first waveform at least partially in parallel with a process of creating an instance of a waveform analysis application for the second waveform by the waveform analysis execution engine, wherein, in response to acquiring the first waveform, an instance of the waveform analysis application for the first waveform is created by the waveform analysis execution engine.
[0101] Example 25 is a non-transitory computer-readable storage medium of Example 24, wherein the waveform analysis application for the first waveform and the waveform analysis application for the second waveform are services that can be executed independently on different computing systems that are remotely located from each other.
[0102] Example 26 is a non-transitory computer-readable storage medium of Example 24, wherein the waveform analysis execution engine is a service that independently and remotely executes a waveform analysis application for a first waveform and a waveform analysis application for a second waveform on a computing system different from the one or more computing systems.
[0103] Example 27 is the non-transitory computer-readable storage medium of example 21, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to: transferring the first waveform and the second waveform from the waveform acquisition engine of the oscilloscope to a database on a centralized data server that is remotely accessible to a remote user's system via an application programming interface (API); The analysis of the second waveform is performed at least partially in parallel with the analysis of the first waveform in communication with a database on a centralized data server.
[0104] Example 28 is the non-transitory computer-readable storage medium of example 27, wherein the analysis of the second waveform and the analysis of the first waveform are performed on a system remote from the centralized data server.
[0105] While various embodiments have been described, it will be understood that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. [Explanation of symbols]
[0106] 202 Waveform acquisition part 204 Waveform analysis part 206 Waveform acquisition part 208 Waveform analysis part 210 Waveform acquisition part 212 Waveform analysis part 214 Waveform acquisition part 216 Waveform analysis part 300 Test and Measurement System Network Architecture 304 Test Bench 306 Customer 320 Device Under Test (DUT) 322 On-Premise Network 328 Public Cloud Computing Systems 330 Remote User's Computing System or Device 400 Test and Measurement System Architecture Example 402 users 404 Computing Systems 406 Web Application 408 Execution Engine 412a~f Analysis services 414 Database 416 API Services 418 Waveform Acquisition Service 422 oscilloscope 426 DUT 430 Parallel Analysis System 432 Arbitrary Waveform Generator (AWG) 612 API Gateway 614 Remote Logging and Monitoring Systems 616 Logging API 618 Log Repository 620 Test Monitoring API 626 Log Visualization Web Application (Web App) 628 Log and Monitoring Analysis Engine 630 API Gateway 720 Asset Locator Engine 702 1st device 704 Second device 706 Device Data and Log Streaming API 708 Device Control API 710 Device Locator and Verification API 712 Device Control API 714 Device Locator and Verification API 718 API Gateway 720 Asset Locator Engine 722 Asset Controller 724 Asset Management API 726 Asset Repository 728 Device Log Streaming API 730 Remote Asset Management System 800 Test Automation Platform Architecture 802 External Test Automation Framework 804 Structured Standardized Data Database 806 Test Automation Platform 808 Oscilloscope 810 DUT 816 Signal Generator 902 Test System Operation 904 Remote User Computing System 906 Multiple Test Equipment 908 Communication Systems 910 Computing Devices
Claims
1. 1. A method for testing a device under test (DUT) in a test and measurement system, comprising: acquiring a first waveform resulting from performing a first test on the DUT; In response to a process of acquiring the first waveform resulting from performing the first test on the DUT, a process of starting an analysis of the first waveform resulting from performing the first test on the DUT; while analyzing the first waveform resulting from performing the first test on the DUT, starting to acquire a second waveform resulting from performing a second test on the DUT; a process of starting an analysis of the second waveform resulting from performing the second test on the DUT while analyzing the first waveform resulting from performing the first test on the DUT in response to a process of acquiring the second waveform resulting from performing the second test on the DUT; receiving the second waveform from a waveform acquisition engine running on the test and measurement system via an application programming interface (API); storing the received second waveform in a database on a centralized data server that is remotely accessible by systems of remote users. A method for testing a device under test comprising:
2. acquiring additional waveforms resulting from performing additional tests on the DUT; performing, at least in part, in parallel, an analysis of each of the additional waveforms resulting from performing the additional tests on the DUT; The method of claim 1 further comprising:
3. 3. The method for testing a device under test according to claim 2, wherein acquisition of one or more of the additional waveforms resulting from performing the additional test on the DUT is performed at least partially in parallel with analysis of each of the waveforms other than the one or more additional waveforms.
4. storing, on a cloud computing system, a test equipment log resulting from the additional testing of the DUT; providing said device log to said remote user; 4. The method for testing a device under test according to claim 2 or 3, further comprising:
5. A computer program product which, when executed by at least one processor of the test and measurement system, causes said at least one processor to carry out the method of any one of claims 1 to 4.
6. 1. A test and measurement system comprising: At least one memory; at least one processor coupled to at least one of said memories; Equipped with Computer-executable instructions are stored in at least one of the memories that, when executed, cause at least one of the processors to: acquiring a first waveform resulting from performing a first test on a device under test (DUT); In response to the process of acquiring the first waveform, a process of starting an analysis of the first waveform; initiating, at least partially in parallel with analyzing the first waveform, acquisition of a second waveform resulting from performing a second test on the DUT; responsive to acquiring the second waveform, initiating an analysis of the second waveform at least partially in parallel with analyzing the first waveform; receiving the second waveform from a waveform acquisition engine running on the test and measurement system via an application programming interface (API); storing the received second waveform in a database on a centralized data server that is remotely accessible by systems of remote users. A test and measurement system that performs the following:
7. The test and measurement system of claim 6, wherein the computer-executable instructions, when executed, further cause at least one of the processors to perform a process for acquiring one or more additional waveforms resulting from performing additional tests on the DUT, at least partially in parallel with an analysis of each of the additional waveforms resulting from performing the additional tests on the DUT.
Citation Information
Patent Citations
DPO73304D
Real time fft analyzer
JP1996304482A
Inspection method of measurement data and display device
JP2003114240A
System and method for dynamically constrained test generation using static analysis
JP2004513435A
Testing device and method
JP2005267673A