36 lines
1.5 KiB
TeX
36 lines
1.5 KiB
TeX
\section{Hardware Multiplizierer}
|
|
|
|
\subsection{Rechenregeln und Grundprinzipien}
|
|
|
|
Die Multiplikation von Bits entspricht das logische AND. Doch wie geht man vor? Grundsätzlich geht man vor wie wenn man Zahlen im Dezimalsystem schriftlich multipliziert.
|
|
|
|
\begin{enumerate}
|
|
\item Den Multiplikand mit dem LSB vom Multiplikator multiplizieren und aufschreiben.
|
|
\item Für die Codierung darunter eine Null als LSB einfügen. Für jede weitere Zeile eine Null mehr.
|
|
\item Den ersten Schritt mit den nächsten Bit wiederholen.
|
|
\end{enumerate}
|
|
|
|
Ein Multiplikator Bauelement besteht aus mehreren Basiszellen. Diese bestehen aus einem AND und einem Volladdierer.
|
|
|
|
\begin{center}
|
|
\begin{circuitikz}[european]
|
|
\tikzset{flipflop fsum/.style={flipflop,
|
|
flipflop def={t1=A, t2=B, t3=CI, t6=SUM, t4=CO}
|
|
}}
|
|
\path[draw] node[flipflop fsum](fsum){$\sum$}
|
|
(fsum.pin 1)--++(left:5mm)
|
|
node[and port](and){}
|
|
(and.out);
|
|
\path[draw] (and.in 1) --++(left:10mm) node[point, label=180:a] {};
|
|
\path[draw] (and.in 2) --++(left:10mm) node[point, label=180:b] {};
|
|
\path[draw] (fsum.pin 2) --++(left:10mm) node[point, label=180:$\text{E}_1$] {};
|
|
\path[draw] (fsum.pin 3) --++(left:10mm) node[point, label=180:$\text{E}_2$] {};
|
|
\path[draw] (fsum.pin 4) --++(right:10mm) node[point, label=0:$\text{A}_2$] {};
|
|
\path[draw] (fsum.pin 6) --++(right:10mm) node[point, label=0:$\text{A}_1$] {};
|
|
\end{circuitikz}
|
|
\end{center}
|
|
|
|
Ein 4-Bit Multiplikator sieht zusammen mit allen Basiszellen wie folgt aus.
|
|
|
|
\includegraphics[width=\linewidth]{fig/Fig_11.png} \cite{Luisier2024}
|