Die Schaltung von MultAcc
Jetzt müssen wir noch das IP in unser VHDL-Gerüst einbinden. Dieses Modul ist als Wrapper gedacht. Der ist von Vorteil, wenn wir auf der einen Seite portierbaren Code wollen, auf der anderen Seite aber auch die Spezialitäten der einzelnen FPGAs nutzen wollen.
Wir haben den MAC so konfiguriert, dass er nur das kann, was wir brauchen, also 16 Bit Eingänge und einen 40 Bit Ausgang. Wenn wir einen Code schreiben, der über diesen Wrapper auf das IP zugreift und später einmal die FPGA-Technologie wechseln wollen, müssen wir nur einen neuen Wrapper um die neue MAC-Einheit erstellen und mit der gleichen Testbench zum Laufen bringen. Dadurch kann dann die Portierung erleichtert werden. Die Reduktion auf das Essentielle erleichtert in Zukunf, dass man einen anderen MAC-IP findet, der genau das kann was man braucht. Notfalls erzeugt man ihn über die Logik.
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. |