/* celda_base.c
* Clase que implementa la celda básica para el multiplicador
* combinacional por sumas y desplazamientos
*
* Autores: JOSE LUIS BERENGUEL GOMEZ
* JORGE BARBERO PEREZ
*
* Compilación:
* c++ -c celda_base.c
*
* Ultima modificación: 29-1-02
*/
#include "gates.h"
#include "decods.h"
#include "muxs.h"
#include "alu32.h" // para el sumador completo de 1 bit
#include "celda_base.h"
void CELDA_BASE::run(WIRE &mj, //entrada del bit j del multiplicando
WIRE &Ppi, //entrada del producto de los bit i,i-1
WIRE &qi, //bit i del multiplicador
WIRE &cin, //bit de acarreo de entrada de la celda
WIRE &cout, //bit de acarreo de salida de la celda
WIRE &Ppsig) //salida del siguiente producto parcial
{
/* COMIENZO DEL METODO */
saland=0; // inicializamos la variable
a0.run(saland,qi,mj); // realizamos la AND de la celda base
full_adder.run(Ppi,saland,cin,Ppsig,cout); // ejecutamos el sumador completo (F.A)
} // FIN DEL METODO run DE CELDA_BASE