/** * Decoupling capacitor placement guidance. * * Per-pin decoupling values here reflect widely-used industry rules of thumb (e.g. one * 100nF ceramic per digital power pin, placed as close to the pin as possible), not a * datasheet-specific requirement. Always check the target IC's datasheet for a * manufacturer-recommended decoupling network before finalizing layout — some parts * (RF transceivers, high-speed ADCs, switching regulators) call for a specific * multi-value network that this generic guidance does not capture. * * Bulk capacitance sizing reuses the same rule of thumb as the power-tree analyzer * ({@link requiredBulkCapacitance}) so the two tools never disagree with each other. * * @module */ import type { PowerTreeLimits } from '../power-tree/index.js'; export type DecouplingCategory = 'digital-logic' | 'mcu' | 'analog' | 'rf' | 'crystal-oscillator' | 'power-regulator'; export interface PerPinDecouplingGuidance { category: DecouplingCategory; displayName: string; perPinCapacitorsNf: number[]; placement: string; notes: string[]; source: string; caveat: string; } export declare function lookupDecouplingGuidance(category: DecouplingCategory): PerPinDecouplingGuidance; export declare function listDecouplingCategories(): DecouplingCategory[]; export interface BulkCapacitanceRecommendation { requiredBulkCapacitanceUf: number; loadA: number; source: string; caveat: string; } /** * Rail-level bulk capacitance sizing, reusing the exact same rule of thumb as the * power-tree analyzer ({@link requiredBulkCapacitance}) so this tool's suggestion and a * power-tree analysis of the same rail can never silently disagree. */ export declare function recommendBulkCapacitance(loadA: number, limits?: PowerTreeLimits): BulkCapacitanceRecommendation;