Note:
- This is a simple version of CirGPS.
- Dataset can be found at Google Drive
Graph representation learning is a powerful method to extract features from graph-structured data, such as analog/mixed-signal (AMS) circuits. However, training deep learning models for AMS designs is severely limited by the scarcity of integrated circuit design data.
This is the repository of CirGPS, a few-shot learning method for parasitic effect prediction in AMS circuits.
The proposed method contains five steps:
- AMS netlist conversion,
- enclosing subgraph extraction,
- position encoding,
- model pre-training/fine-tuning.
CirGPS is built on the top of GraphGPS, which is using PyG and GraphGym from PyG2. Specifically PyG v2.2 is required. To use all features backed up by GraphGPS, please go to another repository.
In this simple version of cirgps, we employed LinkNeighborLoader, please see the pyg doc for more details.
These codes are tested on our platform with
- torch==2.1.0+cu118
- torch-cluster==1.6.3
- torch-geometric==2.6.1
- torch-scatter==2.1.2
- torch-sparse==0.6.18
- torch-spline-conv==1.2.2
run the main.py for training & evaluation
conda activate cirgpsTo conduct training, type
# To use all arguments, see ArgumentParser in main.py
python main.py --dataset ssram+digtime --use_pe 0 --num_hops 1