Semi-ATE / STIL

Standard Tester Interface Library [IEEE1450]
GNU General Public License v2.0
20 stars 7 forks source link

STIL

Standard Tester Interface Language [IEEE1450]

CI CD

GitHub release (latest SemVer) GitHub commits since latest release (by date) PyPI

Conda (channel only) conda-forge feedstock

GitHub issues GitHub pull requests

codecov Conda Downloads

This repository contains STIL parser and dump compiler written in Python using Lark parser library and Language Server Protocol (LSP) for integration into IDE. The work is in progress and the parser is not yet ready to be used in production environment.

Usage examples

Use syntax and semantic parsers to find out errors in the input STIL file:

from Semi_ATE.STIL.parsers.STILParser import STILParser

stil_file = "PATH_TO_STIL_FILE"
parser = STILParser(stil_file)
parser.parse_syntax()
parser.parse_semantic()
if parser.err_line == -1:
  print("No errors are found during STIL file parsing")
else:
  print("Found error during STIL file parsing")

Use a dump compiler to understand how to make a own compiler.

The dump compiler will save content of the STIL file into one or more text files. The files contain WFC data for signals, commands etc. The compiler can expand the procedures and shift statements if needed. For detail information, read the intro text of the Semi_ATE.STIL.parsers.STILDumpCompiler

from Semi_ATE.STIL.parsers.STILDumpCompiler import STILDumpCompiler

stil_file = "PATH_TO_STIL_FILE"
out_folder = "PATH_TO_OUTPUT_FOLDER"

compiler = STILDumpCompiler(
    stil_file, expanding_procs=True, is_scan_mem_available=True, out_folder = out_folder
)
compiler.compile()