Wednesday, October 10, 2012

Design Tip - Automated Validation for SoC using Oscilloscope

Automated Testing is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, automated testing involves automating a manual process already in place that uses a formalized testing process.




Description:
FPGA/SoC Board: This is the DUT (Device under Test). Actual test cases are running on this Board. The board can be connected with peripheral board to provide support for external connectivity and reference devices. Through the peripheral board DUT needs to be connected to PC.


Mux/Demux: This module is important if multiple modules are required to be verified and numbers of test points are more. This module helps to avoid making different connections to measure various signals with limited channels on Oscilloscope or  Analyzer. User can make the connections initially and need not worry about each and every test case. This Mux/Demux can be controlled via PC using Parallel port (or USB depending upon Mux/Demux support). When the test case execution is controlled by PC, it is easier to configure the Mux/Demux module just before the test case execution.  

Oscilloscope/Analyzer: This device is used to measure various signals. Nowadays these devices have inbuilt PC connectivity. They can be controlled via PC through Network or USB and several other connectivity methods. Manufacturers provide libraries to communicate with these devices through PC application. We just need to integrate that !P I’s to our test utility. Several !P I’s are very useful such as snapshot of signals. Snapshot can be saved for each test-case and can be used for reports and future exploration. If the user needs to save the snapshots manually it will be difficult to be consistent in naming convention of the images and will be time consuming.

PC: Main test application will run on PC and controls all devices depending upon the tests running. This application will be responsible for controlling the execution of tests on DUT, controlling Mux/Demux and Oscilloscope/Analyzer. This application can be GUI based and user friendly thus tester does not  need  to  go through  complexity of  the entire test setup. Tester can just follow the simple steps and will be ready with test results after detailed testing done without understanding of complex protocols. Also when t est s are st art ed  they don’t  require manual operations, thus testers can run multiple tests on different test setups simultaneously.

Benefits: 
  • Reduced Time:  If the testing is done manually, then the average time taken for one test is about 5 to 6 minutes. Therefore, [10 test cases]/hr and [80 test cases]/day (8 working hrs). But with the help of the automated testing using oscilloscope the same test-case can be tested in just few seconds. Considering [15 sec]/test the output will be 24 times faster, resulting in [1920 test cases]/day (8 working hrs). This automation doesn’t require manual operation, thus can be operated 24hrs a day, giving throughput of 5760 tests vs. 80 tests if done manually.
  • Minimal Complexity While Testing: Once the code is written for automation the user performing the testing need not require have the knowledge of various protocols. Therefore the testing can be performed by anyone with minimum operating skills.  
  • More detailed error free results: Snapshots can be captured for all tests those are useful for further observations by different departments. Also result can be exported in csv, charts or other required formats. As this process is automated there are no human errors (more observed when numbers of tests are high). 




No comments:

Post a Comment