貼り合わせた積層(Si のダイ + SiO2 と Cu パッドの接合層)を、水の中の集束探触子で上から 1 点ずつ測る走査型音響顕微鏡(SAM)を、層の物理から組み立てます。接合面の空洞(ボイド)は空気なので、そこで音響インピーダンスが約 4 万分の 1 に落ち、エコーが反転します。符号はボイドがビームより小さくても薄まりません。
allow_unverified=True を言わない限り使えません。界面の係数は R = (Z2 − Z1)/(Z2 + Z1)、エネルギー保存 R² + (Z1/Z2)T² = 1 を 1e-14 で満たし、符号が負になるのは Z が下がる界面だけです。thin_film_reflectance、n ↔ Z)と 1e-12 で一致します。f* = (k/a)·sqrt(log2(1 + a² ln2/(β k²))) で出します(減衰が f² でなければ数値で)。表面エコーの裾がゲートに入る下限(パルスが長すぎる)と、Si の縦波の臨界角で決まる F# の下限も返します。pod_ahat_fit / pod_from_ahat(MIL-HDBK-1823A)に流して a90/95 を出せます。例では位相を使う検出が 150 MHz で 12.4 µm、振幅だけが 16.6 µm でした(同じ基準・同じ閾値の規則、合成)。「SAM のボイド検出に POD を当てた先行研究」は、私たちの検索(OpenAlex で “probability of detection” × “acoustic microscopy”)では見つかりませんでした —— 新規性の主張ではなく、検索の結果です。Pulse-echo ultrasound in layered stacks and scanning-acoustic-microscope C-scans, built from first principles: a material table that carries a source and a verified flag per value (unverified placeholders are refused unless asked for), interface coefficients with the energy check R² + (Z1/Z2)T² = 1 and the sign flip exactly where Z drops, a normal-incidence longitudinal transfer-matrix A-scan with water path and power-law attenuation (checked against a bottom-up Airy recursion, a time-domain ray sum and the optical thin-film formula to 1e-12), and a focused C-scan with a per-frequency Gaussian lateral PSF (FWHM 1.02 λ_water F#) that returns amplitude, phase, in-phase and single-sample-polarity images. Phase is read at the expected time of the bond plane relative to the front-surface echo: thin Cu and SiO2 layers give quadrature echoes, voids are inverted, so a small void adds at right angles to the background and barely changes the amplitude. A closed-form optimal frequency balances lateral resolution against water attenuation, with the front-echo time floor and the critical-angle F-number floor alongside; C-scan statistics feed the existing POD operators.
4π f0 δd / c 回します(Si・200 MHz で 1 µm あたり 17°)。厚さが場所で変わる部品は、画素ごとに時刻を直してから読んでください(op はしていません)。import numpy as np
import fullseye as fs
die = [("silicon", 100e-6)] # 厚さ 100 µm の Si のダイ
S = {0: fs.ledger.acoustic_layer_stack(die + [("sio2", 1e-6), ("sio2", 1e-6)]), # 誘電体
1: fs.ledger.acoustic_layer_stack(die + [("sio2", 1e-6), ("air", 0.1e-6), ("sio2", 1e-6)])} # ボイド
a = fs.ledger.pulse_echo_ascan(S[1], f0=150e6, water_path=1e-3)
print(fs.ledger.echo_phase_polarity(a, interface=2)["label"]) # 接合面のエコーは inverted
m = np.zeros((64, 64), dtype=np.int64)
yy, xx = np.mgrid[:64, :64]
m[(yy - 32) ** 2 + (xx - 32) ** 2 <= 8 ** 2] = 1 # 直径 34 µm のボイド(画素 2 µm)
c = fs.ledger.sam_cscan(m, S, pixel_size=2e-6, f0=150e6, water_path=1e-3, gate_interface=2)
print("位相 %.0f°(中心)/ %.0f°(地)" % (np.degrees(c["phase"][32, 32]), np.degrees(c["phase"][2, 2])))
t = fs.ledger.sam_frequency_tradeoff(S[0], 10e-6, water_path=1e-3, interface=2)
print("10 µm のボイドの最適周波数 %.0f MHz(下限 %.0f MHz)" % (t["f_opt"] / 1e6, t["f_min_time"] / 1e6))
acoustic_material_table / acoustic_layer_stack / acoustic_interface_coefficients / pulse_echo_ascan / sam_cscan / echo_phase_polarity / sam_frequency_tradeoffpoc_sam_hybrid_bonding_voids —— Si 100 µm の下の接合面(SiO2 と Cu パッド、直径 40 µm・ピッチ 80 µm)に直径 5〜24 µm のボイド: 振幅の像では 12 個中 8 個が良品の明るさの範囲に隠れ、位相の像では 16 µm 以上のボイドがすべて反転と読まれ、良品は 26,724 画素中 1 画素。従来の「1 点の符号」は無傷の Cu パッドで 140〜400 MHz の間に 5 回転ぶ。POD の a90/95 は位相を使う検出で 12.4 / 13.9 / 57.6 µm、振幅だけで 16.6 / 19.3 / 101.6 µm(150 / 200 / 300 MHz)。pod_ahat_fit / pod_from_ahat / pod_false_call(検出確率)・matappear.thin_film_reflectance(光学の薄膜の式、同じ形の答え合わせ)・acoustics(可聴域の 1-D 信号の道具。A スキャンの rf をそのまま渡せる)