sm: display
authorBernhard Urban <lewurm@gmail.com>
Fri, 26 Mar 2010 16:17:57 +0000 (17:17 +0100)
committerBernhard Urban <lewurm@gmail.com>
Fri, 26 Mar 2010 16:17:57 +0000 (17:17 +0100)
spec/sm/display.pdf
spec/sm/display.tex
spec/spec.tex

index 31fbe215f9a4fd294fa81b79836d68ebfbc7dc19..4f6bc37a068f1e4b997458da78933843b57b4572 100644 (file)
Binary files a/spec/sm/display.pdf and b/spec/sm/display.pdf differ
index cdfd1a62d465b89648d56eb75f70e6929ec6d72f..e50da4d46d3ecf3f3b133353db0d7f17d302cdc3 100644 (file)
@@ -6,25 +6,27 @@
 
 \begin{document}
 
-\begin{psmatrix}[mnode=oval, colsep=3cm, rowsep=3cm]
+\begin{psmatrix}[mnode=oval, colsep=2cm, rowsep=2cm]
+[mnode=R,name=vars]{int z:=0, s;} &
+[name=eingaddr]{\shortstack{\textbf{addr\_eingabe}}} \\
+%%
 [mnode=R,name=res]{sys\_res\_n} &
-[name=rwb]{\shortstack{\textbf{rwbyte}\\s++;}} \\
-%
-[name=idle]{\shortstack{\textbf{idle}\\z:=0; s:=0;}} &
-[name=zeile]{\shortstack{\textbf{nzeile}\\z++;\\s:=0;}} \\
+[name=idle]{\shortstack{\textbf{idle}\\s:=0;}} &
+[name=zeile]{\shortstack{\textbf{read/put}\\s++;}} \\
+%%
+& [name=ergaddr]{\shortstack{\textbf{addr\_result}}} \\
 \end{psmatrix}
 
 \psset{arrows=->, shortput=nab}
 
 \ncline[linestyle=dotted]{res}{idle}
 
-\ncarc[arcangle=20]{idle}{zeile}\ncput*[npos=.50]{rx\_new$\uparrow$}
-\ncarc[arcangle=-10]{idle}{zeile}\ncput*[npos=.50]{btn$\uparrow$}
+\ncarc[arcangle=0]{zeile}{idle}\ncput*[npos=.50]{$s>71$}
+\nccircle[angleA=0]{zeile}{.80cm}\ncput*[npos=0.5]{$s\le71$}
 
-\ncarc[arcangle=40]{zeile}{idle}\ncput*[npos=.50]{$z>50$}
+\ncarc[arcangle=0]{idle}{eingaddr}\ncput*[npos=.50]{new\_eingabe$\uparrow$}
+\ncarc[arcangle=0]{idle}{ergaddr}\ncput*[npos=.50]{new\_result$\uparrow$}
 
-\ncarc[arcangle=25]{zeile}{rwb}\ncput*[npos=.40]{$z\le50$}
-\ncarc[arcangle=25]{rwb}{zeile}\ncput*[npos=.40]{$s>71$}
-
-\nccircle[angleA=0]{rwb}{.70cm}\ncput*[npos=0.5]{$s\le71$}
+\ncarc[arcangle=0]{eingaddr}{zeile}
+\ncarc[arcangle=0]{ergaddr}{zeile}
 \end{document}
index e51c562298d1552f99693c58a1e0a62a51b58f21..0764c3663a35f96b1a1f8c8c5f47048f4170a068 100644 (file)
@@ -77,8 +77,6 @@ vorigen Rechnung usw.}
 
 In Abbildung \ref{fig:arch} ist der Aufbau des Taschenrechners zu sehen. Der Taschenrechner besteht aus folgenden Modulen:
 
-%\subsection{Module}
-
 \begin{itemize}
 \item \textbf{VGA} - Zeichenweises Ansprechen des Monitors
 \item \textbf{Display} - Liest einzelne Zeichen aus der History aus und leitet diese an das VGA Modul weiter, um sie in der entsprechenden Zeile anzeigen zu lassen
@@ -96,7 +94,7 @@ Berechnungs-Endergebnis wird jedoch wieder in einzelne Charakter umgerechnet und
 
 
 \begin{landscape}
-\subsection{Logische und physikalische Interfaces der Module}
+\subsection{Logische und physikalische Interfaces}
 
 \subsubsection{VGA}
 \THEAD
@@ -343,7 +341,6 @@ alle requirements muessen von testfaellen abgedeckt werden!
 
 
 \section{Detailed Design Description}
-
 \subsection{VGA}
 siehe \textit{hwmod\_ipcores.pdf}
 
@@ -355,6 +352,21 @@ siehe \textit{hwmod\_ipcores.pdf}
 \label{fig:display}
 \end{figure}
 
+\begin{itemize}
+\item \textbf{idle}: In diesem Zustand wird die lokale Variable \emph{s}, die der Spaltenberechnung
+dient, zur\"uckgesetzt.
+\item \textbf{addr\_eingabe}: Das Modul weiss nun, dass eine neue Eingabe vorliegt, es wird daher
+aufgefordert jenige zu aktualisieren. Daf\"ur wird nun die passende Zeile berechnet (mit Hilfe der
+Variable \emph{z}).
+\item \textbf{addr\_ergebnis}: In diesem Zustand weiss das Modul, dass ein neues Resultat vorliegt,
+es muss sich also nun die Zeilennummer mit Hilfe der internen Variable \emph{z} berechnen.
+\item \textbf{read/put}: Hier wird Zeichen f\"ur Zeichen das von der berechneten Zeilen vom
+History Modul angefordert und per VGA Modul auf den Bildschirm ausgegeben. F\"ur den Fall dass nicht
+die vollen 71 Zeichen in der entsprechenden Zeile enthalten sind\footnote{ein String wird mit
+\emph{` \textbackslash 0'} abgeschlossen}, wird der Rest der Zeile am Bildschirm mit dem Leerzeichen
+\emph{` '} ausgef\"ullt.
+\end{itemize}
+
 \subsection{RS232}
 %test, TODO
 \begin{figure}[!ht]