TODOs und kleine anpassungen bei TBs fuer die ALU
[hwmod.git] / spec / speck.tex
index 29bdfcaf4ca928ff18b3c70bb0e1d019be5fb67d..4f77e0b0f8f580d68bfdbdbf0d65f3fe796896b8 100644 (file)
@@ -209,7 +209,8 @@ h\_finished & in & 1 & std\_logic & History & Auswertung fertig \ZE
 
 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 & inout & 32 & SIGNED(32-1 downto 0) & ALU & zweite Operand und gleichzeitig der Zieloperand \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
 calc\_done & in & 1 & std\_logic & ALU & Berechnung fertig \ZE
 
@@ -223,7 +224,8 @@ finished & out & 1 & std\_logic & Scanner & Auswertung fertig \ZE
 \THEAD
 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 & inout & 32 & SIGNED(32-1 downto 0) & Parser & zweite Operand und gleichzeitig der Zieloperand \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
 calc\_done & out & 1 & std\_logic & Parser & Berechnung fertig \ZE
 \TEND
@@ -311,7 +313,8 @@ Alle Textausgaben sind in wei
 \paragraph{Fehlermeldungen}
 Fehlermeldungen werden als Strings wie ein korrektes Ergebnis in die entsprechende Ausgabezeile geschrieben.
 
-Fehlerhafte Eingaben und Fehlermeldungen werden ebenso am Bildschirm dargestellt wie korrekte. Bei Abfrage der History über RS232 werden daher auch fehlerhafte Ein- und Ausgaben dazugezählt.
+Fehlerhafte Eingaben und Fehlermeldungen werden ebenso am Bildschirm dargestellt wie korrekte. Bei
+Abfrage der History \"uber RS232 werden daher auch fehlerhafte Ein- und Ausgaben dazugez\"ahlt.
 
 \paragraph{Taster}
 Bei Drücken des Buttons \emph{A} wird eine einmalige Übertragung des History-Inhalts über
@@ -330,16 +333,38 @@ Der History Inhalt wird im ASCII Format 
 mit der 1. Eingabe begonnen, dann die 1. Ausgabe, die 2. Eingabe usw. Die aktuelle Eingabezeile
 wird NICHT mit übertragen. Die Ein- und Ausgabezeilen werden nur bis zum letzten erlaubten
 Eingabe- bzw. Ausgabezeichen gesendet. Nach jeder Zeile folgt ein \emph{` \textbackslash n'} Zeichen.
-%TODO das format hat irgendwie anders geheißen bild ich mir ein
-%oder doch immer die volle zeilenlänge von 70 zeichen senden weil einfacher?
 
+\subsection{Testf\"alle}
+\tcc{$9*55*-6+3000/2-1-1-1*50\text{\textasciicircum B}00 = -1972 $}
+Erf\"ullt \textbf{Req 1, 2, 3, 6}
 
-\subsection{Testfälle}
+\tcc{$9---2 \Rightarrow$ Err}
+Erf\"ullt \textbf{Req 2}
 
-alle requirements muessen von testfaellen abgedeckt werden!
+\tcc{$-2147483648 + 1 = -2147483647$}
+Erf\"ullt \textbf{Req 4}
 
-%29 zeilen am bildschirm
+\tcc{$-2147483649 + 1 \Rightarrow$ Err}
+Erf\"ullt \textbf{Req 4}
 
+\tcc{$2147483647 - 1 = 2147483646$}
+Erf\"ullt \textbf{Req 4}
+
+\tcc{$2147483644 + 100 \Rightarrow$ Err}
+Erf\"ullt \textbf{Req 4}
+
+\tcc{$1 +1 + 1 +1 + 1 +1 + 1 +1 + 1 +1 + 1 +1 + 1 +1 + 1 +1 + 1 +1 + 1 +1 + 2 +2 + 2 + 1
+\Rightarrow$ ab dem ersten `2'er soll die Eingabe verweigert werden (man beachte die Leerzeichen)}
+Erf\"ullt \textbf{Req 5}
+
+\tcc{Es sollen 20 Rechnungen eingegeben werden (ob g\"ultig oder nicht spielt dabei keine Rolle).
+Ab der 15. Berechnung soll ein Scrollen des Bildschirms festgestellt werden k\"onnen.}
+Erf\"ullt \textbf{Req 7, 8, 9}
+
+\tcc{Es sollen 52 Berechnungen der Art $i + i\text{<ENTER>}$ eingegeben werden, wobei $i$ der
+aktuellen Berechnung entspricht. Danach soll eine RS232 \"Ubertragung (einmal per Button und einmal
+per PC) in Gang gesetzt werden. Am PC sollen nur die letzten 50 Berechnungen ersichtlich sein.}
+Erf\"ullt \textbf{Req 10, 11}
 
 \section{Detailed Design Description}
 \subsection{VGA}