Gf180 Bandgap
okBandgap reference on gf180mcu — first 2AM Logic canary block
gf180-bandgap
Source: 2AMLogic/gf180-bandgap @ 40321ca88211
Specification
RATIFIED 2026-07-31, see issue #1 and #35
| Output reference | 1.20 V ±2% untrimmed (3σ, mismatch MC N≥300 + process corners, −40…125 °C) · stretch: ±0.5% trimmed (3σ, 1-point trim)temperature extremes (−40…125 °C) + mismatch MC + process corners |
|---|---|
| Trim | 1-point resistor trim (binary-weighted segments per DR-0001), range ≥ ±5%, resolution ≤ 0.25%/step (≥5 bits equiv.), magnitude onlyperformed at 27 °C |
| Temp coefficient (−40…125 °C) | < 50 ppm/°C (box method, −40…125 °C) · stretch: < 20 ppm/°C (requires curvature correction)full −40…125 °C box, process corners; PTAT-gain and trim resistor ratios must share one resistor flavor (`ppolyf_u` recommended, see `sim/device-resistor-tc/`) |
| PSRR | > 60 dB DC–1 kHz · stretch: > 30 dB @ 1 MHzload condition TBD — to be fixed when the output stage is designed (see DR-0001) |
| Line regulation | < 1 mV/V (DC, 2.97–3.63 V)full supply range, DC |
| Output noise | not yet quantified — band: 0.1–10 Hz integrated µVrms (threshold TBD; add a spot-noise point if a later wave feeds an ADC)n/a |
| Supply | 3.3 V ±10% · stretch: also 5 V flavorheadroom binds at SS / −40 °C / 2.97 V (see `sim/device-pnp-vbe/`, `sim/device-mos-vth/`) |
| Quiescent current | < 50 µA · stretch: < 20 µAbinds at FF / 125 °C / 3.63 V (leakage + fastest devices) |
| Load | TBD — pending output-stage design (DR-0001): either max DC load + load regulation, or explicit unbuffered — high-Z load onlyn/a |
| Area | < 0.05 mm²n/a (not a PVT line) |
| Startup | self-starting at all corners (incl. SS / −40 °C / 2.97 V), < 1 ms to within 1% of final valuebinds at SS / −40 °C / 2.97 V |
| Long-term drift | not specified (canary block)n/a |
Schematic
Source: 2AMLogic/gf180-bandgap @ 04c59f1 (design/bandgap_core.sch).
Renders
Click a render to open an interactive, pan/zoom viewer of the actual GDS.
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →
Click to explore →Metrics
| Layers | 23 |
|---|---|
| Cells | 1 |
| Instances | 0 |
Signals
| Corner | Status | Measurement | Value | Margin |
|---|---|---|---|---|
| amp-loop-stability/tt_27c_2.97v | pass | dc_gain_db | 105.80 | — |
| amp-loop-stability/tt_27c_2.97v | pass | min_loopgain_db | -24.58 | — |
| amp-loop-stability/tt_27c_2.97v | pass | min_loopgain_freq_hz | 359.09 k | — |
| amp-loop-stability/tt_27c_2.97v | pass | pm_deg | 115.52 | — |
| amp-loop-stability/tt_27c_2.97v | pass | gm_crit_db | -999.00 | — |
| amp-offset-sensitivity/tt_27c_2.97v | pass | dvref_dvos | 16.09 | — |
| amp-offset-sensitivity/tt_27c_2.97v | pass | vref_at_zero_ish | 1.21 | — |
| amp-psrr/tt_27c_2.97v | pass | psrr_dc_db | 111.02 | — |
| amp-psrr/tt_27c_2.97v | pass | psrr_worst_db | 96.41 | — |
| bandgap-loop-smoke/tt_27c_3.30v | pass | vref | 1.21 | — |
| bandgap-loop-smoke/tt_27c_3.30v | pass | fb | 2.35 | — |
| bandgap-loop-smoke/tt_27c_3.30v | pass | sns1 | 704.79 m | — |
| bandgap-loop-smoke/tt_27c_3.30v | pass | sns2 | 704.62 m | — |
| bandgap-loop-smoke/tt_27c_3.30v | pass | iq_ua | 18.09 | — |
| core-mirror-sensitivity/tt_27c_2.97v | pass | dvref_dvos_m_servo | 8.87 | — |
| core-mirror-sensitivity/tt_27c_2.97v | pass | dvref_dvos_m_vref | -4.98 | — |
| core-mirror-sensitivity/tt_27c_2.97v | pass | dvref_dvos_m_ibias | -183.07 µ | — |
| core-mirror-sensitivity/tt_27c_2.97v | pass | dvref_dvos_mc_vref | -32.83 m | — |
| core-mirror-sensitivity/tt_27c_2.97v | pass | dvref_dvos_m_sns1 | -3.89 | — |
| core-mirror-sensitivity/tt_27c_2.97v | pass | dvref_dvos_m_sum | -768.88 µ | — |
| core-mirror-sensitivity/tt_27c_2.97v | pass | margin_m1_mv | 111.23 | — |
| core-mirror-sensitivity/tt_27c_2.97v | pass | margin_mc1_mv | 1.85 k | — |
| core-psrr-ideal-amp/tt_27c_2.97v | pass | psrr_dc_db | 94.89 | — |
| core-psrr-ideal-amp/tt_27c_2.97v | pass | psrr_worst_db | 94.88 | — |
| iq/tt_27c_2.97v | pass | iq_ua | 20.54 | — |
| iq/tt_27c_2.97v | pass | vref | 1.19 | — |
| line-regulation/tt_27c_3.30v | pass | linereg_mv_per_v | 15.50 m | — |
| line-regulation/tt_27c_3.30v | pass | vref_min | 1.19 | — |
| line-regulation/tt_27c_3.30v | pass | vref_max | 1.19 | — |
| line-regulation/tt_27c_3.30v | pass | vref_lo | 1.19 | — |
| line-regulation/tt_27c_3.30v | pass | vref_hi | 1.19 | — |
| line-regulation/tt_27c_3.30v | pass | v_lo_check | 2.97 | — |
| line-regulation/tt_27c_3.30v | pass | v_hi_check | 3.63 | — |
| output-voltage-tc/tt_27c_2.97v | pass | vref | 1.19 | — |
| output-voltage-tc/tt_27c_2.97v | pass | tc_ppm | 13.69 | — |
| output-voltage-tc/tt_27c_2.97v | pass | vref_box_max | 1.19 | — |
| output-voltage-tc/tt_27c_2.97v | pass | vref_box_min | 1.19 | — |
| output-voltage-tc/tt_27c_2.97v | pass | vref_m40 | 1.19 | — |
| output-voltage-tc/tt_27c_2.97v | pass | vref_27 | 1.19 | — |
| output-voltage-tc/tt_27c_2.97v | pass | vref_125 | 1.19 | — |
| psrr-dc/tt_27c_2.97v | pass | psrr_1hz_db | 111.75 | — |
| psrr-dc/tt_27c_2.97v | pass | psrr_1khz_db | 96.81 | — |
| psrr-dc/tt_27c_2.97v | pass | psrr_10hz_db | 111.73 | — |
| psrr-dc/tt_27c_2.97v | pass | psrr_100hz_db | 110.61 | — |
| psrr-dc/tt_27c_2.97v | pass | psrr_10khz_db | 76.40 | — |
| psrr-dc/tt_27c_2.97v | pass | psrr_100khz_db | 47.45 | — |
| psrr-dc/tt_27c_2.97v | pass | psrr_1mhz_db | 31.77 | — |
| psrr-dc/tt_27c_2.97v | pass | vref_op | 1.19 | — |
| smoke-bias/tt_27c_2.97v | pass | vdiv_ratio | 500.00 m | — |
| smoke-bias/tt_27c_2.97v | pass | vbias | 943.81 m | — |
| smoke-bias/tt_27c_2.97v | pass | vbe | 690.44 m | — |
| smoke-bias/tt_27c_2.97v | pass | isup_ua | 69.61 | — |
| startup/tt_27c_2.97v | pass | startup_time_s | 13.48 µ | — |
| startup/tt_27c_2.97v | pass | vref_final_v | 1.19 | — |
| startup/tt_27c_2.97v | pass | iq_total_final_ua | 20.97 | — |
| startup/tt_27c_2.97v | pass | iq_startup_branch_final_ua | 1.46 | — |
| startup/tt_27c_2.97v | pass | det_final_v | 14.93 m | — |
| startup/tt_27c_2.97v | pass | t0_s | 1.00 µ | — |
| startup/tt_27c_2.97v | pass | t_settle_s | 14.48 µ | — |
| startup-disabled-control/tt_27c_2.97v | pass | vref_final_v | 327.59 m | — |
| startup-disabled-control/tt_27c_2.97v | pass | iq_total_final_ua | 8.38 m | — |
| startup-extracted/tt_27c_2.97v | pass | startup_time_s | 10.83 µ | — |
| startup-extracted/tt_27c_2.97v | pass | vref_final_v | 1.23 | — |
| startup-extracted/tt_27c_2.97v | pass | iq_total_final_ua | 21.35 | — |
| startup-extracted/tt_27c_2.97v | pass | det_final_v | 14.09 m | — |
| startup-extracted/tt_27c_2.97v | pass | t0_s | 1.00 µ | — |
| startup-extracted/tt_27c_2.97v | pass | t_settle_s | 11.83 µ | — |
| startup-slow-ramp/tt_27c_2.97v | pass | startup_time_s | -282.00 µ | — |
| startup-slow-ramp/tt_27c_2.97v | pass | vref_final_v | 1.19 | — |
| startup-slow-ramp/tt_27c_2.97v | pass | iq_total_final_ua | 20.54 | — |
| startup-slow-ramp/tt_27c_2.97v | pass | iq_startup_branch_final_ua | 1.46 | — |
| startup-slow-ramp/tt_27c_2.97v | pass | det_final_v | 14.93 m | — |
| startup-slow-ramp/tt_27c_2.97v | pass | t0_s | 901.10 µ | — |
| startup-slow-ramp/tt_27c_2.97v | pass | t_settle_s | 619.10 µ | — |
| startup-state-search/tt_27c_2.97v | pass | recovery_time_s | 8.07 µ | — |
| startup-state-search/tt_27c_2.97v | pass | vref_final_v | 1.21 | — |
| startup-state-search/tt_27c_2.97v | pass | iq_total_final_ua | 20.29 | — |
| startup-state-search/tt_27c_2.97v | pass | iq_startup_branch_final_ua | 1.46 | — |
| startup-state-search/tt_27c_2.97v | pass | det_final_v | 14.93 m | — |
| startup-state-search-extracted/tt_27c_2.97v | pass | recovery_time_s | 8.06 µ | — |
| startup-state-search-extracted/tt_27c_2.97v | pass | vref_final_v | 1.23 | — |
| startup-state-search-extracted/tt_27c_2.97v | pass | iq_total_final_ua | 22.42 | — |
| startup-state-search-extracted/tt_27c_2.97v | pass | det_final_v | 14.09 m | — |
| trim-coverage/tt_27c_2.97v | pass | vref_c0 | 1.12 | — |
| trim-coverage/tt_27c_2.97v | pass | vref_c1 | 1.13 | — |
| trim-coverage/tt_27c_2.97v | pass | vref_c32 | 1.21 | — |
| trim-coverage/tt_27c_2.97v | pass | vref_c63 | 1.30 | — |
| trim-coverage/tt_27c_2.97v | pass | vref_c22 | 1.19 | — |
| trim-coverage/tt_27c_2.97v | pass | trimmed_err_pct | -1.17 | — |
| trim-coverage/tt_27c_2.97v | pass | lsb_mv | 2.83 | — |
| trim-coverage/tt_27c_2.97v | pass | span_mv | 178.21 | — |
Field Data
01
Provenance
| Solver | github.com/rjwalters/geode-fem v0.3.0 @ 90759f103fdb · release |
|---|---|
| Backend | burn::backend::NdArray<f64, i32> (CPU; no GPU feature compiled -- see geode-core's testing::TestBackend cfg fallback) |
| Geometry | A real routed bundle of the `gf180-bandgap` gallery block: the 6 Metal1 nets (vref, net_32, net_33, net_34, net_35, net_36) that run parallel along x for 94.50 um (x = 12.60 .. 107.10 um), read out of the block's own committed GDS -- the same layout the gallery renders, not a benchmark shape. Widths and spacings are the drawn ones (the mesh is breakpoint-aligned to every conductor edge); net names are the GDS's own label texts.blocks/gf180-bandgap/output/bandgap_top.gds · sha256 17e274357860… |
| Source | github.com/2AMLogic/klayout-tools @ a6f85a55f5b7 · block gf180-bandgap |
| Solve parameters |
|
| Generated | 2026-08-14T09:19:42Z |
This field result is produced by geode-fem, validated against known answers in the gallery’s solver validation strip.