neděle, září 10, 2006

Trimování

Uvědomil jsem si, že jsem v příspěvku o testování IO zanedbal jednu podstatnou část, kterou je trimování. Trimování se týká především analogových obvodů, a jde při něm o tohle: Mějme proces, který je po měsících a letech používání nějak nastaven. Jako u všeho, jde i u takového procesu o kompromis mezi různými tlaky jako jsou třeba rychlost odezvy a přesnost.

Otázka zní: Jak to zařídit, abychom při stejném nastavení procesu dosáhli lepší hodnoty některého parametru? Řekněme, že se zabýváme lineárním regulátorem napětí (taková ta věc, která zajistí, že z baterie ve vašem mobilním telefonu dostanete po většinu doby konstantní napětí), a chceme dosáhnout odchylky výstupu přes všechny čipy na všech křemíkových deskách třeba +/-1%. Doladit proces na takovou úrověň je jistě možné, ale je otázka, jestli je žádoucí vyměňovat kvůli tomu polovinu vybavení zaběhnuté linky a zvyšovat nároky na přesnost fotolitografie, iontové implantace a takových podobných těžko pochopitelných věcí.

Není snazší být chytrý, a místo ladění procesu součástku nenápadně doladit při testování? Chci říct: pokud změříme, že místo 1.1 voltu ze stabilizátoru leze 1.15, je jistě lepší rafinovaně doladit nějaké součásti obvodu, než se mučit laděním procesu. A právě takovému ladění parametrů se říká trimování.

Existuje několik možností jak zvýšení přesnosti dosáhnout, nicméně všechny předpokládají, že obvod obsahuje nějaké ty komponenty navíc, jako třeba extra napěťový dělič, jehož jednotlivé stupně lze při testování "zapínat".

"Zapínaní" něčeho v integrovaném obvodu znamená jednu ze tří možností: spoje, které jsou vodivé se stanou nevodivými, nebo spoje které jsou nevodivé se stanou vodivými, nebo se vodivost spojů změní lineárně. Dosáhnout toho lze takto: nechť na čipu existuje napěťový delič (znáte to ze základní školy -- dva rezistory v sérii, na jejich sériovou kombinaci se přivede napětí, z jednoho z nich se napětí odebírá). Nechť jeden rezistor je ve skutečnosti složen z několika rezistorů (pokud možno takových, aby se při připojování a odpojování jednotlivých rezistorů měnilo výstupní napětí ve zlomcích mocniny dvou). Nechť aktivní je na čerstvě vyrobeném čipu jen jeden z těchto rezistorů, zatímco další jsou zkratovány kovovou spojkou (třeba napařeným hliníkem). Oba konce těchto spojek nechť jsou vyvedeny na pady, ke kterým lze připojit hroty testovacího přípravku.

Než se ztratíme ve všech těch nechť, řekněme rovnou, že cílem je propálit takovou spojkou proudovým impulsem.

Postup je pak následující: změříme hodnotu napětí na výstupu čipu. Podle známého vztahu (definovaného pro daný obvod) odvodíme, které rezistory odporového děliče je potřeba aktivovat (tedy propálit spojku zkratující takový rezistor). Na spojku určenou k propálení připojíme přes FET nabitý kondenzátor, který do ní vybije svůj náboj, což se neobejde bez velkého proudu, který tu titěrnou spojku zahřeje tak, že kov, kterým je tvořena se odpaří. Et voilá, odporový dělič změnil svůj převodní poměr a výstupní napětí stabilizátoru/regulátoru se deterministicky změnilo v závislosti na tom, kterou spojku jsme právě propálili.

Tak jednoduché to je!

Samozřejmě, že použití kovové spojky je velmi stará technologie, kterou lze nahradit různými jinými udělátky, jako jsou například zenerovy diody (které se průrazem znevodiví) nebo EEPROM připojená ke spínacím tranzistorům, která se naprogramuje sériovým rozhraním (opravdovou lahůdkou pak je laserové trimovaní, které laserovým paprskem odpaluje kusy rezistivní plošky na čipu, čímž mění její rezistivitu jaksi přímo, ale přiznejme si to -- kdo by chtěl dneska zaměřovat nějaký laser, a plýtvat místem na čipu, když můžete přidat pár buněk FLASH nebo EEPROM paměti a pohodlně si hodnotu naprogramovat).

Takto tedy vypečení výrobci integrovaných obvodů dosáhnou toho, že bez ohledu na výchylky procesu jsou všechny čipy (skoro) jeden jako druhý, nebo že procesory mají aktivovány jen některé části cache (nebo celá výkonná jádra), podle toho, jak prošly testováním. Tedy: pokud je jeden blok cache vadný, je odpojen, a procesor se za méně peněz prodá skromnějším zákazníkům, nebo se určí, že bude použit v PLAYSTATION 3, protože má jedno jádro nefunkční a při výtěžnosti 20% by byl hřích ho vyhodit...

PS: Pěkný souhrnný text o trimování lze najít třeba u Analog Devices.