This is an old revision of the document!
sum este nedefinit.test_adder, iar instanța acestuia se numește uut (unit under test).F9 sau făcând click pe porțiunea gri din dreapta numărului liniei.uut sunt nedefinite(x inseamna nedefinit), lucru normal deoarece simularea nu a început încă .Run All pentru a porni simularea.Run All. Simularea se va opri din nou la breakpoint-ul de la linia 35, însa în momentul acesta ne aflăm în a doua iterație a ciclului. Putem vedea lucrul acesta inspectând valoarea contorului, care este 1 (prima valoare a contorului a fost 0). În această iterație vedem că primul bit al lui sum a fost setat la valoarea 0.Run All, până când execuția ciclului se termină și ajungem la breakpoint-ul de la linia 37. În acest moment, pentru o implementare corectă, suma celor două intrări ar trebui să fie calculată complet. Observăm însă că cel mai semnificativ bit al lui sum a rămas nedefinit. Înseamnă că ciclul nostru s-a terminat prea repede. Inspectând condiția de oprire, vedem că ieșirea din ciclu se face când i devine 7. Iterația corespunzătoare lui i == 7 nu se execută, ceea ce explică de ce bitul 7 din sum este nedefinit.i < 8.Re-launch pentru a recompila și rerula simularea.Run All. La o primă vedere, din fereastra de variabile, rezultatul pare a fi corect, semnalele nedefinite au dispărut, iar suma pare a fi calculată corect.Restart.00101000 și 00001010 prezente la intrarile a și b și valoarea 0 a controului i. Valoarea sumei, 00000000, este rămasă de la adunarea anterioară.sum este 1. Din datele de intrare: a[0] == 0, b[0] == 0 și c_in == 0 am deduce că această sumă ar trebui să fie 0. Inspectând expresia pentru calcul sumei, observăm că rezultatul pentru toți biții lui sum se calculează cu b[1].