Digitale Elektronik - Digital electronics

Digitale Elektronik
Ein digitales Signal hat zwei oder mehr unterscheidbare Wellenformen, in diesem Beispiel Hochspannung und Niederspannung, die jeweils auf eine Ziffer abgebildet werden können.
Ein industrieller digitaler Controller

Digitale Elektronik ist ein Gebiet der Elektronik , das das Studium digitaler Signale und die Entwicklung von Geräten umfasst, die diese verwenden oder erzeugen. Dies steht im Gegensatz zu analoger Elektronik und analogen Signalen .

Digitale elektronische Schaltungen werden normalerweise aus großen Anordnungen von Logikgattern hergestellt , die oft in integrierten Schaltungen verpackt sind . Komplexe Geräte können einfache elektronische Darstellungen von booleschen Logikfunktionen haben .

Geschichte

Das binäre Zahlensystem wurde von Gottfried Wilhelm Leibniz (veröffentlicht 1705) verfeinert und er stellte auch fest, dass durch die Verwendung des binären Zahlensystems die Prinzipien der Arithmetik und der Logik verbunden werden können. Digitale Logik, wie wir sie kennen, war Mitte des 19. Jahrhunderts die Idee von George Boole . In einem Brief von 1886 beschrieb Charles Sanders Peirce , wie logische Operationen durch elektrische Schaltkreise ausgeführt werden könnten. Schließlich ersetzten Vakuumröhren Relais für logische Verknüpfungen. Lee De Forests Modifikation des Fleming-Ventils im Jahr 1907 konnte als UND-Gatter verwendet werden . Ludwig Wittgenstein führte als Proposition 5.101 von Tractatus Logico-Philosophicus (1921) eine Version der 16- zeiligen Wahrheitstafel ein . Walther Bothe , Erfinder der Koinzidenzschaltung , erhielt 1954 den Nobelpreis für Physik für die Entwicklung des ersten modernen elektronischen UND-Gatters im Jahr 1924.

Mechanische Analogrechner erschienen im ersten Jahrhundert und wurden später im Mittelalter für astronomische Berechnungen verwendet. Im Zweiten Weltkrieg wurden mechanische Analogcomputer für spezielle militärische Anwendungen wie die Berechnung des Torpedoziels verwendet. In dieser Zeit wurden die ersten elektronischen Digitalrechner entwickelt. Ursprünglich hatten sie die Größe eines großen Raumes und verbrauchen so viel Strom wie mehrere hundert moderne PCs .

Der Z3 war ein von Konrad Zuse entworfener elektromechanischer Computer . Er wurde 1941 fertiggestellt und war der weltweit erste funktionsfähige, programmierbare , vollautomatische Digitalcomputer. Sein Betrieb wurde durch die Erfindung der Vakuumröhre im Jahr 1904 durch John Ambrose Fleming erleichtert .

Gleichzeitig ersetzte die digitale Berechnung analoge, rein elektronische Schaltungselemente bald ihre mechanischen und elektromechanischen Äquivalente. John Bardeen und Walter Brattain erfanden 1947 den Punktkontakttransistor bei Bell Labs , gefolgt von William Shockley, der 1948 den Bipolartransistor bei Bell Labs erfand .

An der University of Manchester hat ein Team unter der Leitung von Tom Kilburn eine Maschine entworfen und gebaut, die die neu entwickelten Transistoren anstelle von Vakuumröhren verwendet. Ihr " transistorisierter Computer ", der erste der Welt, war 1953 in Betrieb , eine zweite Version wurde dort im April 1955 fertiggestellt. Ab 1955 ersetzten Transistoren die Vakuumröhren in Computerdesigns, wodurch die "zweite Generation" entstand. von Computern. Im Vergleich zu Vakuumröhren waren Transistoren kleiner, zuverlässiger, hatten eine unbegrenzte Lebensdauer und benötigten weniger Strom als Vakuumröhren – wodurch weniger Wärme abgegeben wurde und eine viel dichtere Konzentration von Schaltkreisen bis zu Zehntausenden auf relativ kompaktem Raum ermöglicht wurde.

Während seiner Arbeit bei Texas Instruments im Juli 1958 zeichnete Jack Kilby seine ersten Ideen bezüglich der integrierten Schaltung (IC) auf und demonstrierte dann erfolgreich die erste funktionierende integrierte Schaltung am 12. September 1958. Kilbys Chip bestand aus Germanium . Im folgenden Jahr erfand Robert Noyce von Fairchild Semiconductor die integrierte Siliziumschaltung . Die Basis für Noyce des Silizium - IC war der planaren Prozess , Anfang 1959 von entwickelte Jean Hoerni , der wiederum Gebäude auf war Mohamed Atalla ‚s Silizium Oberflächenpassivierung Verfahren im Jahr 1957. Diese neue Technik, die integrierte Schaltung, für schnelle, erlaubt entwickelt -Kosten der Herstellung komplexer Schaltungen durch einen Satz elektronischer Schaltungen auf einer kleinen Platte ("Chip") aus Halbleitermaterial , normalerweise Silizium.

Digitale Revolution und digitales Zeitalter

Der Metall-Oxid-Halbleiter-Feldeffekttransistor (MOSFET), auch bekannt als MOS-Transistor, wurde 1959 von Mohamed Atalla und Dawon Kahng in den Bell Labs erfunden . Zu den Vorteilen des MOSFET zählen hohe Skalierbarkeit , Erschwinglichkeit, geringer Stromverbrauch und hohe Transistordichte . Seine schnelle elektronische Ein- und Ausschaltgeschwindigkeit macht es auch ideal für die Erzeugung von Pulsfolgen , der Grundlage für elektronische digitale Signale , im Gegensatz zu BJTs, die langsamer analoge Signale erzeugen , die Sinuswellen ähneln . Zusammen mit der MOS -Großintegration (LSI) machen diese Faktoren den MOSFET zu einem wichtigen Schaltelement für digitale Schaltungen . Der MOSFET hat die Elektronikindustrie revolutioniert und ist das am weitesten verbreitete Halbleiterbauelement . MOSFETs sind die grundlegenden Bausteine ​​der digitalen Elektronik während der digitalen Revolution des späten 20. bis frühen 21. Jahrhunderts. Damit war der Weg für das digitale Zeitalter des frühen 21. Jahrhunderts geebnet .

In den Anfängen der integrierten Schaltungen war jeder Chip auf nur wenige Transistoren beschränkt, und der geringe Integrationsgrad machte den Designprozess relativ einfach. Auch die Produktionserträge waren nach heutigen Maßstäben recht gering. Die breite Akzeptanz des MOSFET-Transistors in den frühen 1970er Jahren führte zu den ersten großintegrierten (LSI) Chips mit mehr als 10.000 Transistoren auf einem einzigen Chip. Nach der breiten Einführung von CMOS , einer Art von MOSFET-Logik, konnten in den 1980er Jahren im Laufe der Technologie Millionen und dann Milliarden von MOSFETs auf einem Chip platziert werden, und gute Designs erforderten eine gründliche Planung, was zu neuen Designmethoden führte . Die Transistorzahl sowohl einzelner Geräte als auch der Gesamtproduktion stieg auf beispiellose Höhen. Die Gesamtmenge der bis 2018 produzierten Transistoren wird auf geschätzt1,3 × 10 22 (13 Sextillionen ).  

Die drahtlose Revolution (die Einführung und Verbreitung drahtloser Netzwerke ) begann in den 1990er Jahren und wurde durch die breite Einführung von MOSFET-basierten HF-Leistungsverstärkern ( Leistungs-MOSFET und LDMOS ) und HF-Schaltungen ( HF-CMOS ) ermöglicht. Drahtlose Netzwerke ermöglichten die öffentliche digitale Übertragung ohne Kabel, was in den 1990er bis 2000er Jahren zu digitalem Fernsehen , GPS , Satellitenradio , drahtlosem Internet und Mobiltelefonen führte .

Diskrete Kosinustransformations- (DCT)-Codierung, eine Datenkomprimierungstechnik , die erstmals 1972 von Nasir Ahmed vorgeschlagen wurde , ermöglichte eine praktische digitale Medienübertragung mit Bildkomprimierungsformaten wie JPEG (1992), Videocodierungsformaten wie H.26x (ab 1988) und MPEG (ab 1993), Audiocodierungsstandards wie Dolby Digital (1991) und MP3 (1994) und digitale TV-Standards wie Video-on-Demand (VOD) und hochauflösendes Fernsehen (HDTV). Internetvideos wurden durch YouTube populär gemacht , eine 2005 von Chad Hurley , Jawed Karim und Steve Chen gegründete Online-Videoplattform , die das Videostreaming von MPEG-4 AVC (H.264) benutzergenerierten Inhalten von überall im World Wide Web ermöglichte .

Eigenschaften

Ein Vorteil digitaler Schaltungen im Vergleich zu analogen Schaltungen besteht darin, dass digital dargestellte Signale ohne Beeinträchtigung durch Rauschen übertragen werden können . Beispielsweise kann ein kontinuierliches Audiosignal, das als Folge von Einsen und Nullen übertragen wird, fehlerfrei rekonstruiert werden, sofern das bei der Übertragung aufgenommene Rauschen nicht ausreicht, um eine Identifizierung der Einsen und Nullen zu verhindern.

In einem digitalen System kann eine genauere Darstellung eines Signals erhalten werden, indem mehr Binärziffern verwendet werden, um es darzustellen. Dies erfordert zwar mehr digitale Schaltungen, um die Signale zu verarbeiten, aber jede Ziffer wird von derselben Art von Hardware verarbeitet, was zu einem leicht skalierbaren System führt. In einem analogen System erfordert eine zusätzliche Auflösung grundlegende Verbesserungen der Linearität und der Rauscheigenschaften jedes Schrittes der Signalkette .

Bei computergesteuerten Digitalsystemen können durch Softwarerevision neue Funktionen hinzugefügt werden und es sind keine Hardwareänderungen erforderlich. Dies kann häufig außerhalb des Werks durch eine Aktualisierung der Produktsoftware erfolgen. Auf diese Weise können Konstruktionsfehler des Produkts korrigiert werden, auch wenn das Produkt in den Händen des Kunden ist.

Die Informationsspeicherung kann in digitalen Systemen einfacher sein als in analogen. Die Rauschimmunität digitaler Systeme ermöglicht das Speichern und Abrufen von Daten ohne Beeinträchtigung. In einem analogen System verschlechtern Alterungs- und Verschleißgeräusche die gespeicherten Informationen. Solange das Gesamtrauschen unter einem bestimmten Pegel liegt, können die Informationen in einem digitalen System perfekt wiederhergestellt werden. Selbst wenn stärkeres Rauschen vorhanden ist, ermöglicht die Verwendung von Redundanz die Wiederherstellung der ursprünglichen Daten, vorausgesetzt, es treten nicht zu viele Fehler auf.

In einigen Fällen verbrauchen digitale Schaltungen mehr Energie als analoge Schaltungen, um die gleichen Aufgaben zu erfüllen, wodurch mehr Wärme erzeugt wird, was die Komplexität der Schaltungen erhöht, wie beispielsweise der Einbau von Kühlkörpern. In tragbaren oder batteriebetriebenen Systemen kann dies die Verwendung digitaler Systeme einschränken. Beispielsweise verwenden batteriebetriebene Mobiltelefone häufig ein analoges Front-End mit geringem Stromverbrauch, um die Funksignale von der Basisstation zu verstärken und abzustimmen . Eine Basisstation verfügt jedoch über Netzstrom und kann stromhungrige, aber sehr flexible Softwareradios verwenden . Solche Basisstationen können leicht umprogrammiert werden, um die Signale zu verarbeiten, die in neuen zellularen Standards verwendet werden.

Viele nützliche digitale Systeme müssen von kontinuierlichen analogen Signalen in diskrete digitale Signale übersetzen. Dies verursacht Quantisierungsfehler . Der Quantisierungsfehler kann reduziert werden, wenn das System genügend digitale Daten speichert, um das Signal mit der gewünschten Genauigkeit darzustellen . Das Nyquist-Shannon-Abtasttheorem liefert eine wichtige Richtlinie dafür, wie viele digitale Daten benötigt werden, um ein gegebenes analoges Signal genau darzustellen.

In einigen Systemen kann sich die Bedeutung großer Blöcke verwandter Daten vollständig ändern, wenn ein einzelnes digitales Datenelement verloren geht oder falsch interpretiert wird. Beispielsweise verursacht ein Einzelbitfehler in Audiodaten, die direkt als lineare Pulscodemodulation gespeichert sind , im schlimmsten Fall einen einzigen Klick. Trotzdem verwenden viele Leute die Audiokomprimierung , um Speicherplatz und Downloadzeit zu sparen, auch wenn ein einzelner Bitfehler eine große Störung verursachen kann.

Aufgrund des Klippeneffekts kann es für Benutzer schwierig sein zu sagen, ob ein bestimmtes System kurz vor dem Ausfall steht oder ob es viel mehr Rauschen tolerieren kann, bevor es ausfällt. Die digitale Fragilität kann reduziert werden, indem ein digitales System auf Robustheit ausgelegt wird. Beispielsweise kann ein Paritätsbit oder ein anderes Fehlermanagementverfahren in den Signalpfad eingefügt werden. Diese Schemata helfen dem System, Fehler zu erkennen und dann entweder die Fehler zu korrigieren oder eine erneute Übertragung der Daten anzufordern.

Konstruktion

Eine binäre Uhr , handverdrahtet auf Steckbrettern

Eine digitale Schaltung besteht normalerweise aus kleinen elektronischen Schaltungen, die als Logikgatter bezeichnet werden und zur Erzeugung einer kombinatorischen Logik verwendet werden können . Jedes Logikgatter ist so ausgelegt, dass es eine Funktion der Booleschen Logik ausführt, wenn es auf Logiksignale einwirkt. Ein Logikgatter wird im Allgemeinen aus einem oder mehreren elektrisch gesteuerten Schaltern hergestellt, normalerweise aus Transistoren, aber thermionische Ventile haben eine historische Verwendung erfahren . Der Ausgang eines Logikgatters kann wiederum mehrere Logikgatter steuern oder in diese einspeisen.

Eine andere Form digitaler Schaltungen wird aus Nachschlagetabellen aufgebaut (viele werden als " programmierbare Logikvorrichtungen " verkauft, obwohl andere Arten von PLDs existieren). Lookup-Tabellen können die gleichen Funktionen ausführen wie Maschinen, die auf Logikgattern basieren, können jedoch leicht umprogrammiert werden, ohne die Verdrahtung zu ändern. Dies bedeutet, dass ein Konstrukteur häufig Konstruktionsfehler beheben kann, ohne die Anordnung der Drähte zu ändern. Daher sind bei Produkten mit kleinen Stückzahlen programmierbare Logikbausteine ​​oft die bevorzugte Lösung. Sie werden normalerweise von Ingenieuren entworfen, die Software für die elektronische Konstruktionsautomatisierung verwenden.

Integrierte Schaltungen bestehen aus mehreren Transistoren auf einem Siliziumchip und sind die kostengünstigste Möglichkeit, eine große Anzahl miteinander verbundener Logikgatter herzustellen. Integrierte Schaltungen sind normalerweise auf einer Leiterplatte verbunden, die eine Platine ist, die elektrische Komponenten enthält, und diese mit Kupferbahnen miteinander verbindet.

Entwurf

Ingenieure verwenden viele Methoden, um die Logikredundanz zu minimieren , um die Schaltungskomplexität zu reduzieren. Reduzierte Komplexität reduziert die Anzahl der Komponenten und potenzielle Fehler und reduziert daher typischerweise die Kosten. Logikredundanz kann durch mehrere bekannte Techniken beseitigt werden, wie binäre Entscheidungsdiagramme , Boolesche Algebra , Karnaugh-Karten , den Quine-McCluskey-Algorithmus und die heuristische Computermethode . Diese Operationen werden typischerweise innerhalb eines computergestützten Entwurfssystems durchgeführt.

Eingebettete Systeme mit Mikrocontrollern und speicherprogrammierbaren Steuerungen werden häufig verwendet, um digitale Logik für komplexe Systeme zu implementieren, die keine optimale Leistung erfordern. Diese Systeme werden normalerweise von Software-Ingenieuren oder von Elektrikern unter Verwendung von Ladder Logic programmiert .

Darstellung

Darstellungen sind entscheidend für den Entwurf digitaler Schaltungen durch einen Ingenieur. Bei der Auswahl von Darstellungen ziehen Ingenieure verschiedene Arten von digitalen Systemen in Betracht.

Der klassische Weg, eine digitale Schaltung darzustellen, ist mit einem äquivalenten Satz von Logikgattern . Jedes Logiksymbol wird durch eine andere Form dargestellt. Der tatsächliche Satz von Formen wurde 1984 unter dem IEEE/ANSI-Standard 91-1984 eingeführt und wird jetzt von den Herstellern integrierter Schaltungen allgemein verwendet. Eine andere Möglichkeit besteht darin, ein äquivalentes System elektronischer Schalter (normalerweise Transistoren ) aufzubauen . Dies kann als Wahrheitstabelle dargestellt werden .

Die meisten digitalen Systeme unterteilen sich in kombinatorische und sequentielle Systeme . Ein kombinatorisches System bietet immer die gleiche Ausgabe, wenn die gleichen Eingaben gegeben werden. Ein sequentielles System ist ein kombinatorisches System, bei dem einige der Ausgaben als Eingaben rückgekoppelt werden. Dadurch führt die digitale Maschine eine Folge von Operationen durch. Das einfachste sequentielle System ist wahrscheinlich ein Flip-Flop , ein Mechanismus, der eine binäre Ziffer oder ein „ Bit “ darstellt. Sequentielle Systeme werden oft als Zustandsautomaten konzipiert . Auf diese Weise können Ingenieure das grobe Verhalten eines Systems entwerfen und sogar in einer Simulation testen, ohne alle Details der Logikfunktionen zu berücksichtigen.

Sequentielle Systeme unterteilen sich in zwei weitere Unterkategorien. "Synchrone" sequentielle Systeme ändern ihren Zustand auf einmal, wenn ein Taktsignal den Zustand ändert. "Asynchrone" sequentielle Systeme propagieren Änderungen immer dann, wenn sich Eingaben ändern. Synchrone sequentielle Systeme bestehen aus gut charakterisierten asynchronen Schaltungen wie Flip-Flops, die sich nur ändern, wenn sich der Takt ändert, und die sorgfältig entworfene Zeitspielräume haben.

Für die Logiksimulation haben digitale Schaltungsdarstellungen digitale Dateiformate, die von Computerprogrammen verarbeitet werden können.

Synchrone Systeme

Ein 4-Bit-Ringzähler, der Flipflops vom D-Typ verwendet, ist ein Beispiel für synchrone Logik. Jedes Gerät ist mit dem Taktsignal verbunden und aktualisiert sich gemeinsam.

Der übliche Weg, eine synchrone sequentielle Zustandsmaschine zu implementieren, besteht darin, sie in eine kombinatorische Logik und einen Satz von Flip-Flops, die als Zustandsregister bezeichnet werden, zu unterteilen . Das Zustandsregister repräsentiert den Zustand als Binärzahl. Die kombinatorische Logik erzeugt die binäre Darstellung für den nächsten Zustand. Bei jedem Taktzyklus erfasst das Zustandsregister die vom vorherigen Zustand der kombinatorischen Logik erzeugte Rückmeldung und führt sie als unveränderliche Eingabe an den kombinatorischen Teil der Zustandsmaschine zurück. Die Taktrate wird durch die zeitaufwendigste Logikberechnung in der kombinatorischen Logik begrenzt.

Asynchrone Systeme

Die meiste digitale Logik ist synchron, da es einfacher ist, ein synchrones Design zu erstellen und zu überprüfen. Die asynchrone Logik hat jedoch den Vorteil, dass ihre Geschwindigkeit nicht durch einen willkürlichen Takt eingeschränkt wird; stattdessen läuft es mit der maximalen Geschwindigkeit seiner Logikgatter. Der Aufbau eines asynchronen Systems mit schnelleren Teilen macht die Schaltung schneller.

Trotzdem müssen die meisten Systeme externe unsynchronisierte Signale in ihre synchronen Logikschaltungen aufnehmen. Diese Schnittstelle ist von Natur aus asynchron und muss als solche analysiert werden. Beispiele für weit verbreitete asynchrone Schaltungen umfassen Synchronisierer-Flip-Flops, Schalter- Entpreller und Arbiter .

Asynchrone Logikkomponenten können schwierig zu entwerfen sein, da alle möglichen Zustände in allen möglichen Zeitabläufen berücksichtigt werden müssen. Das übliche Verfahren besteht darin, eine Tabelle der minimalen und maximalen Zeit zu erstellen, die jeder dieser Zustände existieren kann, und dann die Schaltung einzustellen, um die Anzahl solcher Zustände zu minimieren. Der Designer muss die Schaltung zwingen, periodisch zu warten, bis alle ihre Teile in einen kompatiblen Zustand eintreten (dies wird als "Selbstresynchronisation" bezeichnet). Ohne sorgfältiges Design ist es leicht, versehentlich asynchrone Logik zu erzeugen, die instabil ist – das heißt – echte Elektronik führt aufgrund der kumulativen Verzögerungen, die durch kleine Schwankungen der Werte der elektronischen Komponenten verursacht werden, zu unvorhersehbaren Ergebnissen.

Transfersysteme registrieren

Beispiel für eine einfache Schaltung mit einem toggelnden Ausgang. Der Inverter bildet die kombinatorische Logik in dieser Schaltung, und das Register hält den Zustand.

Viele digitale Systeme sind Datenflussmaschinen . Diese werden normalerweise mit synchroner Registerübertragungslogik entworfen und mit Hardwarebeschreibungssprachen wie VHDL oder Verilog geschrieben .

In der Registerübertragungslogik werden Binärzahlen in Gruppen von Flipflops gespeichert, die als Register bezeichnet werden . Eine sequentielle Zustandsmaschine steuert, wann jedes Register neue Daten von seinem Eingang akzeptiert. Die Ausgänge jedes Registers sind ein Bündel von Drähten, das als Bus bezeichnet wird und diese Nummer zu anderen Berechnungen trägt. Eine Berechnung ist einfach ein Stück Kombinationslogik. Jede Berechnung hat auch einen Ausgangsbus, und diese können mit den Eingängen mehrerer Register verbunden werden. Manchmal hat ein Register an seinem Eingang einen Multiplexer, damit es eine Zahl von einem von mehreren Bussen speichern kann.

Asynchrone Registerübertragungssysteme (wie Computer) haben eine allgemeine Lösung. In den 1980er Jahren entdeckten einige Forscher, dass fast alle synchronen Registerübertragungsmaschinen durch Verwendung einer First-in-First-out-Synchronisationslogik in asynchrone Designs umgewandelt werden konnten. In diesem Schema wird die digitale Maschine als ein Satz von Datenflüssen charakterisiert. In jedem Schritt des Ablaufs bestimmt eine Synchronisationsschaltung, wann die Ausgaben dieses Schrittes gültig sind und weist die nächste Stufe an, wann diese Ausgaben verwendet werden sollen.

Computerdesign

Intel 80486DX2 Mikroprozessor

Die universellste Register-Transfer-Logikmaschine ist ein Computer . Dies ist im Grunde ein automatischer binärer Abakus . Die Steuereinheit eines Computers ist in der Regel als Mikroprogramm ausgeführt, das von einem Mikrosequenzer ausgeführt wird . Ein Mikroprogramm ist ähnlich wie eine Spieler-Klavierrolle. Jeder Tabelleneintrag des Mikroprogramms befiehlt den Zustand jedes Bits, das den Computer steuert. Der Sequenzer zählt dann, und die Zählung adressiert den Speicher oder die kombinatorische Logikmaschine, die das Mikroprogramm enthält. Die Bits aus dem Mikroprogramm steuern die arithmetische Logikeinheit , den Speicher und andere Teile des Computers, einschließlich des Mikrosequenzers selbst. Auf diese Weise wird die komplexe Aufgabe des Entwerfens der Steuerungen eines Computers auf eine einfachere Aufgabe des Programmierens einer Sammlung viel einfacherer Logikmaschinen reduziert.

Fast alle Computer sind synchron. Es wurden jedoch auch asynchrone Computer gebaut. Ein Beispiel ist der ASPIDA DLX- Kern. Eine weitere wurde von ARM Holdings angeboten . Sie haben jedoch keine Geschwindigkeitsvorteile, da moderne Computerdesigns bereits mit der Geschwindigkeit ihrer langsamsten Komponente, normalerweise des Arbeitsspeichers, laufen. Sie verbrauchen etwas weniger Strom, da kein Taktverteilungsnetzwerk benötigt wird. Ein unerwarteter Vorteil besteht darin, dass asynchrone Computer kein spektral reines Funkrauschen erzeugen. Sie werden in einigen funkempfindlichen Basisstationssteuerungen von Mobiltelefonen verwendet. Sie können in kryptographischen Anwendungen sicherer sein, da ihre elektrischen und Funkemissionen schwieriger zu decodieren sein können.

Rechnerarchitektur

Computerarchitektur ist eine spezialisierte Ingenieurtätigkeit, die versucht, die Register, die Berechnungslogik, die Busse und andere Teile des Computers für einen bestimmten Zweck bestmöglich anzuordnen. Computerarchitekten haben viel Arbeit investiert, um die Kosten zu senken und die Geschwindigkeit von Computern zu erhöhen, sowie ihre Immunität gegen Programmierfehler zu erhöhen. Ein immer häufigeres Ziel von Computerarchitekten ist es, den Stromverbrauch von batteriebetriebenen Computersystemen wie Smartphones zu reduzieren .

Designprobleme in digitalen Schaltungen

Digitale Schaltungen bestehen aus analogen Komponenten. Das Design muss sicherstellen, dass die analoge Natur der Komponenten nicht das gewünschte digitale Verhalten dominiert. Digitale Systeme müssen Rausch- und Zeitspielräume, parasitäre Induktivitäten und Kapazitäten verwalten.

Schlechte Designs haben intermittierende Probleme wie Glitches , verschwindend schnelle Impulse, die einige Logik auslösen können, andere aber nicht, Runt-Impulse , die keine gültigen Schwellenspannungen erreichen .

Wenn getaktete digitale Systeme eine Schnittstelle zu analogen Systemen oder Systemen haben, die von einem anderen Takt angesteuert werden, kann das digitale System außerdem einer Metastabilität unterliegen, wenn eine Änderung des Eingangs die Setup-Zeit für einen digitalen Eingangs-Latch verletzt .

Da digitale Schaltungen aus analogen Komponenten bestehen, rechnen digitale Schaltungen langsamer als analoge Schaltungen mit geringer Genauigkeit, die ähnlich viel Platz und Leistung verbrauchen. Die digitale Schaltung rechnet jedoch aufgrund ihrer hohen Rauschimmunität wiederholbarer.

Automatisierte Konstruktionswerkzeuge

Ein Großteil des Aufwands beim Entwerfen großer Logikmaschinen wurde durch die Anwendung von Electronic Design Automation (EDA) automatisiert .

Einfache Logikbeschreibungen im Wahrheitstabellenstil werden oft mit EDA optimiert, die automatisch reduzierte Systeme von Logikgattern oder kleinere Nachschlagetabellen erzeugen, die immer noch die gewünschten Ausgaben erzeugen. Das bekannteste Beispiel für diese Art von Software ist der heuristische Logik-Minimierer Espresso . Die Optimierung großer Logiksysteme kann unter Verwendung des Quine-McCluskey-Algorithmus oder binärer Entscheidungsdiagramme erfolgen . Es gibt vielversprechende Experimente mit genetischen Algorithmen und Annealing-Optimierungen .

Um kostspielige Engineering-Prozesse zu automatisieren, können einige EDA Zustandstabellen verwenden , die Zustandsmaschinen beschreiben und automatisch eine Wahrheitstabelle oder eine Funktionstabelle für die kombinatorische Logik einer Zustandsmaschine erzeugen . Die Zustandstabelle ist ein Textteil, der jeden Zustand zusammen mit den Bedingungen auflistet, die die Übergänge zwischen ihnen und den zugehörigen Ausgangssignalen steuern.

Oftmals werden reale Logiksysteme als eine Reihe von Teilprojekten konzipiert, die über einen Toolflow kombiniert werden . Der Werkzeugfluss wird normalerweise mit Hilfe einer Skriptsprache gesteuert , einer vereinfachten Computersprache, die die Softwaredesigntools in der richtigen Reihenfolge aufrufen kann. Werkzeugflüsse für große Logiksysteme wie Mikroprozessoren können Tausende von Befehlen lang sein und die Arbeit von Hunderten von Ingenieuren vereinen. Das Schreiben und Debuggen von Toolflows ist eine etablierte Engineering-Spezialität in Unternehmen, die digitale Designs erstellen. Der Werkzeugfluss endet normalerweise in einer detaillierten Computerdatei oder einem Satz von Dateien, die beschreiben, wie die Logik physisch aufgebaut wird. Oft handelt es sich um Anleitungen zum Zeichnen der Transistoren und Drähte auf einem integrierten Schaltkreis oder einer Leiterplatte .

Teile von Tool-Flows werden debuggt, indem die Ausgaben der simulierten Logik mit den erwarteten Eingaben verglichen werden. Die Testwerkzeuge nehmen Computerdateien mit Sätzen von Ein- und Ausgaben und heben Diskrepanzen zwischen dem simulierten Verhalten und dem erwarteten Verhalten hervor. Sobald angenommen wird, dass die Eingabedaten korrekt sind, muss das Design selbst noch auf Korrektheit überprüft werden. Einige Toolflows verifizieren Konstruktionen, indem sie zuerst eine Konstruktion erstellen und dann die Konstruktion scannen, um kompatible Eingabedaten für den Werkzeugfluss zu erzeugen. Wenn die gescannten Daten mit den Eingabedaten übereinstimmen, hat der Werkzeugfluss wahrscheinlich keine Fehler eingeführt.

Die funktionalen Verifikationsdaten werden üblicherweise Testvektoren genannt . Die Funktionstestvektoren können aufbewahrt und in der Fabrik verwendet werden, um zu testen, ob neu konstruierte Logik korrekt funktioniert. Funktionstestmuster entdecken jedoch nicht alle Fabrikationsfehler. Produktionstests werden oft durch Softwaretools zur automatischen Testmustergenerierung entworfen . Diese erzeugen Testvektoren, indem sie die Struktur der Logik untersuchen und systematisch Tests generieren, die auf bestimmte potentielle Fehler abzielen. Auf diese Weise kann die Fehlerabdeckung nahezu 100 % erreichen, vorausgesetzt, das Design wird ordnungsgemäß testbar gemacht (siehe nächster Abschnitt).

Sobald ein Design existiert und verifiziert und testbar ist, muss es oft auch verarbeitet werden, um herstellbar zu sein. Moderne integrierte Schaltungen weisen Merkmale auf, die kleiner sind als die Wellenlänge des zum Belichten des Fotolacks verwendeten Lichts. Software, die auf Herstellbarkeit ausgelegt ist, fügt den Belichtungsmasken Interferenzmuster hinzu, um offene Schaltkreise zu beseitigen und den Kontrast der Masken zu verbessern.

Design für Testbarkeit

Es gibt mehrere Gründe für das Testen einer Logikschaltung. Wenn die Schaltung zum ersten Mal entwickelt wird, muss überprüft werden, ob die Entwurfsschaltung die erforderlichen funktionalen und zeitlichen Spezifikationen erfüllt. Wenn mehrere Kopien einer korrekt entworfenen Schaltung hergestellt werden, ist es wichtig, jede Kopie zu testen, um sicherzustellen, dass der Herstellungsprozess keine Fehler verursacht hat.

Eine große logische Maschine (sagen wir mit mehr als hundert logischen Variablen) kann eine astronomische Anzahl möglicher Zustände haben. Offensichtlich ist es nicht möglich, jeden Zustand einer solchen Maschine im Werk zu testen, denn selbst wenn das Testen jedes Zustands nur eine Mikrosekunde dauerte, gibt es seit Beginn des Universums mehr mögliche Zustände als Mikrosekunden!

Große logische Maschinen werden fast immer als Baugruppen kleinerer logischer Maschinen konstruiert. Um Zeit zu sparen, werden die kleineren Teilmaschinen durch fest installiertes Design für Testschaltungen isoliert und unabhängig getestet. Ein übliches Testschema stellt einen Testmodus bereit, der einen Teil der Logikmaschine dazu zwingt, in einen Testzyklus einzutreten . Der Testzyklus übt normalerweise große unabhängige Teile der Maschine aus.

Boundary Scan ist ein gängiges Testschema, das eine serielle Kommunikation mit externen Testgeräten über ein oder mehrere Schieberegister verwendet, die als Scan-Ketten bekannt sind . Serielle Scans haben nur ein oder zwei Drähte, um die Daten zu übertragen, und minimieren die physische Größe und die Kosten der selten verwendeten Testlogik. Nachdem alle Testdatenbits vorhanden sind, wird das Design auf den Normalmodus umkonfiguriert und ein oder mehrere Taktimpulse werden angelegt, um auf Fehler zu testen (z Flip-Flops oder Latches in dem/den Scan-Schieberegister(n). Schließlich wird das Ergebnis des Tests an die Blockgrenze verschoben und mit dem prognostizierten guten Maschinenergebnis verglichen .

In einer Board-Testumgebung wurde das serielle zu parallele Testen als JTAG- Standard formalisiert .

Kompromisse

Mehrere Faktoren bestimmen die Praktikabilität eines Systems der digitalen Logik: Kosten, Zuverlässigkeit, Fanout und Geschwindigkeit. Ingenieure haben zahlreiche elektronische Geräte untersucht, um eine günstige Kombination dieser Faktoren herauszufinden.

Kosten

Die Kosten eines Logikgatters sind entscheidend, vor allem weil sehr viele Gatter benötigt werden, um einen Computer oder ein anderes fortschrittliches digitales System aufzubauen. Systeme mit mehr Gates sind leistungsfähiger. Da der Großteil eines digitalen Computers einfach ein miteinander verbundenes Netzwerk von Logikgattern ist, korrelieren die Gesamtkosten für den Bau eines Computers stark mit den Kosten eines Logikgatters. In den 1930er Jahren wurden die ersten digitalen Logiksysteme aus Telefonrelais gebaut, da diese kostengünstig und relativ zuverlässig waren.

Die frühesten integrierten Schaltkreise wurden konstruiert, um Gewicht zu sparen und es dem Apollo Guidance Computer zu ermöglichen, ein Trägheitsleitsystem für ein Raumfahrzeug zu steuern . Die ersten Logikgatter mit integrierten Schaltkreisen kosten fast 50 US-Dollar, was im Jahr 2020 437 US-Dollar entsprechen würde. Zur großen Überraschung vieler Beteiligten waren die Schaltungen zu der Zeit, als die Schaltungen in Serie produziert wurden, die kostengünstigste Methode zum Aufbau digitaler Logik. Verbesserungen in dieser Technologie haben alle nachfolgenden Kostenverbesserungen vorangetrieben.

Mit dem Aufkommen von integrierten Schaltkreisen war die Reduzierung der absoluten Anzahl der verwendeten Chips eine weitere Möglichkeit, Kosten zu sparen. Das Ziel eines Designers ist es nicht nur, die einfachste Schaltung zu erstellen, sondern die Anzahl der Komponenten niedrig zu halten. Dies führt manchmal zu komplizierteren Designs in Bezug auf die zugrunde liegende digitale Logik, reduziert aber dennoch die Anzahl der Komponenten, die Platinengröße und sogar den Stromverbrauch.

Zuverlässigkeit

Ein weiteres wichtiges Motiv zur Reduzierung der Komponentenanzahl auf Leiterplatten besteht darin, die Herstellungsfehlerrate aufgrund fehlerhafter Lötverbindungen zu reduzieren und die Zuverlässigkeit zu erhöhen. Die Fehler- und Ausfallraten steigen tendenziell zusammen mit der Gesamtzahl der Komponentenpins.

Digitale Maschinen haben oft Millionen von Logikgattern. Die meisten Konstrukteure digitaler Maschinen optimieren, um ihre Kosten zu senken. Das Ergebnis ist, dass oft der Ausfall eines einzelnen Logikgatters zum Ausfall einer digitalen Maschine führt. Es ist möglich, Maschinen zuverlässiger zu gestalten, indem eine redundante Logik verwendet wird, die nicht durch den Ausfall eines einzelnen Gates ausfällt, aber dies erfordert notwendigerweise die Verwendung von mehr Komponenten, was die Kosten erhöht und normalerweise auch das Gewicht der Maschine erhöht und kann den Stromverbrauch erhöhen.

Die Zuverlässigkeit eines Logikgatters kann durch seine mittlere Ausfallzeit (MTBF) beschrieben werden. Digitale Maschinen wurden erst nützlich, als die MTBF für einen Switch einige hundert Stunden überstieg. Trotzdem hatten viele dieser Maschinen komplexe, eingespielte Reparaturverfahren und waren stundenlang nicht funktionsfähig, weil eine Röhre durchgebrannt war oder eine Motte in einem Relais steckenblieb. Moderne Transistor-Logikgatter mit integrierten Schaltungen haben MTBFs von mehr als 82 Milliarden Stunden (8,2 × 10 10  h ). Dieses Maß an Zuverlässigkeit ist erforderlich, weil integrierte Schaltungen so viele Logikgatter haben.

Ausschwärmen

Fanout beschreibt, wie viele Logikeingänge von einem einzelnen Logikausgang gesteuert werden können, ohne die Nennstromwerte der Gate-Ausgänge zu überschreiten. Das minimale praktische Fanout beträgt etwa fünf. Moderne elektronische Logikgatter, die CMOS- Transistoren für Schalter verwenden, haben Fanouts nahe fünfzig und können manchmal viel höher gehen.

Geschwindigkeit

Die „Schaltgeschwindigkeit“ beschreibt, wie oft ein Wechselrichter (eine elektronische Darstellung einer logischen „Nicht“-Funktion) pro Sekunde von wahr auf falsch und zurück wechseln kann. Eine schnellere Logik kann mehr Operationen in kürzerer Zeit ausführen. Digitale Logik wurde erst nützlich, als die Schaltgeschwindigkeiten über 50 Hz stiegen  , weil das schneller war als ein Team von Menschen, die mechanische Taschenrechner bedienten. Moderne elektronische Digitallogik schaltet routinemäßig bei 5  GHz (5 · 10 9  Hz) und einige Laborsysteme schalten bei mehr als 1  THz (1 · 10 12  Hz).

Logikfamilien

Design begann mit Relais . Relaislogik war relativ kostengünstig und zuverlässig, aber langsam. Gelegentlich trat ein mechanischer Fehler auf. Die Fanouts betrugen typischerweise etwa 10, begrenzt durch den Widerstand der Spulen und die Lichtbogenbildung an den Kontakten durch hohe Spannungen.

Später wurden Vakuumröhren verwendet. Diese waren sehr schnell, erzeugten aber Wärme und waren unzuverlässig, da die Filamente durchbrennen würden. Fanouts waren typischerweise 5...7, begrenzt durch die Erwärmung durch den Röhrenstrom. In den 1950er Jahren wurden spezielle "Computerröhren" mit Filamenten entwickelt, bei denen flüchtige Elemente wie Silizium weggelassen wurden. Diese liefen Hunderttausende von Stunden.

Die erste Familie der Halbleiterlogik war die Widerstands-Transistor-Logik . Dies war tausendmal zuverlässiger als Röhren, lief kühler und verbrauchte weniger Strom, hatte aber einen sehr geringen Fan-In von 3. Die Dioden-Transistor-Logik verbesserte den Fanout auf etwa 7 und reduzierte die Leistung. Einige DTL-Designs verwendeten zwei Netzteile mit abwechselnden Schichten von NPN- und PNP-Transistoren, um den Fanout zu erhöhen.

Die Transistor-Transistor-Logik (TTL) war eine große Verbesserung gegenüber diesen. Bei frühen Geräten verbesserte sich der Fanout auf 10, und spätere Variationen erreichten zuverlässig 20. TTL war auch schnell, wobei einige Variationen Schaltzeiten von nur 20 ns erreichten. TTL wird noch in einigen Designs verwendet.

Die emittergekoppelte Logik ist sehr schnell, verbraucht aber viel Strom. Es wurde in großem Umfang für Hochleistungscomputer verwendet, die aus vielen mittelgroßen Komponenten (wie dem Illiac IV ) bestanden.

Die bei weitem gebräuchlichsten digitalen integrierten Schaltungen, die heute gebaut werden, verwenden CMOS-Logik , die schnell ist, eine hohe Schaltungsdichte und eine niedrige Leistung pro Gate bietet. Dies wird sogar in großen, schnellen Computern wie dem IBM System z verwendet .

Kürzliche Entwicklungen

Im Jahr 2009 entdeckten Forscher, dass Memristoren einen Booleschen Zustandsspeicher implementieren können (ähnlich einem Flip-Flop , Implikation und logischen Inversion ), wodurch eine vollständige Logikfamilie mit sehr geringem Platz- und Leistungsbedarf unter Verwendung bekannter CMOS-Halbleiterprozesse bereitgestellt wird.

Die Entdeckung der Supraleitfähigkeit hat die Entwicklung einer Rapid-Single-Flux-Quantum (RSFQ)-Schaltungstechnologie ermöglicht, die Josephson-Übergänge anstelle von Transistoren verwendet. In jüngster Zeit wurden Versuche unternommen, rein optische Rechensysteme zu konstruieren , die in der Lage sind, digitale Informationen unter Verwendung nichtlinearer optischer Elemente zu verarbeiten.

Siehe auch

Anmerkungen

Verweise

Weiterlesen

  • Douglas Lewin, Logical Design of Switching Circuits , Nelson, 1974.
  • RH Katz, Zeitgenössisches Logikdesign , The Benjamin/Cummings Publishing Company, 1994.
  • PK Lala, Praktisches Design und Testen digitaler Logik , Prentice Hall, 1996.
  • YK Chan und SY Lim, Progress In Electromagnetics Research B, Vol. 2, No. 1, 269–290, 2008, "Synthetic Aperture Radar (SAR) Signal Generation, Faculty of Engineering & Technology, Multimedia University, Jalan Ayer Keroh Lama, Bukit Beruang, Melaka 75450, Malaysia.

Externe Links