Next: celda_base.c Up: Multiplicador Previous: Multiplicador
/*
* celda_base.h
* Clase que implementa la celda básica para el multiplicador
* combinacional por sumas y desplazamientos
*
* Autores: JOSE LUIS BERENGUEL GOMEZ
* JORGE BARBERO PEREZ
*
* Ultima modificación: 29-1-02
*/
/* Celda-base:
* Ppi mj
* | /
* +------------------------------------------ /
* | | /
* | | /|
* | | / |
* | /--------+--------/ |
* | / | |
* qi | / | | qi
* ------------------------------------|---+-----------
* | / | | |
* | / +-----+ |
* | / | AND | |
* | / \ / |
* | / \---/ |
* | / | |
* | / saland |
* | / | |
* cout | / +-------+ | cin
* --------------/-------------------| |---------
* | / | F.A. | |
* | / | | |
* | / +-------+ |
* | / | |
* +---/--------------------------------------+
* / |
* mj Ppsig
*/
class CELDA_BASE{
WIRE saland; // linea de salida de la AND y que sirve de entrada al F.A
AND a0; // objeto de la clase AND
ADDER_BIT full_adder; // sumador completo (F.A) de un bit
public:
void 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
}; //FIN CELDA_BASE
2000-02-09