From 9afb828eb539c4562ea5dbdf6936d1440a73bb25 Mon Sep 17 00:00:00 2001 From: hneemann Date: Sun, 30 Oct 2016 20:44:57 +0100 Subject: [PATCH] Improved documentation --- src/main/dig/processor/ALU.dig | 26 ++++++++++++++++---- src/main/dig/processor/Branch.dig | 7 ++++-- src/main/dig/processor/Control.dig | 8 +++++- src/main/dig/processor/Flags.dig | 38 ++++++++++++++++++++++++++++- src/main/dig/processor/Graphics.dig | 5 +++- src/main/dig/processor/ImReg.dig | 8 +++++- src/main/dig/processor/PC.dig | 6 ++++- src/main/dig/processor/Register.dig | 31 +++++++++++++++++------ src/main/dig/processor/SignExt.dig | 18 ++++---------- 9 files changed, 114 insertions(+), 33 deletions(-) diff --git a/src/main/dig/processor/ALU.dig b/src/main/dig/processor/ALU.dig index 7ac8ef5f7..5a0b5d83b 100644 --- a/src/main/dig/processor/ALU.dig +++ b/src/main/dig/processor/ALU.dig @@ -4,7 +4,11 @@ Description - Arithmetisch Logische Einheit. + Arithmetisch Logische Einheit. +Führt alle arithmetischen Operationen durch. +WIrd sowohl für arithmetische Prozessorbefehle +als auch für die Berechnung von Speicheradressen +verwendet. Width @@ -17,7 +21,7 @@ Description - EIngang A + Erster Operand Label @@ -35,7 +39,7 @@ Description - Eingang B + Zweiter Operand Label @@ -164,7 +168,7 @@ Description - Ergebnis + Ergebnis der Operation Label @@ -208,6 +212,10 @@ Out + + Description + Zero-Flag; Ist High wenn das Ergebnis Null ist. + Label Zero @@ -218,6 +226,10 @@ Out + + Description + Ist High wenn das Ergebnis negativ ist. + Label Neg @@ -228,6 +240,10 @@ Out + + Description + Ist High wenn es einen Übertrag gegeben hat. + Label Carry @@ -303,7 +319,7 @@ Description - Takt + Der Eingang für den Übertrag Label diff --git a/src/main/dig/processor/Branch.dig b/src/main/dig/processor/Branch.dig index 079220a79..92568213e 100644 --- a/src/main/dig/processor/Branch.dig +++ b/src/main/dig/processor/Branch.dig @@ -4,7 +4,10 @@ Description - Einheit für bedingte Verzweigungen. + Einheit für bedingte Verzweigungen. +Je nach Zustand der Flags und des ctrl-Eingangs +wird ein bedingter Sprung ausgelößt oder eben +nicht. @@ -80,7 +83,7 @@ Description - relativen Sprung ausführen + Ist dieser Ausgang High, soll ein bedingter relativer Sprung ausgeführt werden. Label diff --git a/src/main/dig/processor/Control.dig b/src/main/dig/processor/Control.dig index 789e2a6ee..8f88f2fb5 100644 --- a/src/main/dig/processor/Control.dig +++ b/src/main/dig/processor/Control.dig @@ -4,7 +4,13 @@ Description - Leitwerk für einen einfachen Prozessor. + Leitwerk für einen einfachen Prozessor. +Es arbeitet rein kombinatorisch, es handelt sich +also um ein einfaches Schaltwerk. +Da es vergleichsweise komplex ist (24 +Ausgangsbits), wird es durch einen +entsprechenden ROM-Baustein +realisiert, und nicht durch 24 einzelne Schaltnetze. Width diff --git a/src/main/dig/processor/Flags.dig b/src/main/dig/processor/Flags.dig index 3520ea942..a22316eae 100644 --- a/src/main/dig/processor/Flags.dig +++ b/src/main/dig/processor/Flags.dig @@ -4,13 +4,21 @@ Description - Speichert die Prozessorflags + Speichert die Prozessor-Flags. +Über den store-Eingang, kann der aktuelle Zustand +der Flags gespeichert werden. Das Carry-Flag kann +dann für arithmetische Funktion genutzt werden, +alle Flags für eine bedingte Verzweigung. In + + Description + Das Zero-Flag welches gespeichert werden soll. + Label Zi @@ -21,6 +29,10 @@ Out + + Description + Gibt das gespeicherte Zero-Flag aus. + Label Zo @@ -45,6 +57,10 @@ In + + Description + Das Negative-Flag welches gespeichert werden soll. + Label Ni @@ -55,6 +71,10 @@ Out + + Description + Gibt das gespeicherte Negative-Flag aus. + Label No @@ -79,6 +99,10 @@ In + + Description + Das Carry-Flag welches gespeichert werden soll. + Label Ci @@ -89,6 +113,10 @@ Out + + Description + Gibt das gespeicherte Carry-Flag aus. + Label Co @@ -113,6 +141,10 @@ In + + Description + der Takteingang + Label C @@ -123,6 +155,10 @@ In + + Description + Der Eingang welcher das Speichern aktiviert. Es wird auf Eins gesetzt, wenn eine arithmetische Operation ausgeführt wird. + Label store diff --git a/src/main/dig/processor/Graphics.dig b/src/main/dig/processor/Graphics.dig index be7b85560..381afefc4 100644 --- a/src/main/dig/processor/Graphics.dig +++ b/src/main/dig/processor/Graphics.dig @@ -4,7 +4,10 @@ Description - Eine einfache "Grafikkarte". Sie enthält ein Grafik-RAM um die eigentliche Grafik anzuzeigen. + Eine einfache "Grafikkarte". +Sie enthält ein Grafik-RAM um die eigentliche Grafik +anzuzeigen. Dieses Grafik-RAM ist auf die +Darstellung von 20x20 Pixel konfiguriert. diff --git a/src/main/dig/processor/ImReg.dig b/src/main/dig/processor/ImReg.dig index 1f37a12f2..c37983e82 100644 --- a/src/main/dig/processor/ImReg.dig +++ b/src/main/dig/processor/ImReg.dig @@ -4,7 +4,13 @@ Description - Register zum Speichern von großen Konstanten + Register zum Speichern von großen Konstanten. +Es existiert ein 1-Bit Befehl, welcher dieses Register +beschreibt. Auf diese Weise können 15 Bits +gespeichert werden (das 16. Bit aktiviert das +Beschreiben dieses Registers und ist daher immer +Eins) Um das fehlende 16. Bit zu speichern, steht ein +spezielles Bit in jedem Befehlswort zur Verfügung. Width diff --git a/src/main/dig/processor/PC.dig b/src/main/dig/processor/PC.dig index 4be7637af..80096d81e 100644 --- a/src/main/dig/processor/PC.dig +++ b/src/main/dig/processor/PC.dig @@ -4,7 +4,11 @@ Description - Der Programmzähler. Hier wird der aktuelle Programmzähler gespeichert. Über die verschiedenen Eingänge kann beeinflußt werden, wie der Programmzähler mit dem Takt weitergeschaltet wird. + Der Programmzähler. +Hier wird der aktuelle Programmzähler gespeichert. +Über die verschiedenen Eingänge kann beeinflußt +werden, auf welche Weise der Programmzähler mit +dem Takt weiter geschaltet wird. Width diff --git a/src/main/dig/processor/Register.dig b/src/main/dig/processor/Register.dig index a36067589..ce5bc8332 100644 --- a/src/main/dig/processor/Register.dig +++ b/src/main/dig/processor/Register.dig @@ -4,7 +4,8 @@ Description - In diesem Block befinden sich die Die 16 Prozessorregister. + In diesem Block befinden sich die 16 +Prozessorregister. Width @@ -35,7 +36,9 @@ Description - Daten die gespeichert werden sollen + Daten die gespeichert werden sollen. +Der hier anliegende Wert wird gespeichert, wenn +der Eingang WE auf 1 geschaltet wird. Label @@ -333,7 +336,9 @@ Description - Takt + Takt. Geht der Takt auf High, und ist WE auf High +wird der Wert an WD im dem Register gespeichert, +welches in dest angegeben ist. Label @@ -347,7 +352,8 @@ Description - Nummer des Source Registers + Nummer des Source Registers. Legt fest, welches +Register an Rsrc ausgegeben werden soll. rotation @@ -397,7 +403,10 @@ Description - Nummer des Destignation Registers + Nummer des Destignation Registers. Legt fest, +welches Register an Rdest ausgegeben werden soll. +Zudem wird dieses Register beschrieben, wenn +WE auf 1 gesetzt wird. Label @@ -415,7 +424,9 @@ Description - Das Speichern aktivieren + Das Speichern aktivieren. Wenn dieser Eingang auf +High geht, wird der Wert an WD in dem Register +gespeichert, welches in dest angegeben ist. Label @@ -429,7 +440,9 @@ Description - Inhalt des Destignation Registers + Inhalt des Destignation Registers. +Welches Register ausgegeben wird, wird mittels +des Eingangs dest festgelegt. Label @@ -447,7 +460,9 @@ Description - Inhalt des Source Registers + Inhalt des Source Registers. Welches Register +ausgegeben wird, wird mittels des Einganges src +festgelegt. Label diff --git a/src/main/dig/processor/SignExt.dig b/src/main/dig/processor/SignExt.dig index 811142b69..35f72e853 100644 --- a/src/main/dig/processor/SignExt.dig +++ b/src/main/dig/processor/SignExt.dig @@ -4,7 +4,11 @@ Description - Extrahiert kleine Konstanten aus dem Befehlswort + Extrahiert kleine Konstanten aus dem Befehlswort. +Es können zwei 5-Bit Konstanten (Die 4 Bits eines +Registers zusammen mit Bit 8 des Befehlswortes) +und eine 9-Bit Konstante (Die 8 Bits beider Register +zusammen mit Bit 8 des Befehlswortes) Width @@ -29,7 +33,6 @@ - 0 Splitter @@ -44,7 +47,6 @@ - 0 Splitter @@ -59,7 +61,6 @@ - 0 Out @@ -78,7 +79,6 @@ - 0 Splitter @@ -93,7 +93,6 @@ - 0 Splitter @@ -108,7 +107,6 @@ - 0 Const @@ -123,7 +121,6 @@ - 0 Out @@ -142,7 +139,6 @@ - 0 Splitter @@ -157,7 +153,6 @@ - 0 Splitter @@ -172,7 +167,6 @@ - 0 Const @@ -187,7 +181,6 @@ - 0 Out @@ -206,7 +199,6 @@ - 0