Combinação de funções primitivas para síntese de funções majoritárias - Ferraz, Evandro Catelani [UNESP] (Universidade Estadual Paulista (Unesp), 2018)
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%.

Due to technology advancements and circuits miniaturization, the study of logic systems that can be applied to nanotechnology has been progressing steadily. Among the creation of nanoeletronic circuits the reversible and majority logic stands out. This paper proposes the MPC (Majority Primitives Combination) algorithm, used for majority logic synthesis. The algorithm receives a truth table as input and returns a majority function that covers the same set of minterms. The formulation of a valid output function is made with the combination of previously optimized functions. As cost criteria the algorithm searches for a function with the minimum number of levels, followed by the minimum number of gates, inverters, and literals. In this paper it's also presented a comparison between the MPC and the exact_mig, currently considered the best algorithm for majority synthesis. The exact_mig encode the exact synthesis of majority functions using the number of levels and gates as cost criteria. The MPC considers two additional cost criteria, the number of inverters and the number of literals, with the goal to further improve exact_mig results. Therefore, the MPC aims to synthesize functions with the same amount of levels and gates, but with less inverters and literals. Tests have shown that both algorithms return optimal solutions for all functions with 3 input variables. For functions with 4 inputs, the MPC is able to further improve 66% of all functions and achieves equal results for 11%. For functions with 5 input variables, out of a sample of 1.000 randomly generated functions, the MPC further improved 58% of all functions and achieved equal results for 14%.
Synthesis of majority expressions through primitive function combination
Keywords: Síntese de funções majoritárias; Lógica majoritária; Funções primitivas; Majority functions synthesis; Majority logic; Primitive functions