Skip to content

[MLCAD'24] Automated Physical Design Watermarking Leveraging Graph Neural Networks & [TCAD'25] ICMarks: A Robust Watermarking Framework for Integrated Circuit Physical Design IP Protection

License

Notifications You must be signed in to change notification settings

ruisizhang123/PD_WM_GNN

Repository files navigation

Physical Design Watermarking

Artifact evaluation for MLCAD 2024 paper "Automated Physical Design Watermarking Leveraging Graph Neural Networks" Paper

Code for TCAD 2025 paper "ICMarks: A Robust Watermarking Framework for Integrated Circuit Physical Design IP Protection" Paper

Environment Setup

# clone code
git clone --recursive https://github.com/ruisizhang123/PD_WM_GNN.git
cd PD_WM_GNN
# create conda env
conda create -n  pd_wm_gnn python=3.9
conda activate pd_wm_gnn
# install required packages
pip install -r requirement.txt
# build
bash build.sh

Our codebase builds heavily upon DREAMPlace. If the environment missed some packages, you can alternatively (1) look for instructions from DREAMPlace repo or (2) build with dock file as follows:

docker build . --file Dockerfile --tag PD_WM_GNN/dreamplace:cuda
  1. Download required benchmarks
cd benchmarks
python ispd2005_2015.py
python ispd2019.py

Watermark layout with heuristic approach (TCAD 2025)

  1. Watermark design

Watermark ISPD19 test1 design, with our heuristic approach.

python dreamplace/Placer.py test/ispd2019/lefdef/ispd19_test1.json ./test/combine_wm.json  # For ICMarks
python dreamplace/Placer.py test/ispd2019/lefdef/ispd19_test1.json ./test/global_wm.json   # For Global Watermarking
python dreamplace/Placer.py test/ispd2019/lefdef/ispd19_test1.json ./test/detail_wm.json   # For Detail Watermarking

We use CU-GR to route the wm'ed layout. We also provide the pre-built binary software to evaluate the wirelength in iccad19gr_upd.

./iccad19gr_upd -lef  benchmarks/ispd2019/ispd19_test1/ispd19_test1.input.lef -def  results/ispd19_test1.input/ispd19_test1.input.500.def -output result.solution.guide -threads 8  >> results/ispd19_test1.input/ispd19_test1/log.txt

Watermark layout with GNN (MLCAD 2024)

  1. Watermark design (Inference)

Watermark ISPD19 test1 design, with our pre-trained GNN model.

python dreamplace/Placer.py test/ispd2019/lefdef/ispd19_test1.json ./test/graph.json 

We use CU-GR to route the wm'ed layout.

./iccad19gr_upd -lef  benchmarks/ispd2019/ispd19_test1/ispd19_test1.input.lef -def  results/ispd19_test1.input/ispd19_test1.input.500.def -output result.solution.guide -threads 8  >> results/ispd19_test1.input/ispd19_test1/log.txt
  1. Train GNN from scratch

Change mode in ./test/graph.json from inference to train. We collect and train our model on ISPD19 test6 design.

python dreamplace/Placer.py test/ispd2019/lefdef/ispd19_test6.json ./test/graph.json 
  1. Attack Evaluation

Change attack in ./test/graph.json from 0 to 1.

python dreamplace/Placer.py test/ispd2019/lefdef/ispd19_test1.json ./test/graph.json 

Citation

If you found our code/paper helpful, please kindly cite:

@article{zhang2025icmarks,
  title={Icmarks: A robust watermarking framework for integrated circuit physical design ip protection},
  author={Zhang, Ruisi and Rajarathnam, Rachel Selina and Pan, David Z and Koushanfar, Farinaz},
  journal={IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems},
  year={2025},
  publisher={IEEE}
}

@inproceedings{zhang2024automated,
  title={Automated Physical Design Watermarking Leveraging Graph Neural Networks},
  author={Zhang, Ruisi and Rajarathnam, Rachel Selina and Pan, David Z and Koushanfar, Farinaz},
  booktitle={Proceedings of the 2024 ACM/IEEE International Symposium on Machine Learning for CAD},
  pages={1--10},
  year={2024}
}

About

[MLCAD'24] Automated Physical Design Watermarking Leveraging Graph Neural Networks & [TCAD'25] ICMarks: A Robust Watermarking Framework for Integrated Circuit Physical Design IP Protection

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published