Dann wurde eine Spezifikation erzeugt, die besagt, daß die Ausgänge <strong>der</strong> beiden Instanzengleich sind. Da die Bitbreiten <strong>der</strong> beiden Versionen für die jeweiligen Ausgängeunterschiedlich groß sind, wurde zum Vergleich das jeweilige Minimum <strong>der</strong> beiden Bitbreitengenommen. SMV versucht dann ein Gegenbeispiel zu finden und jedesmal, wenn dies gelingt,wird die Spezifikation entsprechend verän<strong>der</strong>t. Den Ressourcenverbrauch <strong>der</strong> V<strong>erifikation</strong> für2 Bit findet sich in Tabelle 5.Bitbreite BDD-Knoten Bytes2 31.645 21.757.952Tabelle 5: Ressourcenverbrauch <strong>der</strong> V<strong>erifikation</strong> für 2 BitFür die Eingangsbitbreite von 2 Bit konnten folgende Gleichungen verifiziert werden:2y 0= C(4)z 0,2y 2= C(4)z 2,2y 3= C(4)z 3,2y 4= C(4)z 4,2y 5= C(4)z 5,2y 6= C(4)z 6Für die Ausgangspaare 2y 1und C(4)*z 1, sowie 2y 7und C(4)*z 7konnte keine Gleichheitgezeigt werden.Für eine Eingangsbitbreite von 4 Bit ist <strong>der</strong> Zeitbedarf schon so groß, daß sich dieseV<strong>erifikation</strong> nicht mehr durchführen läßt. Auch durch eine Än<strong>der</strong>ung <strong>der</strong> Variablenordnungläßt sich <strong>der</strong> Zeitbedarf nicht signifikant senken. Daher muß ein an<strong>der</strong>er Ansatz zurV<strong>erifikation</strong> benutzt werden, bei dem man höhere Eingangsbitbreiten erreichen kann. DieLaufzeit <strong>der</strong> V<strong>erifikation</strong> hängt stark von <strong>der</strong> Anzahl <strong>der</strong> Eingangsvariablen, aber auch von <strong>der</strong>Anzahl <strong>der</strong> verwendeten Module und <strong>der</strong>en Bitbreite ab.Um die Laufzeit zu verringern müssenalso die Bitbreiten sowohl an den Eingängen, als auch im Inneren <strong>der</strong> Schaltung verringertwerden. Um dies zu erreichen, kann man Schaltungen mit Hilfe des Chinesischen Restsatzesmodifizieren.6.4 Reduktion mittels Chinesischem RestsatzesDer chinesische Restsatz:Seien m 1, m 2, ..., m npositive ganze Zahlen, die paarweise teilerfremd sind.Sei m = m 1 ⋅ m 2 ⋅ ... ⋅ m n und seien b, i 1, i 2, ..., i nganze Zahlen, dann gibt es eine ganze Zahl i,so daß gilt:b ≤ i ≤ b + m und i ≡ i j (mod m j ) für 1 ≤ j ≤ nDieser Satz läßt sich nun auf die V<strong>erifikation</strong> anwenden. Die Schaltungsbeschreibungenwerden so geän<strong>der</strong>t, daß die einzelnen Bausteine ihre Ergebnisse modulo m ausgeben. Ebensowerden auch die Ergebnisse an den Ausgängen <strong>der</strong> Schaltungen modulo m ausgegeben.29
Zum Än<strong>der</strong>n <strong>der</strong> Schaltungsbeschreibungen werden die folgenden mathematischen Gesetzebenötigt:((i mod m) + (j mod m)) mod m ≡ (i + j) mod m((i mod m) - (j mod m)) mod m ≡ (i - j) mod m((i mod m) ⋅ (j mod m)) mod m ≡ (i ⋅j) mod mSchematische Darstellungen <strong>der</strong> geän<strong>der</strong>ten Schaltungen finden sich in Abb. 16 und 17.Sei n die Bitbreite an den Eingängen <strong>der</strong> Schaltungen.Um die V<strong>erifikation</strong> mit Hilfe des Chinesischen Restsatzes durchführen zu können, benötigtman nun eine Menge P = {p 1, ..., p j} von paarweise teilerfremden Zahlen mit P ∼ = Π m k . Esmuß gelten:P ∼ > 2 2n+3Wenn man die Schaltungen nun für jedes p jmodulo p jverifizieren kann, dann folgt mit demChinesischen Restsatz, daß die Spezifikation auch ohne die Verwendung dieses Satzes erfülltwäre.30