
Der Sinclair ZX81 ist ein auf dem Z80 basierender Heimcomputer.


Als Prozessor wurde hier ein D780, die Z80-Variante von NEC eingesetzt. Der Motorola ZCM38818 ist ein maskenprogrammiertes 8kB ROM, das auf dem MCM68364 basiert. Daneben befindet sich mit zwei Motorola MCM21L14 ein Arbeitsspeicher mit einer Speichertiefe von 1kB. Links oben übernimmt das Gatearray ULA2C210E diverse Funktionen. Der integrierte Schaltkreis erzeugt den Systemtakt und steuert Peripheriemodule, im Speziellen die Videoschnittstelle. Auch die Steuerung der Speicherbereiche erfolgt über das Gatearray.

Das Gatearray ULA2C210E stellt ein Update dar. Davor wurde im ZX81 ein Gatearray mit der Bezeichnung ULA2C184 eingesetzt, das funktionale Schwächen hatte.

Der Ferranti "Quick Reference Guide" zeigt, dass der Gatearray-Typ ULA2C die kleinste Variante einer Familie darstellt, die mit 20MHz betrieben werden kann. Der Baustein bietet bis zu 450 Gatter. Die Zahlen 210 stehen für das anwendungsspezifische Design. Der Buchstabe E kennzeichnet wahrscheinlich die Revision.
Die Kantenlänge des Dies im ULA2C210E beträgt 4,0mm. Der große, Logikbereich ist deutlich zu erkennen. Die Stromversorgung erfolgt lediglich über eine Rahmenstruktur. Im Außenbereich befinden sich die Eingangs- und Ausgangsbeschaltungen. An der rechten Kante ist deutlich eine Überlastung zu erkennen.
Dieses Bild ist auch in einer höheren Auflösung verfügbar: 214MB
Für dieses Bild wurden die letzten Überreste des Gehäusematerials entfernt. Die Oberfläche hat etwas gelitten, aber mit den beiden Bildern wäre es jetzt möglich die Schaltung vollständig zu dokumentieren.
Dieses Bild ist auch in einer höheren Auflösung verfügbar: 215MB




In den Ecken sind diverse Teststrukturen und Zeichenfolgen integriert. In der linken oberen Ecke hat man einige Masken abgebildet. Die Quadrate ermöglichen es offenbar die Ausrichtung der Masken zueinander zu kontrollieren.

Der Schaden an der rechten Kante ist auf eine massive elektrische Überlastung zurückzuführen. Es könnte sein, dass die elektrische Überlastung nur ein Folgefehler war, der durch eine zu hohe Temperatur verursacht wurde. Das Gatearray ist dafür bekannt auszufallen. Angeblich liegt das an der Auslastung von 75%. Ferranti soll das Gatearray auf eine maximale Auslastung von lediglich 50% ausgelegt haben: https://www.retroisle.com/sinclair/zx81/Technical/Hardware/custom_ula.php

Über das ULA2C Gatearray findet man nur wenig Informationen. Die obige Beschreibung stammt aus dem "Quick Reference Guide". Die meisten Gatearrays basieren auf CMOS-Elementen. Sie bestehen aus Doppelzeilen, in denen sich NMOS- und PMOS-Transistoren aneinanderreihen. Das ULA2C basiert dagegen auf Bipolartransistoren. Will man daraus Gatter formen, so benötigt man zusätzliche Bauteile. Das dürfte ein Grund gewesen sein, warum man die kleinsten Logikblöcke als mehr oder weniger quadratische, verhältnismäßig große Zellen ausgeführt hat.
Als grundlegende Elemente kann man zwischen RTL, CML oder buffered CML wählen. RTL steht für "Resistor Transistor Logic". Mit dieser Technik wurden die ersten Logikschaltungen aufgebaut. Sie basiert im Grunde auf einem NPN-Transistor mit einem Kollektorwiderstand. CML steht für "Current Mode Logic". Dabei werden die Logikpegel nicht als Spannungssignale, sondern als Stromsignale übertragen. Die hier abgebildete Zelle stellt eine buffered CML dar. Der Schaltplan zeigt die enthaltenen Blöcke, die grundsätzlich beliebig verschaltet werden können. Die Transistoren T1-T4 bilden zwei Differenzverstärker und sind entsprechend in Paaren integriert. TS und T6, die wahrscheinlich T5 und T6 heißen müssten, stellen die Pufferstufe dar. Dazu kommt die Stromsenke Tcs mit mehreren Eingängen.

Hier ist eine ungenutzte Zelle des ULA2C210E zu sehen.

Es zeigt sich, dass der ULA2C210E auf den CML-Zellen basiert. Das Substrat ist p-dotiert und verteilt das Massepotential. Innerhalb der Zelle existiert ein breiter Kontakt zum Substrat. Die Flächen zwischen den Zellen sind n-dotiert und leiten das positive Versorgungspotential. Der zugehörige Kontakt befindet sich zwischen den beiden Widerständen oben rechts. Innerhalb des Logikbereichs existieren keine zusätzlichen Versorgungsleitungen. In der rechten oberen Ecke sind drei p-dotierte Streifen in die n-dotierte Fläche eingebracht. Diese drei Streifen stellen die drei Widerstände der Schaltung dar.
Wo sich die aktiven Elemente befinden, hat man die vollflächige n-Dotierung ausgespart und isolierte n-dotierte Flächen eingebracht. Sie dienen als Kollektorflächen und als Unterquerungen. Üblicherweise ist die Kollektordotierung weniger hoch konzentriert als die Basisdotierung. Hier scheint das anders zu sein, da ansonsten die Unterquerungen bereits einen höheren Widerstandstand darstellen würden als die eigentlichen Widerstände. Die Kollektordotierung muss außerdem deswegen hoch sein, weil sie in der Fläche dazu dient das Versorgungspotential zu verteilen. Die beiden Transistorpaare Q1/Q2 und Q3/Q4 teilen sich eine Kollektorfläche. Der Transistor Q5 stellt die Stromsenken dar. Dort befinden sich zwei Emitterflächen in einer gemeinsamen Basisfläche.
Damit bietet jede Zelle zwei NOR-Gatter mit jeweils zwei Eingängen. Auf dem Die befinden sich 15x15 Zellen. So ergeben sich insgesamt die spezifizierten 450 Gatter. Bei CML erfolgt die Signalverarbeitung oft differentiell. Hier ist das nicht der Fall. Der einzelne Ausgang befindet sich oberhalb der Eingangstransistoren. In der Schaltung zeigt sich aber, dass auch der Knoten unterhalb der Transistoren als Ausgang genutzt wird.
Eine auffällige Besonderheit der Schaltung ist der invers betriebene NPN-Transistor in der Stromsenke. Man kann Transistoren invers betreiben, viele Kennwerte sind dann allerdings deutlich schlechter. Das liegt daran, dass Kollektor und Emitter unterschiedlich stark n-dotiert sind, um die elektrischen Eigenschaften zu optimieren. In der vorliegenden Schaltung kann der inverse Betrieb aber durchaus sinnvoll sein. Wie bereits erwähnt, scheint der Kollektor ungewöhnlich stark dotiert zu sein. Damit ähneln sich Kollektor und Emitter deutlich mehr als bei einem gewöhnlichen Transistor.
Nachteile des inversen Betriebs sind eine deutlich reduzierte Sperrspannung, eine geringere Grenzfrequenz und eine verschwindende Stromverstärkung. Bei einer Versorgungsspannung von 5V ist die Sperrspannung nicht kritisch. Im Fall eine Stromsenke ist die Grenzfrequenz irrelevant. Die niedrige Stromverstärkung ist hier auch unproblematisch, solange die Verlustleistung der Stromsenken akzeptabel ist. Die reduzierte Sättigungsspannung eines invers betriebenen Transistors könnte dagegen ein relevanter Vorteil sein. Auf jeden Fall ist es praktisch, dass man auf einer sehr kleinen Fläche zwei Stromsenken darstellen kann, für die man ansonsten zwei Transistoren benötigen würde. Dazu kommt, dass der Strom weniger stark mit der anliegenden Spannung schwankt.

Hier ist eine in die Schaltung eingebundene Zelle zu sehen. Das erste Gatter (gelb) wird lediglich als Inverter verwendet. Das zweite Gatter (türkis) stellt ein NOR mit zwei Eingängen und zwei Ausgängen dar.