MANIPULAÇÃO DE FUNÇÕES PRIMITIVAS PARA SÍNTESE DE FUNÇÕES MAJORITÁRIAS
Evandro Catelani Ferraz1; Jeferson de Lima Muniz1; Gerhard W. Dueck2; Alexandre César Rodrigues da Silva1
1 UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO; 2 Universidade de New Brunswick
Baixar PDF doi:10.20906/CPS/CBA2018-0228
Resumo
Devido ao grande avanço da tecnologia e à miniaturização de circuitos, o estudo de lógicas que podem ser aplicadas à nanotecnologia vem sendo realizado de forma abrangente. Para criação de circuitos nanoeletrônicos destacam-se a lógica reversível e a lógica majoritária. Neste artigo é proposto o algoritmo MPL (Majority Primitives Listing), utilizado para síntese de lógica majoritária. O algoritmo recebe uma tabela verdade como entrada e retorna uma função majoritária que cobre o mesmo conjunto de mintermos. A criação de uma função de saída válida é realizada a partir da combinação entre funções primitivas previamente otimizadas. Como critério de custo busca-se a geração de funções que tenham a menor quantidade de níveis, seguida da menor quantidade de operadores e inversores. Nesse artigo também é realizada a comparação do MPL com o Exact, considerado o melhor algoritmo para síntese de funções majoritárias atualmente. Testes mostraram que ambos os algoritmos retornam soluções ótimas para todas as funções com 3 variáveis de entrada. Para funções com 4 variáveis, com um total de 65.536 conjuntos de mintermos, e considerando também inversores como critério de custo, o MPL consegue melhores resultados para 41.498 (64%) conjuntos, resultados iguais para 11.489 (17%) conjuntos e resultados inferiores para os 12,549 (19%) conjuntos restantes.
Palavras-chave: Algoritmo; Síntese; Lógica Majoritária; Funções Primitivas