Digitaltechnik 9
17 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Welche Aussage trifft im Allgemeinen für die Realisierung kombinatorischer Schaltungen zu?

  • NAND-Gatter können nur für einfache logische Funktionen verwendet werden.
  • Jede kombinatorische Schaltung kann sowohl mit NAND- als auch mit NOR-Gattern realisiert werden. (correct)
  • Jede kombinatorische Schaltung lässt sich ausschließlich mit NOR-Gattern realisieren.
  • Beliebige kombinatorische Schaltungen können ausschließlich mit NAND-Gattern realisiert werden.

Warum werden integrierte Schaltkreise wie der 7447 üblicherweise in fester Hardware gefertigt?

  • Um die Produktionskosten bei großen Stückzahlen zu senken. (correct)
  • Um die Flexibilität bei Designänderungen zu erhöhen.
  • Um die Komplexität des Schaltungsdesigns zu reduzieren.
  • Um die Schaltung vor Umwelteinflüssen zu schützen.

Welche Aussage beschreibt am besten das Hauptproblem bei der Verwendung von Masken in der Hardwarefertigung?

  • Masken sind leicht zu erstellen und kostengünstig für jede Produktionsmenge.
  • Masken sind vielseitig einsetzbar und können für verschiedene Hardwarekonfigurationen angepasst werden.
  • Die Verwendung von Masken ermöglicht eine hohe Flexibilität in der Hardwarekonfiguration bei niedrigen Kosten.
  • Die Erstellung einer Maske ist teuer und daher nur für große Produktionsmengen wirtschaftlich sinnvoll. (correct)

Welche Aussage beschreibt am besten die grundlegende Funktionsweise eines Gate-Arrays?

<p>Es basiert auf einer festen Anordnung von UND-Gattern, deren Ausgänge durch ODER-Gatter verbunden sind, wobei die Verbindungen über Schalter konfigurierbar sind. (B)</p> Signup and view all the answers

Beschreibe kurz (in einem Satz) die Kernidee, wie Eingangssignale in ein Gate-Array eingespeist werden.

<p>Ein Eingangspin und sein invertiertes Gegenstück werden auf einen Bus eingespeist, der an jedes UND-Gatter angeschlossen ist.</p> Signup and view all the answers

Einmal programmiert, verhält sich programmierbare Hardware in Bezug auf Geschwindigkeit und Laufzeitverzögerungen identisch zu echter, fest verdrahteter Hardware.

<p>True (A)</p> Signup and view all the answers

Ordnen Sie die folgenden Eigenschaften den entsprechenden Hardwaretypen zu:

<p>Programmierbare Hardware = Bietet Flexibilität und Konfigurierbarkeit, ist aber weniger effizient. Echte Hardware (ASIC) = Bietet optimale Leistung für spezifische Aufgaben, ist aber weniger flexibel.</p> Signup and view all the answers

Was ist ein Hauptmerkmal von CPLDs im Vergleich zu einfacheren PLDs?

<p>CPLDs enthalten mehr interne Schaltkreise und können komplexere Schaltungen realisieren. (B)</p> Signup and view all the answers

CPLDs können keine synchronen Ausgaben erzeugen, da sie nicht getaktet werden können.

<p>False (B)</p> Signup and view all the answers

Ordnen Sie die folgenden Begriffe ihren Beschreibungen zu:

<p>PLD = Programmierbare Logikbausteine, die zur Erzeugung synchroner Ausgaben getaktet werden können. CPLD = Anspruchsvolle PLD-Varianten mit mehr internen Schaltkreisen zur Realisierung komplexerer Schaltungen. MUX/LUT = Beispiele für interne Schaltkreise, die in CPLDs enthalten sind.</p> Signup and view all the answers

Welche Aussage beschreibt am besten den Unterschied zwischen OTP (One-Time-Programmable) und EEPROM (Electrically-Erasable-Programmable-Read-Only-Memory) im Kontext der FPGA-Konfiguration?

<p>OTP-Konfigurationen sind dauerhaft, während EEPROM-Konfigurationen semi-permanent sind und elektrisch gelöscht werden können. (A)</p> Signup and view all the answers

Beschreiben Sie kurz, wie der Bitstrom im Kontext der FPGA-Programmierung verwendet wird.

<p>Der Bitstrom enthlt die Daten, die verwendet werden, um die Logikfunktion und die Verbindungspunkte innerhalb des FPGAs zu konfigurieren.</p> Signup and view all the answers

Welche der folgenden Aussagen beschreibt am besten einen typischen Anwendungsfall für ein CPLD?

<p>In der Schnittstellenlogik, wo hohe Geschwindigkeit und Anpassungsfähigkeit erforderlich sind. (A)</p> Signup and view all the answers

Ein CPLD ist ideal, wenn eine komplexe Funktionalität mit niedriger Geschwindigkeit benötigt wird.

<p>False (B)</p> Signup and view all the answers

Nennen Sie einen Vorteil der Verwendung eines CPLD zur Anpassung unterschiedlicher Hardware.

<p>Einfache Anpassung zur 'Übersetzung' von Protokollen.</p> Signup and view all the answers

Ein CPLD wird oft in der __________ eingesetzt, um unterschiedliche Hardware anzupassen.

<p>Schnittstellenlogik</p> Signup and view all the answers

Ordnen Sie die folgenden Eigenschaften den passenden Anwendungsbereichen von CPLDs zu:

<p>Hohe Geschwindigkeit (geringe Ausbreitungsverzögerung) = Schnittstellenlogik Einfache Anpassungsfähigkeit = Anpassung unterschiedlicher Hardware Protokollübersetzung = Anpassung unterschiedlicher Hardware</p> Signup and view all the answers

Flashcards

NAND-Vollständigkeit

Jede kombinatorische Schaltung kann ausschließlich mit NAND-Gattern aufgebaut werden.

Hardware-Realisierung

Kombinatorische Schaltungen werden oft fest in Hardware durch Maskenverfahren/Photolithographie realisiert.

Konfigurierbarkeit in Hardware

Die Hardware kann so entworfen werden, dass sie durch Software oder andere Mechanismen angepasst werden kann, um verschiedene Funktionen auszuführen.

Was ist ein Gate-Array?

Ein Gate-Array ist eine Anordnung vieler UND-Gatter in einem Raster, deren Ausgänge durch ODER-Gatter verbunden sind. Verbindungen sind konfigurierbar.

Signup and view all the flashcards

Wie werden Eingänge in ein Gate-Array eingespeist?

Eingangspins werden zusammen mit ihrem invertierten Gegenstück auf einen Bus gespeist, der mit jedem UND-Gatter verbunden werden kann.

Signup and view all the flashcards

Eigenschaften programmierter Geräte

Nach der Programmierung verhält es sich wie echte Hardware, besonders hinsichtlich Geschwindigkeit und Verzögerungen.

Signup and view all the flashcards

Kompromiss programmierter Geräte

Es bietet Vielseitigkeit und Anpassbarkeit, geht aber nicht mit der höchsten Effizienz einher.

Signup and view all the flashcards

Was sind CPLDs?

PLDs, die getaktete Geräte sein können, um synchrone Ausgaben zu erzeugen.

Signup and view all the flashcards

Funktionsweise von CPLDs

CPLDs enthalten mehr interne Schaltkreise wie MUX/LUTs und können komplexere Schaltungen realisieren.

Signup and view all the flashcards

Programm-Konfiguration

Konfigurationen, die entweder einmalig programmierbar (OTP) oder semi-permanent (EEPROM) sind.

Signup and view all the flashcards

Bitstrom Definition

Eine Datei, die von proprietären Programmen erzeugt wird, und die Logikfunktionen und Verbindungspunkte für programmierbare Geräte festlegt.

Signup and view all the flashcards

CPLD Anwendung

CPLDs werden typischerweise für Schnittstellenlogik verwendet, wo hohe Geschwindigkeit und geringe Ausbreitungsverzögerung erforderlich sind.

Signup and view all the flashcards

CPLD Anpassungsfähigkeit

CPLDs können angepasst werden, um unterschiedliche Hardware anzupassen und Protokolle zu übersetzen.

Signup and view all the flashcards

Study Notes

Eigenschaften von NAND

  • Jede kombinatorische Schaltung kann mit NAND oder NOR allein realisiert werden.
  • Kombinatorische Schaltungen wie der 7447 werden üblicherweise in fester Hardware mittels Maskenverfahren/Photolithographie hergestellt.

Konfigurierbarkeit

  • Die Maskenerstellung ist teuer und nur für große Stückzahlen geeignet.
  • Für kleine Stückzahlen ist sie unerschwinglich.
  • Es wird die Frage aufgeworfen, wie die Vorteile von Hardware realisiert und gleichzeitig eine gewisse Vielseitigkeit/Konfigurierbarkeit erreicht werden kann.
  • Gate-Arrays sind eine Lösung, um Hardwarevorteile mit Vielseitigkeit zu kombinieren.
  • Gate-Arrays haben viele UND-Gatter in einem x/y-Raster.
  • Die Ausgänge dieser UND-Gatter sind über ODER-Gatter verbunden.
  • Alle Gatter sind fest und werden durch eine Maske erzeugt, aber die Verbindungen zum Netz (Ein-/Ausgänge) wären über Schalter konfigurierbar.
  • Kernidee: Ein Eingangspin und sein invertiertes Gegenstück werden auf einen Bus gespeist, der an jedes UND-Gatter angeschlossen werden kann.
  • Nach der Programmierung hat das Gerät gleiche Eigenschaften wie echte Hardware, besonders bezüglich Geschwindigkeit/Laufzeitverzögerungen.
  • Sie sind nicht effizient (nicht die optimale Lösung).
  • Es ist ein Kompromiss zwischen Konfigurierbarkeit/Vielseitigkeit und Optimalität.

CPLD

  • PLDs können getaktete Geräte sein und synchrone Ausgaben erzeugen.
  • Anspruchsvolle Varianten sind CPLDs.
  • CPLDs enthalten mehr interne Schaltkreise (z. B. MUX/LUTs) und können komplexere Schaltungen realisieren.

CPLD-Anwendungsfall

  • Typische Anwendung von CPLDs ist die Schnittstellenlogik.
  • Sie eignen sich, wenn einfache Funktionalität und hohe Geschwindigkeit (geringe Ausbreitungsverzögerung) erforderlich sind.
  • Geräte können für die Anpassung unterschiedlicher Hardware oder zur "Übersetzung" von Protokollen einfach angepasst werden.

Programm-Stream

  • Die Konfiguration ist entweder dauerhaft (One-Time-Programmable -> OTP) oder semi-permanent (Electrically-Erasable-Programmable-Read-Only-Memory -> EEPROM).
  • Der Bitstrom wird von einfachen, proprietären Programmen generiert, die eine Logikfunktion definieren und die Verbindungspunkte berechnen.

Komplexere Anwendungsfälle

  • CPLDs sind oft zu klein für komplexere Gerätefunktionen (nicht genügend Gatter).
  • Geräte mit komplexeren Makroschaltungen (z. B. RAM und flexiblere Verbindungen) werden benötigt.
  • Hier kommen FPGAs (Field-Programmable Gate Array) zum Einsatz.

Das Gerät hat nach der Programmierung die gleichen Eigenschaften wie echte Hardware, besonders bezüglich Geschwindigkeit/Laufzeitverzögerungen

  • Es ist nicht effizient (nicht die optimale Lösung)
  • Kompromiss: Konfigurierbarkeit/ Vielseitigkeit vs. Optimalität

FPGA-Zusammenfassung

  • FPGAs haben typischerweise einen flüchtigen Bitstrom (die Switch-Konfiguration wird im RAM gespeichert).
  • Nebeneffekt ist Reprogrammierbarkeit während der Laufzeit.
  • Chips können sich live an die Probleme "anpassen".

FPGA

  • FPGAs werden in Hochgeschwindigkeits-Datenerfassung, Hochgeschwindigkeitskryptografie, Hardware-Prototyping oder (De-)Kodierungsanwendungen eingesetzt.
  • Sie sind teuer, aber außergewöhnlich leistungsfähig.

FPGA-Zusammenfassung

  • Sie sind so leistungsfähig, dass ganze CPUs in ihnen emuliert werden können.
  • So wird die CPU-Entwicklung durchgeführt (Prototyp).
  • Dies wird als Softcore bezeichnet (ein CPU-Kern innerhalb eines FPGAs, der durch Software konfiguriert wird).

Programmieren

  • Es gibt zwei große Programmiersprachen im Hardwarebereich: VHDL und Verilog.

VHDL

  • VHDL ist eine komplexere Sprache.
  • Dies liegt daran, dass Parallelität und Taktsynchronität modelliert werden.
  • Aktionen geschehen nicht zu dem Zeitpunkt, an dem man sie erwarten würde, wenn man den VHDL-Code wie einen "normalen" Programmiercode liest.

VHDL-Prüfstand

  • Modelle werden in kleinere Subkomponenten aufgeteilt, die einzeln in Testständen getestet werden.
  • Einzelne Komponenten können modelliert und dann in größeren Designs wiederverwendet werden.
  • Ein CPU-Kern kann einfach "instanziiert" und zusätzlich Peripheriegeräte aufgerufen werden, um diese über einen Bus miteinander zu verbinden.

VHDL-Besonderheiten

  • Signale in VHDL werden nur taktsynchron geschaltet.
  • Das heißt, im Wesentlichen passiert A=B und B=A gleichzeitig bei der nächsten Taktflanke.
  • Das Verhalten unterscheidet sich deutlich von einer imperativen Programmiersprache.

In Software geschriebene Hardware

  • VHDL und Verilog sind Hardwarebeschreibungssprachen.
  • Sie bieten eine Möglichkeit, das Verhalten von Hardware nur mit Software auszudrücken.
  • Es ist relativ einfach, diese Hardware mit einer Verhaltenssimulation zu testen.

Von der Software zum IC

  • Proprietäre Software kann verwendet werden, um einen FPGA-Bitstream zu synthetisieren.
  • Sobald man davon überzeugt ist, dass der Chip wie erwartet funktioniert, kann man den HDL-Input verwenden, um einen Grundriss für einen ASIC (Application-specific Integrated Circuit) zu erstellen.
  • So werden moderne ICs hergestellt.

Mikroprozessor vs. Mikrocontroller

  • Ein Mikroprozessor hat in der Regel keine Peripheriegeräte an Bord.
  • Er verfügt über einen externalisierten Adress-/Datenbus und geht davon aus, dass die Peripheriegeräte außerhalb des Kerns fest verdrahtet sind.
  • Mikrocontroller integrieren manchmal viele Peripheriegeräte intern im Controller.
  • ROM, SRAM, Timer/Counter usw.
  • Dadurch werden Mikrocontroller (MUCs) zu autonomen Geräten.
  • Es handelt sich um Single-Chip-Lösungen, die eine Vielzahl von Zwecken erfüllen können und frei programmierbar sind.
  • MUCs sind überall zu finden (Haushaltsgeräte, Steuergeräte, Leuchten).

Fähigkeiten

  • ROM liegt typischerweise im Bereich von 1k - 1M; typische Größen sind 8k, 64k, 256k.
  • SRAM liegt im Bereich von 16 Byte (kleine Geräte) bis 256k (große Geräte).
  • Programmierer müssen vorsichtig mit der Speicherhandhabung/Verwaltung umgehen.

Entwicklung von MUCs

  • Früher waren 8 Bit MUCs weit verbreitet.
  • 4 Bit MUCs sind kostengünstig (Tamagochi).
  • Es gibt relativ wenige 16 Bit MUCs.

Betriebssystem

  • Auf kleineren Mikrocontrollern läuft nie ein OS.
  • Auf größeren gibt es welche, aber nicht oft.

Echtzeitfähigkeit

  • MCs sind hervorragend darin, vorhersagbare und zuverlässige Reaktionszeiten zu liefern.
  • Auf der CPU ist nicht viel los (z. B. kein präemptives Multitasking).
  • Dadurch eignen sie sich für alle Arten von Steuerungsanwendungen.

Programmieren

  • C wird beim Programmieren von MUCs verwendet.
  • Beim Kompilieren des Codes erhält man eine verknüpfte Binärdatei mit hohem Gewicht (z. B. ELFE).

Von ELF zum Bild

  • Es gibt keinen Loader für ELF-Binärdateien auf dem Ziel.
  • Die internen Segmente müssen in einem binären Bitstrom konvertiert werden, der direkt ins ROM des Ziels geflasht werden muss.
  • Dies wird durch eine Art Shell-Skript oder Makefile erreicht.
  • Dieser binäre Blob wird als Firmware des Geräts bezeichnet.

JTAG

  • Die Firmware muss in das Flash-ROM gelangen.
  • Spezielle Hardware (JTAG-Adapter) wird verwendet.
  • JTAG kann von dem Hostsystem, das sich mit dem Ziel verbindet, genutzt werden, um den Speicher zunächst zu programmieren, aber auch um das System "live" zu debuggen.

Hallo Welt

  • Blinky ist das erste MCU-Programm, um die Systemsfunktion zu testen.
  • Blinky hat die Aufgabe, eine extern angeschlossene LED an und aus zu machen.
  • Grundlegendste Peripheriegerät für diese Aufgabe: GPIO.
  • Die Register dieses GPIO-Peripheriegeräts sind im Datenblatt oder im TRM zu finden.
  • Beispiel: AVR ATtiny2313.
  • Seite 2: Pinbelegung.
  • Seite 3: Blockdiagramm.
  • Seite 48: GPIOs.
  • Seite 58: GPIO Registermap.
  • Aufgabe: GPIO Port Pin PB5 ein- und ausschalten.

Bitoperationen

  • Bits in einem speicherabgebildeten I/O Register setzen und löschen.
  • Auf Adresse 0xabcd1234 ist ein 32 Bitregister vorhanden und wir möchten 5 Bits [22:18] auf den Wert 21 setzen.

Bitoperation clear

  • Zuerst müssen die Bits gelöscht werden, die möglicherweise dort gesetzt sind.
  • Geschieht durch ein bitweises UND Register mit einer Registermaske.
  • (*REG)= (*REG) & ~(0x1f

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Jede kombinatorische Schaltung kann mit NAND- oder NOR-Gattern realisiert werden. Kombinatorische Schaltungen, wie der 7447, werden typischerweise in Maskenverfahren/Photolithographie gefertigt. Das ermöglicht die Herstellung fester Hardware.

Use Quizgecko on...
Browser
Browser