Richi´s Lab

CZL-550 General Instrument Microelectronics

CZL-550

Der CZL-550 ist ein sogenannter calculator-on-a-chip, ein Mikrocontroller, der alle notwendigen Funktionen eines Taschenrechners enthält. Der Baustein wurde von General Instrument Microelectronics vertrieben und war auch im Epoxidgehäuse verfügbar. Weitere Informationen sind nicht aufzutreiben.

 

Science Museum Group Sinclair Executive

Das obige Bild der Science Museum Group zeigt, dass der CZL-550 in dem Taschenrechner Sinclair Executive eingesetzt wurde. Die meisten Quellen ordnen dem Sinclair Executive lediglich den TMS1802 zu. Es kamen aber im Laufe der Zeit unterschiedliche Controller zum Einsatz.

 

Elektronisches Jahrbuch 1977 Schaltplan

Das Elektronisches Jahrbuch 1977 zeigt eine typische Anwendung des CZL-550. Neben dem Controller selbst, der Spannungsversorgung und des Taktgenerators wird nur noch ein Segmenttreiber benötigt.

 

CZL-550 Gehäuse

CZL-550 Gehäuse

CZL-550 Gehäuse

Das Gehäuse weist einige interessante Eigenheiten auf. In einer Keramikmasse sind der Chipträger und die Pins eingelassen. Darüber befindet sich eine Metallabdeckung und ein weiteres Metallplättchen, das den Raum abschließt, in dem sich der integrierte Schaltkreis befindet. Die Pins besitzen ungewöhnliche Einkerbungen. Vielleicht sorgen sie dafür, dass sich der Leadframe während der Produktion besser in Form biegen lässt.

 

CZL-550 Die

CZL-550 Die

Das Die ist 3,4mm x 3,3mm groß. Die obigen beiden Bilder können im Großformat geladen werden (76MB und 84MB).

 

CZL-550 Die Detail

CZL-550 Die Detail

CZL-550 Die Detail

An der unteren Kante des Dies finden sich einige interessante Informationen. Das Design stammt demnach aus dem Jahr 1972. Anscheinend kamen fünf Masken einer Revision G zum Einsatz. Ganz rechts findet sich ein GI, das für General Instrument steht. 76251 könnte eine interne Projektbezeichnung sein.

Sehr interessant ist die Bezeichnung PICO1. Der PICO1 war einer der ersten Single-Chip-Taschenrechner und damit auch einer der ersten Mikrocontroller. Der PICO1 wurde von Pico Electronics entwickelt, eine Ausgründung von General Instrument. Das Symbol ganz links könnte passen dazu ein P und ein E darstellen. General Instrument hat den PICO1 unter der Bezeichnung GI250 vertrieben.

Der PICO1 wurde laut Wikipedia noch per Hand mit einem Vergrößerungsfaktor von 500 gezeichnet. Das entspricht einer Fläche von 1,75m x 1,75m.

 

Vergleich CZL-550 PICO1

Weitere Informationen zum PICO1 finden sich auf der Seite http://www.spingal.plus.com/micro/ (abrufbar über archive.org). Dort ist auch ein Bild des Dies eingebettet. Die Auflösung ist zwar sehr niedrig, dennoch ist gut zu erkennen, dass sich die Strukturen extrem ähnlich sind. In dieser Detaillierung finden sich tatsächlich keine Unterschiede.

 

PICO1 Die Detail

Die Beschriftung des PICO1 ist auf http://www.spingal.plus.com/micro/ etwas höher aufgelöst abgebildet. Im Flickr-Account von Jamo Spingal findet sich der Bereich noch etwas größer.

Es ist das Jahr 1971 und die Maskenrevision E abgebildet. Die Zahlenfolge im rechten Bereich lautet 76250. Es scheint, dass der CZL-550 im Vergleich zu PICO1 nur kosmetische Änderungen erfahren hat.

 

CZL-550 Die Detail

In allen vier Ecken sind Strukturen integriert, die es vereinfachen die Ausrichtung der Masken gegeneinander und die Qualität der Herstellungsprozesse zu überprüfen.

 

CZL-550 Die Teststruktur

CZL-550 Die Teststruktur

An der linken Kante des Dies ist eine Teststruktur integriert. Das linke Testpad kontaktiert das Substrat. Die eigentliche Teststruktur scheint aus zwei Transistoren zu bestehen. Das Substrat dient als Source-Kontakt. Links handelt es sich um einen normalen MOSFET, bei dem die Metalllage die Gateelektrode darstellt. Das dünne Gateoxid erzeugt eine Vertiefung in der Metalllage.

Rechts scheint sich ein MOSFET zu befinden, bei dem die Gateelektrode auf der dicke Siliziumoxidschicht aufliegt, wie sie auch auf dem Rest des Dies zu finden ist. Die Threshold-Spannung eines solchen MOSFETs ist üblicherweise so hoch, dass man den Transistortyp nicht innerhalb der Schaltung nutzen kann. Diese Eigenschaft ist aber gleichzeitig wünschenswert, da das elektrische Feld der Metalllage so nicht ungewollt Leitungen im Silizium überbrückt. Außerdem werden solche Transistoren oft als ESD-Schutz an den Eingängen genutzt.

 

CZL-550 Die Übersicht

Mit dem obigen Schaltplan kann man den Bondpads ihre Funktionen zuordnen. Nur zwei Kontakte bleiben unklar.

 

CZL-550 Uss-Potential

Das Potential des Uss-Pins kontaktiert das Die nicht direkt, sondern wird zuerst zum Trägerblech geführt.

 

CZL-550 Die Detail

Beim Bondpad in der unteren rechten Ecke ist eine Leiterbahn unterbrochen. Ob das gewollt war oder die Leitung während der Herstellung beschädigt wurde lässt sich nicht mit letzter Sicherheit sagen.

 

CZL-550 Die Detail

Unter den Bondpads befindet sich eine Schutzstruktur (rot), die am oberen Ende des Bondpads kontaktiert wird (grün). Der ganze Aufbau stellt einen MOSFET mit einem dicken Gateoxid dar. Bei einem problematischen Spannungsimpuls wird die Struktur leitend, verbindet das Bondpad mit dem Uss-Potential und leitet so den Impuls ab.

 

Radio Electronics 6/1974 CZL-550 Blockschaltbild

In der Zeitschrift "Radio Electronics" vom Juli 1974 findet sich ein Blockschaltbild, das zeigt, wie ein Taschenrechner dieser Generation aufgebaut ist. Kern des Mikrocontrollers ist die ALU, die arithmetisch-logische Einheit, die Additionen, Subtraktionen und Schiebeoperationen ausführen kann. Komplexere Berechnungen wie Multiplikationen und Divisionen müssen auf diese Operationen heruntergebrochen werden.

Ein ROM enthält den zur Steuerung notwendigen Code. Ein RAM bietet den notwendigen Speicher, um die aktuell eingegebene Zahl, eine Konstante, ein Zwischenergebnis und ein Ergebnis abzulegen.

Ausgegeben werden die Daten über einen BCD/7-Segment Decoder.

 

CZL-550 Die BCD/7-Seg

CZL-550 Die BCD/7-Seg

Ein Teil der Schaltung, der sich sehr gut analysieren lässt, ist der BCD/7-Segment Decoder. Er besteht aus zwei Blöcken. Dem rechten Block werden von oben die vier BCD-Signale differenziell zugeführt. In der Matrix darunter sorgt die Verteilung der Gateoxid-Bereiche dafür, dass abhängig von den BCD-Signalen eine der horizontal verlaufenden Leitungen aktiv wird. Jede Leitung steht für eine Zahl.

Im linken Block sind in den horizontal verlaufenden Leiterbahnen die Gateoxid-Bereiche so verteilt, dass jede der Zahlen die passenden Segmente der Anzeige aktiviert (A-G).

Jede Segment-Steuerleitung ist an eine Pull-Up-Struktur angebunden und führt dann zu einer Treiberstufe. Wie es hier gut zu sehen ist, beziehen einige Treiber ihr Uss-Potential direkt aus der Rahmenstruktur.

 

CZL-550 Die ROM

Im oberen rechten Bereich des Dies befindet sich der ROM, der die Steuerungslogik enthält und sehr viel Fläche einnimmt. Auffällig ist, dass der Speicher nicht quadratisch ausgeführt wurde. Man hat die Steuerbefehle so angeordnet, dass sich im linken unteren Bereich keine aktiven Zellen befinden. So war es möglich diesen Bereich für andere Schaltungsteile zu verwenden.

 

CZL-550 Die ROM

Die Verteilung der Gateoxid-Bereiche stellt die programmierte Logik dar.

 

CZL-550 Die ROM Aufbau

Der obere Bereich des ROMs enthält die Spaltenauswahl, die mit sieben differentiellen Steuersignalen eine der 72 Spalten aktiviert. Jede Spalte stellt einen Befehl dar, der einige Steuerleitungen aktiviert, die nach links aus dem ROM herausgeführt werden.

In den oberen 14 Zeilen des ROMs befinden sich zwei verschiedene Adressen. Eine der Adressen wird zur Spaltenauswahl zurückgekoppelt und aktiviert dort den nächsten Befehl.

Unter den Adressen befindet sich in den Spalten jeweils ein Steuerbefehl und ein Testbefehl. Das Ergebnis des Tests definiert welche der zwei Adressen der Spalte für den nächsten Schritt herangezogen wird. Die Auswahl dieser Adresse erfolgt direkt links neben dem Adress-Speicherbereich.

Den ganz links angeordneten Befehlen stehen neben den zwei Adressen nur 13 Steuersignale zur Verfügung. Ganz rechts kann ein Befehl mit jeder beliebigen der insgesamt 49 Steuerleitung verknüpft werden.

 

CZL-550 ROM Befehle

Mit den Bildern des C550 war es Dunkelwind (aka bITmASTER) möglich die Firmware zu extrahieren und eine Auflistung der Befehle zu erstellen. Aus seiner Analyse stammt auch die Erkenntnis, dass die ROM-Spalten neben den Steuerbefehlen auch Testbefehle enthalten.

 

Radio Electronics 6/1974 CZL-550 RAM

Die bereits erwähnte Zeitschrift "Radio Electronics" Juli 1974 zeigt den typischen Aufbau des RAM-Speichers. Demnach handelt es sich üblicherweise um vier Schieberegister, die die vier BCD-Signale aufnehmen. Jede Spalte in diesen vier Schieberegistern stellt eine Zahl dar. Dazu kommen noch Stellen für zusätzliche Informationen wie Vorzeichen und Überlauf.

Die Daten durchlaufen die Schieberegister fortwährend. Das ist notwendig, da es sich um üblicherweise um DRAM handelt, der zyklisch aktualisiert werden muss, damit die Daten nicht verloren gehen.

 

CZL-550 Die RAM

CZL-550 Die RAM

Der RAM besteht aus dreizehn Spalten. Dreimal vier Spalten bilden die drei Register A, B und C ab. Es handelt sich um die Zwischenspeicher für Eingabe, die Zwischensumme und das Ergebnis. Jeweils vier Speicherzellen stellen eine BCD-Zahl dar. Für die 8 Stellen, mit denen der Taschenrechner rechnet, sind entsprechend acht Zeilen im RAM vorgesehen. Die Guard-Zellen signalisieren einen Überlauf. Die obersten zwei Zeilen enthalten den Exponenten, der im 10er-Komplement abgelegt ist.

Das kleinere Register DP wird für mehrere Funktionen genutzt. Es dient als Zähler für Multiplikationen, es dient aber auch als Speicher für die Verortung des Dezimalpunkts.

 

CZL-550 Die RAM 3T1C

CZL-550 Die RAM 3T1C

CZL-550 Die RAM 3T1C

Bei den einzelnen Speicherzellen handelt es sich um 3T1C-Zellen, die mit drei Transistoren und einem Kondensator aufgebaut sind. Der Kondensator ist lediglich eine etwas breitere Leitung im Silizium. Er steuert den Transistor T_cell. Im Gegensatz zu einem 1T1C-RAM wie dem U2164 hat ein 3T1C-RAM den Vorteil, dass ein Lesevorgang den Speicherinhalt nicht löscht.

In der Konfiguration als Schieberegister hat die 3T1C-Konfiguration noch einen weiteren Vorteil. Für die Funktion als Speicher wäre es ausreichend den Transistor T_Rd mit dem Udd-Potential zu verbinden. Stattdessen ist der Transistor an die Write Bitline angebunden. Da das ausgelesene Signal im Gegensatz zu einem 1T1C-RAM belastbar ist, kann man es direkt in die nächste Zelle einspeisen. So reicht ein Zyklus, um Informationen von einer Zelle zu Zelle zu übertragen.

 

CZL-550 Emulator

Auf Basis der Bilder des C550 war es Dunkelwind (aka bITmASTER) möglich einen Emulator zu programmieren.

 

zurück
oder unterstützt mich über Patreon

 

Creative Commons Lizenzvertrag