Por favor se amable. Tengo una pregunta espinosa e importante de un campo diferente de ingeniería cuya respuesta puede ser bastante conocida en ingeniería eléctrica. Hice una pregunta similar en StackOverflow
Supongamos que tengo una tabla de verdad de 5 entradas y 1 salida. Utilicé el algoritmo Espresso (p. Ej., Logic Friday) para minimizar la tabla y escribir algunos VHDL eficientes. Todo funciona bien
En lugar de minimizar y asignar la tabla de verdad a las puertas NAND, me gustaría asignar a una función lógica ternaria arbitraria. No me interesa la lógica de valores múltiples, sino las funciones lógicas que tienen 3 variables de entrada. Hay 256 de estas funciones, y NAND de 3 pulgadas es solo una de ellas. No todas estas 256 funciones pueden ser interesantes: algunas se reducen a sus 2 hermanos variables de entrada.
Pregunta : ¿cómo puede asignar una tabla de verdad (por ejemplo, con 7 entradas) a cualquiera de estas funciones de 3 entradas? Una herramienta que haga algo similar sería genial, pero un método sobre cómo simplificar a funciones ternarias arbitrarias sería lo mejor.
Antecedentes: las CPU modernas pueden realizar operaciones lógicas ternarias arbitrarias en registros de 512 bits (por ejemplo, instrucción vpternlog ), pero debido a la complejidad, los compiladores se lo dejan al programador, que no tiene ni idea de cómo optimizar esto.