Development of electrical measurement algorithms in a dedicated software environment for memory research applications.

More than two weeks ago

Design, implementation, testing and deployment of electrical measurement algorithms in a dedicated software environment for memory research applications.

The Memory Device Design (MDD) group conducts basic and applied research in the field of non-volatile memories, exploring implementations based on different physical principles (ferroelectric, resistive, spin-torque, etc...). The research proceeds along different aspects of the semiconductor devices design: physical, chemical, geometrical, electrical/electromagnetic. These activities generate a substantial amount of experimental data – basic electrical measurements performed on silicon in the lab – which must be suitably handled and made available to all researchers.

A complex infrastructure is put in place to enable, facilitate, and automate to the highest possible degree the production, archival, retrieve, reuse, and post-process of these data. The hardware and software components of this infrastructure are sourced from well-established manufacturers as well as designed and implemented locally by imec, alone or in cooperation with start-ups and other organizations.

The MDD group software development team is currently focusing on the development of a complex electrical testing (e-test) system, an imec internally developed software item, which constitutes the user front-end application for a large part of the device electric characterisation measurements system.

This software, named SAM, controls the operations of:
at least three semi-automatic wafer measurement systems, each composed of different instruments with varying hardware characteristics and measurement capabilities;

  1. a dedicated MySQL-based measurement database, containing all raw silicon measurements and its derived data;
  2. a data post-processing subsystem, in the form of a set of mathematical functions, which will implement all computations required to evaluate the devices electric parameters;
  3. a subsystem that provides reporting capabilities, in term of pre-formatted documentation ready for distribution, and the interactive display of all relevant data in the form of numerical tables, 2D and 3D plots, and any other data representation that will be deemed necessary.
  4. an imec-wide system, currently in the process of being deployed, for data storage and retrieval.

It is implemented in C++, with additional elements written in Java, Perl, Python, Matlab, and Octave. The current development effort follows two main directions: infrastructure and measurements. The first refers to the overall functionality of SAM, its user interface and the general system architecture. The latter refers more specifically to the e-test measurement routines that the researchers use in their daily job.

The MDD group is looking for a student in software engineering, which will be the main developer for the above-mentioned measurement routines, under the direct supervision of the MDD software engineering coordinator.

Given the ongoing development of SAM, a marked ability to adapt to different technical challenges is required, as well as the willingness to overcome the difficulties posed by incomplete functionalities, missing information, and the glitches of the existing software.

Ideally, the selected software engineer will contribute to the project with novel ideas in both concept and implementation. The topics and competences which will constitute the bulk of the daily activity are (among others): heterogeneous computing and cross-platform development, hardware driver design, OO programming, client-server applications, UI design and implementation, database / data management design, data analisys and postprocessing. It is worth stressing that this project, although related to nanoelectronics application, is a purely software engineering / computer science study. A working knowledge of electronics and semiconductor design is useful but not mandatory.

Type of project: Thesis, Internship, Combination of internship and thesis

Duration: 6 to 9 Months

Required degree: Master of Engineering Science, Master of Engineering Technology

Required background: Computer Science

Supervising scientist(s): For further information or for application, please contact: Lorenzo Ricotti (

Share this on


This website uses cookies for analytics purposes only without any commercial intent. Find out more here. Our privacy statement can be found here. Some content (videos, iframes, forms,...) on this website will only appear when you have accepted the cookies.

Accept cookies