¿Cuándo se inventó el concepto de FPGA?

5

Acabo de terminar de leer el libro de Charles Petzold , Código: El lenguaje oculto del hardware de la computadora y Software. En él, Charles explica cómo construir relés en puertas, puertas en componentes lógicos y componentes lógicos en máquinas de computación.

Habla del libro Libro de datos de TTL para ingenieros de diseño que apareció por primera vez en 1973. (I ' Suponiendo que las personas tuvieran listas de chips de puerta TTL antes de esto). Esto habla mucho sobre la Texas Instruments 7400 series de chips de puerta lógica.

Ahora me parece que podría combinar chips TTL (o relés o transistores) en una CPU siguiendo las instrucciones de este libro. Pero todo en línea dice "¡use FPGAs en su lugar! ¡Es más fácil para esa escala! [A menos que esté obteniendo los conceptos y desee ver la vista de extremo a extremo]". Lo suficientemente justo, algo de pragmatismo es bueno, depende de cuál sea el resultado.

Cuando observa la estructura de un FGPA , parece tener solo un poco más de complejidad que a sumador de 4 bits .

Ahoranosécuándoseinventóelprimersumadordecuatrobits.(Supongoquesurgiódeltrabajode Claude Shannon en lógica booleana en 1948).

Ahora sabemos que los primeros FPGA en chips salieron a la venta en 1984 . Pero las personas, pero las han estado construyendo con TTL, transistores y tubos de vacío antes de eso.

Entonces, entre 1948 y 1984, alguien debe haber pensado en la idea de los FPGA.

Mi pregunta es: ¿Cuándo se inventó el concepto de FPGA?

    
pregunta hawkeye

2 respuestas

7

Antes del "FPGA" con EPROM (Altera, 1984) o SRAM (Xilinx, 1985) había familias de lógica programable, donde la programación se realizaba soplando fusibles en el chip para romper las conexiones no deseadas.

Este fue un proceso de una sola vía; no puede destrabar un fusible, por lo que en general se trataba de dispositivos "de uso único", aunque a veces podría asegurarse de que cualquier cambio de diseño que hiciera soplara fusibles adicionales.

Estos fueron llamados genéricamente PLDs - Dispositivos de lógica programable, aunque la primera marca específica se conoció como PALs - Programmable Array Logic. He visto afirmaciones de la mercadotecnia de AMD de que las inventaron, no técnicamente correctas, aunque compraron MMI (Monolithic Memories Inc), la compañía que las hizo.

Los PAL normalmente eran una estructura mucho más simple que los FPGA, generalmente una red completamente interconectada de compuertas AND-OR, con o sin registros en las salidas: rompió las conexiones que no necesitaba. Por lo general, cada uno de ellos podría reemplazar entre 4 y 8 paquetes TTL SSI o MSI, un ahorro útil en espacio de placa y redujo la cantidad de cambios de diseño de placa necesarios.

AMD llegó junto con el PAL22V10 más complejo pero más flexible un poco más tarde, y luego, después de algunos años, compró MMI.

La programación fue generalmente con un nivel bajo de HDL, generalmente PALASM o CUPL - para generar un Archivo de programación que enumera los fusibles a ser quemados. Luego inserte el chip en un programador y cargue el archivo ...

Creo que los primeros PAL estaban disponibles en MMI a mediados de los 70, y fueron populares alrededor de 1980. Además del libro de datos MMI (1978 en adelante) hubo un Manual de Diseño de Sistemas (mi segunda edición fue de 1984, no se puede encontrar en línea) fue una colección de notas de aplicación que cubren lo básico hasta analizadores de espectro de audio y, como el manual, principalmente notables para una serie de dibujos animados con queso ...

Elesquemaparaunchipcompleto,noprogramado,seveíaasí:

Y un programa (en este caso, uno de los ejemplos propios de MMI, para un contador de 4 bits), en PALASM tenía este aspecto ...

Bastante básico, pero más fácil que marcar los fusibles que querías destruir en el esquema de arriba ...

Tenga en cuenta las dos líneas que comienzan con "CLK" ... son nombres para los pines en orden, numerados del 1 al 20. Estos corresponden al esquema anterior (que no muestra los pines 10 = GND o 20 = VCC, que están predeterminados). Comparando esto con el esquema, verá que CLK y / OC también están predeterminados, y todos los otros pines de entrada están a la izquierda, las salidas (registradas) a la derecha.

También tenga en cuenta que este diseño es para un 16R6 pero se ajustará a un 16R8 porque los pines 12 y 19 (que no están registrados en el 16R6) no se utilizan, es decir, NC, en este diseño.

En la práctica, probablemente utilizarías un contador comercial como el 74163 en su lugar, a menos que fuera sábado y las tiendas estuvieran cerradas, o si alguien más hubiera torcido la polaridad de la entrada de carga.

Más información aquí ...

Y para obtener una perspectiva sobre el trabajo en esa era, vea "El alma de una nueva máquina" por Tracy Kidder - el libro menciona las ventajas de una nueva forma de lógica programable disponible, y el período de tiempo significa que tiene que ser PAL.

A partir de estos se encontraban dispositivos programables con máscara, mucho más grandes, pero mucho menos susceptibles de desarrollo a pequeña escala, especialmente el ULA de Ferranti, que hizo posible la BBC Micro y Sinclair ZX81 alrededor de 1982. Estos ofrecían unos pocos cientos o miles de unidades. puertas Al igual que las MCU programables con máscara, enviaste tu cinta de papel, recibiste un millar de partes durante 6 semanas y rezas para que tu diseño y prueba hayan sido lo suficientemente completos ...

    
respondido por el Brian Drummond
3
  

Pero las personas [deben] haberlas construido con TTL, transistores y tubos de vacío antes de eso.

En esa era, nadie se habría tomado la molestia y el gasto de crear sistemas de lógica reconfigurable de campo electrónicamente . Lo que ellos construyeron en su lugar fueron sistemas reconfigurables mecánicamente que usaban enrollado de alambre. Se ve así (desde esta página ):

Obviamente,esuntrabajomáslentoqueconunsistemaFPGAmoderno,perodadoeltiempodetrabajoylafaltadesoftwaredediseñoelectrónicoexistente,eranormalquelaspersonasdiseñaranenpapelysetransfirierandirectamenteaunprototipofísico.

Nofuesoloparalacreacióndeprototipos,lafabricacióndevolúmenespequeñosamedianosserealizódeestamanera.VerMITLispMachine:

Fueposiblemodificarlosencampocortandoodesenvolviendocablesyluegoagregandonuevos.Estosehizodeformarutinariaparalascorreccionesdeerroresolos"parches" del servicio al cliente.

    
respondido por el pjc50

Lea otras preguntas en las etiquetas