Software Architecture

The Rifle’s software architecture is hierarchically organized to hide the implementation details and, by means of different programming languages, to create a powerful and user-friedly environment. At the lowest level, just above the hardware, there is the instrument driver, it belongs to the PC Operating System. At a higher layer there is the API, it’s a library of functions that works as an interface between the driver routines and the higher level programming languages. The first layer that can be modified by the user is the Chip Dependent Interface, it consists of a library of functions specific for the DUT. It’s written in “C” or “C++” to achieve high efficiency and must be implemented for any new device. The High Level Program Interface is written in the “G” language of the National Instrument LabVIEW program and it’s the interface with the final user.


High Level Program Interface

RIFLE software has been designed to run a lot of different measurements on non volatile memories with a very simple interface. That gives to the user an immediate graphical representation of the results, but it’s always possible to save the results in a formatted ASCII mode. The software also permits to store results and settings in different location for every user autenticated with a basic login identification (this permits i.e. to separate settings and results for every member of a researchers team).

Basically RIFLE software gives to the user a various set of analysis tools, born from a long experience on non volatile memories characterization in academic ambit, but also from feedback with the most important european reasearchers teams and memories constructors. Our clients defines the RIFLE software’s main advantages as:

  • Best Time-to-Result

  • Versatility (parameters, algorithms)

  • Stability, reliable results

  • Rich set of analysis tools

  • User friendly, comprehensive set of features

  • Immediate understanding of the results

  • Fast implementation of test flows


Device characteristics definition

Across a dedicated interface the user must give a simple constrains descripion of every device (topological areas, voltage constrains, device pinout...) and it can also  enable or disable functions, function’s parameters and analysis tools.  These settings, stored in a device specific folder, will be loaded at every device initialization.


Navigator

After the DUT’s initialization  the software loads the device driver and all the parameters and settings for the “Selected device”. The Navigator window becomes ready to start the measurement session. In the tree “Available functions” the user can select all the enabled measurements for the specific DUT. Double clicking a displayed  function name the user can directly perform the operations and analyze the data at the same time on a dedicated panel. That kind of measurement is an On-line measurement. The user can also decide to combine together a set of operations using the Rifle’s Measurement cycles.


(click to enlarge)

Run on-line measurements 

On-line measurements denote experiments that can be run by simply clicking on a start key. Results are immediately available on the screen.

Several standard measures are already implemented in RIFLE and divided in main sets: Cell characteristics, Digital operations, Array operation, Stresses, Specific tests, Write operations.

  • Cell characteristics include operations that can be performed on a single cell, as threshold calculations and 2D and 3D IV characteristics.

  • Digital operations include digital measures, as binary maps, differential maps, standard verify, store memory to file and multilevel digital bitmap.

  • Array operations include all measures that are meaningful only when considering a selected array of cells: threshold and current distributions and maps as well as identifications of cells featuring specific characteristics.

  • Stresses include gate and drain stresses to be applied to selected arrays of cells.

  • Specific tests activate an on-line continuity test

  • Write operations denote program, erase and cycling operations, to be performed on selected arrays of cells.

  • User functions are on-line measurements that can be easily added by the user using a standard  customizable iterface.

Every standard function can be integrated by the user in accord with the device specific requests  using a fully customizable ADVANCED panel (The Advanced panels editing requires a basic knowledge of the LabVIEW language)


(
click to enlarge)

Create and run measurements cycles

All RIFLE’s basic features and on-line operations can be combined together to run automatically personalized sequences of operations (hundreds or thousands) denoted as cycles. The user will make his cycle diagram  connecting the Rifle’s specific icons and/or Labview specific tools. Rifle software will run this Labiew cycle  and during its execution, relatives data are automatically saved for future analysis (specific panels are included in the standard Rifle package). In facts, when a cycle has been executed, results can be analyzed by means of several specifically designed algorithms.


(
click to enlarge)