Combinação de funções primitivas para síntese de funções majoritárias

Devido ao grande avanço da tecnologia e à miniaturização de circuitos, o estudo de sistemas lógicos que podem ser aplicados à 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 trabalho é pro...

ver descrição completa

Detalhes bibliográficos
Autor: Ferraz, Evandro Catelani
Tipo de documento: dissertação
Estado:Versão publicada
Data de publicação:2018
País:Brasil
Recursos:Universidade Estadual Paulista (UNESP)
Repositório:Repositório Institucional da UNESP
Idioma:português
OAI Identifier:oai:repositorio.unesp.br:11449/180750
Acesso em linha:http://hdl.handle.net/11449/180750
Access Level:Acceso aberto
Palavra-chave:Síntese de funções majoritárias
Lógica majoritária
Funções primitivas
Majority functions synthesis
Majority logic
Primitive functions
Descrição
Resumo:Devido ao grande avanço da tecnologia e à miniaturização de circuitos, o estudo de sistemas lógicos que podem ser aplicados à 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 trabalho é proposto o algoritmo MPC, 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, inversores e literais. Nesse trabalho também é realizada a comparação do MPC com o algoritmo exact_mig, considerado o melhor algoritmo para síntese de funções majoritárias atualmente. O exact_mig codifica a síntese exata de funções utilizando a quantidade de níveis e operadores como critério de custo. O MPC utiliza dois critérios de custo adicionais, o número de inversores e o número de literais, com o objetivo de otimizar ainda mais os resultados gerados pelo exact_mig. Dessa forma, o MPC busca a síntese de funções que possuam a mesma quantidade de níveis e de operadores, mas com uma quantidade menor de inversores e literais. 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, o MPC consegue melhores resultados para 66% das funções e resultados iguais para 11%. Para funções com 5 variáveis de entrada, a partir de uma amostra de 1.000 funções geradas aleatoriamente, o MPC gerou melhores resultados para 58% das funções e resultados iguais para 14%.