Ich stelle eine ALU zusammen, die ich auf einem FPGA synthetisieren möchte. Der Carry-Look-Ahead-Addierer ist derjenige, den viele im Gegensatz zum Ripple-Carry-Addierer verwenden. Ein Gedanke kam mir jedoch in den Sinn. Die Ripple-Carry-Addierer, die ich zuvor zusammengestellt habe, haben einfach eine Reihe von Ein-Bit-Volladdierern, die miteinander verbunden sind. Was wäre, wenn ich einen 4-Bit-Volladdierer entwerfen würde? Ich spreche nicht von einem Addierer, der aus vier Ein-Bit-Volladdierern besteht. Ich spreche von einer einzelnen Komponente mit 9 Eingängen (x3, x2, x1, x0, y3, y2, y1, y0, cin). Ich bin mir bewusst, dass dies 512 mögliche Zustände haben würde (2 ^ (9 Eingänge)).
Was ich mich frage ist:
- Es wird offensichtlich eine große Anzahl von Toren geben, ist es das wert?
- Wenn ich alle meine Komponenten mit NAND-Gattern mit einer bestimmten Verzögerung oder all dem implementieren würde, wie stark würde sich die Geschwindigkeit in einem 32-Bit-System verbessern, wenn a.) 4-Bit-Volladdierer b.) CLA-Addierer c. ) 1-Bit-Volladdierer
- Gibt es eine andere Implementierung eines Addierers, die mir nicht bekannt ist?
- Obwohl ein Addierer ein sehr untergeordneter Bestandteil einer ALU ist, was tun die meisten digitalen Designer tatsächlich? Oder benutzen sie einfach
assign Sum = X+Y+cin;