Para hacer esto lo más genérico: tengo un conjunto de entradas I0, I1, ..., In , salidas O0, O1, ... Om y verdad tablas que dan los valores deseados para cada Oi para todas las combinaciones de entrada.
Ejemplo: sumador completo
I0 I1 I2 O0 O1
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Ahora sé cómo usar un diagrama de Karnaugh para generar términos mínimos para cada salida y construirlos con puertas NOT, AND y OR. Pero en realidad solo tengo puertas con 2, 3, 4 u 8 entradas, por lo que para más entradas, las puertas deben estar encadenadas en un árbol que conduce a muchas puertas y rutas de señal largas, y también tengo más tipos de puertas para aprovechar.
Por lo tanto, mi pregunta es : ¿Cómo puedo generar una red de puerta utilizando cualquier tipo de puertas optimizadas para la ruta más corta (la más rápida), la cantidad mínima de puertas / cables (la más fácil de ensamblar) o la cantidad mínima? de 7400 chips de la serie (me estoy quedando sin espacio :). Teniendo en cuenta los límites de fanout también sería bueno.
¿Hay algo mejor que Brute forzando a todas las redes de puertas posibles a ver si alguna de ellas da el resultado correcto?
Nota: el objetivo objetivo sería algo que pueda manejar al menos 16 entradas y 16 salidas.