Das Worst-Case-Szenario für einen Ripple-Carry-Addierer (RCA) besteht darin, dass das LSB einen Übertrag erzeugt und der Übertrag den gesamten Addierer von Bit 0 bis Bit ( N - 1) durchläuft . Ein Beispielmuster wäre 00000001 + 11111111. In der Addiererterminologie sind die Bits 7-1 "Propagatoren" und das Bit 0 ein "Generator". Der kritische Pfad verläuft vom Durchführen des LSB zum Durchführen des MSB, und jeder Addierer befindet sich im kritischen Pfad.
Die Idee hinter einem Carry-Skip-Addierer (Carry-Skip Adder, CSA) besteht darin, die Länge dieses kritischen Pfads zu verringern, indem dem Übertragspfad eine Verknüpfung zugewiesen wird, wenn alle Bits in einem Block einen Übertrag übertragen würden. Ein blockweites Ausbreitungssignal ist ziemlich einfach zu berechnen, und jeder Block kann gleichzeitig sein eigenes Ausbreitungssignal berechnen. Der schlimmste Fall ist also immer noch das gleiche Szenario, aber was passiert, sieht ein bisschen anders aus.
Nehmen wir an, wir haben immer noch das gleiche Problem von 0000 ...... 001 + 0111 ..... 111. Der erste Block berechnet einen Übertrag im ersten Bit und breitet den Übertrag durch die Bits 1, 2 und 3 aus. Zu diesem Zeitpunkt ist das erste Blockübertragungssignal gültig. Die Propagate-Auswahlsignale sind bereits gültig, da es sich um 2-3 Gate-Verzögerungen handelt und das Übertragssignal 4 Gate-Verzögerungen beträgt. Der Übertrags-Multiplexer für die Bits 8 bis 11 erhält das Übertragsignal vom Übertrag von Bit 3, da die Bits 4 bis 7 einen Übertrag übertragen würden. Beachten Sie, dass dies 1 Gate-Verzögerung erfordert, während ein normaler Cinch 4 Gate-Verzögerungen benötigt. Jeder Block fügt dem Übertragsignal 1 Gate-Verzögerung hinzu.
Wenn das MSB die Übertragsausbreitung beendet, würde dies dazu führen, dass der letzte CSA-Block den Eingang überträgt, was weitere 4 Gate-Verzögerungen erfordern würde. Dieses Setup eines LSB-Generators und eines MSB-Kill ist der neue Worst-Case. Die Quelle des kritischen Pfads ist zwischen RCA und CSA dieselbe, der kritische Pfad ist jedoch unterschiedlich.
Wenn ein beliebiger Block selbst einen Übertrag erzeugt, wird der Übertrag immer zum nächsten Block weitergegeben. Wenn der zweite Block jedoch selbst einen Übertrag erzeugt oder den Übertrag beendet, ist dies das Ende des kritischen Pfades. Wenn der zweite Block den Übertrag weitergibt, sehen wir den Vorteil der CSA-Architektur.
Wenn der Begriff "kritischer Pfad" verwendet wird, bedeutet dies im Allgemeinen, dass Sie eine Reihe von Eingaben in Betracht ziehen, die die Verzögerung im ungünstigsten Fall verursachen. Ihre Szenarien, die Sie bereitstellen, geben "hässliche" Fälle an, die möglicherweise eine große Verzögerung aufweisen, aber nicht die größte Verzögerung.