# One Time Programmable

One Time Programmable (englisch; kurz OTP) ist ein Begriff der Elektronik. Unter einem OTP-Baustein versteht man ein programmierbares elektronisches Bauelement, das einen nicht flüchtigen Speicher (PROM) enthält. Dieser Speicher lässt sich jedoch nur einmal beschreiben. Je nach Bauart des Bauelements kann ein Programmiergerät zusätzlich erforderlich sein. Mittlerweile gibt es eine Vielzahl von Bauelementen, die zusätzlich auch in der OTP-Technologie hergestellt werden.

## Funktionsweise

Die OTP-Technologie kann grundsätzlich als Fuse-Technologie oder als Antifuse-Technologie realisiert werden. Bei der Herstellung der OTP-Bauelemente durch den Halbleiterhersteller sind beispielsweise bei der Antifuse-Technologie alle Verbindungsstellen offen, erst durch die Programmierung werden die relevanten Verbindungsstellen verbunden. Ebenfalls als OTP spezifiziert sind Bauformen von EPROMs in einfachen Gehäusen ohne UV-Fenster zum Löschen. Allerdings unterliegen diese (ebenso wie normale EPROMs mit Löschfenster) Grenzen in Bezug auf die Dauer des Datenerhalts, insbesondere unter dem Einfluss von Röntgenstrahlung.
Es existieren jedoch auch „unechte“ OTP-Speicher, welche als sog. „OTP-Area“ in bestimmten Flash-Speichern implementiert sind. Diese Speicherbereiche bestehen in der Regel aus normalen Flash-Zellen, welche durch eine Zusatzlogik gegen Veränderung gesichert werden.

## Einsatzbereiche

Die OTP-Technologie kann beispielsweise bei den nachfolgenden Bauelementen eingesetzt werden.
* ROMs
* PLAs (Programmable Logic Array) – eine mehrfach beschreibbare Version hiervon sind GALs
* FPGAs (Field Programmable Gate Array) – auch reprogrammierbar erhältlich
* Mikrocontroller
Einzelne OTP-Bereiche existieren auch in bestimmten Bauelementen, wie beispielsweise Flash-Speichern, Smartcards und Mikrocontrollern, wobei diese dazu dienen, Seriennummern oder andere Identifikationsdaten unabänderlich zu speichern. Ein Beispiel dazu ist die IMEI der meisten modernen Handys.

## Vorteile

Der Vorteil der OTP-Technologie liegt darin, dass die Schaltungsfunktion der programmierten Bauelemente nicht (also auch nicht unbeabsichtigt) geändert werden kann. Gegenüber Bauelementen mit Maskenprogrammierung kann bei der Baugruppenproduktion durch die Verwendung von OTP-Bauelementen kurzfristig auf eine Änderung des Dateninhalts reagiert werden.

## Nachteile

Die OTPs haben beim praktischen Schaltungsaufbau aber entscheidende Nachteile, die bei der Schaltungsentwicklung berücksichtigt werden müssen. Einmal programmiert und einmal auf einer Baugruppe verbaut, kann die Logikfunktion dieses Bauelements nur noch durch einen Tausch des Bauelements (= Auslöten des alten Bauelements von der Leiterplatte und Einlöten des neuen Bauelements auf die Leiterplatte oder Entfernung aus dem Sockel) geändert werden. Eine Funktionserweiterung, wie sie heute beispielsweise durch ein Software-Update oder bei einer Schaltungsänderung bei der Logikfunktion bei anderen programmierbaren Logikbauelementen üblich ist, ist bei den OTP-Bauelementen generell nicht möglich.
Weiterhin darf die Tragweite eines Fehlers in der Funktion oder bei der Programmierung der OTP-Bauelemente nicht unterschätzt werden. Je umfangreicher die Schaltungsfunktion ist, desto größer ist das Risiko, dass in der Funktion ein Fehler enthalten ist, der auch mit den Entwicklungstests nicht gefunden wird. Im Extremfall kann eine Fehlfunktion einen Ausbau des Geräts beim Endkunden und eine Änderung durch den Hersteller zur Folge haben.