This repository contains the official code for full-chip scale OPC evaluation.
Install the OpenFuILT-Eval as a package using
python setup.py installTo use this project, ensure the following dependencies are installed:
- Environment: Python 3.11
- PyTorch: With CUDA support for GPU acceleration
- TorchLitho: Install from the official repository: TorchLitho-Lite
- OpenFuILT: Install from the official repository: OpenFuILT
-
Pixel Size:
The pixel of the mask represents an area of
$s \times s \ nm^2$ . - Mask: A pickle file with a specified pixel size.
- Target: A GDSII file with a resolution of 1 nm.
Note: Ensure that the target and the mask are aligned at the source point
The size of the mask is
- Edge Placement Error (EPE)
- L2 Losss
- Process Variation Band (PVB)
- Shot (Optional)
The aligned inputs can be generated using OpenFuILT.
Below is an example code snippet demonstrating how to evaluate and obtain the metrics results:
from openFuILTEval import Evaluator
evaluator = Evaluator(
pixel=14,
macro_size=[2, 2],
mask_path="mask.pkl",
target_path="target.gds",
)
evaluator.evaluate()
evaluator.report()You are also encouraged to use your generated full-chip mask and target GDSII files with the evaluation framework for comprehensive validation.
If you find this project helpful in your research, please consider citing our paper:
@inproceedings{yin2024fuilt,
title={FuILT: Full chip ILT system with boundary healing},
author={Yin, Shuo and Zhao, Wenqian and Xie, Li and Chen, Hong and Ma, Yuzhe and Ho, Tsung-Yi and Yu, Bei},
booktitle={Proceedings of the 2024 International Symposium on Physical Design},
pages={13--20},
year={2024}
}