spec: brainspam
[hwmod.git] / spec / spec.tex
1 \documentclass[12pt,a4paper,titlepage,oneside]{article}
2 %\documentclass[12pt,a4paper,titlepage,oneside]{report}
3
4 \usepackage{ProtocolHeader}
5
6 \begin{document}
7 \MakeTitleAndTOC
8
9
10 % howto use graphics
11 % \begin{figure}[!ht]
12 % \includegraphics[width=\textwidth]{ftol_pic.pdf}
13 % \centering
14 % \caption{Ein kleines, fehlertolerantes Computersystem}
15 % \label{fig:angabe}
16 % \end{figure}
17
18 %\chapter %for use with report class
19 \section
20 {Einleitung}
21 %TODO
22 Es ist ein einfacher Taschenrechner der die Grundrechnungsarten Addition, Subtraktion,
23 Multiplikation und Division beherrscht in Hardware zu realisieren. Dabei soll als Input eine PS/2
24 Tastatur beziehungsweise als Output ein VGA Monitor dienen. Als zus\"atzliches Feature soll eine
25 History eingebaut werden, sodass vergangene Berechnungen wieder aus einem Buffer geladen werden
26 koennen. Au\ss{}erdem besteht die M\"oglichkeit eine solche History per RS232-Schnittstelle zu
27 exportieren bzw. importieren.
28
29
30 %\chapter
31 \section
32 {High-Level Design Description}
33
34 XXX
35
36 \subsection
37 {Requirement Spezifikation}
38
39 wie schaut syntax aus der eingabe? welche regeln gelten (punkt vor strich)?
40 wie lang darf die eingabe sein?
41 zahlentyp?
42 was soll am bildschirm angezeigt werden?
43 wie gross soll der buffer sein?
44 wie wird zum pc gesendet bzw. empfangen?
45
46 ... requirements durchnummierieren (wegen testfaelle)
47
48
49 \subsection
50 {Module}
51
52 was gibts fuer module? vorschlag:
53 \begin{itemize}
54 \item VGA
55 \item PS/2
56 \item RS232
57 \item Historymodul fuer die Verwaltung des dahinterliegenden Buffers
58 \item Parser der die Eingabe auswertet
59 \item Controlmodul (nimmt eingabe entgegen, legt berechnungen im buffer ab, ...?)
60 \item Modul fuer die Kommunikation zum PC? oder gleich im Historymodul implementieren? oder ins
61 Controlmodul mit rein packen?
62 \end{itemize}
63
64
65 \subsection
66 {VGA}
67 ist gegeben.
68
69
70 \subsection
71 {PS/2}
72 ist gegeben.
73
74
75 \subsection
76 {RS232}
77 TODO. baudrate? kodierung? (8N1?)
78
79
80 \subsection
81 {History}
82 Verwaltet den dahinterliegenden Buffer fuer die History
83
84
85 \subsection
86 {Parser}
87 wertet ein gegeben Buffer aus.
88
89
90 \subsection
91 {Control}
92 soll das Bindeglied zwischen allen Modulen sein
93
94
95 \subsection
96 {Interfaces}
97
98 \subsubsection
99 {Physikalische Interfaces}
100 das ist mir noch nicht ganz klar was die da wollen. was meinen die z.b. mit ``interfaces
101 to VGA'' unter ``physical interfaces'' (seite 10 in der exercise.pdf)
102
103 ``physikalisch'' im sinne der VHDL entity? oder doch den physischen stecker?
104 Ersteres wuerde ich unter Logisches Interface verstehen.
105
106
107 \subsubsection
108 {Logische Interfaces}
109
110
111 \subsubsection
112 {Verhalten der Interfaces}
113 welche tasten als input erlauben (haben numblock und normale ziffern unterschiedliche scancodes?)?
114 wie werden ueberlaeufe behandelt?
115 fehlerhafte eingaben?
116 wie schaut die ausgabe aus?
117 was ausgaben bei fehler?
118 wie kann download oder upload einer history gestartet werden?
119 wie kann auf die history zugegriffen werden?
120 soll in der eingabe auch mit pfeiltasten (links,rechts) gescrolled werden koennen?
121
122
123 \subsection
124 {Testf\"alle}
125 alle requirements muessen von testfaellen abgedeckt werden!
126
127
128 %\chapter
129 \section
130 {Detailed Design Description}
131 alle Module hier genauer beschreiben
132
133 wie wollen wir das design implementieren?
134 event sequence diagrams!
135 wie schauen interne strukturen aus? (speicher, logische bloecke, parallele prozesse, state machines)
136
137
138 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
139 %LISTINGS
140 %\newpage
141 %\appendix
142 %\section{Listings}
143 %howto include src files
144 %\subsection{einfache Variante -- generierter Sourcecode}
145 %\label{att:einfachsrc}
146 %\lstinputlisting{../einfach/einfach.src}
147 %\lstinputlisting[firstnumber=24, firstline=24, lastline=34]{bla.src} %firstnumber shouldn't be necessary, but there is probably a bug
148
149 \end{document}
150