Realizzazione di un moltiplicatore a 2 bit
Siano
\[
\begin{split}
A(A1,A0) \\
B(B1,B0) \\
\end{split}
\]
due numeri binari positivi. Devo
\(1.\) scrivere la tavola di verità
\(2.\) scrivere le equazioni di programmazione della \(\mbox{PROM}\) (ossia dei singoli bits \(P_i\) nella forma di programmazione)
\(3.\) disegnare lo schema dei collegamenti in ingrasso ed in uscita (matrice di codifica) della \(\mbox{PROM}\)
\(4.\) Commentare questa realizzazione della funzione con quella alternativa che usa porte logiche discreta, commentando i vantaggi svantaggi relativi.
\(1.\) Ora, la realizzazione della moltiplicazione di due numeri binari tramite porte logiche si distingue in due parti, nella prima si utilizzano le porte \(\mbox{and}\) per i prodotti e nella seconda dei full-adders per sommarne i contributi al risultato finale (insomma, l'algoritmo è quello della moltiplicazione a mano) quindi mi trovo a dover realizzare un 2-bit full adder con
\[
\begin{split}
C&=(0,B0A1) \\
D&=(B1A1,B1A0)
\end{split}
\]
mentre \(B0A0\) raggiunge subito l'\(\mbox{LSB}\) del risultato. Creo la tavola di verità con i seguenti titoli per le variabili: \((0,b,X,Y,\Sigma_{1})\) (rispettivamente lo \(0\), il possibile valore di \(b\), il carry bit, gli utlimi due rappresentano il numero binario somma di \(0\) di \(b\) e del carry bit) e \((a,c,X,\Sigma_{0})\) (con identica notazione) dove \(Y,\Sigma_{1},\Sigma_{0}\) è il risultato finale a meno dell'\(\mbox{LSB}\).
\[
\begin{split}
00000\ 0000 \\
00000\ 0101 \\
00000\ 1001 \\
00101\ 1110 \\
01001\ 0000 \\
01001\ 0101 \\
01001\ 1001 \\
01111\ 1110 \\
\end{split}
\]
\(2.\) Corrette o sbagliate che siano mi ritrovo con queste formule (mi interessa di più il procedimento)
\[
\begin{split}
\Sigma_{0}&=a+c \\
\Sigma_{1}&=X+b \\
Y&=abc \\
\end{split}
\]
\(3.\) Se ho capito cos'è lo schema di una \(\mbox{PROM}\) ho, rinominando le variabili per farle combaciare con il disegno
\[
\begin{split}
a &\rightarrow A \\
b &\rightarrow B \\
c &\rightarrow C \\
X &\rightarrow D \\
\end{split}
\]
img e quelle tre linee a destra che scendono sono quelle che compongono il risultato.
\(4.\) Posso realizzare la soluzione con porte logiche discrete, ma non so come è fatta internamente la \(\mbox{PROM}\) quindi non so come fare il confronto.