spec: brainspam
authorBernhard Urban <lewurm@gmail.com>
Tue, 16 Mar 2010 18:21:34 +0000 (19:21 +0100)
committerBernhard Urban <lewurm@gmail.com>
Tue, 16 Mar 2010 18:24:41 +0000 (19:24 +0100)
spec/spec.tex

index 8984ebfc3143f0421f90d21f8bd60cc9ec4bfe51..0a75a2cad31fe1aeab88d208f312232639d05011 100644 (file)
 %\chapter %for use with report class
 \section
 {Einleitung}
+%TODO
+Es ist ein einfacher Taschenrechner der die Grundrechnungsarten Addition, Subtraktion,
+Multiplikation und Division beherrscht in Hardware zu realisieren. Dabei soll als Input eine PS/2
+Tastatur beziehungsweise als Output ein VGA Monitor dienen. Als zus\"atzliches Feature soll eine
+History eingebaut werden, sodass vergangene Berechnungen wieder aus einem Buffer geladen werden
+koennen. Au\ss{}erdem besteht die M\"oglichkeit eine solche History per RS232-Schnittstelle zu
+exportieren bzw. importieren.
 
-XXX
 
 %\chapter
 \section
-{Requirements}
+{High-Level Design Description}
 
 XXX
 
-%\chapter
-\section
-{High-Level Design Description}
+\subsection
+{Requirement Spezifikation}
+
+wie schaut syntax aus der eingabe? welche regeln gelten (punkt vor strich)?
+wie lang darf die eingabe sein?
+zahlentyp?
+was soll am bildschirm angezeigt werden?
+wie gross soll der buffer sein?
+wie wird zum pc gesendet bzw. empfangen?
+
+... requirements durchnummierieren (wegen testfaelle)
+
+
+\subsection
+{Module}
+
+was gibts fuer module? vorschlag:
+\begin{itemize}
+\item VGA
+\item PS/2
+\item RS232
+\item Historymodul fuer die Verwaltung des dahinterliegenden Buffers
+\item Parser der die Eingabe auswertet
+\item Controlmodul (nimmt eingabe entgegen, legt berechnungen im buffer ab, ...?)
+\item Modul fuer die Kommunikation zum PC? oder gleich im Historymodul implementieren? oder ins
+Controlmodul mit rein packen?
+\end{itemize}
+
+
+\subsection
+{VGA}
+ist gegeben.
+
+
+\subsection
+{PS/2}
+ist gegeben.
+
+
+\subsection
+{RS232}
+TODO. baudrate? kodierung? (8N1?)
+
+
+\subsection
+{History}
+Verwaltet den dahinterliegenden Buffer fuer die History
+
+
+\subsection
+{Parser}
+wertet ein gegeben Buffer aus.
+
+
+\subsection
+{Control}
+soll das Bindeglied zwischen allen Modulen sein
+
+
+\subsection
+{Interfaces}
+
+\subsubsection
+{Physikalische Interfaces}
+das ist mir noch nicht ganz klar was die da wollen. was meinen die z.b. mit ``interfaces
+to VGA'' unter ``physical interfaces'' (seite 10 in der exercise.pdf)
+
+``physikalisch'' im sinne der VHDL entity? oder doch den physischen stecker?
+Ersteres wuerde ich unter Logisches Interface verstehen.
+
+
+\subsubsection
+{Logische Interfaces}
+
+
+\subsubsection
+{Verhalten der Interfaces}
+welche tasten als input erlauben (haben numblock und normale ziffern unterschiedliche scancodes?)?
+wie werden ueberlaeufe behandelt?
+fehlerhafte eingaben?
+wie schaut die ausgabe aus?
+was ausgaben bei fehler?
+wie kann download oder upload einer history gestartet werden?
+wie kann auf die history zugegriffen werden?
+soll in der eingabe auch mit pfeiltasten (links,rechts) gescrolled werden koennen?
+
+
+\subsection
+{Testf\"alle}
+alle requirements muessen von testfaellen abgedeckt werden!
 
-XXX
 
 %\chapter
 \section
 {Detailed Design Description}
+alle Module hier genauer beschreiben
 
-XXX
+wie wollen wir das design implementieren?
+event sequence diagrams!
+wie schauen interne strukturen aus? (speicher, logische bloecke, parallele prozesse, state machines)
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%