From 887cc1744ba4b69733c28d40988edec1d85d9aa8 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Fri, 30 Apr 2010 16:36:14 +0200 Subject: [PATCH] spec: ein paar rechtschreibfehler das ist zum diff schauen ganz praktisch ;) $ cat >> ~/.gitconfig [alias] wdiff = diff --color-words --- spec/speck.tex | 87 +++++++++++++++++++++++++------------------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/spec/speck.tex b/spec/speck.tex index ea54963..2387d84 100644 --- a/spec/speck.tex +++ b/spec/speck.tex @@ -111,7 +111,7 @@ b & out & 2 & std\_logic\_vector & Bildschirm & Ausgabe der Farbe Blau \ZE \hline command & in & 8 & std\_logic\_vector & Display & Kommando an das VGA Modul \ZE command\_data & in & 32 & std\_logic\_vector & Display & Daten f\"ur das Kommando \ZE -free & out & 1 & std\_logic & Display & Signalisiert Bereitschaft \ZE +free & out & 1 & std\_logic & Display & signalisiert Bereitschaft \ZE \TEND \newpage @@ -123,13 +123,13 @@ new\_result & in & 1 & std\_logic & History & Aufforderung der History das aktue auszulesen \ZE zeile & out & 5 & std\_logic\_vector & History & Zeilenadressierung ($2 * 15$ Zeilen $=30$) \ZE spalte & out & 7 & std\_logic\_vector & History & Spaltenadressierung (71 Zeichen inklusive \textbackslash 0) \ZE -get & out & 1 & std\_logic & History & Signalisiert Speicheranforderung \ZE -done & in & 1 & std\_logic & History & Signalisiert dass Daten anliegen \ZE +get & out & 1 & std\_logic & History & signalisiert Speicheranforderung \ZE +done & in & 1 & std\_logic & History & signalisiert dass Daten anliegen \ZE char & in & 8 & character & History & enth\"alt angeforderne Daten \ZE \hline command & out & 8 & std\_logic\_vector & VGA & Kommando an das VGA Modul \ZE command\_data & out & 32 & std\_logic\_vector & VGA & Daten f\"ur das Kommando \ZE -free & in & 1 & std\_logic & VGA & Signalisiert Bereitschaft \ZE +free & in & 1 & std\_logic & VGA & signalisiert Bereitschaft \ZE \TEND \newpage @@ -139,10 +139,10 @@ rxd & in & 1 & std\_logic & PC & Sendeleitung der seriellen \"Ubertragung \ZE txd & out & 1 & std\_logic & PC & Empfangsleitung der seriellen \"Ubertragung \ZE \hline rx\_data & out & 8 & std\_logic\_vector & PC-Kommunikation & Datenfeld f\"ur das Empfangen \ZE -rx\_new & out & 1 & std\_logic & PC-Kommunikation & Signalisiert ein neu empfangendes Byte \ZE +rx\_new & out & 1 & std\_logic & PC-Kommunikation & signalisiert ein neu empfangendes Byte \ZE tx\_data & out & 8 & std\_logic\_vector & PC-Kommunikation & Datenfeld f\"ur das \"Ubertragen \ZE -tx\_new & out & 1 & std\_logic & PC-Kommunikation & Signalisiert dass das anliegende Byte gesendet werden soll \ZE +tx\_new & out & 1 & std\_logic & PC-Kommunikation & signalisiert dass das anliegende Byte gesendet werden soll \ZE \TEND \newpage @@ -151,14 +151,14 @@ tx\_new & out & 1 & std\_logic & PC-Kommunikation & Signalisiert dass das anlieg btn\emph{A} & in & 1 & std\_logic & externer Button & zum Triggern der RS232 Kommunikation \ZE \hline rx\_data & in & 8 & std\_logic\_vector & RS232 & Datenfeld f\"ur das Empfangen \ZE -rx\_new & in & 1 & std\_logic & RS232 & Signalisiert ein neu empfangendes Byte \ZE +rx\_new & in & 1 & std\_logic & RS232 & signalisiert ein neu empfangendes Byte \ZE tx\_data & in & 8 & std\_logic\_vector & RS232 & Datenfeld f\"ur das \"Ubertragen \ZE -tx\_new & in & 1 & std\_logic & RS232 & Signalisiert dass das anliegende Byte gesendet werden soll \ZE +tx\_new & in & 1 & std\_logic & RS232 & signalisiert dass das anliegende Byte gesendet werden soll \ZE \hline zeile & out & 7 & std\_logic\_vector & History & Zeilenadressierung (50 * 2 Zeilen = 100)\ZE spalte & out & 7 & std\_logic\_vector & History & Spaltenadressierung (71 Zeichen inklusive \textbackslash 0) \ZE -get & out & 1 & std\_logic & History & Signalisiert Speicheranforderung \ZE -done & in & 1 & std\_logic & History & Signalisiert dass Daten anliegen \ZE +get & out & 1 & std\_logic & History & signalisiert Speicheranforderung \ZE +done & in & 1 & std\_logic & History & signalisiert dass Daten anliegen \ZE char & in & 8 & character & History & enth\"alt angeforderne Daten \ZE \TEND @@ -166,7 +166,7 @@ char & in & 8 & character & History & enth\"alt angeforderne Daten \ZE \newpage \subsubsection{PS/2} \THEAD -new\_data & out & 1 & std\_logic\_vector & Scanner & Signalisiert neuen Scancode \ZE +new\_data & out & 1 & std\_logic\_vector & Scanner & signalisiert neuen Scancode \ZE data & out & 8 & std\_logic\_vector & Scanner & Scancode laut Codepage 850 \ZE \hline ps2\_clk & inout & 1 & std\_logic & Tastatur & Clockleitung zum Keyboard \ZE @@ -176,13 +176,13 @@ ps2\_data & inout & 1 & std\_logic & Tastatur & Datenleitung zum Keyboard \ZE \subsubsection{Scanner} \THEAD -new\_data & in & 1 & std\_logic\_vector & PS/2 & Signalisiert neuen Scancode \ZE +new\_data & in & 1 & std\_logic\_vector & PS/2 & signalisiert neuen Scancode \ZE data & in & 8 & std\_logic\_vector & PS/2 & Scancode laut Codepage 850 \ZE \hline char & out & 8 & character & History & Zeichen das vom History Modul \"ubernommen werden soll \ZE -take & out & 1 & std\_logic & History & Signalisiert Datenfeld char \ZE -done & in & 1 & std\_logic & History & Signalisiert die \"Ubernahme der Daten \ZE -backspace & out & 1 & std\_logic & History & Signalisiert Backspace (letztes Zeichen im Buffer soll gel\"oscht werden) \ZE +take & out & 1 & std\_logic & History & signalisiert Datenfeld char \ZE +done & in & 1 & std\_logic & History & signalisiert die \"Ubernahme der Daten \ZE +backspace & out & 1 & std\_logic & History & signalisiert Backspace (letztes Zeichen im Buffer soll gel\"oscht werden) \ZE \hline do\_it & out & 1 & std\_logic & Parser & Auswertung beginnen (ENTER) \ZE finished & in & 1 & std\_logic & Parser & Auswertung fertig \ZE @@ -193,12 +193,12 @@ finished & in & 1 & std\_logic & Parser & Auswertung fertig \ZE \THEAD h\_rw & out & 1 & std\_logic & History & 0 = read (Expression), 1 = write (Ergebnis) \ZE h\_spalte & out & 7 & std\_logic\_vector & History & Spaltenadressierung (71 Zeichen inklusive \textbackslash 0) \ZE -h\_rget & out & 1 & std\_logic & History & Signalisiert Leseanforderung \ZE -h\_rdone & in & 1 & std\_logic & History & Signalisiert dass Daten anliegen \ZE +h\_rget & out & 1 & std\_logic & History & signalisiert Leseanforderung \ZE +h\_rdone & in & 1 & std\_logic & History & signalisiert dass Daten anliegen \ZE h\_read & out & 8 & character & History & enth\"alt angeforderne Daten \ZE -h\_wtake & out & 1 & std\_logic & History & Signalisiert Schreibanforderung \ZE -h\_wdone & in & 1 & std\_logic & History & Signalisiert dass Daten anliegen \ZE +h\_wtake & out & 1 & std\_logic & History & signalisiert Schreibanforderung \ZE +h\_wdone & in & 1 & std\_logic & History & signalisiert dass Daten anliegen \ZE h\_write & in & 8 & character & History & enth\"alt zu schreibende Daten \ZE h\_finished & out & 1 & std\_logic & History & Auswertung fertig \ZE @@ -207,7 +207,7 @@ opcode & out & 3 & enum OPS & ALU & die auszuf\"uhrende Art der Berechnung \ZE op1 & out & 32 & SIGNED(32-1 downto 0) & ALU & erste Operand \ZE op2 & out & 32 & SIGNED(32-1 downto 0) & ALU & zweite Operand \ZE op3 & in & 32 & SIGNED(32-1 downto 0) & ALU & Zieloperand \ZE -do\_calc & out & 1 & std\_logic & ALU & Signalisert Berechnungstart \ZE +do\_calc & out & 1 & std\_logic & ALU & signalisert Berechnungsart \ZE calc\_done & in & 1 & std\_logic & ALU & Berechnung fertig \ZE \hline do\_it & in & 1 & std\_logic & Scanner & Auswertung beginnen (ENTER) \ZE @@ -221,7 +221,7 @@ opcode & in & 3 & enum OPS & Parser & die auszuf\"uhrende Art der Berechnung \ZE op1 & in & 32 & SIGNED(32-1 downto 0) & Parser & erste Operand \ZE op2 & in & 32 & SIGNED(32-1 downto 0) & ALU & zweite Operand \ZE op3 & out & 32 & SIGNED(32-1 downto 0) & ALU & Zieloperand \ZE -do\_calc & in & 1 & std\_logic & Parser & Signalisert Berechnungstart \ZE +do\_calc & in & 1 & std\_logic & Parser & signalisert Berechnungsart \ZE calc\_done & out & 1 & std\_logic & Parser & Berechnung fertig \ZE \TEND @@ -230,31 +230,31 @@ calc\_done & out & 1 & std\_logic & Parser & Berechnung fertig \ZE \THEAD pc\_zeile & in & 7 & std\_logic\_vector & PC-Kommunikation & Zeilenadressierung (50 * 2 Zeilen = 100)\ZE pc\_spalte & in & 7 & std\_logic\_vector & PC-Kommunikation & Spaltenadressierung (71 Zeichen inklusive \textbackslash 0) \ZE -pc\_get & in & 1 & std\_logic & PC-Kommunikation & Signalisiert Speicheranforderung \ZE -pc\_done & out & 1 & std\_logic & PC-Kommunikation & Signalisiert dass Daten anliegen \ZE +pc\_get & in & 1 & std\_logic & PC-Kommunikation & signalisiert Speicheranforderung \ZE +pc\_done & out & 1 & std\_logic & PC-Kommunikation & signalisiert dass Daten anliegen \ZE pc\_char & out & 8 & character & PC-Kommunikation & enth\"alt angeforderne Daten \ZE \hline s\_char & in & 8 & character & Scanner & Zeichen das vom Scanner Modul \"ubernommen werden soll \ZE -s\_take & in & 1 & std\_logic & Scanner & Signalisiert Datenfeld char \ZE -s\_done & out & 1 & std\_logic & Scanner & Signalisiert die \"Ubernahme der Daten \ZE -s\_backspace & in & 1 & std\_logic & Scanner & Signalisiert Backspace (letztes Zeichen im Buffer soll gel\"oscht werden) \ZE +s\_take & in & 1 & std\_logic & Scanner & signalisiert Datenfeld char \ZE +s\_done & out & 1 & std\_logic & Scanner & signalisiert die \"Ubernahme der Daten \ZE +s\_backspace & in & 1 & std\_logic & Scanner & signalisiert Backspace (letztes Zeichen im Buffer soll gel\"oscht werden) \ZE \hline -d\_new\_eingabe & out & 1 & std\_logic & Display & Fordert Display auf die Eingabe auszulesen \ZE -d\_new\_result & out & 1 & std\_logic & Display & Fordert Display auf das Ergebnis auszulesen \ZE +d\_new\_eingabe & out & 1 & std\_logic & Display & fordert Display auf die Eingabe auszulesen \ZE +d\_new\_result & out & 1 & std\_logic & Display & fordert Display auf das Ergebnis auszulesen \ZE d\_zeile & in & 5 & std\_logic\_vector & Display & Zeilenadressierung ($2 * 15$ Zeilen $=30$) \ZE d\_spalte & in & 7 & std\_logic\_vector & Display & Spaltenadressierung (71 Zeichen inklusive \textbackslash 0) \ZE -d\_get & in & 1 & std\_logic & Display & Signalisiert Speicheranforderung \ZE -d\_done & out & 1 & std\_logic & Display & Signalisiert dass Daten anliegen \ZE -d\_char & out & 8 & character & Display & enth\"alt angeforderne Daten \ZE +d\_get & in & 1 & std\_logic & Display & signalisiert Speicheranforderung \ZE +d\_done & out & 1 & std\_logic & Display & signalisiert dass Daten anliegen \ZE +d\_char & out & 8 & character & Display & enth\"alt angeforderte Daten \ZE \hline p\_rw & in & 1 & std\_logic & Parser & 0 = read (Expression), 1 = write (Ergebnis) \ZE p\_spalte & in & 7 & std\_logic\_vector & Parser & Spaltenadressierung (71 Zeichen inklusive \textbackslash 0) \ZE -p\_rget & in & 1 & std\_logic & Parser & Signalisiert Leseanforderung \ZE -p\_rdone & out & 1 & std\_logic & Parser & Signalisiert dass Daten anliegen \ZE -p\_read & in & 8 & character & Parser & enth\"alt angeforderne Daten \ZE +p\_rget & in & 1 & std\_logic & Parser & signalisiert Leseanforderung \ZE +p\_rdone & out & 1 & std\_logic & Parser & signalisiert dass Daten anliegen \ZE +p\_read & in & 8 & character & Parser & enth\"alt angeforderte Daten \ZE -p\_wtake & in & 1 & std\_logic & Parser & Signalisiert Schreibanforderung \ZE -p\_wdone & out & 1 & std\_logic & Parser & Signalisiert dass Daten anliegen \ZE +p\_wtake & in & 1 & std\_logic & Parser & signalisiert Schreibanforderung \ZE +p\_wdone & out & 1 & std\_logic & Parser & signalisiert dass Daten anliegen \ZE p\_write & out & 8 & character & Parser & enth\"alt zu schreibende Daten \ZE p\_finished & in & 1 & std\_logic & Parser & Auswertung fertig \ZE @@ -394,7 +394,7 @@ Es soll eine Baudrate von 115200 bauds und die 8N1 Codierung (8bit Daten, keine Stopbit) verwendet werden. Da das FPGA Design um ein Vielfaches schneller als 115200Hz \footnote{ n\"amlich $33.33$MHz} ist muss bei der Implementierung zus\"atzlich ein Taktgeber f\"ur das RS232 Modul implementiert werden um BT zu erzeugen\footnote{BT steht dabei f\"ur -BitTime}. Das soll mit einem Takteiler realisiert werden. Ausserdem ist zu +BitTime}. Das soll mit einem Taktteiler realisiert werden. Ausserdem ist zu beachten, dass das LSB zuerst geschickt wird. \begin{figure}[!ht] @@ -409,7 +409,7 @@ beachten, dass das LSB zuerst geschickt wird. Byte\"ubertragung beginnt. \item \textbf{read}: In diesem State werden die Datenbits nacheinander \"uber \emph{rxd} empfangen. \item \textbf{read stopbit}: Um das Ende einer Byte\"ubertragung zu signalisieren wird \emph{rxd} -auf high gesetzt. Dadurch weiss das RS232 Modul bescheid, dass die Byte\"ubertragung zu Ende ist und +auf high gesetzt. Dadurch weiss das RS232 Modul Bescheid, dass die Byte\"ubertragung zu Ende ist und kann dem PC-Kommunikation Modul signalisieren, dass ein Byte vollst\"andig empfangen wurde. \end{itemize} @@ -462,7 +462,7 @@ siehe \textit{hwmod\_ipcores.pdf} \end{figure} \begin{itemize} -\item \textbf{idle}: Setz alle Steuersignale \emph{backspace}, \emph{take} und \emph{do\_it} low. +\item \textbf{idle}: Setzt alle Steuersignale \emph{backspace}, \emph{take} und \emph{do\_it} low. \item \textbf{read}: Bei steigender Flanke auf \emph{new\_data} wird das anliegende Byte des PS/2-Modules \"ubernommen. Je nach Wert wird in den n\"achsten Zustand gewechselt. \item \textbf{enter}: Wurde die Entertaste gedr\"uckt wird der Parser getriggert @@ -470,8 +470,9 @@ PS/2-Modules \"ubernommen. Je nach Wert wird in den n\"achsten Zustand gewechsel bis der Parser das Ergebnis berechnet hat. \item \textbf{l\"oschen}: Teilt dem History Modul mit das letzte Zeichen im Buffer zu l\"oschen (per Signal \emph{backspace}). -\item \textbf{mod}: Da wir nur Zeichen des Numpads \"ubernehmen wollen, ist dieser Zwischenstate -n\"otig, da Scancodes vom Numpad einen Modifier mitschicken (\emph{0xe0}). +\item \textbf{mod}: Da wir nur Zeichen des Numpads \"ubernehmen wollen, ist +dieser Zwischenzustand n\"otig, da Scancodes vom Numpad einen Modifier +mitschicken (\emph{0xe0}). \item \textbf{\"ubernehmen}: Wenn ein g\"ultiges Zeichen laut Requirements eingegeben wurde, wird jenes Zeichen an \emph{char} angelegt und \emph{take} wird auf high gesetzt. Das History Modul wird dadurch getriggert um das Zeichen @@ -583,7 +584,7 @@ Die Idee ist dabei, dass intern ein RAM-Block mit mindestens der Gr\"o\ss{}e Das History Modul kann \"uber die angelegten Leitungen \emph{s\_take}, \emph{p\_rget}, \emph{p\_wdo}, \emph{pc\_get} bzw. \emph{d\_get} feststellen welches Modul\footnote{die -betreffendenen Module sind: Scanner, Parser, PC-Kommunikation und Display} eine Speicheranfrage +betreffenden Module sind: Scanner, Parser, PC-Kommunikation und Display} eine Speicheranfrage ausf\"uhrt. Der Zugriff der externen Module erfolgt priorisiert: \begin{quote} @@ -591,7 +592,7 @@ Scanner > Parser > PC-Kommunikation > Display \end{quote} Weiters ist zu beachten, dass das History Modul f\"ur den Scanner und Parser intern einen Index -mitspeichern muss, der die Adresse der aktuellen Eingabe mitf\"uhrt. Mit Hilfe dieses Indexes plus +mit speichern muss, der die Adresse der aktuellen Eingabe mitf\"uhrt. Mit Hilfe dieses Indexes plus der Spaltenadressierung der Module kann die tats\"achliche Adresse f\"ur den internen RAM-Block ermittelt werden. -- 2.25.1