You are on page 1of 47

UNIVERSIDADE CATLICA DE PELOTAS

ESCOLA DE INFORMTICA
PROGRAMA DE PS-GRADUACO EM INFORMTICA

Circuitos Multiplicadores Array de Baixo Consumo


por
Leandro Zafalon Pieper

Trabalho Individual I
TI-2007-1-01

Orientador: Prof. Dr. Eduardo Antnio Csar da Costa


Co-orientador: Prof. Dr. Srgio Jos Melo de Almeida

Pelotas, julho de 2007

AGRADECIMENTOS
Presto meus agradecimentos a todos que de alguma forma contriburam de forma
direta ou indireta para a concluso deste trabalho.
Aos meus colegas de laboratrio, meu sincero obrigado, por sua companhia e
auxlio.
Agradeo tambm a minha me e a minha namorada pelo incentivo dado.
Um especial agradecimento aos meus professores, orientador Eduardo Antnio
Csar da Costa e co-orientador Prof. Srgio Jos Melo, pelo incentivo e ajuda. Saibam
todos que vossa amizade, apoio e companheirismo foram fundamentais para o
desenvolvimento deste trabalho.

SUMRIO
LISTA DE FIGURAS.......................................................................................................... 5
LISTA DE TABELAS ......................................................................................................... 6
LISTA DE ABREVIATURAS E SIGLAS ........................................................................ 7
RESUMO.............................................................................................................................. 8
ABSTRACT ......................................................................................................................... 9
1 INTRODUO ........................................................................................................... 10
1.1 Motivao .................................................................................................................. 11
1.2 Objetivos.................................................................................................................... 11
1.3 Metodologia............................................................................................................... 12
2 POTNCIA E ATRASO EM CIRCUITOS CMOS................................................. 13
2.1 Fontes de Consumo de Potncia em Circuitos CMOS .......................................... 14
2.1.1 Consumo de Potncia de Curto-Circuito ................................................................. 15
2.1.2 Consumo de Potncia Esttica................................................................................. 15
2.1.3 Consumo de Potncia Dinmica.............................................................................. 16
2.1.4 Consumo de Potncia pela Atividade de Glitching ................................................. 17
2.2 Anlises de Atraso em Circuitos CMOS................................................................. 18
2.2.1 Anlise Esttica de Atraso....................................................................................... 18
2.2.2 Anlise de Folga Temporal...................................................................................... 19
2.2.3 Anlise Dinmica do Atraso.................................................................................... 19
3 ARQUITETURAS DEDICADAS DE CIRCUITOS MULTIPLICADORES DE
BAIXO CONSUMO .......................................................................................................... 20
3.1 Estado da Arte de Circuitos Multiplicadores......................................................... 20
3.2 Multiplicador Array Binrio ................................................................................... 23
3.2.1 Operao de Multiplicao na Base 2m em Complemento de 2............................. 24
3.2.2 Multiplicador Array Binrio Usando CSA e Pipeline ............................................. 26
3.3 Multiplicador Hbrido.............................................................................................. 31
3.3.1 Codificao de Operandos....................................................................................... 31
3.3.2 Cdigo Hbrido ........................................................................................................ 32
3.3.3 Multiplicao Hbrida em Complemento de 2 ........................................................ 34
3.3.4 Multiplicador Array Hbrido usando CSA e Pipeline ............................................. 35
4 RESULTADOS OBTIDOS......................................................................................... 37
4.1 Resultados de rea ................................................................................................... 37
4.2 Atraso......................................................................................................................... 38

4
4.3
5

Resultados de Potncia............................................................................................. 40
CONCLUSES............................................................................................................ 42

REFERNCIAS ............................................................................................................... 43

LISTA DE FIGURAS
Figura 1
Figura 2
Figura 3
Figura 4
Figura 5
Figura 6
Figura 7
Figura 8
Figura 9
Figura 10
Figura 11
Figura 12
Figura 13
Figura 14
Figura 15

Metodologia para estimativa de rea, atraso e potncia dos circuitos............... 13


Esquema de contribuio de glitches para dissipao de potncia.................... 18
Multiplicador Array Binrio de 4 bits ............................................................... 23
Exemplo de multiplicao de 4 bits base-4(m=2) em complemento de 2. ....... 25
Estrutura geral para multiplicao na base 2m em compl. de 2 ......................... 25
Ex. de multiplicador array base 4 de 8 bits em compl. de 2.............................. 26
Ex. de um somador Carry Save ......................................................................... 27
Ex. de soma de nmeros de 4 bits usando a estrutura Carry Save .................... 27
Ex. de multiplicao de 6 bits em compl. de 2 usando CSA............................. 28
Ex. de multiplicador array de 8 bits em compl. de 2 base-4 usando CSA ........ 29
Ex. de multiplicador array de 8 bits na base 4 em compl. de 2 com pipeline ... 30
Converso entre os cdigos Binrio e Hbrido................................................. 34
Ex. de uma mult. de 4 bits na base 4 (m=2) em compl. de 2 com cd. Hbrido 35
Ex. de multiplicao hbrida de 6 bits em compl. de 2 usando CSA ................ 35
Ex. de multiplicador Hbrido de 8 bits na base 4 em compl. de 2 usando CSA 36

LISTA DE TABELAS
Tabela 1
Tabela 2
Tabela 3
Tabela 4
Tabela 5
Tabela 6

Representao dos cdigos Binrio, Hbrido (m=2) e Gray em compl. de 2 .... 33


Nmero de transies para os cdigos Binrio, Hbrido (m=2) e Gray ............ 33
Valores de rea para os multiplicadores (elementos lgicos)............................ 38
Valores de atrasos para os multiplicadores........................................................ 39
Valores de consumo de potncia utilizando vetores senoidais (Dinmico) ...... 40
Valores de consumo de potncia utilizando vetores randmicos (Dinmico)... 40

LISTA DE ABREVIATURAS E SIGLAS


ASICs
CMOS
CSA
DSP
FPGA
MAC
NMOS
PMOS
RCA
VHDL
VHSIC
VLSI

Circuito de Aplicao Especfica


Complementary Metal Oxide Semiconductor
Carry Save Adder
Digital Signal Processing
Field Programmable Gate Array
Multiplicador Somador Acumulador
Negative Channel Metal Oxide Semiconductor
Positive Channel Metal Oxide Semiconductor
Ripple Carry Adder
VHSIC Hardware Description Language
Very High Speed Integrated Circuits
Very Large Scale Integration

Resumo
O objetivo principal deste trabalho a implementao e anlise de novas
arquiteturas de circuitos multiplicadores array digitais recentemente apresentados no meio
cientifico com diferentes tcnicas de reduo de potncia, tais como a utilizao de
eficientes estruturas de circuitos somadores, a tcnica de codificao de operandos e a
tcnica de reduo do caminho crtico usando pipeline. A proposta de novas arquiteturas
consiste em operaes de multiplicao em complemento de 2 e que mantenham a mesma
regularidade de um multiplicador array convencional. As arquiteturas podem operar com
nmeros na base 2m, onde m representa o grupo de bits de multiplicao. Em um
multiplicador array convencional, onde a operao de multiplicao realizada bit a bit, o
valor de m igual a 1 (operao na base 2). Neste trabalho, so apresentadas novas
arquiteturas de multiplicadores que operam na base 4 (m=2) e na base 16 (m=4), o que
permite a reduo do nmero de linhas de produtos parciais, com impactos diretos no
aumento de desempenho e reduo do consumo de potncia. A implementao dos
diferentes circuitos multiplicadores foi realizada em FPGA, onde circuitos multiplicadores
de 16 bits so comparados em termos de parmetros de rea, atraso e consumo de potncia.
As diferentes arquiteturas de circuitos multiplicadores exploradas neste trabalho visam as
suas aplicaes em circuitos dedicados para implementao de algoritmos adaptativos
usados na filtragem digital de sinais. Como parte integrante deste trabalho, apresenta-se
uma reviso bibliogrfica sobre o estado da arte de tcnicas de reduo de consumo de
potncia em diferentes topologias de circuitos multiplicadores.

Palavras-Chave: multiplicadores array, FPGA, codificao de operandos, baixa potncia

Title: Low-Power Array Multipliers Circuits

Abstract
The main goal of this work is the implementation and analyzes of new array
multiplier architectures. These new architectures were recently presented in the scientific
community by including different power reduction techniques, such as the use of efficient
adder circuits, operand encoding and critical path reduction by using pipelining approach.
The new multipliers operate in 2s complement and keep the same regularity presented by a
conventional array multiplier. The architectures operate in the radix 2m, where m represents
the group of bits multiplied at a time. In a conventional array multiplier, where the
multiplication is performed bit by bit, m assumes value equal 1 (radix 2 operation). In this
work, the new multiplier architectures operate in the radix-4 (m=2) and radix-16 (m=4),
leading to a reduction in the number of partial product lines, enabling higher performance
and power reduction in the multipliers. Area, delay and power consumption results are
presented for the multipliers using Quartus II FPGA Synthesis tool. In this work we intend
to apply the dedicated multiplier architectures in the implementation of adaptive algorithms
for digital signal filtering. As part of this work, it is presented a related work emphasizing
the state of the art of the main low power techniques applied to different types of multiplier
circuits.

Keywords: array multipliers, FPGA, operand encoding, low power

10

1. Introduo
A rpida e crescente inovao em dispositivos VLSI (Very Large Scale Integration)
impulsiona a utilizao das tecnologias de fabricao aos seus limites, dentre as quais a
verificao da dissipao de potncia um dos problemas de maior preocupao.
Equipamentos portteis, como notebooks, telefones celulares, handhelds, aparelhos
biomdicos portteis, entre outros, necessitam de um alto desempenho e baixo consumo de
potncia. Neste contexto, aspectos de baixa dissipao de potncia, exigem a pesquisa de
novas arquiteturas confiveis que possam ser testadas e fabricadas e que levem em
considerao as necessidades de sistemas eletrnicos portteis e de funes diversas
(COSTA, 2002). Na verdade, a nfase crescente no projeto de circuitos integrados de baixa
potncia em sistemas de alto desempenho que levem em considerao aspectos como
densidade de integrao, velocidade de operao e freqncia de relgio.
Este trabalho consiste na implementao de novas arquiteturas de circuitos
multiplicadores com diferentes grupos de bits utilizando eficientes estruturas de circuitos
somadores e a tcnica de reduo do caminho crtico usando pipeline. As novas arquiteturas
de circuitos multiplicadores foram implementadas em FPGA (Field Programmable Gate
Array) e apresentam como principal caractersticas a regularidade e reduo de caminhos
crticos e transies esprias que so propagadas ao longo do array, tornando possvel a
reduo do consumo de potncia nas arquiteturas de multiplicadores.
As novas arquiteturas de circuitos multiplicadores propostas sero testadas em
estruturas dedicadas de filtragem adaptativa (HAYKIN, 2002). A tcnica de filtragem
adaptativa aplicada atualmente em um grande nmero de problemas de engenharia. Por
exemplo, esta tcnica tem sido explorada com sucesso em diversos sistemas de
comunicao, tais como adaptao de antenas, equalizadores de canais para transmisso de
dados, cancelamento de eco em telefonia de longa distncia, cancelamento de interferncia,
estimao espectral, anlise e sntese de voz e, dentre as aplicaes mais recentes, no
cancelamento de eco acstico. Nestas mais diversas aplicaes, a reduo do consumo de
potncia um fator importante a ser explorado. Desta forma, neste trabalho uma das
maneiras de explorao da reduo do consumo de potncia em filtragem adaptativa a

11
aplicao de novas arquiteturas de circuitos multiplicadores que possam atuar de forma
eficiente neste processo de filtragem.

1.1 Motivao
Na rea de Processamento Digital de Sinais (Digital Signal Processing-DSP) os
circuitos que implementam os diversos algoritmos, incluem um elevado nmero de
operadores aritmticos. Dentre estes operadores, os circuitos multiplicadores so
responsveis por uma parte significativa do consumo de potncia global no processamento
dos sinais digitais.

Desta forma, a proposta de novas arquiteturas de circuitos

multiplicadores de alto desempenho e baixo consumo contribui para o projeto de circuitos


mais eficientes nestas reas de aplicao.
Diante do quadro exposto, surge a motivao em analisar em diferentes nveis de
abstrao os circuitos multiplicadores apresentados em (COSTA, 2002) com diferentes
tcnicas de reduo do consumo de potncia, como a utilizao de eficientes estruturas de
circuitos somadores e a tcnica de reduo do caminho crtico usando pipeline.
Neste trabalho os diferentes circuitos multiplicadores so testados e validados nos
nveis FPGA (PHILLIPS, 1996), a partir das ferramentas Quartus II da Altera (ALTERA,
2007).

1.2 Objetivos
O principal objetivo deste trabalho implementar e analisar o desempenho de
diferentes arquiteturas de multiplicadores digitais de 16 bits presentes na literatura. So
investigados 2 diferentes tipos de multiplicadores paralelos, sendo estes chamados array
Binrio e array Hbrido (COSTA,2002). O uso de somadores eficientes do tipo Ripple
Carry (RCA) (HARTLEY, 1995) e Carry Save (CSA) (KIM, 1998) nas linhas de produtos
parciais e usando a tcnica pipeline para aumento de desempenho dos multiplicadores
tambm alvo deste trabalho.
A anlise comparativa dos resultados foi efetuada considerando as mtricas de rea,
atraso e consumo de potncia para multiplicadores com diferentes grupos de bits (m = 2
multiplicao na base 4 e m = 4 multiplicao na base 16).

12
As arquiteturas destes operadores aritmticos esto apresentadas em (COSTA,
2002) e so exploradas neste trabalho, assim como novas arquiteturas so analisadas.
Neste trabalho explorado o aspecto da regularidade apresentado pelas novas
arquiteturas de multiplicadores array. Nesta proposta trabalho este aspecto levado em
considerao a partir da implementao destas arquiteturas no nvel FPGA onde os
resultados so obtidos para um determinado componente da famlia Stratix da fabricante
Altera, atravs da ferramenta Quartus II. Uma pesquisa bibliogrfica foi realizada nos
multiplicadores do estado da arte onde so analisadas as topologias utilizadas nestes
circuitos para aumento de desempenho, assim como as tcnicas para reduzir o consumo de
potncia.

1.3. Metodologia
Para cada uma das fontes de consumo de potncia de um circuito integrado, existem
vrias tcnicas visando a sua estimativa de modo eficiente considerando os diversos fatores
que definem os seus modelos. No presente trabalho, o enfoque o consumo de potncia
dinmica, pois este representa a maior parcela de consumo de potncia de um circuito
integrado (WEST, 1994).
O procedimento completo de um projeto que envolve a anlise de potncia de um
circuito consiste inicialmente em estabelecer um nvel de descrio da arquitetura do
circuito a ser analisada. Esta descrio fornece para a ferramenta de anlise de potncia
uma lista de todos os diferentes mdulos que tm de ser analisados bem como suas
complexidades. O diagrama da metodologia utilizada neste trabalho mostrado na Figura
1.
A descrio dos circuitos realizada no formato VHDL (VHSIC Very High Speed
Integrated Circuits Hardware Description Language) (RUSHTON, 1998). Com este
formato realizada a sntese e simulao dos circuitos por intermdio do programa Quartus
II que utiliza componentes FPGA da fabricante Altera. Os resultados de rea, atraso e
potncia so obtidos no prprio ambiente para o componente FPGA EP1S10B67C6 da
famlia Stratix.

13

Figura 1 Metodologia para estimativa de rea, atraso e potncia dos circuitos

Com esta metodologia, pode-se comparar os resultados obtidos no nvel lgico em


(COSTA, 2002) com os resultados obtidos no nvel FPGA. Para tal, utiliza-se o mesmo
conjunto de vetores de entrada dos multiplicadores para se ter uma comparao justa entre
os resultados de consumo de potncia obtidos. Neste trabalho foram utilizados 100 vetores
senoidais e aleatrios. A principal caracterstica explorada nos vetores senoidais o
impacto da correlao dos dados no consumo de potncia. Tambm se explora a
caracterstica de aleatoriedade dos sinais no consumo de potncia.

2. Potncia e Atraso em Circuitos CMOS


Neste captulo sero abordados os aspectos de consumo de potncia e atraso de
propagao em circuitos CMOS (Complementary Metal Oxide Semiconductor). Sero
apresentados alguns conceitos que envolvem as principais fontes de consumo de potncia e
atraso em circuitos CMOS (OLIVEIRA, 2005).
O custo de produtos eletrnicos para o consumidor associados com o encapsulamento
e resfriamento dos chips impem limitaes severas dissipao mdia de potncia.
Aquecimento e temperatura esto diretamente relacionados com a potncia mdia (NAJM,
1994). De fato, um outro fator de interesse do projetista de circuitos integrados alm da
dissipao de potncia so problemas de temperatura dos dispositivos. Com a reduo do

14
tamanho dos dispositivos, a densidade dos transistores tende a aumentar, gerando o
aumento do nmero de componentes dissipando potncia por unidade de rea. Alm disso,
a reduo do tamanho provoca a reduo do atraso de propagao, permitindo a operao
dos circuitos em freqncias mais altas, o que por sua vez leva a um aumento do consumo
de potncia.
Inicialmente sero apresentados alguns conceitos que envolvem as principais fontes
de consumo de potncia em circuitos CMOS. Tambm sero abordados os principais
aspectos que envolvem a anlise de atraso de propagao de circuitos.

2.1. Fontes de Consumo de Potncia em Circuitos CMOS


Existem trs componentes que estabelecem a quantidade de potncia dissipada em
circuitos CMOS (WEST, 1994):
dissipao esttica de potncia devido corrente de fuga ou outras correntes
que fluem continuamente pela fonte de potncia do circuito;
o consumo de potncia de curto-circuito, que ocorre devido corrente direta
da fonte de alimentao para o terra durante o processo de comutao de uma
porta lgica;
dissipao dinmica de potncia devido corrente de comutao durante a
carga e descarga das capacitncias de sada.
Considerando as componentes acima, pode-se ento especificar, de acordo com a
Equao (1), o consumo de potncia total em circuitos CMOS:
PTOTAL PSC Pstatic Pdin

(1)

onde PSC a potncia de curto-circuito, Pstatic representa a parcela devida ao


consumo esttico e Pdin a potncia dinmica.
A principal razo para a popularidade da lgica CMOS que as portas tradicionais
no possuem consumo esttico quando suas sadas no esto comutando entre os nveis
lgicos. Entretanto, para qualquer sada de uma porta CMOS que tenha o seu valor lgico
alterado, haver uma potncia dissipada no gate dos transistores (MARTIN, 2000). A razo
inicial para esta dissipao de potncia o movimento de cargas eltricas para carregar e
descarregar capacitncias de carga externas e capacitncias parasitas internas. Em adio a

15
isto, para sinais de entrada com tempos de subida e descida finitos, possvel que um
caminho de corrente direto entre a fonte de tenso e o terra seja formado temporariamente
enquanto que esteja ocorrendo uma alterao na sada.
A seguir so apresentados detalhes das 3 principais fontes de consumo de potncia
em circuitos CMOS.

2.1.1. Consumo de Potncia de Curto-Circuito


O consumo de potncia de curto-circuito ocorre quando flui uma corrente diretamente
da fonte de alimentao para o terra. Isto ocorre quando um circuito CMOS esttico
chaveado por um sinal de entrada com tempos de subida e descida no-zero, com os
transistores tipos PMOS (Positive Channel Metal Oxide Semiconductor) e NMOS
(Negative Channel Metal Oxide Semiconductor) conduzindo simultaneamente por um curto
intervalo de tempo. Este consumo de potncia devido a corrente de curto-circuito contribui
com aproximadamente 10% do valor de consumo de potncia total (POPPEN, 2000), mas
pode tornar-se substancial, particularmente se a entrada mudar de maneira lenta, ou seja, se
os tempos de subida ou descida dos sinais de entrada dos circuitos so altos. Na realidade,
no correto assumir valores de tempo de subida e descida como sendo nulos para as
formas de onda de entrada (RABAEY, 1996). Como resultado disto, criado um caminho
para a corrente diretamente de para o terra em um curto perodo de tempo durante a
comutao, onde os transistores PMOS e NMOS esto conduzindo simultaneamente.

2.1.2. Consumo de Potncia Esttica

Correntes de fuga ou outras correntes que fluem continuamente pela fonte de


potncia causam a dissipao de potncia esttica. Idealmente, o consumo de potncia
esttica de um circuito CMOS nulo. Entretanto h sempre uma corrente de fuga presente.
Esta contribuio no consumo total de potncia torna-se um fator de preocupao medida
que a tecnologia de processo de semicondutores atinge valores abaixo de 0.1m (KIM,

16
2003). Estudos demonstram que para o caso de um circuito inversor, utilizando tecnologia
de 70nm, submetido a simulaes operando a 125C, as correntes de fuga podem chegar a
contribuir em 49% no consumo de potncia total do circuito (KIM, 2002). Correntes de
fuga podem ocorrer quando um transistor est no estado desligado e outro transistor ativo
carrega (up/down) o dreno em relao ao potencial de substrato. A potncia esttica total
o produto da corrente de fuga do dispositivo e da fonte de tenso, dada pela equao (2).

Pstatic I leakage .V DD

I leakage

(2)
(2.1)

VV

I S e T 1

onde VDD a tenso de alimentao do circuito e Ileakage a corrente de fuga que


dada pela equao caracterstica do diodo de polarizao reversa conforme dado na
equao 2.1, onde IS a corrente de saturao reversa, V a tenso do diodo e VT=KT/q a
tenso termal.

2.1.3. Consumo de Potncia Dinmica

A dissipao dinmica ocorre durante o processo de comutao dos transistores


PMOS e NMOS devido corrente de curto-circuito e pelo processo de carga e descarga da
capacitncia de sada. A potncia dinmica aparece com um maior valor percentual
contribuindo com 85% da parcela do consumo total. (STAN, 1997). A componente de
comutao dinmica de dissipao de potncia (P ) em uma transio na sada de uma
din

porta carregada por um capacitor C

dada de acordo com a equao (3)

(CHANDRAKASAN, 1995),
Pdin

1
1
2
2
C L AVDD afC LVDD
2
2

(3)

onde A a atividade do n de sada, medida em eventos/segundo para uma carga/descarga


completa. No caso de projetos sncronos, a atividade A no simplesmente f (freqncia),
mas em geral uma probabilidade de atividade normalizada a (menor do que 1 para modelo

17
de atraso zero) computada como funo da estatstica de entrada e modelos lgicos, pois
nem todos os ns mudam em um determinado ciclo de relgio. Se, em um circuito, uma
simples transio realizada a cada ciclo de relgio na taxa f , ento a potncia dada
clk

pela equao (4).


Pdin

1
2
C LVDD f clk
2

(4)

Entretanto, h casos em que a transio do sinal ocorre em diferentes taxas de


freqncia, tendo-se que considerar o valor do nmero de transies por ciclo de relgio ou
o fator de atividade a de transio dos ns, como mostrado na equao (3).

2.1.4. Consumo de Potncia pela Atividade de Glitching


A dissipao de potncia dinmica tambm influenciada por sinais esprios
(glitching), caracterstico de sistemas com lgicas complementares em cascata (GOWAN,
1998). A principal razo para a ocorrncia do efeito de glitching recai sobre o fato de que as
portas lgicas possuem um atraso de propagao do sinal diferente de zero (RABEY,
1996). Na realidade, o atraso de propagao finito de um bloco lgico para o prximo, pode
causar transies esprias, chamadas de glitches ou hazards. Estas transies esprias
dificultam a estimao da energia de circuitos sncronos. A principal razo para isto recai
no fato de que os glitches so muito dependentes do atraso do circuito e, desta maneira,
qualquer tentativa de se estimar a energia consumida, precisa incluir um modelo preciso de
atraso (PENZES, 2002). Desta maneira, um determinando n de um circuito pode exibir
mltiplas transies em um nico pulso de clock antes de estabelecer de fato o valor lgico
correto.
Esta atividade de chaveamento extra contribui para a dissipao total de energia com
cerca de 20% do valor global, mas pode chegar at a 70% da energia consumida no circuito
no caso de somadores combinacionais (SHEN, 1992).
Um esquema da contribuio de glitches para a dissipao de potncia em um circuito
digital mostrado na Figura 2. Podemos ver a gerao de glitches na sada de uma porta e a
propagao atravs de uma porta. (FAVALLI, 1995)

18

Figura 2 Esquema de contribuio de glitches para dissipao de potncia.

Observa-se que o instante de chaveamento do sinal de entrada de uma porta pode


causar nveis lgicos falsos em sua sada, contribuindo para a gerao de glitches. A
propagao destes sinais uma funo da profundidade lgica do circuito contribuindo
fortemente para o aumento do consumo de potncia.

2.2 Anlises de Atraso em Circuitos CMOS


A verificao de atraso tem por objetivo avaliar se as restries de velocidade de
operao impostas ao projeto esto sendo alcanadas. Ainda, a verificao de atraso
preocupa-se com a estimao do atraso crtico dos circuitos e com a mxima freqncia de
operao, no caso de circuitos temporizados (GUNTZEL, 2000). Tipicamente, a primeira
tarefa de uma anlise de atraso determinar os atrasos em todos os caminhos do circuito.
O resultado desta anlise verificar o caminho crtico do projeto, ou maior atraso. De
acordo com esta informao, estabelece-se a velocidade mxima na qual o circuito ir
operar. Como qualquer outro tipo de verificao, a preciso do teste do atraso
completamente dependente da preciso dos modelos de circuito adotados.

2.2.1. Anlise Esttica de Atraso


A anlise esttica de atraso faz a verificao do atraso do circuito pela adio de
atrasos de propagao ao longo de caminhos entre elementos sensveis ao clock em um
circuito. Nesta tcnica, as somas so confrontadas com as restries de atraso especificadas
para cada caminho do circuito. Devido a sua orientao para caminhos, as ferramentas de

19
anlise esttica de atraso podem determinar e reportar estatsticas de atraso tal como o
nmero total de caminhos, atrasos entre pinos em um caminho e os caminhos mais crticos
do circuito (ALTERA, 2006). Devido ao fato da anlise esttica de atraso no realizar uma
simulao funcional, os requerimentos para a construo de modelos so relativamente
simples, sendo que apenas informaes de atraso para cada parte do projeto so necessrias,
tais como atrasos entre pinos e restries de freqncia. Desta forma, vetores de teste e
modelos funcionais no so necessrios desde que a anlise no avalia o atraso em termos
de funes lgicas (ALTERA, 2006).

2.2.2 Anlise de Folga Temporal


A anlise de folga temporal (slack analysis) compara o atraso entre caminhos de
dados que terminam em dispositivos sncronos e seus correspondentes caminhos de clock
(ALTERA, 2006). Sinais de dados e de clock que se propagam ao longo destes caminhos
precisam ser sincronizados, caso contrrio, ocorrem violaes nas restries de atraso. Este
tipo de anlise verifica as restries de atraso enquanto perfaz estes caminhos, determina se
ocorrem quebras nas restries, e calcula o mximo perodo de tempo pelos quais caminhos
de dados podem tanto causar ou evitar violaes. Se a diferena entre o perodo
especificado nas restries de atraso e aquele calculado pela ferramenta como necessrio
para o circuito resultar em um valor negativo, indica que uma violao realmente ocorreu,
enquanto que um valor positivo estabelece que a violao no ocorreu.

2.2.3. Anlise Dinmica de Atraso


A anlise dinmica verifica o atraso do circuito pela aplicao de vetores de teste que
so projetados para detectar violaes de atraso. Esta aproximao uma extenso da
simulao e garante que o atraso do circuito testado em um contexto funcional. Este tipo
de teste apresenta como resultado, erros de atraso que funcionalmente existem no circuito e
prev erros que ocorram em caminhos no usados do circuito. Para testar o atraso do
circuito utilizando condies de pior caso, as ferramentas de anlise dinmica de atraso
avaliam o circuito utilizando o mnimo e mximo atraso de propagao para cada
componente no projeto (ALTERA, 2006). Para disponibilizar uma anlise efetiva do pior

20
caso, a ferramenta precisa determinar quando aplicar um atraso mnimo ou mximo
baseada nas ligaes e se outros tipos de restries esto sendo avaliados.

3. Arquiteturas Dedicadas de Circuitos Multiplicadores de Baixo


Consumo
Entre os operadores aritmticos, os circuitos multiplicadores so os mais comuns em
muitas operaes envolvendo multiplicao e acumulao (MAC), como os algoritmos da
rea de Processamento Digital de Sinais (DSP), por exemplo. Nos circuitos DSP, os
multiplicadores so os responsveis pela maior parte do consumo de potncia (COSTA,
2002). Diante disto, apresenta-se o interesse na aplicao de tcnicas que possam reduzir o
consumo de potncia dos circuitos multiplicadores. Novas arquiteturas de circuitos
multiplicadores de baixa potncia do tipo array, que operam em complemento de 2 na base
m

2 , foram recentemente apresentadas em (COSTA, 2002). A principal caracterstica destes


novos multiplicadores a reduo da atividade de chaveamento e operao em diferentes
codificaes de dados. Outro aspecto a ser destacado a regularidade dos circuitos, que
facilita alm das suas implementaes em layout. Neste trabalho foi executada a aplicao
de outras tcnicas de reduo de potncia, como pipelining e a utilizao de somadores
inteligentes.
A seguir so apresentadas as principais caractersticas das arquiteturas de
multiplicadores alvo deste trabalho, bem como uma reviso bibliogrfica sobre o estado da
arte em circuitos multiplicadores.

3.1. Estado da Arte de Circuitos Multiplicadores


Os circuitos multiplicadores para aplicaes na rea DSP necessitam de alto
desempenho, baixo consumo de potncia e execuo de operaes de multiplicao com
sinal. Neste contexto, os multiplicadores mais rpidos so os paralelos. Entre estes, os
multiplicadores Wallace (WALLACE, 1964) esto entre os mais rpidos. Entretanto, estes
multiplicadores no apresentam boa regularidade, o que compromete os seus consumos de
potncia. Por outro lado, um multiplicador Booth (BOOTH, 1951) apresenta um bom

21
aspecto de regularidade, alm da reduo das linhas de produtos parciais, o que representa o
estado da arte em operaes de multiplicao com aspecto de baixo consumo de potncia.
Devido sua complexidade e grande utilizao nos mais diversos algoritmos, uma
grande quantidade de trabalhos de pesquisa tm sido desenvolvida, visando o projeto de
eficientes e regulares arquiteturas de circuitos multiplicadores com operaes em
complemento de 2. Esquemas de multiplicao tais como bi-section (LU, 2004), BaughWooley (BAUGH, 1973) e Hwang (HWANG, 1979) propem a implementao de
arquiteturas em complemento de 2, utilizando mdulos repetitivos com padres de
interconexo uniformes. Entretanto, neste tipo de arquitetura no permitida uma
implementao eficiente, devido forma irregular utilizada do tipo rvore-array. O mesmo
aspecto da falta de regularidade na estrutura de multiplicao observado em
(PEKMESTZI, 1999), onde apresentado um esquema de multiplicador baseado em
multiplexador.

Em (WANG, 2001) observado um avano desta tcnica, onde a

arquitetura exibe um layout mais regular do que o apresentado em (PEKMESTZI, 1999).


Apesar da arquitetura apresentar redues em rea da ordem de 40%, s so observadas
redues em atraso e consumo de potncia aps a utilizao de circuitos somadores mais
eficientes.
As tcnicas descritas acima tm sido aplicadas a multiplicadores array
convencionais, cuja operao realizada bit a bit e algumas vezes a regularidade da
arquitetura no preservada.
Um novo tipo de array para um multiplicador paralelo baseado em diferentes
agrupamentos de bits de produtos foi proposto em (NAKAMURA, 1986). Neste trabalho, o
esquema proposto necessita de aproximadamente metade das clulas quando comparado
aos multiplicadores array convencionais. Apesar do bom desempenho apresentado, a
complexidade do circuito aumenta consideravelmente devido aos circuitos contadores
utilizados na unidade de adio. Para um multiplicador na base 4, por exemplo, faz-se
necessria a utilizao de 16 vezes mais hardware em relao a um multiplicador array
binrio convencional.
Para aumentar o desempenho dos multiplicadores, considerando aspectos de
regularidade e reduo do consumo de potncia, tm sido propostos projetos de circuitos
baseados na tcnica de recodificao de Booth (SAM, 1990;MILLAR, 1992;

22
GALLAGHER, 1994; CHERKAUER, 1996; SEIDEL, 2001). Nestes trabalhos so
propostos multiplicadores Booth de alto desempenho baseados em operaes em maiores
bases de operao. Entretanto, estes circuitos exibem pouca regularidade e no so
indicadas redues no consumo de potncia.
Trabalhos de pesquisa direcionados a reduo do consumo de potncia a partir do
multiplicador Booth, operando em bases maiores, so apresentados em (YU 2000;
GOLDOVSKY, 2000). Em (YU 2000), prope-se um multiplicador Booth tipo Carry-Save
Array para baixa potncia. Neste trabalho, mostra-se que possvel obter uma reduo de
18% em potncia. Entretanto, no apresentada nenhuma melhora em termos de
desempenho.

Em (GOLDOVSKY, 2000), apresenta-se um multiplicador que utiliza

codificadores Booth na base 4, que so otimizados para gerao dos produtos parciais. So
apresentados resultados com redues de rea, atraso e consumo de potncia e com um
esquema de codificao altamente otimizado no nvel de transistores. Em (SHAH, 2000) h
uma comparao entre 5 diferentes tipos de multiplicadores de 32 bits em diferentes
mtricas de desempenho. O multiplicador combinado Booth-Wallace modificado
apresentou melhores resultados em atraso e consumo de potncia entre os multiplicadores
apresentados neste trabalho.
De acordo com (GALLAGHER, 1994), apesar de o algoritmo Booth proporcionar
uma maior simplicidade para a implementao da sua arquitetura, torna-se difcil projetar
arquiteturas para operar em bases maiores do que 4, devido a complexidade em prcomputar, no termo multiplicador, um crescente nmero de mltiplos do termo
multiplicando. Em (MILLAR, 1992; SEIDEL, 2001) so propostos multiplicadores Booth
de alto desempenho baseados em operao em maiores bases. Entretanto, estes circuitos
exibem pouca regularidade e no so indicadas redues no consumo de potncia.
Em (COSTA, 2002; COSTA, 2002b) busca-se os mesmos objetivos do
multiplicador Booth, ou seja, alcanar melhores desempenhos e menores consumos de
potncia a partir da reduo dos termos dos produtos parciais, mantendo-se a mesma
regularidade de um multiplicador array.

Nestes trabalhos foi mostrado que as novas

arquiteturas propostas podem ser estendidas a operaes de multiplicao em bases maiores


utilizando menos nveis lgicos e, desta forma, apresentando menos transies esprias e
menor consumo de potncia.

23

3.2. Multiplicador Array Binrio


Na operao de um multiplicador tipo array Binrio, os produtos parciais so
realizados de forma paralela. A multiplicao de nmeros binrios positivos realizada da
mesma forma em que a operao realizada com nmeros decimais. Um multiplicador tipo
array traduz estas expresses diretamente para hardware, como pode ser observado na
Figura 3 para W = 4bits. Como pode ser observado na Figura 3, tm-se as W linhas de
produtos parciais, cada uma composta de produtos de nveis de W bits, que pode ser
arranjada em uma simples e regular estrutura do tipo array. Cada produto de bit
simplesmente uma porta lgica AND.

Figura 3 - Multiplicador Array Binrio de 4 bits

Como observado na Figura 3, no multiplicador array a operao realizada pela


soma de produtos parciais em seqncia. Os produtos parciais so obtidos com portas
lgicas AND a partir das operaes 1xW. O bit menos significativo do produto produzido
no lado direito da estrutura array e j representa o primeiro resultado de multiplicao. Os
demais resultados so obtidos a partir das somas das linhas de produtos parciais.

24

3.2.1. Operao de Multiplicao na Base 2m em Complemento de 2


Embora a estrutura do multiplicador array binrio mostrada na Figura 3 apresente
um bom aspecto de regularidade, esta arquitetura no leva em considerao operaes de
multiplicaes com sinal nas quais so comuns em muitas aplicaes no processamento de
sinais. Alm disso, esta estrutura apresenta uma grande profundidade lgica, devido ao
elevado nmero de linhas de somas de produtos parciais presentes. Este aspecto pode
comprometer o desempenho do multiplicador e o consumo de potncia, devido s elevadas
atividades de chaveamento e sinais esprios (glitching) presentes.
Neste trabalho, procura-se mostrar diferentes alternativas arquiteturais de circuitos
multiplicadores que podem suprir as desvantagens apresentadas no multiplicador da Figura
3. As novas arquiteturas apresentadas realizam operaes em complemento de 2 e possuem
a mesma regularidade do multiplicador array convencional mostrado na Figura 3. Todos os
bits nos produtos parciais so tratados como bits sem sinal, exatamente como um
multiplicador array normal, exceto para o ltimo bit de todas as linhas do produto parcial e
todos os bits da ltima linha. As operaes de multiplicao so realizadas na base 2m.
m

Para operaes de uma multiplicao na base 2 , os operandos so divididos em


grupos de m bits. Cada um destes grupos pode ser visto como uma representao de um
m

digito em um base 2 . Conseqentemente, a arquitetura de multiplicao base 2 segue a


m

operao de multiplicao bsica de nmeros representados na base 2 . A operao base 2

em representao em complemento de 2 mostrada na equao 5.


W 1

A B A' B A' bw1bW 2W 1 aW 1 b j 2W 1 j


m

(5)

j 0

A Figura 4 ilustra uma operao com operadores de W = 4 bits na representao


binria utilizando a base 4 (m = 2). Para o exemplo mostrado, os termos do produto parcial
so obtidos pela multiplicao de cada grupo de m bits dos termos multiplicador e
multiplicando. Desta forma, cada linha do produto parcial processada para uma
multiplicao m x W.

25

Fig. 4. Exemplo de multiplicao de 4 bits base-4(m=2) em complemento de 2.

Para os W m bits menos significativos dos operandos podem ser usadas


multiplicaes sem sinal. Os mdulos de produtos parciais esquerda e o ltimo abaixo do
array necessitam ser diferentes para efetuar operaes com sinal.
Para esta arquitetura, trs tipos de mdulos so necessrios, como mostrado na
Figura 5.
TIPO I so os mdulos sem sinal. Mdulos TIPO II executam operaes de um
nmero sem sinal por um nmero em complemento de 2. Finalmente, o mdulo TIPO III
requerido para qualquer tipo de multiplicao.

Fig. 5. Estrutura geral para multiplicao na base 2 em complemento de 2.

Na Figura 6 apresentamos um exemplo concreto para uma multiplicao na base 4


(m = 2) e uma largura W = 8 bits.

26

Fig. 6. Exemplo de multiplicador array base 4 de 8 bits em complemento de 2.

3.2.2. Multiplicador Array Binrio Usando CSA e Pipeline


O somador Carry Save (CSA) (KIM, 1998) tem a caracterstica de efetuar a soma de
trs nmeros simultaneamente. A idia bsica que trs nmeros possam ser reduzidos
para dois, como um compressor 3:2, como mostra o exemplo da Figura 7.

27

Figura 7 - Exemplo de um somador Carry Save

Como pode ser observado na Figura 7, somente na recombinao do carry com a


soma utilizado um somador onde o carry propagado. Apenas na ltima linha de soma
que existe a propagao normal do carry a partir da utilizao de somadores do tipo Ripple
Carry. A Figura 8 mostra um exemplo de adio de seis nmeros usando o somador Carry
Save.

Fig. 8. Exemplo de soma de nmeros de 4 bits usando a estrutura Carry Save

Como mostrado na Figura 8, o somador Carry Save apresentado como um bloco


com trs entradas e duas sadas. Neste caso, os somadores completos (full-adder) no
dependem de outras somas para efetuar sua operao. Cada somador recebe trs nmeros e
produz dois como sada, tal que
problema de computao

PQ R

2C S P Q R .

para

2 C S

De fato, pode-se ento converter o

sem esperar carry algum. Os mdulos x2

mostrados na Figura 8 no requerem lgicas, sendo somente necessrio a conexo


apropriada dos blocos. A soma final M + 2N representa uma soma normal de dois nmeros.

28
O somador Carry Save se torna bastante rpido devido ao fato de simplificar as
sadas de carry ao invs de propagar para a esquerda, com isto aplicamos este somador nas
linhas de produtos parciais dos circuitos multiplicadores para a acelerao da propagao
de carry ao longo do array.
A operao de multiplicao em complemento de 2 usando o somador Carry Save
para a adio dos termos de produtos parciais, para operaes com W = 6 bits usando base
4 (m = 2), mostrado na Figura 8. Para o exemplo mostrado, os termos de produtos parciais
so obtidos multiplicando cada grupos de 2 bits do multiplicador pelos termos do
multiplicando. Assim, cada linha de produto parcial computada como uma multiplicao
2 6 ,

como descrito na Figura 9. O produto final para a multiplicao na base 4 obtido

somando cada grupo de 2 bits dos termos de produto parcial na forma Carry Save como
apresentado na Figura 9.
Como pode ser observado, somente na recombinao final do carry e da soma
existe a propagao de carry. Na soma com propagao de carry, os dois bits mais
significativos podem ser desprezados, pois nunca ocorre overflow na operao de soma dos
bits mais significativos. Note que os dois primeiros termos de produtos parciais possuem
uma extenso de sinal. Para manter a regularidade do array, a tcnica de extenso de sinal
usada com bits extras nas linhas de produtos parciais.

Fig. 9. Exemplo de multiplicao de 6 bits em complemento de 2 usando CSA.

O multiplicador array Binrio usando o somador Carry Save, utiliza o mesmo


nmero de linhas de produtos parciais do multiplicador com somador Ripple Carry
mostrado na Figura 5, ou seja, 3 linhas de produtos parciais para um exemplo de 8 bits.
Entretanto, diferente do multiplicador com RCA, onde o carry se propaga entre os mdulos

29
de cada linha de soma parcial, o multiplicador com CSA propaga o carry na diagonal, o que
provoca um aumento de desempenho na estrutura array. Contudo, deve-se observar que
mesmo com somadores CSA na sua estrutura, o multiplicador array necessita de uma linha
adicional de somadores Ripple Carry para recombinao dos resultados de carry e da soma
do bloco CSA anterior.

Fig. 10. Exemplo de multiplicador array de 8 bits em complemento de 2 base-4 usando CSA

Como pode ser observado na Figura 10, os termos das duas primeiras linhas de
produtos parciais so agrupados em uma linha composta por seis mdulos de somadores (o
sexto mdulo necessrio para adicionar o ltimo mdulo de soma de cada operando). A
maioria destes mdulos de somadores nas linhas de produtos parciais composta de meio
somadores, devido ao fato da propagao de carry se dar para a prxima linha de produto
parcial.

30
A regularidade das arquiteturas implementadas neste trabalho permite a aplicao de
outras tcnicas de reduo de potncia. Neste trabalho, apresenta-se a implementao de
uma verso pipelined das novas arquiteturas, como forma de reduo do caminho crtico e
reduo de transies esprias que so propagadas atravs do array. As linhas pontilhadas
da Figura 11 mostram a verso pipelined do multiplicador array na base 4 para operandos
de 8 bits.

Fig. 11. Exemplo de multiplicador array de 8 bits na base 4 em complemento de 2 usando


pipeline.

Como pode ser observado na Figura 11, o aspecto da regularidade da arquitetura


permite a introduo de duas camadas de registradores distribudas ao longo do array.
Desta forma, para este exemplo, as operaes so efetuadas em 3 ciclos de relgio. Para os
multiplicadores array na base 2m, com W bits, so utilizadas (W/m)-2 camadas de
registradores. Assim, as operaes so realizadas em (W/m)-1 ciclos de relgio.

31

3.3 Multiplicador Array Hbrido


Em (COSTA, 2002) foi apresentada uma nova arquitetura de circuito multiplicador
operando em um cdigo diferente do Binrio. Para este novo circuito foi dado o nome de
multiplicador Hbrido. A principal caracterstica do circuito multiplicador operando neste
cdigo a possibilidade de reduo da atividade de comutao em grupos de m bits dos
operandos. A seguir apresenta-se uma reviso bibliogrfica sobre a importncia da
codificao de operandos para a reduo da atividade de chaveamento, bem como as
principais caractersticas do cdigo Hbrido. Finalmente, apresenta-se a estrutura do
multiplicador array operando nesta codificao em complemento de 2 com tcnicas de
pipeline e utilizando somador CSA.

3.3.1. Codificao de Operandos


Em (STAN, 1997) apresentada uma viso geral de tcnicas de reduo de potncia
para comunicao global de dados em circuitos CMOS VLSI, usando mtodos de
codificao, onde mostrado que cada uma das tcnicas utilizada tem por objetivo reduzir
o consumo de potncia em barramentos de dados, a partir da reduo da atividade de
chaveamento dos dados transmitidos.
Um das tcnicas que tem sido proposta para reduzir a atividade de chaveamento em
barramentos a codificao One-Hot (CHANDRAKASAN, 1995). Esta tcnica representa
um esquema de codificao redundante com o mapeamento bit a bit das palavras de dados
de n-bits a serem enviadas para as palavras de dados de m-bits a serem transmitidas. A
principal desvantagem desta tcnica a quantidade de linhas de barramentos necessrias
que proporcional a 2n.
A codificao Limited-Weight (STAN, 1997a) oferece um caminho direto de
controlar o fator de atividade em barramentos simplesmente pela reduo do nmero de 1s
lgicos transmitidos nos barramentos.
No mtodo de codificao Bus-Invert (STAN, 1995) a distncia de Hamming
medida entre duas palavras consecutivas no barramento. Se a distncia de Hamming entre a
prxima palavra e a palavra atual menor ou igual a n/2 (onde n representa o nmero de

32
bits), a palavra transmitida na sua forma original. De outra forma, a palavra invertida
antes da sua transmisso.
As tcnicas Transition Coding e Bit Prediction so utilizadas para a reduo do
nmero de transies observadas nos barramentos de dados e endereos (STAN, 1997a). A
tcnica Bit Predicition usada em alguns barramentos que exibem padres de bit muito
regular. A principal idia utilizar esta tcnica em barramentos de endereos que exibem
uma alta taxa percentual de endereos seqenciais.
Uma das mais promissoras tcnicas de codificao que pode ser utilizada na reduo
da atividade de chaveamento o cdigo Gray (MEHTA, 1996), pois este cdigo apresenta
a mudana de apenas um bit entre palavras consecutivas. Desta forma, para sinais altamente
correlacionados, a atividade de chaveamento pode ser significativamente reduzida.
Como mencionado acima, existe um grande nmero de tcnicas que apontam para
codificao de dados no sentido de reduzir a atividade de chaveamento nos barramentos.
Essas tcnicas tm sido aplicadas a barramentos de endereos, onde os dados so altamente
seqenciais. No nosso trabalho, aplica-se a tcnica de codificao de operandos a
operadores aritmticos que possam operar diretamente em uma codificao diferente da
Binria. Em (COSTA 2002b; COSTA, 2002c) apresentada uma codificao Hbrida que
possui o compromisso entre a mnima dependncia lgica da codificao Binria e a
caracterstica de baixo chaveamento apresentado pela codificao Gray. Em (COSTA
2002b; COSTA, 2002c) esta codificao aplicada a circuitos multiplicadores. No nosso
trabalho estaremos estendendo o estudo da aplicao desta codificao a novas arquiteturas
de multiplicadores. A seguir so apresentadas as principais caractersticas do cdigo
Hbrido, bem como a estrutura do circuito multiplicador array utilizando esta codificao.

3.3.2. Cdigo Hbrido


A idia de manipular os operandos em grupos de m-bits e codificar cada grupo
usando o cdigo Gray pode ser usada para operandos que operem em representao de
complemento de 2. A Tabela I mostra o cdigo Hbrido em complemento de 2 para um
nmero de 4 bits e m = 2.

33
Tabela 1 - Representao dos cdigos Binrio, Hbrido (m=2) e Gray em complemento de 2

Decimal

Binrio

0
1
2
3
4
5
6
7
-8
-7
-6
-5
-4
-3
-2
-1

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Hbrido
(m=2)
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010

Gray
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000

O cdigo Hbrido apresenta um compromisso entre a mnima dependncia das


entradas de dados apresentada pelo cdigo Binrio e a caracterstica de baixa atividade de
chaveamento apresentada pelo cdigo Gray. A Tabela 2 apresenta o nmero de transies
dos cdigos Binrio, Gray e Hbrido para uma determinada seqncia de contagem.

Tabela 2 - Nmero de transies para os cdigos Binrio, Hbrido (m=2) e Gray

Nmero de bits

Nmero de Transies
Binrio
Gray
Hbrido(m=2)

Diferenas
HbBin HibGray

n=4 bits
(0,1,...,15,0)

30

16

20

-33,3 %

+25%

n=8 bits
(0,1,...,255,0)

510

256

340

-33,3%

+32,8%

n=16 bits
(0,1,...,65535,0)

131070

655326

57380

-33,3%

+ 33,3%

Pode ser observado na Tabela 2, o cdigo Hbrido apresenta um valor percentual


intermedirio entre os cdigos Binrio e Gray em termos de nmero de transies. Desta
forma, para sistemas onde a capacitncia chaveada no barramento de dados significativa e
onde os dados apresentam um alto grau de correlao, a utilizao do cdigo Hbrido pode

34
reduzir o consumo de potncia em at cerca de um tero em relao ao cdigo Binrio
(COSTA, 2002). O nmero de transies para seqncias de contagem, como apresentadas
na Tabela 2, calculado de acordo com as equaes (6), (7) e (8), para os cdigos Binrio,
Gray e Hbrido respectivamente (COSTA, 2002).
n o _ de _ trans.Bin 2 n12

(6)

n o _ de _ tran.(Gray ) 2 n

(7)

2n 1
n _ de _ trans.( Hib) 2 m
2 1

(8)

Outra caracterstica apresentada pelo cdigo Hbrido m = 2 a facilidade de mudana


de representao para o cdigo Binrio, como mostra o exemplo da Figura 12. Desta forma,
o processo de codificao/decodificao dos dados utiliza um hardware de reduzida
complexidade com uma porta EXOR ligada a cada grupo de m = 2 bits. Neste caso, o
cdigo Hbrido tambm pode ser utilizado como mtodo de codificao para os
barramentos de endereos.

Figura 12 Converso entre os cdigos Binrio e Hbrido

3.3.3. Multiplicao Hbrida em Complemento de 2


A Figura 13 apresenta um exemplo de multiplicao de 4 bits em cdigo Hbrido na
base 4 (m = 2). Como pode ser observado, a operao de multiplicao nesta base consiste
na aplicao direta do cdigo Gray a cada grupo de 2 bits. Desta forma, a operao de
multiplicao realizada na base 4. Outro ponto importante a ser destacado na Figura 13
a tcnica de extenso de sinal que representado por 10, pois caracteriza o nmero decimal
-1 em cdigo Gray.

35

Fig. 13 Exemplo de uma multiplicao de 4 bits na base 4 (m=2) em complemento de 2 utilizando o


cdigo Hbrido

3.3.4. Multiplicador Array Hbrido usando CSA e Pipeline


A operao de multiplicao hbrida em complemento de 2 usando o somador Carry
Save para adio dos termos de produtos parciais, para operadores com W = 6 bits usando
base 4 (m = 2), ilustrado na Figura 14. A etapa de utilizao de somadores do tipo CSA
idntica anteriormente mostrada na Figura 10 para operao de multiplicao com
operandos binrios. Deve-se observar, entretanto, que a extenso do sinal atravs do valor
10 que representa -1 no cdigo Hbrido.

Fig. 14. Exemplo de multiplicao hbrida de 6 bits em complemento de 2 usando CSA

36
Da mesma forma como anteriormente mostrado na multiplicao com array binrio,
na multiplicao hbrida usando o somador Carry Save, mdulos de somadores do tipo
Ripple Carry so utilizados somente na soma final da soma em rvore, como pode ser visto
na Figura 15 para um exemplo de W = 8 bits. Uma simples adio usando propagao
somente necessria no ltimo passo para reduzir dois nmeros para um simples nmero,
produto final. Os mdulos: Tipo I, II e III, efetuam multiplicaes em cdigo Hbrido. Os
somadores efetuam adies em cdigo Binrio, visto que a converso de cdigo Hbrido
para Binrio e vice-versa, facilmente realizada, como anteriormente mostrado na Figura
11.

Fig. 15. Exemplo de multiplicador array Hbrido de 8 bits na base 4 em complemento de 2 usando CSA

Os circuitos multiplicadores na forma pipeline so teis no caso do throughput


aritmtico ser mais importante do que a latncia. Isto devido ao fato da introduo de
registradores ao longo do array reduzir a quantidade de atividade de chaveamento
desnecessria. Um multiplicador utilizando pipeline pode realizar mais operaes por

37
segundo e operar com uma taxa de relgio mais elevada do que um multiplicador que no
utiliza esta tcnica. Logo este tipo de multiplicador pipelined desejvel para aplicaes
aritmticas de alto desempenho. (ASATO, 1990)
O multiplicador array Hbrido com uso de pipeline apresenta uma estrutura
semelhante mostrada na Figura 11 para uma multiplicao binria. A diferena consiste
na utilizao dos cdigos Hbrido nos mdulos bsicos. Outra diferena a ser destacada a
tcnica de extenso de sinal em cdigo Hbrido. Da mesma forma que o multiplicador array
Binrio, as operaes so efetuadas em 3 ciclos de relgio. Para os multiplicadores array na
base 2m, com W bits, so utilizadas (W/m)-2 camadas de registradores. Desta forma, as
operaes so realizadas em (W/m)-1 ciclos de relgio.
A introduo de

registradores ao longo

do

circuito aumenta

a rea

significativamente, tendo, entretanto, redues em valores de atraso e consumo de potncia.


(COSTA, 2002)

4. Resultados Obtidos
Nesta Seo, so apresentados os resultados das simulaes dos circuitos
multiplicadores array Binrio e Hbrido de 16 bits com grupos de 2 e 4 bits apresentados na
Seo anterior.

So feitas comparaes em rea, atraso e consumo de potncia dos

multiplicadores utilizando somadores RCA e CSA em suas estruturas. Tambm so


mostrados os resultados destas estruturas com o uso de pipeline. As simulaes foram
realizadas com a ferramenta Quartus II da Altera e sintetizados para o FPGA da famlia
Stratix de modelo EP1S10B672C6. Os resultados de rea so apresentados em termos do
nmero de elementos lgicos do elemento FPGA. Os resultados de atraso so mostrados
em relao ao caminho crtico dos circuitos. Para obteno dos valores de consumo de
potncia so utilizados 100 vetores dos tipos senoidal e aleatrio.

4.1 Resultados de rea


A Tabela 3 mostra os valores de rea para os multiplicadores Binrio e Hbrido m=2
e m=4 com somadores RCA e CSA e com o uso de pipeline.

38

Tabela 3. Valores de rea para os multiplicadores (elementos lgicos)

Multiplicadores
Binrio (m=2)
Hibrdo (m=2)
Binrio(m=4)
Hbrido(m=4)

RCA

CSA

RCA e Pipeline

CSA e pipeline

782
740
1.244
2.706

925
917
1285
2.799

852
824
1.323
2820

972
930
1385
2904

Como pode ser observado na Tabela 3, os multiplicadores com m=4 apresentam os


maiores valores de rea. Isto se deve maior complexidade dos mdulos de multiplicao
na base 16. No caso do multiplicador Hbrido, este aspecto se torna mais significativo, pois
os mdulos de multiplicao em cdigo Hbrido utilizam um maior nmero de portas
lgicas para a sua implementao.
A Tabela 3 tambm mostra que todos os multiplicadores que utilizam somadores do
tipo CSA apresentam maiores valores de rea comparado com os multiplicadores que
utilizam somadores RCA. De fato, deve-se observar que um somador CSA apresenta em
sua ltima linha uma estrutura de soma do tipo RCA, que responsvel pela recombinao
do resultado da soma anterior com o carry propagado ao longo da estrutura. Isto faz com
que a estrutura interna do somador CSA apresente um maior nmero de somadores
completos (full adders) e meio somadores (half adders).
A insero de linhas de pipeline nos circuitos multiplicadores tambm contribui
para o aumento de rea, como pode ser visto na Tabela 3. Isto devido utilizao de vrios
circuitos registradores que formam as vrias linhas de pipeline presentes nos
multiplicadores.

4.2 Atraso
Para os circuitos multiplicadores analisados, sem as linhas de pipeline, os valores de
atraso podem ser obtidos a partir do parmetro (tpd) da ferramenta Quartus II, que mede o
maior atraso da entrada at a sada do circuito (ALTERA, 2006). Em relao aos circuitos
com linhas de pipeline, utilizam-se registradores que habilitam os dados para as suas sadas
a partir de sinal de clock. Para este caso, visto a ferramenta Quartus II no fornecer o
parmetro tpd, utiliza-se o perodo (T) como parmetro para medio do desempenho dos

39
circuitos multiplicadores com pipeline. A Tabela 4 mostra os valores de atraso para os
circuitos multiplicadores com somadores RCA e CSA e com a utilizao 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

Binrio(m=2)
Hibrdo(m=2)
Binrio(m=4)
Hibrdo(m=4)

52.623
53.044
44.802
61.214

47.317
49.382
43.009
59.101

14.853
15.206
16.216
22.564

12.541
13.851
15.945
21.954

Como pode ser observado na Tabela 4, os multiplicadores com somadores CSA


apresentam reduo 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 operaes de soma em paralelo, sem depender da
propagao do carry dentro dos blocos de soma. Deve-se observar na Tabela 4 que esta
reduo do atraso com somadores CSA tambm ocorre para os circuitos utilizando pipeline,
o que comprova a eficincia deste tipo de somador para aumento do desempenho dos
circuitos multiplicadores.
Observa-se que as arquiteturas dos multiplicadores Binrio (m=2 e m=4)
apresentam menores valores de atraso em relao aos multiplicadores em cdigo Hbrido.
Isto ocorre devido ao multiplicador Hbrido possuir uma maior complexidade dos blocos
bsicos de multiplicao, como dito anteriormente.
A Tabela 4 mostra que o multiplicador Binrio (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 mdulos de multiplicao bsicos, contribuindo para a reduo do
caminho crtico deste tipo de estrutura. O mesmo aspecto no se verifica para os
multiplicadores Hbridos m=4 sem pipeline, onde os mdulos de multiplicao so um
pouco mais complexos e a reduo de linhas de produtos parciais no se torna suficiente
para aumentar o desempenho destas estruturas.

40
Observa-se pelos resultados da Tabela 4 que para os multiplicadores com pipeline,
os circuitos Binrio e Hbrido 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 utilizao de pipeline.

4.3 Resultados de Potncia


As Tabelas 5 e 6 apresentam os valores obtidos nas simulaes para o consumo de
potncia com vetores senoidais (explorando o aspecto de correlao dos dados) e vetores
randmicos. Os valores apresentados nestas tabelas mostram a parcela de potncia
dinmica fornecida pela ferramenta Quartus II. Esta parcela foi selecionada para ser
apresentada, pois representa a parcela que mais contribui para o consumo de potncia total
dos circuitos.

Tabela 5. Valores de consumo de potncia utilizando vetores senoidais (Dinmico)

Multiplicadores

RCA (mW)

CSA (mW)

RCA e Pipeline
(mW)

CSA e pipeline
(mW)

Binrio (m=2)
Hbrido (m=2)
Binrio (m=4)
Hbrido (m=4)

390.14
396.67
266.26
362.80

317.32
372.78
263.54
359.02

155.37
156.63
187.46
223.50

151.13
152.35
185.02
220.98

Tabela 6. Valores de consumo de potncia utilizando vetores randmicos (Dinmico)

Multiplicadores

RCA (mW)

CSA (mW)

RCA e Pipeline
(mW)

CSA e pipeline
(mW)

Binrio (m=2)
Hbrido (m=2)
Binrio (m=4)
Hbrido (m=4)

503.12
523.02
321.61
438.87

410.13
464.66
319.41
434.47

205.81
206.91
230.97
283.39

201.66
202.50
228.54
281.54

Uma comparao inicial entre os valores apresentados nas Tabelas 5 e 6 mostra que
o aspecto da correlao dos dados nos vetores senoidais, contribui para o menor consumo
de potncia apresentado por todos os circuitos multiplicadores. Outro aspecto a ser
destacado nas Tabelas 5 e 6 que o uso de somadores CSA nos multiplicadores Binrio e
Hbrido (m=2 e m=4) contribui para a reduo do consumo de potncia destes circuitos.

41
No caso dos multiplicadores sem pipeline, observa-se que o multiplicador Binrio
m=4 apresenta o menor valor de potncia entre os multiplicadores. Este resultado est em
conformidade com o menor valor de atraso apresentado por esta estrutura e tambm o
menor valor de sinais esprios, 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 reduo significativa do consumo
de potncia nos circuitos multiplicadores. De fato, a introduo de registradores ao longo
da estrutura array dos circuitos multiplicadores contribui para a reduo da atividade de
glitching (sinais esprios), que responsvel por uma parcela significativa do consumo de
potncia 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 potncia.
Este resultado est em conformidade com os valores de atraso apresentados na Tabela 4 e
reforam 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.

42

5. Concluses
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 tcnicas para o aumento de desempenho e reduo do consumo de potncia, como
a utilizao de somador CSA, codificao de operandos e pipeline. Atravs dos resultados
mostrados, foi possvel verificar a eficincia das novas arquiteturas de circuitos
multiplicadores utilizando o somador CSA para a reduo do consumo de potncia e
tambm reduo do atraso dos circuitos. A utilizao de pipeline tambm se mostrou
eficiente para as redues de atraso e consumo de potncia dos circuitos multiplicadores.
Entretanto, o uso de pipeline resulta no aumento da rea (nmero de elementos lgicos) nos
circuitos multiplicadores, devido introduo de registradores em suas estruturas do tipo
array.
Outro ponto abordado neste trabalho foi a possibilidade de operao dos circuitos
multiplicadores em diferentes bases. Neste aspecto, observou-se que o multiplicador
Binrio operando na base 16 se mostrou mais eficiente em termos de atraso e consumo de
potncia. Isto devido ao menor nmero de linhas de somas de produtos parciais. Entretanto,
quando do uso da tcnica pipeline, observou-se que os circuitos multiplicadores operando
na base 4 so mapeados de forma mais eficiente para a estrutura interna do FPGA, o que
contribui para os seus menores valores de atraso e consumo de potncia.
Finalmente, foi possvel explorar neste trabalho a utilizao da tcnica de
codificao de operandos nos circuitos multiplicadores, com os mesmos operando em
cdigo Hbrido. Observou-se que em termos de FPGA, estes multiplicadores no se
mostraram mais eficientes do que os multiplicadores Binrios. Entretanto, devido
proximidade dos resultados de potncia entre os multiplicadores Binrio e Hbrido,
principalmente com o uso de pipeline, estimulam novas comparaes de consumo de
potncia entre estes multiplicadores em outros nveis de abstrao (nvel lgico e nvel de
transistores).

43

REFERNCIAS
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 twos 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 Aritmticos de Baixo Consumo para Arquiteturas de
Circuitos DSP. 2002. Tese (Doutorado em Cincia da Computao) Programa de PsGraduao em Computao - 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,
2002b.

44
COSTA, E.; MONTEIRO, J.; BAMPI, S. A New Architecture for 2s 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 Twos
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.
GNTZEL, J. A. Functional Timing Analysis of VLSI Circuits Containing Complex
Gates. 2000. 182f. Tese (Doutorado em Cincia da Computao) 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 LowPower 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,
Proceedings, Paris France p. 163 167, Mar. 2002.

45
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.; Prototipao e Anlise de Circuitos Multiplicadores Array de Baixo
Consumo. Dissertao 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.

46

SAM, H.; GUPTA, A. A Generalized Multbit Recoding of Twos 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 Radix256. 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
18% in Booth-Enconded Carry-Save Array Multipliers for DSP. In: WORKSHOP ON

47
SIGNAL PROCESSING SYSTEMS, SIPS, 2000, Lafayette. Proceedings Piscataway:
IEEE Signal Processing Society, 2000. p. 571-580.