NAME
Physics::Etch::Simulation - pattern/chamber/loading-aware etch simulation
SYNOPSIS
use Physics::Etch;
use Physics::Etch::Chamber;
use Physics::Etch::Layout;
use Physics::Etch::Loading;
use Physics::Etch::Simulation;
my $etch = Physics::Etch->dry_etch('silicon_nitride', thickness => 300);
my $chamber = Physics::Etch::Chamber->new(
wafer_diameter_mm => 200, pressure_mtorr => 20, power_w => 300 );
my $layout = Physics::Etch::Layout->from_gdsii_file('mask.gds', layer => 1);
my $loading = Physics::Etch::Loading->from_chamber($chamber);
my $sim = Physics::Etch::Simulation->new(
process => $etch, chamber => $chamber,
layout => $layout, loading => $loading );
print $sim->report;
my $rows = $sim->features_by_cd; # per-CD anisotropy / undercut / lag
DESCRIPTION
Couples the reactor, mask pattern and loading models to the base etch model. On run it:
- 1. hands the chamber's derived pressure and DC bias to the process;
- 2. computes macro loading from the layout open fraction and wafer area, lowering the global etch rate;
- 3. for every mask feature, converts CD to aspect ratio and applies ARDE (RIE lag) plus local micro-loading to get a per-feature rate, etch depth, undercut, anisotropy and sidewall angle;
- 4. flags features that fail to clear and reports the RIE-lag spread.
report renders the whole picture; features_by_cd and result expose the numbers.