Files
pchang718 44b41698e8 feat(gui1d, physics): implement interactive 1D simulator GUI & fix avalanche generation sign bug
- gui1d:
  - Created interactive 1D Diode simulator dashboard (gui1d/app.py, solve_1d.py).
  - Redesigned doping process step editor, layout, and centered legend plots.
  - Implemented state caching for I-V sweeps and grid spacing optimization.
  - Doubled voltage step resolution: 0.05V step for V < 1V, and V/20 step for V >= 1V.
- physics (avalanche bug fix):
  - Fixed charge sign in Hole Continuity Equation for avalanche generation.
  - Created AvalancheGeneration_p in physics/new_physics.py to correctly act as a hole source.
  - Resolved physical breakdown current polarity and negative current leakage at high reverse bias.
2026-06-17 23:08:05 +08:00

70 lines
2.0 KiB
Python

# device_config.py
# All units in cm (1 um = 1e-4 cm)
um = 1e-4
# --- Geometric Dimensions ---
W_DEVICE = 356.0 * um # Half-width of the device (356 x 2 total width)
H_SI = 200.0 * um # Silicon substrate thickness
T_OX = 2.0 * um # Oxide thickness
H_MOLD = 100.0 * um # Molding compound thickness (above oxide)
W_SIDE_MOLD = 100.0 * um # Molding compound width on the sides
W_SIM = W_DEVICE + W_SIDE_MOLD # Half-width of the total simulation domain
# --- P-well parameters (p11, p12, p13) ---
P_WELL_DEPTH = 5.0 * um # 5 um depth for all P-wells
# P-well X boundaries (Right half, will be mirrored for left half)
P11_X1 = 75.0 * um
P11_X2 = 100.0 * um
P12_X1 = 120.0 * um
P12_X2 = 130.0 * um
P13_X1 = 150.0 * um
P13_X2 = 255.0 * um
# --- N+ region parameters ---
NPLUS_DEPTH = 0.1 * um # 1 um depth for all N+ regions
# N+ X boundaries (Right half, mirrored for left half)
NPLUS_X1 = 164.0 * um
NPLUS_X2 = 185.0 * um
# MRING X boundaries (Right half, mirrored for left half)
MRING_X1 = 340.0 * um
MRING_X2 = 356.0 * um
# --- Doping Concentrations (cm^-3) ---
N_SUB = 1.0e14 # 70 ~ 90 ohm cm (5.5e13)
P11_PEAK = 8.0e15
P12_PEAK = 3.0e15
P13_PEAK = 8.0e15
NPLUS_PEAK = 2.0e16
# --- Doping Gradient / Diffusion Widths ---
# P-well gradient widths
P_WELL_VDDIFF = 2.5 * um # Vertical gradient width (characteristic depth)
P_WELL_HDDIFF = 2.0 * um # Horizontal (lateral) gradient width
# N+ gradient widths
NPLUS_VDDIFF = 0.15 * um # Vertical gradient width
NPLUS_HDDIFF = 0.1 * um # Horizontal (lateral) gradient width
# --- Contact Vias Width and Positions (Right half, mirrored for left) ---
VIA_WIDTH = 10.0 * um
# Contact via center positions
VIA_P11_X = 87.5 * um
VIA_P13_X = 174.5 * um
# --- Metal Field Plate X boundaries (Right half, mirrored for left) ---
MT1_FP1_X1 = 30.0 * um
MT1_FP1_X2 = 186.0 * um
MT1_FP2_X1 = 250.0 * um
MT1_FP2_X2 = 295.0 * um
# --- Simulation Metadata ---
SIM_NAME = "p-doping 8&3e15 20260616"