Inhaltsverzeichnis

CPU Entwurf mit VHDL (Schwerpunkt VHDL) 5 ECTS Prüfung 2023-08-09

Meta Information

Exam

Siehe Folien. Man musste nicht jedes Detail, wie bspw. die bit-Ranges in der Instruktion oder jedes Kontrollsignal kennen, aber erklären können wie die CPU aufgebaut ist und funktioniert. Gesamte CPU gezeichnet mit relativen Sprüngen, aber ohne absolute Sprünge.
Auffüllen der fehlenden oberen Bits mit 1.
VHDL. Komponenten erstellen und daraus dann eine funktionierende CPU erstellen.
Hardwarebeschreibungssprache, …
C ist eine Programmiersprache. Arbeitet sequentiell, erzeugt Maschinencode, ….´
Simulation, Synthese, Implentierung, …
Siehe Folien
Architekturspezifische Netzliste
Translate, Map, Place and Route. Erläuterung zu Place and Route.
Hingeschrieben und währendessen erläutert. Man darf die VHDL-Datei ohne Unterbrechung schreiben und sich selbst korrigieren.
9-wertige Logik. Ein paar Zustände aufgezählt und erklärt das man diese bspw. für Busse braucht.
Configuration. Brauchen wir aber nicht. Wird benötigt wenn wir mehrere architectures zu eine entity haben. Wird benötigt, um der entity eindeutig eine architecture zuzuordnen.
Library: Bibliotheken einbinden, Entity: Schnittstellen der Komponente definieren, Architecture: Beschreibt das funktionale Verhalten der Komponente.
Erklärt.
Sonst entsteht ein Latch.
Hier hatte ich ein paar Erklärungen, die für ihn aber nicht ausschlaggebend waren. Aber er hat mich durch weitere Fragen in die richtig Richtung gebracht. Wenn ich es richtig verstanden habe, ist das Problem folgendes: Dadurch, dass wir den else-Zweig nicht abdecken, muss der Zustand gespeichert werden und es entseht ein Latch. Da die ALU/der Prozess keine CLK hat, wird ein Signal (bei mir war es CTRL) zur Clock. Dadurch, dass CTRL sich zu einem nicht definierten Zeitpunkt verändert, können wir für die Inputs nicht mehr die Setup- & Hold-Zeiten einhalten. Dadurch wird das Latch zu einem metastabilen Kippglied.
AND, ADD und Shift für die Inputs und Multiplexer, der das gewünschte Ergebnis abhängig von CTRL ausgibt.
And: Bitweises And beider Inputs, Add: kurz CLA und RCA erklärt und einen einfachen RCA aufgemalt und erklärt. Shift: Gesagt, dass ein Barrel-Shifter geeignet wäre, aber wie der genau funktioniert, wusste ich nicht.