Semiconductor chips are essential components for various electronic devices and applications, such as computers, smartphones, automotive systems, and medical equipment. As the demand for higher performance, lower power consumption, and smaller size of chips increases, so does the complexity and challenge of testing them.
Testing is a crucial step in ensuring the quality, reliability, and functionality of semiconductor chips before they are shipped to customers.
However, traditional test methods may not be able to cope with the increasing variety and volume of chips in a cost-effective and timely manner. Therefore, new test approaches are needed to address these challenges. Software-driven and system-level tests are two promising solutions that can offer significant advantages over conventional test methods. In this article, we will introduce what software-driven and system-level tests are, how they work, what benefits they can bring, and where they can be applied.

Software-driven test
The software-driven test is a verification methodology that utilizes embedded processors in semiconductor chips to execute software programs that test the hardware functionality.
Imagine you are a doctor who needs to examine a patient’s body. Would you rather use an external device that sends signals to the patient and measures the responses, or would you rather use the patient’s own brain and nervous system to control and monitor the body functions?
The latter option is what software-driven test does for semiconductor chips. It uses the embedded processors in the chip as the “brain” that runs software programs to test the hardware functionality. This way, it can reach every “nerve” and “muscle” of the chip directly through software instructions, without relying on external stimulus generators and output checkers. This makes testing more efficient and effective for complex system-on-chip (SoC) devices that integrate multiple cores, peripherals, and interfaces. The software-driven test can also reuse existing software drivers and firmware as the “medical records” of the chip, reducing test development time and effort. The software-driven test can be performed at different levels of abstraction, from instruction-set simulators to emulators to actual silicon, providing test portability and continuity throughout the design cycle. The software-driven test can complement conventional automatic test equipment (ATE) by catching design faults that may escape wafer probe and package test. The software-driven test can also provide system-level coverage by exercising realistic use cases and scenarios that reflect the end-user applications.
Wouldn’t you want to use such a smart and powerful testing method for your chips?

System-level test
The system-level test is a verification methodology that emulates the final user environment of semiconductor chips to test software and validate connections between IP blocks.
Imagine you are a driver who needs to check your car’s performance. Would you rather use a mechanic’s tool that connects to your car’s engine and measures some parameters, or would you rather drive your car on different roads and conditions to see how it behaves?
The latter option is what the system-level test does for semiconductor chips. It uses a platform that mimics the real system where the chip will be used, such as a smartphone, a tablet, or a car. It runs software programs on the chip that exercise realistic use cases and scenarios that reflect the end-user applications. This way, it can test I/O protocol stacks, IP block-to-block interfaces, and different clock, power, thermal, and hardware/software domain interactions. The system-level test can complement conventional automatic test equipment (ATE) by catching design faults that may escape wafer probe and package test. The system-level test can also provide higher fault coverage by testing more transistors in complex devices such as AI chips. The system-level test can reduce cost and time to market by enabling a faster ramp-up of new device processes.
The common features and advantages of software-driven and system-level tests
Software-driven and system-level tests are two promising solutions that can offer significant advantages over conventional test methods. They can improve the quality, reliability, and functionality of semiconductor chips by testing them in a more realistic and comprehensive way. They can also reduce the cost and time to market by enabling faster ramp-up of new device processes and reusing existing software drivers and firmware.

Some of the advantages of software-driven and system-level tests are :
Higher fault coverage: Software-driven and system-level tests can test more transistors in complex devices such as AI chips, where conventional test methods may leave many untested transistors. They can also catch design faults that may escape wafer probe and package test, such as I/O protocol stacks, IP block-to-block interfaces, and different clock, power, thermal, and hardware/software domain interactions.
Test portability: Software-driven and system-level tests can be performed at different levels of abstraction, from instruction-set simulators to emulators to actual silicon. This provides test portability and continuity throughout the design cycle. The same software programs that run on the real chip can also run on an abstract model or an emulator, without requiring any changes.
Test efficiency: Software-driven and system-level tests can access internal registers and memories of the chip directly through software instructions, without relying on external stimulus generators and output checkers. This makes testing more efficient for complex system-on-chip (SoC) devices that integrate multiple cores, peripherals, and interfaces.
Test development: Software-driven and system-level tests can reuse existing software drivers and firmware as part of the test programs, reducing test development time and effort. They can also leverage realistic use cases and scenarios that reflect the end-user applications, instead of creating artificial test vectors.
These advantages make software-driven and system-level tests a valuable addition to the traditional semiconductor testing flow. They can help ensure that semiconductor chips meet the high performance, low power consumption, and small size requirements of various electronic devices