Git Product home page Git Product logo

Semi-ATE

Semiconductor Automated Test Equipment

GitHub Conda Supported Python versions CI-CD

GitHub release (latest SemVer) GitHub commits since latest release (by date) GitHub issues GitHub pull requests

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 PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-project-database PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-sammy PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-plugins PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-testers PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-spyder PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-apps-common PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-control-app PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-master-app PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-test-app PyPI Conda (channel only) conda-forge feedstock
Semi-ATE-installer PyPI Conda (channel only) conda-forge feedstock

3rd party packages needed:

mosquitto : Conda (channel only) conda-forge feedstock

=== Installation of the packages can be achieved via conda or pip.

Installation using pip

Each package can be installed using python -m pip install <package-name>:

python -m pip install semi-ate-common
python -m pip install semi-ate-project-database
python -m pip install semi-ate-sammy
python -m pip install semi-ate-plugins
python -m pip install semi-ate-testers
python -m pip install semi-ate-spyder
python -m pip install semi-ate-apps-common
python -m pip install semi-ate-control-app
python -m pip install semi-ate-master-app
python -m pip install semi-ate-test-app

Or all at once:

python -m pip install 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

Installation via Conda

To be defined

Installation via Conda (Development mode)

we use maxiconda (https://www.maxiconda.org) , because it is free and open source conda installer.

Create an environment in conda and install semi-ate in it:

(base)~$ mamba create -n Semi-ATE python=3.9 spyder=5.4.3
(base)~$ conda activate Semi-ATE
(Semi-ATE)~$ mkdir -p ~/repos/Semi-ATE
(Semi-ATE)~$ cd ~/repos/Semi-ATE
(Semi-ATE)~/repos/Semi-ATE$ git clone https://github.com/Semi-ATE/Semi-ATE.git
(Semi-ATE)~/repos/Semi-ATE$ cd Semi-ATE
(Semi-ATE)~/repos/Semi-ATE/Semi-ATE$ python scripts/package_tool.py --change-env cicd
...

For the development of testflows, tests and debugging, the easiest way is to use the plugin lab_control for spyder:

cd src/ATE_spyder/ate_spyder_lab_control
pip install -e .

Installation and running on a MiniSCT

that is describe here

Development Process

Test program development process documentation can be found here

Semi-ATE's Projects

3d-models icon 3d-models

SolidWorks / STEP models of electronic components

ate-dispatcher icon ate-dispatcher

A simple dispatcher to register and listen for events and to take actions on them

bras icon bras

Bras is a rules-based command execution system, ala 'make'. It includes a powerful rules system supporting foreign directory triggers, multiple rule types, and on-the-fly dependency generation. It is written in Tcl and uses Tcl as its script language.

dcs1k icon dcs1k

STL Digital Current Source 1K Watt

docker icon docker

docker image to build the SCT8-Board project

dtar icon dtar

Differential Tape ARchive

installer icon installer

A one-stop installer purely based on conda-forge.

lx2160a_uefi icon lx2160a_uefi

Parent build repository for generating UEFI firmware for the LX2160a

maxiconda icon maxiconda

Cross platform conda installer purely based on conda-forge with Python (CPython or PyPy), Jupyter and R for users.

maxiconda-envs icon maxiconda-envs

anaconda like metapackage based solely on the conda-forge channel

metis icon metis

STDF to PANDAS data frames conversion.

semi-ate-installer icon semi-ate-installer

The installation package that will install the correct Semi-ATE packages depending on the use-case.

spyder-remote icon spyder-remote

Plugin for spyder (>=5) that adds remote capabilities to spyder.

staged-recipes icon staged-recipes

A place to submit conda recipes before they become fully fledged conda-forge feedstocks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.