Friday 24 November 2017

Divider Circuit Binär Optionen


Grundsätzlich die umgekehrte der mutliply durch Verschiebung und fügen Sie hinzu. Setzen Sie den Quotienten auf 0 Ausrichten der letzten Ziffern in Dividenden und Divisor Wiederholen Wenn dieser Teil des Dividenden über dem Divisor größer oder gleich dem Divisor ist, dann subtrahieren Sie den Divisor von diesem Teil des Dividenden und Concatentate 1 zum rechten Ende des Quotienten Else Concatentate 0 zum rechten Ende des Quotienten Verschieben des Divisors ein Platz rechts Bis Dividenden ist kleiner als der Divisor Quotient korrekt ist, Dividenden ist Rest STOP Was ist die durchschnittliche Anzahl von Operationen, die benötigt werden, um jeden dieser Algorithmen abzuschließen, vorausgesetzt, die Dividende hat M Ziffern in der Darstellung und der Divisor hat n Ziffern Ändern Sie diesen Algorithmus, um den Bruchteil des Quotienten zu erzeugen. Zuletzt aktualisiert 20000515 169 J. A.N. Lee. 2000.Circuits für binäre arithmetische Einleitung Binäre Arithmetik ist ein kombinatorisches Problem. Es mag trivial erscheinen, die Methoden zu verwenden, die wir bereits gesehen haben, um kombinatorische Schaltkreise zu entwerfen, um Schaltungen für binäre Arithmetik zu erhalten. Allerdings gibt es ein Problem. Es stellt sich heraus, dass die normale Art, solche Schaltkreise zu schaffen, oftmals zu viele Tore verbrauchen würde. Wir müssen nach verschiedenen Wegen suchen. Binäre Integer-Addition Für die Binär-Integer-Ergänzung können wir unsere Anforderung an die Schaltungstiefe opfern, die wir bisher hatten, um weniger Tore zu benutzen. Die resultierende Schaltung ist von einer Art, die wir eine iterative kombinatorische Schaltung nennen. Da es mehrere Kopien eines einfachen Elements enthält. Für die binäre Addition wird das einfache Element als Volladdierer bezeichnet. Ein voller Addierer ist eine kombinatorische Schaltung (oder eigentlich zwei kombinatorische Schaltungen) von drei Eingängen und zwei Ausgängen. Seine Funktion besteht darin, zwei Binärziffern plus einen Übertrag von der vorherigen Position hinzuzufügen und ein Zwei-Bit-Ergebnis zu geben, die normale Ausgabe und die Übertragung zur nächsten Position. Hier ist die Wahrheitstabelle für einen vollständigen Addierer: Hier haben wir die Variablennamen x und y für die Eingänge, c-in für den Carry-In, s für die Summenausgabe und c-out für die Durchführung verwendet. Ein kompletter Addierer kann mit unseren üblichen Designmethoden für kombinatorische Schaltungen trivial gebaut werden. Hier ist das resultierende Schaltplan: Der nächste Schritt besteht darin, eine Reihe solcher Volladdierer in eine Schaltung zu kombinieren, die zwei 8-Bit-positive Zahlen addieren kann. Wir tun dies, indem wir die Durchführung von einem vollständigen Addierer an den Carry-In des Volladdierers sofort nach links anschließen. Der rechtsextreme Addierer nimmt einen 0 bei seinem Carry-In. Hier haben wir den Index für die i-te binäre Position verwendet. Wie Sie sehen können, ist die Tiefe dieser Strecke nicht mehr zwei, sondern wesentlich größer. Tatsächlich wird der Ausgang und der Übertrag von der Position 7 teilweise durch die Eingänge der Position 0 bestimmt. Das Signal muss alle Volladdierer mit einer entsprechenden Verzögerung durchqueren. Es gibt Zwischenlösungen zwischen den beiden Extremen, die wir bisher gesehen haben (d. h. eine kombinatorische Schaltung für den gesamten (sagen) 32-Bit-Addierer und eine iterative kombinatorische Schaltung, deren Elemente ein Bit-Addierer sind, die als gewöhnliche kombinatorische Schaltungen aufgebaut sind). Wir können zum Beispiel einen 8-Bit-Addierer als gewöhnliche zweistufige kombinatorische Schaltung aufbauen und einen 32-Bit-Addierer aus vier solchen 8-Bit-Addierern aufbauen. Ein 8-Bit-Addierer kann trivial aus 65536 (2 16) und - Gates und einem riesigen 65536-Eingang oder - Gate gebaut werden. Eine weitere Zwischenlösung besteht darin, sogenannte Carry-Beschleuniger-Schaltungen zu bauen. Zu vervollständigen. Binäre Subtraktion Unser Binär-Addierer kann bereits mit negativen Zahlen umgehen, wie im Abschnitt Binär-Arithmetik angegeben. Aber wir haben nicht darüber gesprochen, wie wir es mit Subtraktion behandeln können. Um zu sehen, wie dies geschehen kann, beachten Sie, dass, um den Ausdruck x-y zu berechnen. Wir können den Ausdruck x - y stattdessen berechnen. Wir wissen aus dem Abschnitt über die binäre Arithmetik, wie man eine Zahl durch Invertieren aller Bits und Hinzufügen von 1 negiert. So können wir den Ausdruck als x inv (y) 1 berechnen. Es genügt, alle Eingänge des zweiten Operanden zu invertieren, bevor sie den Addierer erreichen, aber wie fügen wir die 1. Das scheint einen anderen Addierer nur dafür zu erfordern. Zum Glück haben wir ein unbenutztes Carry-In-Signal auf Position 0, die wir verwenden können. Wenn man eine 1 auf diesen Eingang gibt, fügt man dem Ergebnis einen zu. Die komplette Schaltung mit Addition und Subtraktion sieht so aus: Binäre Multiplikation und Division Binärmultiplikation ist noch härter als binäre Addition. Es gibt keine gute iterative kombinatorische Schaltung zur Verfügung, so müssen wir noch schwerere Artillerie verwenden. Die Lösung wird sein, um eine sequentielle Schaltung zu verwenden, die eine Addition für jeden Taktimpuls berechnet. Wir werden dies noch in einem späteren Abschnitt besprechen, da es Mekanismen braucht, die wir noch nicht besprochen haben. Binärdivision Schließlich werden wir den letzten Teil der binären Arithmetik diskutieren, der letztlich aber nicht zuletzt im Detail ist, d. h. binäre Teilung. Die Division ist auch ein sehr wichtiger Teil der Arithmetik, der überhaupt nicht ignoriert werden kann. Jetzt kommt es zum Teilungsprozess, es ist vielleicht der schwierigste Teil, alle binären arithmetischen Operationen zu verstehen. Obwohl es nicht allzu schwierig ist, kann es ein bisschen härter aussehen als die anderen binären Operationen, weil alle anderen eine Ähnlichkeit unter sich hatten, wie sie alle vier grundlegende Schritte hatten, die alle Prozesse leise verständlich machten, aber der binäre Teilungsprozess Keine spezifische Regel zu folgen. Obwohl dieser Vorgang der dezimalen Teilung sehr ähnlich ist. Der Prozess wird nicht klar sein, bis wir uns ein Beispiel anschauen. Lass uns A 11010 und B 101 nehmen Wir wollen A durch B teilen Die Struktur der Operation der binären Teilung ist ähnlich der der dezimalen Teilung, jetzt werden wir in die Operation schauen Schritt für Schritt, um es so viel wie möglich zu verstehen. Im ersten Schritt werden die am weitesten links liegenden Ziffern der Dividende i. e. A betrachtet und abhängig von dem Wert, den der Divisor mit 1 multipliziert wird, und das Ergebnis, das das Ergebnis der Multiplikation von 101 und 1 ist, geschrieben. Wie wir bereits wissen, dass 1 1 1, 1 0 0 und 1 1 1 genau das ist, was geschrieben wird. In diesem Schritt 101 wird von 110 subtrahiert. Dieser Schritt ist auch sehr leicht zu verstehen, da wir bereits eine binäre Subtraktionsmethode kennen. Jetzt geht es in den nächsten Schritt. Abgesehen von den Regeln der Teilung kommt das nächstniedrigste Bit herunter und wir versuchen, 1 mit Teiler zu multiplizieren, d. h. B aber das Ergebnis ist größer als das Minuend, so dass dieser Schritt nicht abgeschlossen werden kann und wir müssen zum nächsten Schritt gehen. 0 wird in den Quotienten eingefügt und das niedrigstwertige Bit kommt jetzt herunter, wir können mit dem nächsten Schritt fortfahren. Jetzt wird der Divisor mit 1 multipliziert und das Ergebnis steht geschrieben, das Ergebnis ist ähnlich dem ersten, weil alle Zahlen gleich sind. Jetzt gehen wir in den letzten Schritt. Im letzten Schritt wird die binäre Subtraktion durchgeführt und wir erhalten den Rest und die Operation der binären Division ist abgeschlossen und wir erhalten das folgende Ergebnis. Quotient 101 und Rest 1.4-BIT BINARY DIVIDER Transkript von 4-BIT BINARY DIVIDER In diesem Projekt wollen wir eine Schaltung entwerfen, die die traditionelle Langhand-Division implementiert. Bei zwei unsignierten n-Bit-Zahlen A und B wollen wir eine Schaltung entwerfen, die zwei n-Bit-Ausgänge Q und R erzeugt, wobei Q der Quotient AB und R der Rest ist. Ein Algorithmus für die Teilung wird auf dem Code unten angezeigt. Dies kann durch Verschieben der Ziffern in A nach links, jeweils eine Ziffer in ein Schieberegister R erfolgen. Nach jedem Schaltvorgang vergleichen wir R mit B. Wenn RB a 1 in die entsprechende Bitposition platziert wird Der Quotient und B wird von R subtrahiert. Andernfalls wird ein 0-Bit in den Quotienten gesetzt. Die Notation RA wird verwendet, um ein 2n-Bit-Schieberegister darzustellen, das unter Verwendung von R als die am weitesten links liegenden n Bits und A als die am weitesten rechts liegenden n Bits gebildet wird. 4-BIT BINARY DIVIDER I. INTRODUCTION Ein Algorithmus ist eine wohldefinierte Folge von Schritten, die eine gewünschte Folge von Aktionen als Reaktion auf eine gegebene Folge von Eingängen erzeugt. ASM (Algorithmic State Machine) ist nützlich bei der Entwicklung von synchronen sequentiellen Netzwerk mit Flussdiagramm, die ähnlich wie bei der Computerprogrammierung verwendet wird. Es ist sehr nützlich bei der Gestaltung von FSM (Finite State Machine). Das Entwerfen mit ASM ermöglicht es Menschen, komplexere Systeme zu behandeln. Heutzutage werden häufig programmierbare Gate-Arrays (FPGAs) für komplexe System-on-Chip (SoC) - Designs verwendet. Sie orientieren sich für die Kfz-Steuerung, die Online-Datenverarbeitung und eine breite Palette an Rechenaufgaben. Die Division-Operation wird in diesen Aufgaben sehr oft verwendet, insbesondere für die Berechnung der Koordinaten eines Objekts oder eines Punktes auf einem Raster in Echtzeit. Da das Ergebnis der Division in vielen Fällen ein Näherungswert ist, kann dies die Lösung beeinflussen und zu den nachfolgenden Fehlerresultaten führen. ASM-Diagramm für Steuerkreis Ein ASM-Diagramm, das nur die für den Teiler benötigten Steuersignale anzeigt, ist auf dem linken Diagramm angegeben. Im Zustand S3 bestimmt der Wert von Cout, ob die Summe des Ausgangssignals des Addierers in R geladen ist oder nicht. Die Schaltfreigabe auf Q wird im Zustand S3 aktiviert. Wir müssen nicht angeben, ob 1 oder 0 in Q geladen ist, da Cout mit dem seriellen seriellen Eingang in der Datenpfadschaltung verbunden ist. Datapath-Schaltung für Divider Wir benötigen n-Bit-Schieberegister, die nach rechts für A, R und Q wechseln. Für B wird ein n-Bit-Register benötigt und ein Subtrahierer wird benötigt, um R B zu erzeugen. Wir können ein Addierermodul verwenden In dem der Carry-In auf 1 gesetzt ist und B ergänzt wird. Der Durchlauf, Cout dieses Moduls hat den Wert 1, wenn die Bedingung R B wahr ist. Somit kann der Durchlauf mit dem seriellen Eingang des Schieberegisters verbunden werden, das Q hält, so daß es im Zustand S3 in Q verschoben wird. Da R mit 0 im Zustand S1 und aus den Ausgängen des Addierers im Zustand S3 geladen ist, wird ein Multiplexer für die parallelen Dateneingänge auf R benötigt. Die Datenpfadschaltung ist oben dargestellt. AS ASM CHARTE UND BESCHRÄNKUNGEN Unser Projekt dreht sich alles um einen 4-Bit Binärteiler. Die Schaltung führt nur die Aufteilung von 4-Bit-Binärzahlen durch. Addition, Subtraktion und Multiplikation von Binärzahlen können in diesem Projekt oder Schaltkreis nicht durchgeführt werden. Die maximale Ziffer, die ausgeführt werden kann, ist 1111, was 15 im Dezimalwert ist und die zu berechnende Minimalzahl 0000 ist, was 0 im Dezimalwert ist. In dem Ausdruck A B Q, wobei A der Dividend ist, B der Divisor ist und Q der Quotient ist, beschränken wir unsere Projekte, bei denen A, Dividend immer größer als B, Divisor AgtB ist. Weitere Vorträge von Gil Filomeno

No comments:

Post a Comment