Por favor seja gentil. Tenho uma pergunta espinhosa e importante de um campo diferente da engenharia, cuja resposta pode ser bastante conhecida na engenharia elétrica. Fiz uma pergunta semelhante no StackOverflow
Suponha que eu tenha uma tabela verdade de 5 entradas e 1 saída. Eu usei o algoritmo Espresso (por exemplo, Logic Friday) para minimizar a tabela e escrever alguns VHDL eficientes. Tudo funciona bem.
Em vez de minimizar e mapear a tabela verdade para portas NAND, eu gostaria de mapear para uma função lógica ternária arbitrária. Não estou interessado em lógica com valores múltiplos, mas em funções lógicas que possuem três variáveis de entrada. Existem 256 dessas funções, e o NAND de 3 polegadas é apenas uma delas. Nem todas essas 256 funções podem ser interessantes: algumas se reduzem a seus dois irmãos variáveis de entrada.
Pergunta : como você pode mapear uma tabela verdade (por exemplo, com 7 entradas) para qualquer uma dessas funções de 3 entradas. Uma ferramenta que faça algo semelhante seria ótima, mas um método para simplificar as funções ternárias arbitrárias seria o melhor.
Antecedentes: as CPUs modernas podem executar operações lógicas ternárias arbitrárias em registros de 512 bits (por exemplo, instrução vpternlog ), mas devido à complexidade, os compiladores deixam isso para o programador, que é um pouco ignorante sobre como otimizar isso.