Antes de la "FPGA", ya sea con EPROM (Altera, 1984) o SRAM (Xilinx,1985) había familias de lógica programable, donde la programación se realiza mediante el soplado de fusibles en el chip para romper conexiones no deseadas.
Este fue un proceso unidireccional; usted no puede naciones unidas-quemar un fusible, por lo que éstos fueron, en general, "el uso de una vez" de los dispositivos, aunque a veces se puede asegurar que los cambios de diseño realizados soplaban fusibles adicionales.
Estos fueron llamados genéricamente PLDs - Dispositivos lógicos Programables - a pesar de que la primera marca específica se conoce como PALs - Programmable Array Logic. He visto las reclamaciones de AMD de marketing que se inventaron estos - no es técnicamente correcta, a pesar de que ellos compraron MMI (Monolítico Recuerdos Inc) la empresa que hizo.
PALs eran generalmente de una forma mucho más simple de la estructura de los FPGAs, en general, un exhaustiva de la red interconectada de Y-O puertas, con o sin registros en las salidas - se rompió la conexión que usted no necesita. Cada uno podía reemplazar 4-8 TTL de SSI o de los paquetes MSI, un útil ahorro de espacio en la placa, y redujo el número de la junta de los cambios de diseño necesarios.
AMD vino junto con el más complejo, pero más flexible PAL22V10 un poco más tarde, luego, después de un par de años, fui a comprar la MMI.
La programación era por lo general con un nivel bajo de HDL - generalmente PALASM o CUPL - generar un archivo de programación listado de los fusibles para ser quemado. A continuación, inserte el chip en un programador y cargar el archivo...
Creo que el primer PALs están disponibles desde el MMI alrededor de mediados de los años 70, y popular por alrededor de 1980. Además de la MMI databook (1978) fue el Diseño de Sistemas de Manual (de mi 2ª ed fue a partir de 1984, no se puede encontrar en línea) era una colección de notas de aplicación que cubre los básicos de todo el camino hasta los analizadores de espectro de audio, y, al igual que el manual, que principalmente destaca por una serie de cursi dibujos animados...
El esquema de todo un chip, no programada, se veía así:
Y un programa (en este caso, uno de MMI propios ejemplos, para los 4 bits del contador), en PALASM se veía así...
Bastante básico, pero más fácil de marcar los fusibles que quería destruir en el esquema de arriba...
Tenga en cuenta las dos líneas a partir de "CLK" ... son los nombres de los pines en fin, numeradas del 1 al 20. Estos se corresponden con el esquema de arriba (que no se muestran los pines 10 = GND o 20 = VCC, que están predeterminados). Comparando esto con el esquema verás que CLK y /OC también están predeterminadas, y todos los otros pines de entrada están en la izquierda, salidas (registrados) en el derecho.
También tenga en cuenta que este diseño es para un 16R6 pero va a caber un 16R8 porque los pines 12 y 19 (que no están registrados en el 16R6) están en desuso - es decir, NC - en este diseño.
En la práctica, probablemente el uso de un off-the-shelf contraataque como el 74163 en su lugar, a menos de que era sábado y Tiendas estaba cerrada, o alguien había metido la pata de la polaridad de la Carga de entrada.
Más información aquí...
Y para un poco de perspectiva sobre el trabajo en esa época, ver "El Alma de una Nueva Máquina" por Tracy Kidder - el libro menciona las ventajas de una nueva forma de lógica programable, y el plazo de tiempo bastante significa que ha de ser Amigos.
A raíz de estos fueron máscara de dispositivos programables, mucho más grande, pero mucho menos susceptibles a pequeña escala de desarrollo - en particular la Ferranti la ULA, que hizo la BBC Micro y Sinclair ZX81 posible alrededor de 1982. Estos se ofrecen unos pocos cientos o unos pocos miles de puertas. Como máscara programable Mcu, que envió fuera de su cinta de papel, consiguió un millar de piezas de nuevo aftel 6 semanas, y oró para que su diseño y las pruebas habían sido suficientemente profundo...