From 134c64de83fa44f71da94a8b76caf8ca7c11fd30 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Wed, 14 Apr 2010 23:19:54 +0200 Subject: [PATCH] review: designspec.txt --- doc/review/designspec.txt | 102 +++++++++++++++++++++++++------------- 1 file changed, 68 insertions(+), 34 deletions(-) diff --git a/doc/review/designspec.txt b/doc/review/designspec.txt index 151824b..c785b10 100644 --- a/doc/review/designspec.txt +++ b/doc/review/designspec.txt @@ -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 -- 2.25.1