Diseñemos un decodificador de BCD a 7seg utilizando LUT de 1 entrada y 6 entradas.
La forma más fácil sería utilizar 7 LUT, cada una tomando el mismo dígito BCD de 4 bits como entrada, y cada salida de 1 bit para cada segmento.
Por ejemplo, el segmento 1 debe estar iluminado en los códigos BCD ... (insertar lista aquí)
etc.
Dado que nuestras LUT tienen solo una salida, será difícil usar menos de 7 LUT para controlar 7 segmentos. ¿Quizás el sintetizador se volverá inteligente y encontrará un truco para usar la lógica de carga del sumador para guardar una LUT o dos? Te sugiero que pruebes una síntesis.
Pero la regla general es 1 LUT por salida, ya que tienes 1 LUT de salida. Y más LUT si tiene más entradas de las que tienen sus LUT.
Ahora, si sus LUT de 6 entradas y 1 salida pueden reconfigurarse en LUT de 5 entradas y 2 salidas, entonces una LUT controlará 2 segmentos, por lo que necesitará 4. Si puede reconfigurarse en 4- Entradas, 4 salidas ... te dan la idea. Cada una de estas combinaciones utiliza 64 bits de ROM por LUT.
Ahora, si usamos RAM o ROM ... necesitaríamos una RAM de 10x7 bits, es decir, 10 palabras (0-9), cada una de las cuales contiene 7 bits (uno por segmento correspondiente a este dígito). Como una LUT de 6 entradas es de 64 bits de ROM, podríamos decir que 2 LUT serían suficientes, pero no tendríamos suficientes salidas.
Si multiplexamos los dígitos, lo que generalmente se hace, manejamos solo un dígito a la vez, y podemos multiplexar la palabra BCD de 4 bits antes de enviarla al decodificador, por lo que usamos solo un decodificador para decodificar cada dígito a su vez . Por supuesto, necesitaremos un multiplexor.