Semi-ATE
Semiconductor Automated Test Equipment
Semi-ATE is a tester- and instruments AGNOSTIC framework for Semiconductor ATE ASIC testing projects.
This means that the system is not build around a specific instrument (let's consider an ATE tester for a moment as a super instrument), it rather focuses on organizing semiconductor testing in such a way that all use- (and special) corner cases have their well known place. This enables the users (read: DE's, TCE's, TE's & PE's) to focus on the REAL work, being the writing of good, fast and stable tests. Organizing tests into test-programs and test-programs in to flows is handled by wizards, so the only code that needs writing is the actual test! (motto: Code is our enemy)
The Semi-ATE package is written purely in Python (noarch) and provides besides libraries also a plugin to the Spyder IDE.
Packages
The Semi-ATE project is maintained in this single repository, however it is released as a set of packages (all with the same version number) to accomodate the different use-cases.
| Package Name | PyPI Version | conda Version | feedstock |
|---|---|---|---|
| Semi-ATE-common | |||
| Semi-ATE-project-database | |||
| Semi-ATE-sammy | |||
| Semi-ATE-plugins | |||
| Semi-ATE-testers | |||
| Semi-ATE-spyder | |||
| Semi-ATE-apps-common | |||
| Semi-ATE-control-app | |||
| Semi-ATE-master-app | |||
| Semi-ATE-test-app | |||
| Semi-ATE-installer |
3rd party packages needed:
=== The documentation explains how to install a semi-ATE environment to create test programs and test flows for a developer (with the help of Spyder), or to use the created test flows with the help of a browser, for example in production or in quality assurance.
The semi-ate-control-app package
This package provides some a command line tool (launch_control). In order to use this application you have to configure it first. This tool should be run on some test node, i.e. some host controlling measurement instruments. It communicates with the master application from the semi-ate-master-app package by MQTT. The master application sends mqtt-messages to steer the control application. The control application itself is responsible for loading/unloading and executing some test-program. Test results, i.e. STDF records, are send back to the master application.
Configuration
Configuration of the control application is done by writing a JSON file called control_config_file.json. The following key-value-pairs have to be defined:
{
"broker_host": "127.0.0.1",
"broker_port": 1883,
"device_id": "SCT-82-1F",
"site_id": "0",
"loglevel": 10
}
broker_hostdefines the ip address of the mqtt broker.broker_portdefines the prot of the mqtt broker.device_iddefines a unique id of the so-called test-system. A test system can contain several host running he control applications. And some host running the master application.site_idis the unique identifier of the host running the control applicationlogleveldefines the log-level of the control application
The device_id and site_id is used to build unique mqtt-message-topics automatically. The idea is that no test-system influences some other test system.
Starting the Control Application
We assume that the semi-ate-control-app has been installed in the current python environment. Further configuration control_config_file.json file is located in the current folder.
IMPORTANT: The configuration file has to be named control_config_file.json
(environment)> launch_control
control 0|21/03/2022 04:14:10 PM |INFO |mqtt connected
control 0|21/03/2022 04:14:10 PM |INFO |control state is: idle
Metadata
Release files for semi-ate-control-app 1.0.17
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| semi_ate_control_app-1.0.17.tar.gz | 17.7 kB | Details |
Release files / semi_ate_control_app-1.0.17.tar.gz
| Download URL | semi_ate_control_app-1.0.17.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4260aaf99c2a03336d08aad926c10f59d35627c1d2bd2cb4a2dcf3177164968d
|
|
BLAKE2b-256 checksum How to use checksums |
06ec411e25da1f603a8f43ecb09f7e853ac90d448983a557e1c565697fc248bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.10.12
|