# Hat jemand Ahnung von Schaltkreisen?



## dovahkiin (18. Mai 2012)

Hallo, beim Versuch einen Multiplizierer mit nem CAD-Programm zu erstellen, bin ich bei Wikipedia auf dieses Bild gestoßen: 


			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        



Meine Frage: Steuert der Eingang m jetzt, ob die Summe augegeben werden soll oder wie? Wenn ich das so versuche umzusetzen, kommt irgendein Sche*ß dabei raus
Hoffe ich bin im richtigen Unterforum


----------



## Darkfleet85 (20. Mai 2012)

dovahkiin schrieb:


> Hallo, beim Versuch einen Multiplizierer mit nem CAD-Programm zu erstellen, bin ich bei Wikipedia auf dieses Bild gestoßen:
> 
> 
> Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
> ...



Studiere die Boolesche Algebra ein bisschen, dann kannst du das selber lösen


----------



## ruyven_macaran (22. Mai 2012)

Da der Thread übers Wochenende wenig Aufmerksamket erlangte, verschiebe ich ihn mal ins Programmierforum. Passt da zwar auch nicht wirklich, ist ggf. aber näher an technischer Informatik dran, als Wirtschaft und Politik.


Ich für meinen Teil werde aus dem Schaltplan jedenfalls auch nicht schlau, da die Eingangsbezeichnung der Volladder nicht erklärt wird und von dem Addierer-Wikieintrag abweicht und weil scheinbar kein einfacher Multiplikator, sondern eine Art FMA-Einheit abgebildet ist, die noch einen dritten Wert addiert.

In der Praxis würde ich einen Multiplizierer aus n-1 x-bittigen Addierern zusammenschalten, wobei n die Länge von Multiplikator A und x die Länge von Multiplikator B ist. Funktion ist dann relativ einfach:
Jeder Addierer nimmt an einem Eingang die ersten n-1 Bits des Ausgang des vorhergehenden an, dessen letztes Ausgabebit wird direkt aufs Ergebniss geschaltet. (= Der Ausgabewert wird um eine Stelle verschoben an den Addierer übergeben, der eben für die nächst höhere Stelle zuständig ist. Die letzte Stelle, um die er sich eben nicht mehr kümmert, ist abschließend berechnet). Der zweite Eingang wird direkt mit den entsprechenden Stellen von B verknüpft - die Aktivität dieser Durchleitung aber von A gesteuert. Bei "1" aktiv, bei "0" aus. Die allererste Stelle kann sich den Addierer logischerweise sparen und gibt das letzte Bit direkt weiter - oder eben nicht.
Zur Verdeutlichung A=1011 * B=0110. (Ich gebe für die Addierer jeweils alle Stellen der Logik an, de facto arbeitet jeder natürlich nur mit je vier Stellen und hat null Verständniss dafür, welche dies in der Gesamtrechnung sind)
Erster Schritt (noch kein Addierer): Endergebnis ist "--------". Eingang ist "B * A4", also 0110 * 1 - d.h. aktiv. Ergebnis des Schritts somit "----0110". Davon geht die letzte Stelle ans Endergebnis, der Rest ist ein Eingang für den zweiten Schritt.
Zweiter Schritt (Addierer1): Endergebnis ist "-------0". Eingänge sind "----011-" und "B * A3" 0110 * 1 (aktiv); da das ganze bereits um eine Stelle verschoben ist also "---0110-". "---0110-" + "----011-" ergeben "---1001-". Wiederum letzte zum Endergebnis, Rest zum nächsten Schritt.
Dritter Schritt (Addierer2): Endergebnis ist "------10". Eingänge sind "---100--" und "B * A2". Da A2=0 ist diesmal also kein zweiter Summand im Spiel (bzw. er lautet "--0000--") und das Ergebnis ergibt sich direkt als "--0100--"
Vierter Schritt (Addierer3): Endergebnis ist "-----010". Eingänge sind "--010---" und "B* A1" (aktiv), d.h. "-0110---". Ergibt "-1000---". Die können jetzt natürlich komplett ins Endergebniss übernommen werden, kommt ja nichts mehr:
Vierter Schritt (Ausgabe): Endergebniss "-1000010" (was auch stimmt  )


----------



## AMD (23. Mai 2012)

Also ich finde die Schaltung ehrlich gesagt alles andere als gut 

Beschäftige dich erstmal mit den Grundlegenden Dingen und versuch einen sehr einfachen binär-multiplizierer aus Gattern zu bauen... Das sollte für den Anfang durchaus reichen und vorallem dein Verständnis in dem Bereich erweitern... darauf kommt nämlich letztendlich an ^^


----------



## dovahkiin (24. Mai 2012)

Hm naja ich hatte es schon selbst lösen können, sorry dass ich das nicht noch reingesschrieben hab, bin nicht dazu gekommen. Also ich kenn mich schon etwas aus, wir haben das Thema im Informatikunterricht, nur da lerne ich viel zu wenig, dass ich mir alles selbst beibringen muss^^


----------



## fadade (24. Mai 2012)

Ist es ein "einfacher" Multiplizierer könnte m das Steuersignal sein, welche Stufe nun ausgeführt werden soll, aber das glaube ich eher nicht.
Üblicherweise steht m dort für die Mantisse bei Gleitkommamultiplikationen


----------



## Skysnake (24. Mai 2012)

Ja, das ist nen Festkommamultiplizierer, wie mir scheint, eventuell aber auch gleitkomma. Der ist daher etwas komplizierter als der von Ruyven angesprochene Integer Multiplizierer.

Am Besten "einfach" die entsprechende Literatur dazu lesen, also wie die Sachen Mathematisch gemacht werden, dann kannste so etwas auch selbst nachbauen, ohne einfach etwas 1:1 zu kopieren.

Multiplizierer sind aber schon etwas schwieriger. Vor allem, wenn es gleitkomma Multiplizierer sind, und dann eventuell noch IEEE konform sein sollen. Da kannste dich dann locker einige Monate dran austoben ohne fertig zu werden


----------



## dovahkiin (24. Mai 2012)

Also ich hab einfach einen Wallace-Tree-Multiplier (glaub ich ) gemacht, der soll einfach nur ganze Zahlen in 4bit Bandbreite multiplizieren, mehr brauch ich zur Zeit nicht, will nur ein kleine simples Rechenwerk machen.


----------



## AMD (24. Mai 2012)

Wir entwerden zurzeit eine Schaltung (Rechenwerk), welches verschiedene mathematische Funktionen können muss. Das geht halt von Addieren, Subtrahieren, Multiplizieren und Dividieren bis selber Schieberegister dafür bauen usw...
Aber macht an sich echt spaß


----------



## Skysnake (24. Mai 2012)

Uni Frankfurt?


----------



## AMD (24. Mai 2012)

HTW Berlin, Computer Engineering ^^


----------



## Skysnake (25. Mai 2012)

Ok Schade, sonst hätte ich gefragt, ob du bei Prof. Lindenstruht die Vorlesung hörst, der hat nämlich ein Patent auf einen Microchip und daher dürfen seine Studenten den immer nachbauen


----------



## ruyven_macaran (25. Mai 2012)

Skysnake schrieb:


> Ja, das ist nen Festkommamultiplizierer, wie mir scheint, eventuell aber auch gleitkomma. Der ist daher etwas komplizierter als der von Ruyven angesprochene Integer Multiplizierer.
> 
> Am Besten "einfach" die entsprechende Literatur dazu lesen, also wie die Sachen Mathematisch gemacht werden, dann kannste so etwas auch selbst nachbauen, ohne einfach etwas 1:1 zu kopieren.
> 
> Multiplizierer sind aber schon etwas schwieriger. Vor allem, wenn es gleitkomma Multiplizierer sind, und dann eventuell noch IEEE konform sein sollen. Da kannste dich dann locker einige Monate dran austoben ohne fertig zu werden


 

Kann man die Exponenten nicht einfach getrennt (undzwar in einer primitiven Addition) verrechnen und die Matisse mit der normalen Integerlogik bearbeiten? Genau das macht man ja im Prinzip auch, wenn man Zahlen von Hand multipliziert. Man bräuchte dann nur noch eine (zusätzliche Einheit), die die Länge der Mantisse am Ende anpasst.


----------



## Skysnake (25. Mai 2012)

ja, das sollte gehen, wenn ich mich recht erinnere.

Wobei Mantisse oder Exponent vom anderen Abhaengig ist. Frag mich aber nicht wies genau war. Irgend ne Abhaengigkeit gabs aber.


----------

