Hallo, wir müssen für die Schule eine Präsentation machen, in der wir die Schaltungssynthese für den Dividierer machen sollen. Kann mir jemand Beispiele nennen? (Wahrheitstabelle, Schaltung) Vielen Dank im Voraus!
:
Verschoben durch Admin
Ich habe das noch in der Volksschule gelernt... 3 Sekunden Suche: https://www.allaboutcircuits.com/technical-articles/basic-binary-division-the-algorithm-and-the-vhdl-code/ http://www.lothar-miller.de/s9y/archives/29-Division-in-VHDL.html Beitrag "Division in VHDL"
Es findet sich immer einer, der die Hausaufgaben für die faulen Schüler macht.
Hakim schrieb: > Es findet sich immer einer, der die Hausaufgaben für die faulen Schüler > macht. Ach Gott, als ob in der Schule Digitaltechnik gelehrt würde. Das ist Hochschule und da macht niemand seine Hausaufgaben selbst sondern kopiert aus Lehrbüchern oder kauft die Lösung von einem Ghost-Kommilitonen. So funktioniert das degenerierte 21 Jhrh. - die Zeit der Dichter und Denker war vorher.
Leon schrieb: > für den Dividierer Ja, aehhh - also fuer den Dividierer. Hm, ja welchen denn? Nachdem's in der Unterabteilung fuer Analoge Elektronik und Gedoens gelandet ist, wuerd' ich mal sagen: Da stell' mer uns mal janz domm und nehmen einfach mal einen Spannungsteiler her - Teilen ist ja sowas wie dividieren, und schon haben wir den Spannungsdividierer. Oder man koennte auch Stroeme aufteilen, dann haette man einen Stromdividierer, etc. bla. Gruss WK
Ein einfacher Dividierer ist folgendermaßen aufgebaut:
1 | Eingänge Dividierer Ausgänge |
2 | |
3 | Dividend → o————————————o → Quotient |
4 | Divisor → o————————————o → Gültig |
"Dividend" und "Divisor" sind ganzzahlige Binärzahlen im Bereich von 0..1. "Quotient" ist das Ergebnis der Division als Binärzahl, "Gültig" ist 1, wenn die Division fehlerfrei durchgeführt werden kann, und 0, wenn versucht wird, durch null zu dividieren. Vielleicht reicht das ja schon als Lösung der Aufgabe. Wenn nicht: Ein Dividierer für 4-Bit-Dividenden sieht folgendermaßen aus:
1 | Eingänge Dividierer Ausgänge |
2 | |
3 | Dividend Bit 0 → o————————————o → Quotient Bit 0 |
4 | Dividend Bit 1 → o————————————o → Quotient Bit 1 |
5 | Dividend Bit 2 → o————————————o → Quotient Bit 2 |
6 | Dividend Bit 3 → o————————————o → Quotient Bit 3 |
7 | Divisor → o————————————o → Gültig |
Damit wird der Wertebereich für den Dividenden auf 0..15 erweitert. Scherz beiseite: Es ist doch sicher vorgegeben, von welchem Typ der Dividierer (analog oder digital) sein soll und welches die Wertebereiche für Dividend und Divisor sind. Abhängig davon kann die Aufgabe sehr leicht (s.o.) oder deutlich schwerer sein.
Im Beitrag "Re: mod Operation" gibt's auch noch Impulse. Und der Beitrag "Modulofunktion" sowie der Beitrag "Re: Rechnen mit signed und integer" tragen auch was bei.
:
Bearbeitet durch Moderator
Udo K. schrieb: > Ich habe das noch in der Volksschule gelernt... Ich glaube, unsere gesamte Generation hat das noch in der Grundschule gehabt :-= :D Nennt sich "Schriftliches Dividieren" und gibt es in diversen Modifikationen, von denen sich einige auch für FPGAs eigenen, wenn auch nicht die, die in dem Artikel vorgeschlagen wird. Was mich da wieder fasziniert, ist die (vollkommen nutzlose, da kontraproduktve) Verwendung eines control- und eines datapaths. So etwas baut man als fixe pipeline in entweder 2er, 4er (oder für die hard core fans) 8er look-ahead-Architektur und lässt sie kontinuierlich durchlaufen. Je nach FPGA-Type passiert da auch viel innerhalb eines Taktes und man kommt mit x<n als Latenz raus.
Jürgen S. schrieb: > Udo K. schrieb: >> Ich habe das noch in der Volksschule gelernt... > Ich glaube, unsere gesamte Generation hat das noch in der Grundschule > gehabt :-= :D Ja, auswendig gelernt ohne es zu verstehen... > > Nennt sich "Schriftliches Dividieren" und gibt es in diversen > Modifikationen, von denen sich einige auch für FPGAs eigenen, wenn auch > nicht die, die in dem Artikel vorgeschlagen wird. Was mich da wieder > fasziniert, ist die (vollkommen nutzlose, da kontraproduktve) Verwendung > eines control- und eines datapaths. Die Verwendung von Control- und Datenpfad war halt üblich, als die VHDL Module noch einfach waren, und praktisch die Schaltungen am Papier nachgemalt wurden. Ich habe erst kürzlich ein SPI Interface angeschaut, wo noch jedes FF oder Register in einem eigenen Prozess beschrieben wird. Ich nehme mal an, das Vertrauen in die Synthesetools war damals auch noch geringer. > So etwas baut man als fixe pipeline in entweder 2er, 4er (oder für die > hard core fans) 8er look-ahead-Architektur und lässt sie kontinuierlich > durchlaufen. Je nach FPGA-Type passiert da auch viel innerhalb eines > Taktes und man kommt mit x<n als Latenz raus. Das täte mich mal interessieren, wie das geht! So gut bin ich in VHDL nicht unterwegs. Ich habe einmal den klassischen sequentiellen Dividieralgorithmus der Grundschule in VHDL umgesetzt. Ich bin richtig stolz, das das Modul nur N Takte und 2N+log2(N)+1 FF braucht (N ist die Bitanzahl). Ich bin aber immer wieder überrascht, wie mühselig VHDL für Signalverarbeitung und fürs Rechnen ist, im Vergleich zu einem Cortex M4, wo man sich um den Datenpfad keine Gedanken machen muss, und wo man fürs Dividieren einfach a/b schreibt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.