Code for paper Versatile Multi-stage Graph Neural Network for Circuit Representation in NeurIPS 2022
Note that NetlistGNN is the former name of our model, now it's revised to Circuit GNN, but some parts of the code are not revised.
The download links of ISPD2011 and DAC2012 are listed in the paper.
Preprocessed by DREAMPlace
As the raw data are too big, they are not included here.
Run following command to train the Circuit GNN on superblue19
:
python script_train_sample.py
- Get and store the output data of DREAMPlace in
{data_dir}
. - Config and run
data/script_process.py
to get processed data (in{data_dir}-processed
). - Config and run
script_train.py
to train CircuitGNN:- Beyond the args,
train_dataset_names
,validate_dataset_name
andtest_dataset_name
should also be configured. - At the first time of training, a Circuit Graph will be generated in
{data_dir}-processed/hetero_{given_iter}
. This might cost about an hour.
- Beyond the args,
Collect the data.
Configurate train_dataset_names
, validate_dataset_name
and test_dataset_name
in script_ours_cong_train.py
and train model:
python script_ours_cong_train.py --name trained_model
Configurate eval_dataset_names
in script_ours_cong_eval.py
and evaluate model:
python script_ours_cong_eval.py --name eval --model trained_model