Citation Map
This page is the authoritative crosswalk between OpenLithoHub design decisions and the published works that justify them. If you find a constant, parameter, or schema rule with no matching row here, that's a documentation bug — please open an issue.
The BibTeX entries are stored in
docs/references.bib.
Citation keys below match that file verbatim.
How to read this table
- Decision — what OpenLithoHub does (a constant, a default, a schema rule, a metric formula).
- Where it lives — the file:line that implements it. Search for the citation key in source comments to find the inline justification.
- Citation key — the BibTeX key in
references.bib.
- Section / claim — the specific section, table, or figure of the paper that backs the choice.
Forward-simulation and printability metrics
| Decision |
Where it lives |
Citation key |
Section / claim |
Resist threshold defaults to 0.225 |
src/openlithohub/simulators/base.py |
Yang2023_LithoBench |
§3.2 — calibrated against the ICCAD-16 reference resist model. |
Forward-sim gate at submit-time (l2_error_pixels is required) |
src/openlithohub/leaderboard/tracker.py |
Yang2023_LithoBench |
Table III — academic OPC printability = L2 + PVB on the simulated wafer image; an EPE-only score with no L2 is rejectable. |
| Hopkins SOCS uses 24 kernels by default |
src/openlithohub/simulators/hopkins_sim.py |
Yang2023_LithoBench, Cobb1995_FastSparse |
Yang §3.2 / Table II for the count; Cobb for the SOCS construction itself. |
Datasets
| Adapter |
Where it lives |
Citation key |
Notes |
LithoBenchDataset |
src/openlithohub/data/lithobench.py |
Yang2023_LithoBench |
NeurIPS'23 — paper introducing the benchmark consumed by this adapter. |
Iccad16Dataset |
src/openlithohub/data/iccad16.py |
Yang2016_ICCAD16Bench, Banerjee2013_ICCAD, Yang2020_BatchAL |
The 7nm-N7M2EUV release (Yang2016) extends the original ICCAD-2013 contest format (Banerjee2013). The N7M2EUV stack and per-layer mapping convention are documented in Yang2020_BatchAL §III-A. |
GanOpcDataset |
src/openlithohub/data/ganopc.py |
Yang2018_GANOPC |
DAC'18 — paper releasing the underlying mask-optimization dataset. |
Models
| Component |
Where it lives |
Citation key |
Notes |
NeuralILTModel (U-Net + L2/PVB co-loss) |
src/openlithohub/models/neural_ilt.py |
Jiang2020_NeuralILT |
ICCAD'20 — architecture and loss formulation. Architecture audit is task 3.3. |
Baselines
| Component |
Where it lives |
Citation key |
Notes |
batch_active_select (uncertainty + diversity batch sampler) |
src/openlithohub/baselines/hotspot_batchal.py |
Yang2020_BatchAL |
TCAD'20 §III — Eq. (8) uncertainty + Eq. (9) inner-product diversity. Greedy max-min selection replaces the paper's QP relaxation (Theorem 1 bounds the gap). The full active-learning loop (paper §3.4) is not shipped — see Candidate techniques table below. |
| Surface |
Where it lives |
Citation key |
Notes |
DatasetAdapter.to_croissant() |
src/openlithohub/data/base.py |
MLCommons2024_Croissant |
MLCommons Croissant 1.0 JSON-LD format — the de-facto ML metadata schema (HuggingFace, Kaggle, Google). |
Tile / halo strategy
| Decision |
Where it lives |
Citation key |
Notes |
Process-node-aware halo sizing (halo_px = max(ceil(OIR_nm/pixel_nm), receptive_field_px)) |
RFC 0005 (docs/rfcs/0005-process-node-halo-sizing.md), src/openlithohub/workflow/halo.py |
— |
Single-resolution physical optical-interaction-radius formula; no published-paper citation drives the formula itself (OIR ≈ 10 × λ/(2·NA) is textbook Hopkins/SOCS). |
Candidate techniques (cited but not yet implemented)
The entries below are kept in docs/references.bib because they are
plausible techniques for a future v0.x performance pass, not because
the current code uses them. Adding a "Where it lives" pointer for any of
these requires implementing the technique first.
| Citation key |
Technique |
Where it would land if implemented |
Status |
Yu2014_AccelerationOPC |
Coarse-to-fine multi-resolution SOCS forward-sim |
src/openlithohub/simulators/hopkins_sim.py |
Not implemented as of 2026-05-23. RFC 0005's halo pipeline uses a single-resolution OIR formula, not Yu2014's coarse-then-refine strategy. Verified against the actual code. |
Yang2020_BatchAL |
Full hotspot active-learning loop (detector training + lithography-simulation oracle alongside the §III sampler) |
src/openlithohub/baselines/hotspot_batchal.py already ships the §III sampler; the loop would land beside it as hotspot_al_loop.py. |
Sampler shipped 2026-05-23; full loop not implemented because OpenLithoHub does not ship a hotspot detector and the on-disk ICCAD16 corpus has only one testcase. See out/plans/external-resource-utilization.md Task #1 v0.2. Note: the same citation is also wired in for two unrelated purposes — the N7M2EUV stack / layer-mapping convention used by Iccad16Dataset (Datasets table) and the sampler itself (Baselines table). |
Adding a new citation
- Add the
@type{key, ...} block to docs/references.bib. Use the
FirstAuthor<YEAR>_ShortTopic key style.
- Reference the key verbatim in the source comment / docstring at the point
of use (so
grep finds both sides).
- Add a row above pointing at the file/section.
- If the paper supersedes an existing citation, update the rows that pointed
at the old key — don't leave stale pointers.
For the BibTeX file format and snapshotting policy, see
References.