Ich schaue mir verschiedene FPGAs für mein Dissertationsprojekt an und sehe immer wieder, dass die Multiplikatorblöcke 18x18 Bit groß sind. Warum ist das so? Warum sind sie nicht 16-Bit?
Warum nicht? Wirklich, es ist völlig willkürlich. Die Kosten in Bezug auf die Chipfläche für 18 × 18 Bit gegenüber 16 × 16 Bit sind im Vergleich zu der Fläche, die für alle anderen Ressourcen (insbesondere Routing) auf einem FPGA verwendet wird, vernachlässigbar. Wenn Sie die zusätzlichen Bits nicht benötigen, ignorieren Sie sie einfach.
Ich denke jedoch, dass die übliche Praxis, Multiplikatorblöcke mit 18 × 18 Bit herzustellen, auf der Tatsache beruht, dass die On-Chip-Speicher vieler FPGAs Vielfache mit einer Breite von 9 Bit sind.
Warum sind Speicher 9 Bit breit? Mit 9 Bit können Sie 8 Bit plus Parität oder 64 Bit plus 8 Bit ECC (insgesamt 72 Bit) speichern. Anwendungen, die sich um Datenintegrität kümmern, können solche Speicher gut nutzen.
Es gibt jedoch viele Anwendungen, die das 9. Bit nicht zum Schutz benötigen und es für zusätzliche Präzision in den Daten bevorzugen. Es wäre einfach nicht sinnvoll, einen Chip zu entwerfen, der Daten in 18-Bit-Blöcken speichern kann, aber nur 16-Bit-Blöcke verarbeiten kann.
Ich denke, es stammt aus den Erinnerungen.
Sie waren bereits 18 Bit (um ein Paritätsbit pro Byte zuzulassen) und waren für eine Generation (von FPGAs, nicht von Ingenieuren!) Oder so, bevor Multiplikatoren ins Bild kamen. Angesichts einer der Hauptanwendungen für FIR-Filter war es für Anwendungen, bei denen keine Parität erforderlich war, besser, 18-Bit-Koeffizienten zu haben als nur 16-Bit-Koeffizienten, da die Zunahme der Siliziumfläche sehr gering ist.
quelle