Las cajas verdes son pines IO, las líneas azules son cables, las cajas rojas son bits de configuración y las cajas grises son bloques lógicos. Las cajas rojas pueden proporcionar un 0 lógico constante o un 1 lógico a lo que sea a lo que estén conectados.
Cada bloque lógico implementa una tabla de búsqueda de 3 entradas y 1 salida (la combinación de los niveles lógicos de las tres entradas determina cuál de los ocho bits de configuración se selecciona) y tiene un flip-flop anulable. Su publicación también muestra la tabla de verdad que implementa la LUT, indicando qué bit de configuración se selecciona para cada combinación de s0, s1 y s2.
Por ejemplo, las cajas rojas en las intersecciones de los cables azules están conectadas para pasar puertas entre los cables. Establecer uno de esos en 1 conectará los cables horizontal y vertical juntos, establecerlo en 0 deja los cables desconectados.
Lo que debe hacer es escribir un 1 o un 0 en cada cuadro rojo para que las señales de entrada en los cuadros verdes en la parte superior se envíen a través de los bloques lógicos, que deberá configurar para implementar la lógica necesaria para realizar la operación. Parece que quieren que agregue {a1, a0}, {b1, b0} y ci juntos.
Aquí tienes un ejemplo de cómo puedes implementar una puerta OR de 3 entradas:
Se supone que todos los cuadros en blanco son 0 lógicos. Esto toma las 3 entradas a0 b0 y ci, calcula el OR lógico y genera el resultado en un pin libre. Lo principal a tener en cuenta es cómo los bits de configuración controlan las puertas de paso para conectar las tres señales de entrada a las tres entradas en el bloque lógico y la salida a un pin de salida libre, y cómo el bloque lógico implementa la funcionalidad OR - 0 cuando todos las entradas son 0, de lo contrario 1, con el flip-flop omitido.