Lógica de conjunto programable (PAL) es un tipo de Dispositivo lógico programable (PLD) utilizado para realizar una función lógica particular. Los PAL se componen de una matriz de puertas AND seguida de una Puerta de la sala de operaciones como se muestra en la figura 1. Sin embargo, hay que tener en cuenta que aquí sólo la matriz de puertas Y es programable a diferencia de la matriz de puertas O que tiene una lógica fija. Esto se debe a que aquí las entradas se alimentan al Y las puertas a través de fusibles (mostrados en azul), que actúan como enlaces programables. La estructura programable-Y y fija-OR de los PALs los hace menos flexibles desde el punto de vista de la programación cuando se comparan con los PLAs (Programmable Logic Arrays). Sin embargo, debido a la misma razón, los PAL son menos costosos que los PLA.
La figura 2 muestra la estructura interna de un PAL con m entradas y n salidas. Se muestra que cada una de las líneas de entrada pasa a través de los buffers y/o inversores. Todas estas entradas están conectadas a todas y cada una de las puertas AND presentes en el PAL.
Además, esta matriz de conexión es programable (cuadro rojo en la figura 2), lo que permite al usuario decidir la conexión entre las líneas de entrada y las puertas AND. Esto significa que hay que conectar todas y cada una de las líneas de entrada a una o varias puertas AND, dependiendo de la lógica. Esto hace que uno se dé cuenta de la lógica y la funcionalidad entre las líneas de entrada. Además, las salidas de la matriz de puertas AND se alimentan como entradas al Las puertas del quirófano a través de conexiones cableadas (mostradas por el cuadro azul de la figura 2), que son fijas y por lo tanto inalterables. Además, hay que tener en cuenta que la salida de cada puerta Y no se alimenta a cada puerta O. Por ejemplo, la puerta OR 1 (O1) tiene múltiples entradas, incluyendo las salidas de Y la puerta 1 (A1), Y la puerta 2 (A2) y la puerta AND p (Ap).
Sin embargo, la puerta del quirófano n (On) tiene sólo dos entradas que son las salidas de las puertas AND A1 y Ap. Como estas conexiones son fijas, hay que prestar atención mientras se establece la conexión para darse cuenta de la lógica o la funcionalidad de los términos del producto obtenidos como salidas de la matriz de puertas AND.
Por último, hay n líneas de salida de la matriz de puertas de quirófano que dan como resultado n salidas PAL que realizan la lógica requerida en forma de suma de productos (SOP). El PAL que se muestra en la figura 2 se puede abordar como m-input, p-producto-término, n-salida PAL. Sin embargo, cabe señalar que el número de entradas, puertas AND y Las puertas del quirófano presentes en el PAL son todos independientes, es decir, un PAL puede tener 3 entradas, 8 Y las puertas y 4 salidas (y por lo tanto 4 puertas OR).
Todos los PAL pueden ser programados eléctricamente usando archivos de bits a través de programadores de dispositivos. Otros alimentadores de dispositivos y programadores de bandas pueden ser usados para programar más de un PAL. Los lenguajes de programación comunes en uso incluyen el ensamblador PAL (PALASM), el compilador de lógica programable universal (CUPL) y el lenguaje de expresión booleana avanzada (ABEL).