PyICe¶
Python Integrated Circuit Evaluation Environment¶
\|||/
(o o)
+-------------oooO--(_)---------------------+
| ____ ______ ____ |
|/\ _`\ /\__ _\ /\ _`\ |
|\ \ \L\ \__ __\/_/\ \/ \ \ \/\_\ __ |
| \ \ ,__/\ \/\ \ \ \ \ \ \ \/_/_ /'__`\ |
| \ \ \/\ \ \_\ \ \_\ \__\ \ \L\ \/\ __/ |
| \ \_\ \/`____ \ /\_____\\ \____/\ \____\|
| \/_/ `/___/> \\/_____/ \/___/ \/____/|
| /\___/ |
| \/__/ |
+------------------------oooO---------------+
| | |
|__|__|
|| ||
|| ||
ooO Ooo
PyICe is a comprehensive Python framework designed specifically for lab automation. It can interact with most lab instruments, treating each aspect of a given instrument as an individual “channel”. The channel model reduces even the most complex instruments to a collection of scalars that can be monitored and controlled by test scripts, a graphical user interface, or logged into an SQLite database or Excel worksheet.
A second distinct aspect of the project is used to interact with internal IC memory in the same way as other test equipment channels so that the DUT memory and outside electrical conditions can be monitored, controlled, and logged synchronously. This part of the project also includes numerous utilites to generate both publicly distributable libraries and documentation, and private IC synthesis and test files, all from a single common XML-based register map description.
Check out a series of quick-start tutorials and a brief overview of the basic capabilities and usage here:
PyICe/Examples/getting_started_examples
The PyICe library is relatively stable but is under ongoing development.
A working copy can be checked out from the Boston SVN server (linux credentials required) here:
http://bos-svn.engineering.linear.com/svn/PyICe/trunk/
PyICe.lab_instruments |
Instrument Drivers |
PyICe.lab_core |
Channel and Threading Core Framework |
PyICe.lab_utils |
Miscellaneous Utilities |
PyICe.LTC_plot |
Marcom Compliant Plot Generator |
PyICe.lab_gui |
Graphical Interface to Channel Objects |
PyICe.lab_interfaces |
Physical Communication Interfaces Hierarchy Manager |
PyICe.twi_instrument |
Channel Wraper for SMBus Compliant Devices |
PyICe.twoWireInterface |
SMBus Interface Hardware Drivers |
PyICe.spi_instrument |
Channel Wrapper for SPI Devices |
PyICe.spi_interface |
SPI Interface Hardware Drivers |
PyICe.visa_wrappers |
VISA Emulation Layer |
PyICe.xml_registers |
XML Register Map Tools and Generators |
Documentation is a work in progress.
- Please contact us with any questions, requests for documentation, or to volunteer help developing additional instrument drivers:
- Steve Martin smartin@linear.com
- Dave Simmons dsimmons@linear.com
- Zach Lewko zlewko@linear.com