review: designspec.txt
authorBernhard Urban <lewurm@gmail.com>
Wed, 14 Apr 2010 21:19:54 +0000 (23:19 +0200)
committerBernhard Urban <lewurm@gmail.com>
Wed, 14 Apr 2010 21:21:16 +0000 (23:21 +0200)
doc/review/designspec.txt

index 151824ba04e10322f31a165308f2e450383152fc..c785b10cb9384a3a321fad01db1d279fb32a6447 100644 (file)
@@ -1,45 +1,79 @@
-1. Korrektheit: Enthält die Spezifikation inhaltiche Fehler, widersprüchliche Aussagen oder werden falsche Annahmen getroffen? Vergeben Sie eine Note (1-5) und begründen Sie!
+1. Korrektheit: Enthält die Spezifikation inhaltiche Fehler, widersprüchliche Aussagen oder werden
+   falsche Annahmen getroffen? Vergeben Sie eine Note (1-5) und begründen Sie!
 
-2. Vollständigkeit: Enthält das Spezifikations-Dokument alle wesentlichen Requirements/Module des Designs? Vergeben Sie eine Note (1-5) und begründen Sie!
+Viele kleinere Unstimmigkeiten (vor allem bei der Schnittstellenbeschreibung), aber das hat wohl den
+Grund, dass es noch nicht die finale Abgabe ist (ein paar Einzelheiten werden weiter unten erwaehnt).
 
-Mir persoenlich fehlen die Zustandsmaschinen. Ich wuerde vorschlagen hier
-entweder Grafen oder Tabellen zu nehmen. Die interfaces sind grundsaetzlich
-vorhanden und tabellarisch fest gehalten, jedoch wird nicht spezifiziert wie
-diese werte zu verwenden sind. Zum Beispiel STack hat ein signal enable, aber
-ist der nun High- oder Low-Aktiv?
+> bernhard: Die Verwendung eines Stackes scheint das ganze Design etwas kompliziert zu machen, oder
+> find das nur ich?
 
-Ist das poppen des Stacks destruktiv? wenn ja wie wird die ausgabe dann
-produziert? Beim ASCII Stack bin ich mir nicht sicher ob das so gemeint ist und
-ob das auch gut ist. beim Operanden stack ist diesees verhalten jedoch
-gewuenscht.
+Note: X
 
-Die Grafik koennte man entweder weglassen oder ueberarbeiten, kann meines
-erachtens auch eine gute handzeichnung sein, solange klar ist was passiert.
 
-divisor dividend sind output signale?
-und wenns muldiv heisst wieso isses dann immer nur ein operand und operator?
-(vermutlich irgendwie stack basiert aber wie greift der auf den stack zu.)
+2. Vollständigkeit: Enthält das Spezifikations-Dokument alle wesentlichen Requirements/Module des
+   Designs? Vergeben Sie eine Note (1-5) und begründen Sie!
 
-wichtig ist finde ich nicht nur wer alles zugriff auf den stack hat sondern
-auch, ob der zugriff auf den stack gleichzeitig geschehen darf. und wie der
-zugriff auf den stack zum beispiel passiert, es wird nirgends erwaehnt.
+> alexander: Mir persoenlich fehlen die Zustandsmaschinen. Ich wuerde vorschlagen hier
+> entweder Grafen oder Tabellen zu nehmen.
 
-das interface vom stack fehlt einfach total.
+> bernhard: Statemaschinen sind doch eh in der Detailed Design Description? ich find das passt...
+> naehere Stackbeschreibung fehlt halt imho.
 
-3. Verständlichkeit: Ist das Dokument klar und verständlich geschrieben? Besitzt das Dokument eine ordentliche Struktur? Vergeben Sie eine Note (1-5) und begründen Sie!
+Die Interfaces sind grundsaetzlich vorhanden und tabellarisch fest gehalten, jedoch wird nicht
+spezifiziert wie diese Werte zu verwenden sind. Zum Beispiel der Stack hat ein Signal "enable", aber
+ist das nun High- oder Low-Aktiv?
 
-Grundssaetzlich ja das zusammenspiel einiger komponenten ist mir kurz gesagt
-unklar. vorallem im bezug auf die stacks. ich nehme an der lese meint es wird
-zwei stacks geben und immer wenn ein mal eingelesen wird kommt es auf einen
-priorisierten stack und immer wenn ein plus eingelesen wird kommt es auf einen
-anderen bzw. wird der stack von a nach b verschoben. klar kommt das aus dem
-dokument nicht heraus. auch unklar ist wie der decoder mit dem ascii stack und
-dem parser zusammenarbeiten. vermutlich ist die zeichnung unpassend vorallem
-weil womoeglich leitungen mit zugriff verwechselt wurden.
+Ist das Poppen des Stacks destruktiv? Wenn ja wie wird die Ausgabe dann produziert? Beim ASCII-Stack
+bin ich mir nicht sicher ob das so gemeint ist und ob das auch gut ist. Beim Operanden-Stack ist
+dieses Verhalten jedoch gewuenscht.
 
-4. Gesamtbeurteilung: Vergeben Sie eine Gesamtnote (1-5) und geben Sie Ihren Kollegen ein kurzes Feedback über die Qualität ihres Spezifikations-Dokumentes!
+Die Grafik koennte man entweder weglassen oder ueberarbeiten (kann auch eine gute Handzeichnung
+sein, solange klar ist was passiert).
 
-man erkennt grundsaetzliche komponenten aufteilung jedoch sind einige dinge
-glaube ich so wie sie drinnen stehtn nicht so realisierbar wie vorgestellt.
-insbesondere wuerde ich gerne den stack zugriff sehen, also wie ist das
-interface des stacks, um feststellen zu koennen ob das funktioniert.
+Wichtig ist ausserdem nicht nur wer aller Zugriff auf den Stack hat sondern auch ob ein Zugriff auf
+den Stack gleichzeitig geschehen darf. Der Zugriff selbst auf den Stack wird auch nur sehr
+oberflaechig beschrieben und geht nicht wirklick hervor wie der tatsaechlich funktioniert.
+
+Note: 2
+
+
+3. Verständlichkeit: Ist das Dokument klar und verständlich geschrieben? Besitzt das Dokument eine
+   ordentliche Struktur? Vergeben Sie eine Note (1-5) und begründen Sie!
+
+Grundssaetzlich ja, aber das Zusammenspiel einiger Komponenten ist teilweise unklar:
+* im Modul "MulDiv" gibt es die Signale "quotient", mehrere "operand_out_*", "divisor" und
+  "dividend" (in dieser Reihenfolge). Das ist am ersten Blick sehr verwirrend, am zweiten Blick
+  (naemlich auf die anderen Module) wird erst klar dass diese Signale unterschiedliche Wege nehmen.
+  Ausserdem: Warum die Division und Multiplikation nochmal extra in ein Modul packen?
+
+* Die Verwendung des Stacks geht leider nur sehr schwamming hervor (wie oben schon angesprochen).
+
+* Wieviele Stacks sind nun tatsaechlich in Verwendung? ein ASCII-Stack, ein Operanden-Stack und ein
+  Operator-Stack? Haben die das selbe Interface? Wie speichern die Daten, sind doch eigentlich ganz
+  unterschiedliche Datenstrukturen zu speichern?
+
+* Was haben signale wie "div_busy", "divisor", etc. im Modul "Encoder" zu suchen?
+
+
+> alexander: divisor dividend sind output signale?
+> und wenns muldiv heisst wieso isses dann immer nur ein operand und operator?
+> (vermutlich irgendwie stack basiert aber wie greift der auf den stack zu.)
+
+> bernhard: ja ist verwirrend am ersten blick. das scheint aber das interface zum "Divider" zu sein.
+> meiner Meinung nach sind das zu viele Module und wuerde
+
+
+Verbesserungsvorschlag fuer die Schnittstellenbeschreibung:
+* eine Spalte zu welchen Module (oder externes Geraet, z.B. PS/2) die Signale fuehren.
+
+
+Note: 3
+
+4. Gesamtbeurteilung: Vergeben Sie eine Gesamtnote (1-5) und geben Sie Ihren Kollegen ein kurzes
+   Feedback über die Qualität ihres Spezifikations-Dokumentes!
+
+Man erkennt grundsaetzlich eine Aufteilung in Komponenten, jedoch happerts im Detail: Die
+Zusammenhaenge der Module werden einem durch das Lesen der Spezifikation nicht ganz klar. 
+Der Stack selbst gehoert auch noch detailierter beschrieben
+
+Note: 2