• Nenhum resultado encontrado

Intelig ˆencia Artificial no Mapeamento Tecnol ´ ogico

Devido `as t ´ecnicas de otimizac¸ ˜ao utilizando Intelig ˆencia Artificial conseguirem pro- duzir resultados favor ´aveis em diversas ´areas na literatura (GREFENSTETTE et al., 1985; RAHMAT-SAMII; MICHIELSSEN, 1999; POND et al., 2006), a utilizac¸ ˜ao dessas t ´ecnicas no Mapeamento Tecnol ´ogico torna-se uma alternativa interessante. A seguir ser ˜ao mostradas abordagens encontradas na literatura que utilizam IA, mais precisa- mente a t ´ecnica de algoritmos gen ´eticos (GOLDBERG, 1989; MELANIE, 1999; DAVIS, 1991) para a otimizac¸ ˜ao de circuitos integrados.

Algoritmos Gen ´eticos (AG) s ˜ao algoritmos criados com base no conceito de adaptac¸ ˜ao e evoluc¸ ˜ao descritos por Darwin. A teoria de Darwin relatava que um indiv´ıduo evolu´ıa com base na sua adaptac¸ ˜ao ao meio em qual estava inserido. In- div´ıduos mais adaptados ao meio possu´ıam uma maior chance de sobreviv ˆencia, en- quanto os indiv´ıduos menos adaptados tenderiam a desaparecer da populac¸ ˜ao e se extinguir. Essas caracter´ısticas que permitiam a sobreviv ˆencia de um indiv´ıduo se- riam transmitidas aos descendentes dos indiv´ıduos sobreviventes. Esse processo, chamado de Selec¸ ˜ao Natural ´e ´e um dos fundamentos principais dos Algoritmos Gen ´eticos(AGs).

O objetivo dos algoritmos gen ´eticos ´e trabalhar com uma populac¸ ˜ao, onde cada in- div´ıduo desta populac¸ ˜ao representa uma soluc¸ ˜ao para o problema em quest ˜ao. Os in- div´ıduos dessa soluc¸ ˜ao seriam classificados utilizando-se de uma func¸ ˜ao de avaliac¸ ˜ao, que tem o prop ´osito de classificar quais indiv´ıduos da populac¸ ˜ao s ˜ao mais evolu´ıdos e possuem maior chance de produzirem soluc¸ ˜oes satisfat ´orias atrav ´es de t ´ecnicas de reproduc¸ ˜ao e mutac¸ ˜ao.

3.7.1 GAFPGA - Genetic Algorithm for FPGA Technology Mapping

A t ´ecnica de GAFPGA proposta por Kommu (KOMMU; POMERANZ, 1993), apre- senta um m ´etodo baseado em algoritmos gen ´eticos para o mapeamento de Field Programable Gate Arrays (FPGAs). Essa abordagem utiliza o algoritmo de cortes- K desenvolvido por Cong (CONG; C.; Y., 1999) para realizar a minimizac¸ ˜ao de ´area (n ´umero de LUTs utilizadas na cobertura do circuito).

A abordagem proposta transforma uma cobertura para o problema em duas strings. A primeira string armazena os pontos de segmentac¸ ˜ao das sa´ıdas das portas, en- quanto a segunda string representa a maneira que uma porta l ´ogica foi decomposta no circuito. A partir desses indiv´ıduos, foi aplicado as t ´ecnicas de Crossover e Mutac¸ ˜ao, amplamente conhecidas na ´area de AG. Ap ´os executadas as t ´ecnicas, ´e necess ´aria a validac¸ ˜ao do indiv´ıduo para garantir que o indiv´ıduo gerado seja um indiv´ıduo v ´alido, ou seja, que a l ´ogica do circuito gerado n ˜ao foi alterada. Caso o indiv´ıduo gerado seja inv ´alido, o indiv´ıduo em quest ˜ao passava por uma etapa de alterac¸ ˜ao para ser

34

transformado em um indiv´ıduo v ´alido.

Devido a complexidade do problema de mapeamento e o tamanho de circuitos de teste, n ˜ao ´e poss´ıvel trabalhar com uma populac¸ ˜ao de indiv´ıduos muito grande. Kommu utilizou uma populac¸ ˜ao de apenas 4 indiv´ıduos na sua abordagem. Apesar do tamanho da populac¸ ˜ao ser pequena, a populac¸ ˜ao conseguiu manter sua diversidade devido `a t ´ecnica de validac¸ ˜ao implementada.

3.7.2 MOGAMAP

O algoritmo MOGAMAP (SOUZA; SILVA-FILHO, 2013), desenvolvido por Sousa, ´e a abordagem mais recente que utiliza Intelig ˆencia Artificial no mapeamento gen ´etico. Essa abordagem tamb ´em busca tratar o problema de Mapeamento Tecnol ´ogico para FPGAs.

A t ´ecnica implementada consiste de 4 etapas. Na primeira etapa ocorre uma an ´alise do AIG do circuito em busca de informac¸ ˜oes de cada nodo do grafo, com a intenc¸ ˜ao de orientar a estimativa de consumo. A enumerac¸ ˜ao de cortes-K do circuito ´e realizada na segunda etapa do algoritmo, enquanto que na terceira etapa, ´e exe- cutada uma modificac¸ ˜ao do algoritmo de Area Flow (MANOHARARAJAH; BROWN; VRANESIC, 2006) de Manohararajah para computar os custos do circuito. Finalmente, na quarta etapa, a cobertura obtida ´e aplicada na populac¸ ˜ao de indiv´ıduos para que possam ser realizadas as operac¸ ˜oes de selec¸ ˜ao, casamento e mutac¸ ˜ao do AG.

3.8

Considerac¸ ˜oes Finais

Encontrar a melhor soluc¸ ˜ao poss´ıvel para o Mapeamento Tecnol ´ogico ´e um pro- blema de otimizac¸ ˜ao combinat ´oria. A soluc¸ ˜ao ideal para a resoluc¸ ˜ao deste problema ´e realizac¸ ˜ao de uma busca exaustiva em todo o espac¸o de soluc¸ ˜oes existente. Por ´em, devido `a enorme quantidade de soluc¸ ˜oes do problema, essa soluc¸ ˜ao torna-se impra- tic ´avel. ´E necess ´ario ent ˜ao a utilizac¸ ˜ao de t ´ecnicas dependentes de heur´ısticas.

Este cap´ıtulo apresentou os principais algoritmos e ferramentas que tentam mi- nimizar os atributos de circuitos integrados. Enquanto algumas abordagens tentam minimizar o atraso do circuito, as abordagens mais atuais buscam reduzir ao m ´aximo a ´area que esse circuito ir ´a ocupar no projeto final. A Tabela 2 apresenta as princi- pais caracter´ısticas de cada m ´etodo apresentado, mostrando o tipo de descric¸ ˜ao de cada m ´etodo, o foco de minimizac¸ ˜ao a estrat ´egia de cobertura utilizada para atingir os resultados.

Entre as abordagens estudadas, foram encontradas abordagens que utilizam a t ´ecnica de algoritmos gen ´eticos da Intelig ˆencia Artificial na a etapa de Mapeamento Tecnol ´ogico. Essas abordagens, no entanto, j ´a se encontram ultrapassadas e n ˜ao con- seguem superar a ferramenta estado-da-arte. A seguir, ser ´a apresentada a soluc¸ ˜ao

Tabela 2: Tabela comparativa dos principais m ´etodos de mapeamento

M ´etodo Descric¸ ˜ao Sujeito

Foco de

Minimizac¸ ˜ao Abordagem

DAGON (1987) Arvore´ Atraso Biblioteca

Est ´atica

WaveFront (1999) DAG Atraso Biblioteca

Est ´atica

ELIS (2004) Arvore´ Area´ Biblioteca

Din ˆamica

VIRMA (2008) DAG Atraso Biblioteca

Din ˆamica

MANOHARARAJAH (2006) DAG Area´ FPGA-LUT

MISHCHENKO (2007) DAG Area´ FPGA-LUT

GAFPGA (1993) DAG Area´ FPGA-LUT

MOGAMAP (2013) DAG Area´ FPGA-LUT

Abordagem

Proposta DAG Area´ FPGA-LUT

4

ABORDAGEM PROPOSTA

Analisando as abordagens vistas no cap´ıtulo anterior, ´e poss´ıvel verificar que embora existam soluc¸ ˜oes que encontrem bons resultados para o Mapeamento Tec- nol ´ogico, ainda existe espac¸o para a descoberta de novas t ´ecnicas e abordagens para o problema. Tendo em vista a necessidade de desenvolvimento de t ´ecnicas de mape- amento mais eficientes para a ferramenta FlexMap e a utilizac¸ ˜ao de t ´ecnicas basea- das em algoritmos aproximativos de otimizac¸ ˜ao, uma abordagem para o MT baseada em T ˆempera Simulada est ´a sendo proposta neste trabalho. A Abordagem, nomeada FlexMap-TS ser ´a apresentada no cap´ıtulo a seguir.

N ˜ao foram encontrados trabalhos na literatura que utilizem a t ´ecnica de T ˆempera Simulada no processo de Mapeamento Tecnol ´ogico. Desta forma, este trabalho prop ˜oe uma nova abordagem para o problema, sendo o objetivo principal a reduc¸ ˜ao do n ´umero de elementos utilizados para implementar o circuito, visando a reduc¸ ˜ao da

´area.

Documentos relacionados