Fixer-itb / ML4PDR

NeuroPDR: Integrating Neural Networks in the PDR Algorithm for hardware model checking (MLCAD 2023)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ML4PDR

├── README.md
├── code
│   ├── aiger_tools # Tools for convert .aig
│   ├── bmc.py # Implementation of BMC (used in PDR)
│   ├── config.py # Input parameters
│   ├── data_gen.py # Generate graph from aiger
│   ├── generate_aag.py # convert .aig to .aag
│   ├── main.py # Main function to run PDR in certain aiger files
│   ├── mlp.py # Simple implementation of MLP
│   ├── model.py # Parser for parse .aag into z3
│   ├── neuro_predessor.py # Neural Network model to train and inference
│   ├── pdr.py # Implementation of PDR
│   ├── run_slurm.py # This file could be used when run the program on slurm
│   ├── solver.py # Z3, Minisat (used by PDR)
│   ├── ternary_sim.py # Implemtation of ternary simulation
│   └── train.py # Training file for data processing
├── dataset # Dataset of training and validation
│   ├── Cora
│   ├── Cora2
│   ├── ILAng_pipeline
│   ├── aag4train
│   ├── edgelist
│   ├── eval
│   ├── fuzzing_aig
│   ├── generalization
│   ├── generalization_old
│   ├── generalize_pre
│   ├── hwmcc07_amba
│   ├── hwmcc07_tip
│   ├── tmp
│   ├── toy_experiment
│   └── train
├── deps # Some dependent modules
│   └── PyMiniSolvers
├── log # Contains logs file
│   ├── RL_spec3-and-env.txt
│   ├── hwmcc07_amba_naive.txt
│   ├── neuropdr_no1.log
│   ├── neuropdr_no1_detail.log
│   └── nusmv.syncarb5^2.B.txt
├── model # Model saved after training
│   ├── neuropdr_no1_best.pth.tar
│   └── neuropdr_no1_last.pth.tar
├── requirements.txt # In order to reproduce the experiment environment fast
└── script
    └── fetch_info_from_log.py # Generate table from logs

dataset folder (hwmcc 07): /data/hongcezh/clause-learning/data-collect/hwmcc07-7200-result/output/tip/eijk.S953.S

dataset folder (hwmcc 20): /data/hongcezh/clause-learning/data-collect/hwmcc20-7200-result/output

aiger size: /data/hongcezh/clause-learning/data-collect/stat/

About

NeuroPDR: Integrating Neural Networks in the PDR Algorithm for hardware model checking (MLCAD 2023)


Languages

Language:C++ 46.6%Language:Verilog 33.5%Language:TeX 6.3%Language:Python 4.7%Language:C 4.4%Language:SystemVerilog 0.9%Language:Yacc 0.8%Language:SMT 0.7%Language:Shell 0.7%Language:Makefile 0.6%Language:Jupyter Notebook 0.4%Language:Lex 0.2%Language:Perl 0.1%Language:JavaScript 0.1%Language:Java 0.0%Language:Tcl 0.0%Language:Pawn 0.0%Language:SourcePawn 0.0%Language:OpenSCAD 0.0%Language:Dockerfile 0.0%Language:VHDL 0.0%Language:Ruby 0.0%