MultAcc: Die Testshell

In diesem Projekt wollen wir es mal richtig machen und erstellen die Testshell zuerst. Das nennt sich Test Driven Development oder kurz TDD. In größeren Firmen bekommt man als Entwickler die Testshell von einem anderen Team, aber auch im Kleineren macht es durchaus Sinn, ausgehend von der Spezifikation zuerst einen Test zu erstellen und entsprechend diesem Test dann die Schaltung zu entwickeln bis der Test bestanden wird. Natürlich kann es auch in gut begründeten Fällen notwendig sein, den Test anzupassen. Als Ergebnis hat man dann ein Modul, welches anhand der Spezifikation komplett getestet ist.

Wer will, kann aber auch diesmal den Test überspringen und gleich zur Implementierung gehen.

Spezifikation

Nr Name Spezifikation
1 Reset Nach dem Reset ist der Akkumulator 0 und der Overflow inaktiv
2 Shift Die Ausgabe beginnt ab dem Bit Shift
3 Width Es werden Width Bit vom Akkumulator für die Ausgabe verwendet
4 Overflow Falls die Ausgabe signifikante Bits abschneidet, wird ein Overflow gesetzt (mit einem Takt Verzögerung)
5 CE Es werden die einzelnen Produkte von A * B bei aktivem CE akkumuliert. Die Ausgabe erfolgt drei Takte nach dem CE.