From: Bernhard Urban Date: Fri, 26 Mar 2010 16:17:57 +0000 (+0100) Subject: sm: display X-Git-Tag: spec-abgabe1~9 X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=hwmod.git;a=commitdiff_plain;h=812f4566331203569bc4f7b7fa71319ee9c7f53b sm: display --- diff --git a/spec/sm/display.pdf b/spec/sm/display.pdf index 31fbe21..4f6bc37 100644 Binary files a/spec/sm/display.pdf and b/spec/sm/display.pdf differ diff --git a/spec/sm/display.tex b/spec/sm/display.tex index cdfd1a6..e50da4d 100644 --- a/spec/sm/display.tex +++ b/spec/sm/display.tex @@ -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} diff --git a/spec/spec.tex b/spec/spec.tex index e51c562..0764c36 100644 --- a/spec/spec.tex +++ b/spec/spec.tex @@ -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]