algoritmo evolutivo aplicado € sntese e otimiza†ƒo de ... o in­cio de um ciclo...

Download ALGORITMO EVOLUTIVO APLICADO € SNTESE E OTIMIZA‡ƒO DE ... o in­cio de um ciclo e outro, ser

Post on 16-Dec-2018

218 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

September 24-28, 2012Rio de Janeiro, Brazil

ALGORITMO EVOLUTIVO APLICADO SNTESE E OTIMIZAO DECIRCUITOS BASEADOS EM QCA

Luiz Felipe V. Caires, Thiago Ferreira Noronha, Omar Paranaiba Vilela NetoDepartamento de Cincia da Computao

Universidade Federal de Minas Gerais (UFMG)Belo Horizonte - MG - Brasil

{lfelipe,tfn,omar}@dcc.ufmg.br

RESUMO

A miniaturizao do transistor permitiu construir circuitos integrados cada vez menorese com maior poder de processamento. Porm, o tamanho do transistor est prximodo seu limite fsico. Uma das alternativas esta tecnologia so os circuitos baseadosem Autmatos Celulares com Pontos Qunticos (QCA). Uma das dificuldades encontra-das na construo de circuitos baseados em QCA a carncia de mtodos automticose eficientes para organizar as clulas em circuitos de forma a obter a lgica correta eque maximizem a polarizao final das sadas. Neste trabalho definido o problemade Sntese de Circuitos Robustos Baseados em QCA (SRQCA) e proposta uma soluobaseada em Algoritmos Genticos. Para verificar a eficincia do algoritmo em sinteti-zar circuitos de boa qualidade utilizado um grupo de instncias inspiradas em portaslgicas conhecidas da literatura. O algoritmo apresentou circuitos mais robustos que osconhecidos na literatura ( que foram desenvolvidos manualmente).

PALAVRAS CHAVE. Algoritmos Genticos, Nanocomputao, Metaheurstica,QCA, Hardware Evolucionrio

Metaheurstica; Otimizao Combinatria

ABSTRACT

The miniaturization of transistor allowed to build integrated circuits with smaller sizeand more processing power. However, the size of the transistor is close to its physicallimits. One alternative to the conventional CMOS technology are circuits with QuantumDots Cellular Automata (QCA). One of the difficulties found in the synthesis of circuitsbased on QCA is the lack of automatic and efficient methods for organizing the cellsin the circuits in order to obtain the correct logic and to maximize the polarization ofthe output cell. This work defines the Problem of Robust Circuit Synthesis Based onQCA (SRQCA) and implements a solution based on Genetic Algorithm. To verify theefficiency of the algorithm in synthesizing robust circuits, a group of well known logicgates instances were used. The proposed algorithm found circuits more robust than thoseknown in literature.KEYWORDS: Genetic Algorithm, Nanocomputers, Metaheuristic, QCA, Evolva-

ble Hardware

2372

September 24-28, 2012Rio de Janeiro, Brazil

1. IntroduoO Autmato Celular com Pontos Qunticos (QCA - do ingls Quantum-Dot Cel-

lular Automata) um paradigma proposto por Tougaw and Lent (1994). Diferente dastecnologias tradicionais, que utilizam o fluxo de corrente eltrica para codificao dasinformaes, a tecnologia baseada em QCA codifica as informaes atravs da polariza-o das clulas que compe um circuito (Lent and Tougaw, 1997).

Uma clula de QCA formada por quatro pontos qunticos, que so regies fixasno espao onde os eltrons podem estar localizados.As clulas de QCA so construdasde forma a no permitir movimentaes de eltrons para fora delas. A interao coulom-biana (repulso) existente entre dois eltrons tende a posicion-los nas diagonais. Por-tanto, em uma clula, podem haver dois estados equivalentes de energia, dependendo dapolarizao das cargas. Os dois estados de polarizao so representados como P =+1e P = 1 e so utilizados para representar os valores binrios 1 e 0, respectivamente.Neste trabalho, os valores binrios 1 (verdadeiro) e 0 (falso) constantes na tabela ver-dade so considerados como +1 e 1 respectivamente, adequando as polarizaes doscircuito em QCA lgica digital.

A polarizao indica a probabilidade de se encontrar eltrons em posies especfi-cas da clula, o valor determinado pelas interaes que ocorrem entre as clulas de suavizinhana. Quanto mais prxima a polarizao estiver do valor mximo (1 ou +1),maior a probabilidade de se encontrar a clula em um estado distinto de polarizao. AFigura 1 ilustra estes dois estados de polarizao.

(a) (b)

Figura 1: Possveis polarizaes de duas clulas de QCA isoladas, (a) representa a codi-ficao binria 0 e (b) a codificao binria 1.

Quando uma clula com polarizao fixa posicionada prxima a uma clula compolarizao livre, devido a interao existente entre os eltrons das duas clulas, a clulalivre apresentar a mesma polarizao da clula fixa. Na Figura 2 (a) possvel observarque as clulas (c1 e c2) possuem polarizaes distintas, considerando que esto isoladas.O resultado da aproximao destas clulas pode ser visto em (b). Na ilustrao possvelverificar que a interao coulombiana resultou na reorganizao dos eltrons em c2. Aregio destacada (b) entre os pontos qunticos de c1 e c2 indica a repulso na interaocoulombiana resultante da aproximao das clulas.

Um fio de QCA pode ser construdo posicionando clulas lado a lado. A Figura3 ilustra um fio utilizando 5 clulas. A polarizao da primeira clula c1 foi fixada em+1 e as demais foram deixadas livres. Devido a interao existente entre as clulas, c2assumir a mesma polarizao da clula c1. Uma vez polarizada, c2 influenciar c3, queassumir a mesma polarizao de sua vizinha. Estas interaes ocorrem em sequncia

2373

September 24-28, 2012Rio de Janeiro, Brazil

(a) (b)

Figura 2: (a) Ilustrao da interao coulombiana entre duas clulas c1 e c2 e (b) oresultado aps a aproximao destas clulas, mantendo a polarizao de c1 fixa.

at que a ltima clula c5 apresentar a mesma polarizao que c1.

Figura 3: Ilustrao de um fio utilizando 5 clulas de QCA.

Uma clula de QCA possui em seu interior uma barreira de tunelamento entre ospontos qunticos. Quanto menor a energia desta barreira, maior a probabilidade doseltrons atravess-la de um ponto quntico para outro. No valor mnimo de energia, abarreira no existe e desta forma a clula no assume nenhuma polarizao, j que oseltrons no tm uma posio bem definida. Neste caso diz-se que a clula est despo-larizada. Por outro lado, quando a energia est em seu valor mximo, a probabilidadedos eltrons atravess-la ser nula, desta forma os eltrons permanecem em seus pontosqunticos, definindo um dos possveis estados de polarizao. Desta forma, conforme avariao na energia da barreira de tunelamento, pode-se estabelecer quatro fases distintasde clock.

A sntese de circuitos lgicos utilizando CMOS utiliza um sinal que controla otempo em que os dados so transferidos dentro do circuito, conhecido como clock. Oclock nos circuitos de QCA funciona de forma ligeiramente diferente ao da tecnolo-gia CMOS. Um ciclo de clock nos circuitos de QCA possui quatro fases denominadosSwitch, Hold, Release e Relax. As fases esto associadas ao nvel de energia da barreirade tunelamento (Lent and Tougaw, 1997). Nas fases Switch e Release h uma variaona energia da barreira de tunelamento, j nas fases Hold e Relax a energia mantida emseu valor mnimo e mximo respectivamente.

Despolarizada Polarizada em -1 ou +1

Switch

Release

Relax Hold

Figura 4: Diagrama de transio de estados de uma clula de QCA

A Figura 4 contm o diagrama de transio dos estados de uma clula de QCA.Neste diagrama esto representados o estado polarizado em 1 e +1 e o estado despo-

2374

September 24-28, 2012Rio de Janeiro, Brazil

larizado. As fases de clock so representadas por transies (arcos) no diagrama. Ini-cialmente a clula est despolarizada ou seja, sua barreira de tunelamento possui baixaenergia. Na fase Switch a energia da barreira elevada progressivamente e os eltronsdas clulas comeam a se polarizar conforme a influncia de clulas vizinhas. Ao fimdesta fase a energia da barreira est em seu valor mximo e a clula assumir um estadode polarizao. Em seguida, na fase Hold, a barreira de tunelamento permanece elevada,impossibilitando a mudana de polarizao. Na fase seguinte, Release, a energia da bar-reira reduzida progressivamente e a clula assume um estado despolarizado. Por fim,a fase de clock Relax, a energia da barreira mantida baixa e as clulas permanecemdespolarizadas, at que um novo ciclo de clock se inicie.

As clulas de um circuito de QCA podem ser particionadas em quatro zonas dis-tintas de clock, que variam da zona 0 3. A zona de clock um recurso utilizado paragarantir que os ciclos de clock das clulas, de uma mesma zona, sejam iniciados simul-taneamente. O incio do ciclo variar de acordo com a zona de clock e, o intervalo entreo incio de um ciclo e outro, ser o tempo de uma fase clock. O primeiro ciclo a seriniciado ser o da zona de clock 0. Em seguida, aps se passar uma fase de clock, seriniciado o ciclo da zona 1. Aps se passar mais uma fase de clock, ser iniciado o cicloda zona 2 e por fim, aps 3 fases de clock ser iniciado o ciclo da zona 3. Desta forma,as zonas de clock sempre estaro em fases distintas no ciclo de clock.

A topologia de um circuito QCA pode ser definido como um conjunto posiespara insero de clulas de QCA, cada clula em sua respectiva zona de clock. Asclulas em um circuito de QCA podem ser basicamente de quatro tipos: (i) bsica, (ii)de entrada, (iii) de sada e (iv) fixa. Os tipos esto relacionados capacidade da clula emter sua polarizao definida pela influncia de clulas vizinhas ou em ter sua polarizaodefinida arbitrariamente .

A clula do tipo bsica possui sua polarizao definida pela influncia das clulasde sua vizinhana, conforme a variao das fases de clock. A clula de sada utilizadacomo um terminal de um circuito e seu funcionamento o mesmo da clula bsica. Apartir desta clula so realizadas as conexes com o ambiente externo (e.g. os demaiscircuitos de um sistema digital). A polarizao da clula de entrada definida de acordocom as variaes que ocorrem nas entradas da tabela verdade e so fixas durante um ci-clo de clock. So estas clulas que iniciam as interaes e usualmente so posicionadasnas extremidades