Mnożenie liczb szesnastobitowych

[implementacja mnożenia liczb szesnastobitowych]

Operacje modulo liczba całkowita

Przy weryfikacji systemów używających operacji arytmetycznych można czasem zastosować abstrakcję danych wykorzystując przystawanie modulo pewne ustalone m: h(i) = i mod m

Jak wiemy dla dodawania, odejmowania i mnożenia liczb całkowitych wynik operacji modulo m zależy od wartości argumentów modulo m:

Opis przystawania w BDD

Chińskie twierdzenie o resztach

Niech m1, m2, ..., mn będą względnie pierwszymi liczbami naturalnymi, m = m1 m2 ... mn. Niech b, i1, i2, ..., in będą liczbami całkowitymi. Istnieje dokładnie jedno b <= i <= b+m, takie że i = ij mod m dla 1 <= j <= n.

Jeśli więc zmienna całkowita x ma zawsze wartość mniejszą od m jest jednoznacznie wyznaczona przez przystawanie do pewnych ij modulo mj.

Weryfikacja

Logarytmy

Chcemy dokładniej sprawdzić możliwość wystąpienia przepełnienia. Reprezentujemy wartości zmiennych przez ich logarytmy.

Weryfikacja

Weryfikacja układu przetwarzania potokowego

[Schemat blokowy układu] Układ wykonujący operacje arytmetyczne i logiczne na danych zawartych w zbiorze rejestrów. Można rozważać układy o różnym rozmiarze rejestrów, różnej liczbie rejestrów w zbiorze i różnej liczbie rejestrów potokowych. Od liczby rejestrów potokowych zależy między innymi czas przetwarzania pojedynczej instrukcji. Rozważany tu model jest uproszczeniem, w rzeczywistym układzie na zawartości rejestrów potokowych byłyby wykonywane dodatkowe operacje.

Największy zweryfikowany układ

Abstrakcja

Źródła