Para os circuitos multiplicadores analisados, sem as linhas de pipeline, os valores de atraso podem ser obtidos a partir do parâmetro (tpd) da ferramenta Quartus II, que mede o
maior atraso da entrada até a saída do circuito (ALTERA, 2006). Em relação aos circuitos com linhas de pipeline, utilizam-se registradores que habilitam os dados para as suas saídas a partir de sinal de clock. Para este caso, visto a ferramenta Quartus II não fornecer o parâmetro tpd, utiliza-se o período (T) como parâmetro para medição do desempenho dos
circuitos multiplicadores com pipeline. A Tabela 4 mostra os valores de atraso para os circuitos multiplicadores com somadores RCA e CSA e com a utilização de pipeline.
Tabela 4. Valores de atrasos para os multiplicadores
Multiplicadores RCA(ns) (tpd) CSA (ns) (tpd) RCA e Pipeline(ns) - T CSA e pipeline (ns) - T Binário(m=2) 52.623 47.317 14.853 12.541 Hibrído(m=2) 53.044 49.382 15.206 13.851 Binário(m=4) 44.802 43.009 16.216 15.945 Hibrído(m=4) 61.214 59.101 22.564 21.954
Como pode ser observado na Tabela 4, os multiplicadores com somadores CSA apresentam redução nos valores de atraso quando comparados com as suas estruturas originais que utilizam o somador RCA para m=2 e m=4. Isto ocorre devido ao fato do somador CSA ter a capacidade de realizar operações de soma em paralelo, sem depender da propagação do carry dentro dos blocos de soma. Deve-se observar na Tabela 4 que esta redução do atraso com somadores CSA também ocorre para os circuitos utilizando pipeline, o que comprova a eficiência deste tipo de somador para aumento do desempenho dos circuitos multiplicadores.
Observa-se que as arquiteturas dos multiplicadores Binário (m=2 e m=4) apresentam menores valores de atraso em relação aos multiplicadores em código Híbrido. Isto ocorre devido ao multiplicador Híbrido possuir uma maior complexidade dos blocos básicos de multiplicação, como dito anteriormente.
A Tabela 4 mostra que o multiplicador Binário (m=4) possui os menores valores de atraso com somadores RCA e CSA sem pipeline. Isto ocorre devido à menor quantidade de linhas de termos de produtos parciais apresentadas por este circuito. Desta forma, este aspecto (menor quantidade de linhas de produtos parciais) compensa a maior complexidade apresentada pelos módulos de multiplicação básicos, contribuindo para a redução do caminho crítico deste tipo de estrutura. O mesmo aspecto não se verifica para os multiplicadores Híbridos m=4 sem pipeline, onde os módulos de multiplicação são um pouco mais complexos e a redução de linhas de produtos parciais não se torna suficiente para aumentar o desempenho destas estruturas.
Observa-se pelos resultados da Tabela 4 que para os multiplicadores com pipeline, os circuitos Binário e Híbrido utilizando m=2 apresentam os menores valores de atraso. Isto mostra que o componente FPGA consegue mapear de forma mais eficiente para a sua estrutura interna os circuitos multiplicadores m=2, quando da utilização de pipeline.
4.3 Resultados de Potência
As Tabelas 5 e 6 apresentam os valores obtidos nas simulações para o consumo de potência com vetores senoidais (explorando o aspecto de correlação dos dados) e vetores randômicos. Os valores apresentados nestas tabelas mostram a parcela de potência dinâmica fornecida pela ferramenta Quartus II. Esta parcela foi selecionada para ser apresentada, pois representa a parcela que mais contribui para o consumo de potência total dos circuitos.
Tabela 5. Valores de consumo de potência utilizando vetores senoidais (Dinâmico)
Multiplicadores RCA (mW) CSA (mW) RCA e Pipeline
(mW) CSA e pipeline (mW) Binário (m=2) 390.14 317.32 155.37 151.13 Híbrido (m=2) 396.67 372.78 156.63 152.35 Binário (m=4) 266.26 263.54 187.46 185.02 Híbrido (m=4) 362.80 359.02 223.50 220.98
Tabela 6. Valores de consumo de potência utilizando vetores randômicos (Dinâmico)
Multiplicadores RCA (mW) CSA (mW) RCA e Pipeline
(mW) CSA e pipeline (mW) Binário (m=2) 503.12 410.13 205.81 201.66 Híbrido (m=2) 523.02 464.66 206.91 202.50 Binário (m=4) 321.61 319.41 230.97 228.54 Híbrido (m=4) 438.87 434.47 283.39 281.54
Uma comparação inicial entre os valores apresentados nas Tabelas 5 e 6 mostra que o aspecto da correlação dos dados nos vetores senoidais, contribui para o menor consumo de potência apresentado por todos os circuitos multiplicadores. Outro aspecto a ser destacado nas Tabelas 5 e 6 é que o uso de somadores CSA nos multiplicadores Binário e Híbrido (m=2 e m=4) contribui para a redução do consumo de potência destes circuitos.
No caso dos multiplicadores sem pipeline, observa-se que o multiplicador Binário m=4 apresenta o menor valor de potência entre os multiplicadores. Este resultado está em conformidade com o menor valor de atraso apresentado por esta estrutura e também o menor valor de sinais espúrios, devido à menor quantidade de linhas de soma de produtos parciais.
Observa-se pelos resultados apresentados nas Tabelas 5 e 6 que o uso de pipeline nas estruturas dos circuitos multiplicadores oferece uma redução significativa do consumo de potência nos circuitos multiplicadores. De fato, a introdução de registradores ao longo da estrutura array dos circuitos multiplicadores contribui para a redução da atividade de glitching (sinais espúrios), que é responsável por uma parcela significativa do consumo de potência em circuitos multiplicadores.
Observa-se pelos resultados mostrados nas Tabelas 5 e 6 que os circuitos multiplicadores m=2 com pipeline apresentam menores valores de consumo de potência. Este resultado está em conformidade com os valores de atraso apresentados na Tabela 4 e reforçam o aspecto de que o componente FPGA consegue mapear para a sua estrutura interna, de uma forma mais eficiente, os circuitos multiplicadores m=2 com pipeline.
5. Conclusões
Neste trabalho foram apresentadas novas estruturas de circuitos multiplicadores array operando nas bases 4 (m=2) e 16 (m=4). Foram utilizadas nos multiplicadores, algumas técnicas para o aumento de desempenho e redução do consumo de potência, como a utilização de somador CSA, codificação de operandos e pipeline. Através dos resultados mostrados, foi possível verificar a eficiência das novas arquiteturas de circuitos multiplicadores utilizando o somador CSA para a redução do consumo de potência e também redução do atraso dos circuitos. A utilização de pipeline também se mostrou eficiente para as reduções de atraso e consumo de potência dos circuitos multiplicadores. Entretanto, o uso de pipeline resulta no aumento da área (número de elementos lógicos) nos circuitos multiplicadores, devido à introdução de registradores em suas estruturas do tipo array.
Outro ponto abordado neste trabalho foi a possibilidade de operação dos circuitos multiplicadores em diferentes bases. Neste aspecto, observou-se que o multiplicador Binário operando na base 16 se mostrou mais eficiente em termos de atraso e consumo de potência. Isto devido ao menor número de linhas de somas de produtos parciais. Entretanto, quando do uso da técnica pipeline, observou-se que os circuitos multiplicadores operando na base 4 são mapeados de forma mais eficiente para a estrutura interna do FPGA, o que contribui para os seus menores valores de atraso e consumo de potência.
Finalmente, foi possível explorar neste trabalho a utilização da técnica de codificação de operandos nos circuitos multiplicadores, com os mesmos operando em código Híbrido. Observou-se que em termos de FPGA, estes multiplicadores não se mostraram mais eficientes do que os multiplicadores Binários. Entretanto, devido à proximidade dos resultados de potência entre os multiplicadores Binário e Híbrido, principalmente com o uso de pipeline, estimulam novas comparações de consumo de potência entre estes multiplicadores em outros níveis de abstração (nível lógico e nível de transistores).
REFERÊNCIAS
ALTERA, Corporation at http://www.altera.com/ . 2007
ALTERA, Corporation. Programmable Logic Device Family. Data Sheet, 2002 ALTERA. Quartus II Version 6.0 Handbook. [S.l.]: Altera Inc., 2006. v.I.
ASATO, C.; DITZEN, C.; DHOLAKIA, S. A Data-Path Multiplier with Automatic
Insertion of Pipeline Stages. IEEE Journal of Solid-State Circuit. New York., v.25, p.
383-387, 1990.
BAUGH, C. R.; WOOLEY, B. A.; A two’s complement Parallel Array Multiplications
Algorithm. IEEE Trans. Computers, vol. C-22, No. 1-2. December 1973, p. 1045-1047.
BENINI, L. et al. System-Level Power Optimization of Special Purpose Applications:
the beach solution. In: INTERNATIONAL SYMPOSIUM ON LOW POWER AND
ELETRONIC DESIGN, ISLPED, 1997, Monterey. Proceedings… New Youk: ACM, 1997. p. 24-29
BHAVNAGARWALA, A. el tal. Minimum Total Power Methodology for Projecting
Limits on CMOS GSI. IEEE Transactions on Very Large Scale Integration (VLSI)
Systems, New York, v.8, p. 235-251, June 2000.
BOOTH, A. A Signed Binary Multiplication Technique. Journal of Mechanics and Aplied Mathematics, [S.l.], n.4, p.236-240, June 1951.
CHANDRAKASAN, A.; BRODERSEN, R. Low Power Digital CMOS Design. Kluwer Academic Publishers, 1995.
CHERKAUER, B.; FRIEDMAN, E. A Hybrid Radix-4/Radix-8 Low Power, High Speed
Multiplier Architecture for Wide Bit Widths. In: IEEE INTERNATIONAL
SYMPOSIUM ON CIRCUITS AND SYSTEMS, ISCAS, 1996. Papers. Piscataway: IEEE, 1996. v.4, p.53-56.
COSTA, E. A. C. da. Operadores Aritméticos de Baixo Consumo para Arquiteturas de
Circuitos DSP. 2002. Tese (Doutorado em Ciência da Computação) — Programa de Pós-
Graduação em Computação - UFRGS, Porto Alegre, RS.
COSTA, J. Monteiro, and S. Bampi. A New Architecture for Signed Radix-2m Pure
Array Multipliers. In IEEE International Conference on Computer Design, pages 112-117,
COSTA, E.; MONTEIRO, J.; BAMPI, S. A New Architecture for 2’s Complement Gray
Enconded Array Multiplier. In: SYMPOSIUM ON INTEGRATED CIRCUITS AND
SYSTEMS DESIGN, SBCCI, 15.,Sept. 2002c. Proceedings.. Artigo aceito.
COSTA, E.; MONTEIRO,. J.; BAMPI, S. Power Optimization Using Coding Methods
on Arithmetic Operators. In: IEEE INTERNATIONAL SYMPOSIUM ON SIGNALS
CIRCUITS AND SYSTEMS, SCS, 2001. Iasi. Proceedings… Piscataway: IEEE CAS Society, 2001. p. 505-508c.
FAVALLI, M.; Analysis of Glitch Power Dissipation in CMOS ICs. In: INTERNATIONAL SYMPOSIUM ON LOW POWER ELECTRONICS AND DESIGN, ISLPED, 1995, Dana Point. Proceedings… New York: ACM, 1995. p. 123-128.
GALLAGHER, W. L.; SWARTZLANDER, E. E. Jr., High Radix Booth Multipliers
Using Reduced Area Adder, In. Signals, Systems and Computes Conference, 1994.
GOLDOVSKY, A. et al. Design and Implementation of a 16 by 16 Low-Power Two’s
Complement Multiplier. In: IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS
AND SYSTEMS, ISCAS, 2000. Papers. Piscataway: IEEE, 2000. v.5, p.345-348.
GOWAN, M. K.; Biro, L. L.; Jackson, D. B. Power Considerations in the Design of the
Alpha 21264 Microprocessor, Design Automation Conference, p. 726 – 731, Jun. 1998.
GÜNTZEL, J. A. Functional Timing Analysis of VLSI Circuits Containing Complex
Gates. 2000. 182f. Tese (Doutorado em Ciência da Computação) – Universidade Federal
do Rio Grande do Sul, Porto Alegre, 2000.
HARTLEY, R.; PARHI, K. Digit-Serial Computation. Dordrecht: Kluwer Academic, 1995.
HAYKIN, S. Adaptive Filter Theory, 4. ed. Englewood Cliffs, NJ: Prentice-Hall, 2002. HWANG, K. Computer Arithmetic: Principles, Architecture and Design. New York: John Wiley and Sons, 1979.
KHATER, I.; BELLAOUAR, A.; ELMASRY, M. Circuit Techniques for CMOS Low-
Power High-Performace Multipliers. IEEE Journal of Solid-State Circuits, New York, v.
31, n.10, p.1535-1546, Oct. 1996.
KIM T., W. Jao and S Tjiang. Arithmetic Optimization using Carry-Save adders. In 35th Design Automation Conference, pages 433-438,1998.
KIM, C.H.; ROY, K. Dynamic VTH Scaling Scheme for Active Leakage Power
Reduction, Design, Automation and Test in Europe Conference and Exhibition,
KIM, N. S.; Blaauw, D.; Mudge, T. Leakage Power Optimization Techniques for Ultra
Deep Sub-Micron Multi-Level Caches, International Conference on Computer Aided
Design ICCAD-2003. p. 627 – 632, Nov. 2003.
LU, MI; Arithmetic and Logic in Computer Systems. 2004. John Wiley & Sons, Inc. New Jersey. USA
MARTIN, Kenneth W. Digital Integrated Circuit Design, New York, New York – USA: Oxford University Press, 2000.
MEHTA, H.; OWENS, R.; IRWIN, M. Some Issues in Gray Code Addressing. In: GREAT LAKES SYMPOSIUM ON VERY LARGE SCALE INTEGRATION, 1996, Ames. Proceedings… New York: ACM, 1996. p. 178-181.
MILLAR, B.; MADRID, P.; SWARTZLANDER, E. A Fast Hybrid Multiplier
Combining Booth and Wallace/DADDA Algorithms. In: MIDWEST SIMPOSIUM ON
CIRCUITS AND SYSTEMS, 35., 1992, Washington. Proceedings… Piscataway: IEEE CAS Society, 1992. v.1, p.158-165.
NAJM, F.N. A Survey of Power Estimation Techniques in VLSI Circuits, IEEE Transactions on Large Scale Integration (VLSI) Systems, Urbana – IL, USA, p. 446 – 455, Dec. 1994.
NAKAMURA, S. Algorithm for Iterative Array Multiplication. IEEE Transactions on Computers, Washington, v.35, n.8, p. 713-719, Aug. 1986.
OLIVEIRA, L. L.; Prototipação e Análise de Circuitos Multiplicadores Array de Baixo
Consumo. Dissertação de Mestrado. PPGEE. UFSM, RS. 2005
PEKMESTZI, K. Multiplexer-Base Array Multipliers. IEEE Transactions on
Computes, New York, v. 48, n.1, p.15-23, Jan 1999.
PENZES, P. L.; Martin, A. J. An energy Estimation Method for Asynchronous Circuits
with Application to an Asynchronous Microprocessor, Design, Automation and Test in
Europe Conference and Exhibition, Paris, France, p. 640 – 647, March 2002.
PHILLIPS, C. and K. Hodor. Breaking the 10K FPGA Barrier Calls for an ASIC-Like
Design DStyle. In Integrated System Design, 1996.
POPPEN, F. Low Power Design Guide. Oldenburg: Oldenburger Forschungs-Und Entwicklungsinstitut Fur Informatik-Werkzeuge Und-Systeme-OFFIS, 2000.
RABAEY, Jan M. Digital Integrated Circuits – A Design Perspective, USA, Prentice Hall, 1996.
RUSHTON, Andrew, VHDL for Logic Synthesis – Second Edition, John Wiley & Sons, England, 1998.
SAM, H.; GUPTA, A. A Generalized Multbit Recoding of Two’s Complement Binary
Numbers and Its Proof with Application in Multiplier Implementations. IEEE
Transactions on Computers, New York, v.39, n.8, p.1006-1015, July 1990.
SEIDEL, P.; MCFEARIN, L.; MATULA, D. Binary Multiplication Radix-32 and Radix-
256. In: SIMPOSIUM ON COMPUTER ARITHMETIC, 15., 2001. Proceedings… Los
Alamitos: IEEE Computer Society, 2001. p.23-32.
SHAH, S.; Al-Khalili, A.J.; Al-Khalili, D. Comparison of 32-bit Multipliers for Various
Performance Measures, The 12th International Conference on Microelectronics,
November 2000.
SHEN, A.; Ghosh, A.; Devadas, S.; Keutzer, K. On Average Power Dissipation and
Random Pattern Testability of CMOS Combinational Logic Networks, International
Conference on Computer-Aided Design ICCAD-92, Santa Clara, CA – USA, p. 402 – 407, Nov. 1992.
STAN, M.; BERLESON, W. Bus-Invert Coding for Low-Power I/O. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, New York, v.3, n.1, p. 49-58, Mar. 1995. STAN, M.; BURLESON, W. Low-Power Encodings for Global Communication in
CMOS VLSI. IEEE Transactions on VLSI Systems, Mar. 1997.
STAN, M.; BURLESON, W. Limited-weight Codes for Low-Power I/O. IEEE International Workshop on Low Power Design, Abril, 1997a.
VEENDRICK, H. Short-Circuit Dissipation of Static CMOS Circuits and Its Impact
on the Design of Buffer Circuits, IEEE Journal of Solid-State Circuits, New York –USA,
v. 19, p. 468 – 473, Aug. 1984
WALLACE, C. A Sugestion for Fast Multiplier. IEEE Transactions on Eletronic Computes, [S.l.], v.13, p. 14-17, Feb. 1964.
WANG, Y. JIANG, Y.; SHA, E. On Area-Efficient Low Power Array Multipliers. In: IEEE International Conference on Eletronics, Circuits and Systems, ICECS, 8., 2001, Malta. Preoceedings… Piscataway: IEEE CAS Society, 2001. p. 1429-1432
WEST, N. H. E.; ESHRAGHIAN, K. Principles of CMOS VLSI Design – A Systems
Perspective. Santa Clara, CA – USA: AT&T, 1994.
WILLIAMS, T.W. DENNARD, R.H. KAPUR, R. MERCER, M.R. MALY, M. Iddq test:
sensitivity analysis of scaling, Test Conference, Washington, DC – USA, p. 786 – 792,
Oct. 1996.
YU, Z.; WASSERMAN, L.; WILSON, A. A Painless Way to Reduce Power by Over
SIGNAL PROCESSING SYSTEMS, SIPS, 2000, Lafayette. Proceedings… Piscataway: IEEE Signal Processing Society, 2000. p. 571-580.