Skip to content

lydiawunan/LOSTIN

Repository files navigation

LOSTIN: Logic Optimization via Spatio-Temporal Information with Hybrid Graph Models

Benchmark

All considered designs come from EPFL logic synthesis benchmark suite

  • 9 designs from the arithmetic benchmarks
  • 2 designs from the random/control benchmarks

Data Preprocessing

From verilog to graph

verilog2graph parses verilog designs into graphs.

Specifically,

  • verilog_cleanser.py removes the symbols incompatible to our parser from the original verilog files.
  • verilog2graph.py converts the processed verilog files into graphs, which are saved in json files.

Ground truth (i.e. label) generation

dataset-generation generates the ground truth based on the ABC logic synthesis tool.

Specifically,

  • flow_generation.ipynb generates random synthesis flows with different lengths.
    • flow_10.csv, flow_15.csv, flow_20.csv, flow_25.csv are the previously generated synthesis flows.
  • run_abc_syn.py invokes ABC to produce area and delay, as the ground truth.

Baselines

Hybrid GNN models

  • GNN with a supernode
    • Requirements: Pytorch Geometric
    • How to run:
      python main_gnn.py
  • GNN + LSTM
    • Requirements: Pytorch Geometric, and torchtext 0.6.0
    • How to run:
      python main_gnn_customized_area.py
    • Note that the dataset files related to LSTM should be unzipped before running the code.

Contact and Citation

  • If there is any question, please shoot an email to nanwu@ucsb.edu
  • If you find LOSTIN useful, please cite our paper:
    @inproceedings{wu2022lostin,
       title={LOSTIN: Logic Optimization via Spatio-Temporal Information with Hybrid Graph Models},
       author={Wu, Nan and Lee, Jiwon and Xie, Yuan and Hao, Cong},
       booktitle={Proceedings of the 33rd IEEE International Conference on Application-specific Systems, Architectures and Processors},
       year={2022},
       organization={IEEE}
    }
    

About

LOSTIN: Logic Optimization via Spatio-Temporal Information with Hybrid Graph Models

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages