PROCEEDINGS ON 35TH CENTRAL AMERICA AND PANAMA STUDENT CONFERENCE, IEEE, SEPTEMBER 2016 1 Architecture design to optimize multipliers in FPGAs based on Maya multiplying method Fabian Venegas Siordia, Juan J. Raygoza Panduro, Edwin C. Becerra ´ Alvarez Departamento de Electr´ onica CUCEI, Universidad de Guadalajara Guadalajara, Jalisco, M´ exico fabaven@hotmail.com, juan.raygoza@cucei.udg.mx, edwincbecerra@gmail.com Susana Ortega Cisneros, Jorge Rivera Dom´ ınguez CINVESTAV Unidad Guadalajara Zapopan, Jalisco, M´ exico {susana.ortega, riveraj}@gdl.cinvestav.mx Abstract—The Mayan binary multiplier is an architecture to simplify and optimize the multiplication implemented in FPGAs. This architecture is based on the Maya multiplication method or Tzeltal. The architecture takes advantage of the parallelism of FPGAs grouping multipliers for generating the partial products. The multiplication is accelerated by decreasing the number of sums to be performed. This new approach provides properties that improve arithmetic calculations. Index Terms—Multiplier, Maya, Architecture, FPGA, Optimi- ze. I. I NTRODUCCI ´ ON La civilizaci´ on maya dejo grandes aportes a las matem´ ati- cas. Esta civilizaci´ on contaba con un sistema num´ erico de base 20 (ver figura 1), pero es su m´ etodo de multiplicaci´ on la base de este art´ ıculo. Figura 1. Sistema num´ erico maya. El presente art´ ıculo describe un multiplicador para FPGA basada en el m´ etodo maya de multiplicar. As´ ı mismo se describen las propiedades que caracterizan esta arquitectura. El art´ ıculo se divide en seis secciones. La segunda secci´ on presenta una breve introducci´ on a la multiplicaci´ on binaria. En la tercera secci´ on se describe el m´ etodo maya y su inserci´ on como m´ etodo digital. En la cuarta secci´ on se describen las propiedades de la arquitectura maya. En la quinta secci´ on se muestran los resultados de las propiedades implementadas. La sexta secci´ on contiene las conclusiones de esta novedosa arquitectura. II. MULTIPLICACI ´ ON BINARIA La multiplicaci´ on binaria puede realizarse de la misma forma que la multiplicaci´ on decimal sin signo (ver figura 2) [1]. 1101 x-----1100 0000 00000 110100 1101000 10011100 13 x-12 26 130 156 multiplicando multiplicador multiplicandos desplazados producto Figura 2. Multiplicaci´ on (a) decimal y (b) binaria. Para expresar el producto resultante de la multiplicaci´ on de un n´ umero de n bits (multiplicando) por uno de m bits (multiplicador), se requieren n + m bits. El algoritmo de desplazamiento y sumas requiere m productos parciales y m sumas parciales para obtener el resultado (ver figura 3). 1101 x-----1100 0000 0000 00000 00000 000000 110100 0110100 1101000 10011100 multiplicandos desplazados Producto parcial multiplicandos desplazados Producto parcial multiplicandos desplazados Producto parcial multiplicandos desplazados Producto parcial producto multiplicando multiplicador Figura 3. Productos parciales en la multiplicaci´ on binaria.