Welche Speicherart wird zur Konfiguration von CPLDs und welche
Speicherart wird zur Konfiguration von FPGAs hauptsächlich genutzt und
was sind deren Eigenschaften?
Konfiguration CPLD: → Speicherart EEPROM: nicht flüchtiger Speicher
(behält beim Abschalten der Betriebsspannung seine Inhalte), ist aber
trotzdem wieder neu programmierbar (ähnlich wie beim USB-Stick)
Konfiguration FPGA: → Speicherart SRAM: flüchtig (verliert beim Wegfall
der Betriebsspannung den Inhalt), ist preiswerter und kleiner realisierbar als
EEPROM (ähnlich wie beim PC CPU Cache-Speicher)
Was sind die Hauptmerkmale von PLDs, wie lassen sie sich einteilen?
Hauptmerkmale von Programmierbaren Logik Devices (PLDs):
funktionieren ähnlich, wie ASICs, sind aber „in der Fläche“ programmierbar (konfigurierbar)
bestehen mindestens aus Blöcken für: Logik ---- Routing ---- Eingabe/Ausgabe
Optional „Boot Speicher“
Einteilung von PLDs:
a) nach Prinzip der Signalverarbeitung: i) Analog, ii) Digital (die Mehrheit der Fälle), iii) Hybrid
b) nach Programmierbarkeit: i) One-Time-Programmable (OTP) z.B. Anti-Fuse, ii) Statische Reprogrammierbarkeit z.B. EEPROM, iii) In-System-Programmierbarkeit (ISP) z.B. FPGA SRAM
Welche Eigenschaften zeichnen CPLDs aus? Für welche Anwendungen
werden CPLDs häufig eingesetzt?
Eigenschaften von CPLDs:
Complexe PLDs sind ein Verbund von einfachen Simple PLDs
Konfiguration basierend auf EEPROM-Technologie (nicht flüchtig!)
Geringer Beschaltungsaufwand im Vergleich zu FPGAs
sehr schnelle Pin-to-Pin Laufzeit
Einsatzgebiete:
im Bereich kombinatorischer Logik, sowie für einfache
Steuerungsaufgaben, z.B.Adressdecoder, Busmultiplexer,
Konfigurationslogik für FPGAs,
Digitaluhren mit alphanumerischem Display, Seriell/Parallel
Wandler, PWM-Generator, Speichercontroller für mehrere CPUs,
Zeitgesteuerte Einschaltlogik (Einschaltsequenz)
Erläutern Sie kurz den Aufbau eines CPLD.
CPLDs bestehen aus:
Mindstens einer Und-Oder-Matrix (PLA oder PAL) und
Speicherelementen (FF), meist zusammengefasst zu Funktions-
blöcken, die frei miteinander verbunden werden können und
Einer globale Verbindungsmatrix (dadurch einfaches Routing)
Skizzieren Sie den Aufbau eines PLA und erklären Sie dessen
Funktionsweise.
Aufbau: UND-Array und Oder-Array, ggf. mit Invertern am Eingang/Ausgang
Nennen Sie 4 Merkmale eines FPGA.
Kombination aus FF und davor geschalteten Logikelementen (Logikgatter (z.B. Actel) oder LUTs (z.B. Xilinx))
SRAM-basierter Konfigurationsspeicher (flüchtig)
Meist mit zusätzlichen Ressourcen, wie Speicher, Arithmetische Blöcke, uC-Cores, DLL, …
Relativ hohe Taktfrequenzen bei hohem Integrationsgrad
Was ist eine LUT? Wieviele binäre Operationen lassen sich mit Hilfe
einer 4-Bit-LUT mit einem Bit Wortbreite am Ausgang realisieren?
LUT: Look-Up Table, SRAM-basierter Speicher zum Speichern von vorberechneten
Ergebnissen für alle möglichen Eingangskombinationen
mit einer 4-Bit LUT werden:
4 Eingangsbits auf ein Ausgangsbit abgebildet, daraus folgt
es gibt 2 hoch 4=16 mögliche Eingangssignalkombinationen, also
sind 16 verschiedene binäre Funktionen möglich, um das eine
Ausgangsbit zu berechnen
Welche Sichten und Ebenen werden Y-Diagramm dargestellt?
3 Sichten: Verhaltenssicht, Struktursicht, Geometriesicht
5 Ebenen: Systemebene, Algorithmische Ebene, RT-Ebene, Logikebene,
Schaltkreisebene
Wie wird HW-Entwurf ausgehend vom Y-Diagramm beschrieben?
Welche Möglichkeiten ("Richtungen") des Entwurfs gibt es und was
kennzeichnet diese?
Wie?: mittelsTransformation und Verfeinerung zwischen Sichtweisen und
Schichten
Synthese, Verifikation, Abstraktion
Möglichkeiten:
Bottom-up -> kleine Teile zu größeren Blöcken zusammengesetzt ->
von unten nach oben im Y-Diagramm
Top-Down -> Gesamtproblem in Unterprobleme zerlegen -> von
oben nach unten im Y-Diagramm
Nennen Sie Beispiele für die Ebenen des Y-Diagramms in
Verhaltenssicht.
Systemespezifikation, Algorithmen, Register-Transfer-Beschreibung,
Boolesche Gleichungen, Differentialgleichungen
Nennen Sie Beispiele für die Ebenen des Y-Diagramms in Struktursicht.
Ordnen Sie folgende Abbildungen einer Ebene und einer Sichtweise im
Y-Diagramm zu!.
Nennen Sie fünf Vorteile, die den Einsatz einer HDL (Hardware
Description Language) beim Systementwurf rechtfertigen.
Modellierung auf unterschiedlichen Ebenen (von der Spezifikation bis zur Simulation und Synthese)
Gute Dokumentationsmöglichkeiten
Gute Wartbarkeit
Einfacher Datenaustausch durchProgrammunabhängigkeit
Technologieunabhängigkeit
Einfache Austauschbarkeit von Komponenten
Gute Wiederverwendbarkeit von Modulen
Gute Simulierbarkeit/Verifikationsmöglichkeit
Was sind die Aufgaben der Synthese? Was ist das Ergebnis einer
Synthese? Welche Optimierungsparameter kann eine Synthese haben?
Aufgaben:
Abbildung von RT-Beschreibungen/Algorithmischen Beschreibungen auf Gatterebene
Erstellung einer Netzliste aus VHDL-Code oder SchematicEingaben
Ergebnisse:
Netzlisten, NGC oder EDIF-Format, repräsentiert logische Gatter
und Verknüpfungen
Syntheseoptimierungsparameter:
Fläche (Ressourcenverbrauch)
Geschwindigkeit (Taktfrequenz)
Was unterscheidet eine Simulation auf RT-Ebene von einer Simulation
auf Logikebene? Wie werden diese Arten der Simulation bezeichnet?
Unterschied:
RT (Register-Transfer): nur taktabhängig ohne Verzögerung,
auf Logikebene kommen Gatterlaufzeiten dazu
Bezeichnung:
RT) funktionale Simulation: zur Verifikation der Datenverarbeitung
Logik) Zeitsimulation: zur Überprüfung des Zeitverhaltens
Beschreiben Sie den allgemeinen Aufbau einer VHDL-Beschreibung
Aufbau VHDL:
Package (Bibliotheken von Komponenten)
Entity (Modulschnittstellen)
Architectures (Modulinnenleben)
Optional configurations (Konfigurationsparameter)
Nennen Sie Eigenschaften von Signalen in VHDL?
Signale:
Wertträger bestimmten Typs
Verdrahtung ähnlich physischer Leitungen
nur ein aktiver Treiber erlaubt
Auflösung durch VHDL-Datentypen möglich
Wie werden Prozesse in VHDL bearbeitet?
Prozesse:
sequentielles Einlesen der Anweisungen innerhalb eines Prozesses
gleichzeitige Wertzuweisung am Ende eines Prozesses
parallele Ausführung mehrerer Prozesse
Neuauswertung aller Wertzuweisungen bei Änderung eines Signals
in der Sensitivitätsliste des Prozesses
Womit werden Simulationen in VHDL beschrieben? Was ist der
Unterschied zu einer Hardware-VHDL-Beschreibung?
Simulationen werden mittel Testbench beschrieben: die UUT wird
instanziiert
nur ein Subset der Anweisungen der Simulation ist synthetisierbar
(beim Hardwareentwurf müssen alle Anweisungen synthetisierbar sein) z.B. insbesondere Verzögerungen (wait), Schleifen, spezielle Signalabfragen ('quiet, 'active, ...) sind nicht synthesefähig
Ein Simulationsmodell ist meist einfacher beschreibbar, zur
Verifikation für das synthetisierbare Modell nutzbar
Welche Gründe gibt es für den Einsatz synchronen Designs?
Gründe:
Einschwingvorgänge bei Pegelumschaltung -> kurzzeitig
undefinierte oder unerwünschte Pegel an Logikausgängen möglich
kritischer Pfad bestimmt maximal erreichbare Taktfrequenz
Einfachere Testbarkeit
Bessere Übersichtlichkeit
Welche Charakteristika (Vorteile und Nachteile) bietet der Einsatz von
PLD (CPLD und FPGA) gegenüber Mikrocontrollern/Mikroprozessoren?
Parallele Abarbeitung der Funktionalität (Verarbeitung in einer Schaltung /
in der Fläche) im PLD
Höherer Datendurchsatz im PLD möglich
Bessere Energieeffizienz im PLD für bestimmte Algorithmen möglich
Umdenken bei der Parametrisierung(Programmierung) eines PLD
gegenüber der sequentiellen Programmierung eines Mikroprozessors
notwendig
Flexibles Hardware-Software-Co-Design möglich
Skizzieren/Nennen Sie den Designfluss beim (Xilinx-) FPGA-Entwurf.
Schritte:
Planing ->
Coding ->
RT-Simulation ->
Synthese ->
Funktionale Simulation ->
Implementierung (Translate, Map, Route) ->
Timing beachten und simulieren ->
Bit File erstellen ->
FPGA konfigurieren
Erläutern Sie die drei Teilschritte bei der Implementierung im FPGA-
Designfluss.
3 Teilschritte:
Translate: Zusammenfassung mehrerer Designeingaben in einer Netzliste
Map: Zuweisung logischer Symbole der Netzliste (Gatter) zu vorhandenen Komponenten (Slices, IOs)
Place & Route: Platzierung und Verbindung der Komponenten auf dem FPGA, Erstellen von Timing Reports
Nennen Sie 2 grundsätzlich verschiedene Möglichkeiten für Eingaben eines
Systementwurfs in der Entwicklungsumgebung am PC, um ein digitalen System
beschreiben zu können! Nennen Sie dazu jeweils zwei Eigenschaften für jede der
beiden Möglichkeiten!
a) HDL:
herstellerunabhängig (IDE übergreifend) portierbar,
flexibel parametrierbar
b) Schematic (graphische Eingabe):
anschaulich,
bibliotheks (IDE)gebunden/herstellerspezifisch
ZusatzPunkt: Variante 3: Zustandstabellen: sind effektiv, sind übersichtlich, helfen
bei Entwurfsfehlervermeidung
Nennen Sie drei Hardwarebeschreibungssprachen (HDLs)!
Hardwarebeschreibungssprachen:
VHDL: Tools für Synthese und Simulation weit verbreitet, Gatter/RT/
(alg.) Ebene, sehr „ausführlicher“ Code
Verilog: C-ähnlich; Tools für Synthese und Simulation weit
verbreitet, Gatter/RT/(alg.) Ebene, schnelle Simulation
System-C: high-level C++, Objektorientiert, noch wenig Verbreitung
System-Verilog für high-level-Beschreibung
VHDL-AMS: Erweiterung von VHDL für analoge Komponenten
Entwurf eines einfachen digitalen Systems zur Mittelwertbildung:
Erstellen Sie einen Systementwurf (Skizze) auf RT-Ebene in Struktursicht für
ein digitales Filter mit dem Eingang x(z) und der Übertragungsfunktion y(z) = (
x(z-3) + x(z-1) ) / 2 !
● x(t) sei ein 8-bit breiter Eingangsvektor im Festkommaformat, wobei
alle 8 Bit Vorkommastellen darstellen. Die Arbeitsfrequenz des Filters
beträgt clk=50MHz. Für y(z) soll kein Genauigkeitsverlust auftreten.
Wie breit ist der Ausgangsvektor y(z) und wie viele Nachkommastellen
hat y(z)?
Zur Realisierung stehen Register, Dividierer und Addierer beliebiger Breite zur
Verfügung! Die benötigten Bitbreiten an deren Ein- und Ausgangssignalen
sind jeweils mit in der Zeichnung anzugeben.
Last changed2 years ago