This shows you the differences between two versions of the page.
soc:laboratoare:07:recap [2024/03/26 20:24] stefan.maruntis |
soc:laboratoare:07:recap [2024/03/26 20:25] (current) stefan.maruntis |
||
---|---|---|---|
Line 35: | Line 35: | ||
* C<sub>1</sub> = A<sub>0</sub> * B<sub>0</sub> + C<sub>0</sub> * (A<sub>0</sub> ⊕ B<sub>0</sub>) | * C<sub>1</sub> = A<sub>0</sub> * B<sub>0</sub> + C<sub>0</sub> * (A<sub>0</sub> ⊕ B<sub>0</sub>) | ||
- | Dacă generalizăm formula, pentru //i = 0//: | + | Dacă generalizăm formula: |
* C<sub>i+1</sub> = A<sub>i</sub> * B<sub>i</sub> + C<sub>i</sub> * (A<sub>i</sub> ⊕ B<sub>i</sub>) | * C<sub>i+1</sub> = A<sub>i</sub> * B<sub>i</sub> + C<sub>i</sub> * (A<sub>i</sub> ⊕ B<sub>i</sub>) | ||
Prin urmare, pentru fiecare modul de full-adder, am putea calcula bitul carry de intrare cu cost constant egal cu 1, fără să mai așteptăm propagarea acestuia prin toate celelalte full-adder-e de rang mai mic. | Prin urmare, pentru fiecare modul de full-adder, am putea calcula bitul carry de intrare cu cost constant egal cu 1, fără să mai așteptăm propagarea acestuia prin toate celelalte full-adder-e de rang mai mic. | ||
* C<sub>out</sub> = //Generează_biții_carry? **SAU** Propagă_bitul_de_carry_de_la_rangul_inferior_dacă_nu_e_generat?// | * C<sub>out</sub> = //Generează_biții_carry? **SAU** Propagă_bitul_de_carry_de_la_rangul_inferior_dacă_nu_e_generat?// |