Skip to content

IDMIPPM/reliability-aware-resynthesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reliability-aware-resynthesis

Experimental programm for reliability aware resynthesis (RELIC)

Input data - combinational circuit (without memory elements) synthesised in basis: INV, AND, NAND, OR, NOR, XOR, XNOR.
Output data - curciut with same logical function but more reliable to single event upset (SEU)

Input data format:

<number of inputs> <input list>
<number of outputs> <output list>
<number of elements>
<element type> <input1> <input2> <output1>
.....
<element type> <input1> <input2> <output1>

Example:

5 N1 N2 N3 N6 N7
2 N22 N23
6
NAND N1 N3 N10
NAND N3 N6 N11
NAND N2 N11 N16
NAND N11 N7 N19
NAND N10 N16 N22
NAND N16 N19 N23

Directory structure:

  • circuits - sample circuits for analysis
  • relic - Python sources
    -- resynthesis - main module
    -- resynthesis_main.py - main RUN-file
  • temp - folder for storing intermediate and final data needed for RELIC
  • utils - additional programs and sources needed for RELIC
    -- bin - binaries
    --- win32 - windows sources
    ---- espresso - espresso binaries
    ---- yosys - YOSYS binaries
    ---- distrib_estim_mt.exe - WIN32 binaries based on C-code. Fast version of function to find signal distribution on subckt inputs and error observability matrix at subckt outputs.
    ---- reliability_uneven.exe - WIN32 binaries based on C-code. Fast version of function to calculate sensitivity coefficient of subckt based on input distribution and error observability matrix
    ---- vulnerability_map.exe - WIN32 binaries based on C-code. Fast version of function to find sensitivity coefficient for large logic circuit using Monte Carlo method.
    ---- vcomp140.dll - Part of VC2015 redistributable for running OpenMP programs. Required by distrib_estim_mt.exe, reliability_uneven.exe and vulnerability_map.exe.
    --- linux - linux sources (currently absent)
    -- source - C-sources
    --- distrib_estim_mt.c - Fast version of function to find signal distribution on subckt inputs and error observability matrix at subckt outputs. Multithreaded version.
    --- reliability_uneven.c - Fast version of function to calculate sensitivity coefficient of subckt based on input distribution and error observability matrix. Multithreaded version.
    --- vulnerability_map.c - Fast version of function to find sensitivity coefficient for large logic circuit using Monte Carlo method. Multithreaded version.

Notes:

RELIC now support only Windows. It can be used on Linux, but you need to prepare the following binaries: Yosys, yosys-abc, espresso and also compile C-files: "distrib_estim_mt_fast.c", "reliability_uneven.c" and "vulnerability_map.c" with OpenMP support.

About

Experimental program for reliability aware resynthesis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published