/* * 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