Aprenda la programación de FPGA de la década de 1940

A menudo pensamos que no hay suficientes personas que estén construyendo cosas con FPGA. También nos encantan las publicaciones de retroceso sobre hardware informático antiguo. Así que fue difícil dejarlo pasar [karlwoodward’s] Publicación sobre Challenge Chip Hack EDSAC - parte del festival Wuthering Bytes 2017.

Puede reconocer a EDSAC como lo que pudo haber sido la primera computadora funcional si definió una computadora como lo que hoy consideramos una computadora. [Maurice Wilkes] y su equipo ha ideado muchas cosas que entendemos hoy, incluidos los subprogramas (Wheeler salta según un estudiante de posgrado).

El objetivo del desafío de EDSAC era exponer a las personas a la creación de proyectos con FPGA, especialmente utilizando el lenguaje de descripción de dispositivos Verilog (HDL). Si desea rastrear u operar su propio Chip, los materiales están disponibles en el sitio web. Puede ver una cinta móvil FPGA para crear recuerdos en el video a continuación.

Algunos de los ejercicios son bastante simples y eso es perfecto si recién está comenzando. El desafío usa una placa con Lattice ice40 FPGA y la cadena de herramientas de código abierto para Lattice que discutimos anteriormente. De hecho, incluso hicimos nuestros propios tutoriales en el mismo dispositivo básico (pero no en la misma placa). Nuestro proyecto final generó PWM, no cinta de papel.

Para el recuerdo, EDSAC fue increíble. La unidad de ejecución consistía en piezas mecanizadas y en serie que marchaban una a la vez sobre una línea de retardo de mercurio. Hay mucha documentación e incluso algunos simuladores, por lo que si alguna vez ha querido tener en sus manos una computadora vieja, no está mal probar esta.

  • Ostraco dice:

    Los usuarios de FPGA agradables, pero no accesibles, llegan a más computadoras de escritorio en forma de CPU / GPU, sin mencionar lo que se puede insertar en un chip o de forma inalámbrica.

    • Gravis dice:

      No, eso sería simulación o emulación en el mejor de los casos. Lo peor de todo es que estás hablando de microcódigo, que es una escala macro en comparación.

    • Yarr dice:

      ¿No? ¿Por qué Intel tendría alguna razón para comenzar a incluir macros accesibles en sus CPU, y por qué AMD o NVidia tendrían alguna razón para hacer lo mismo con sus GPU, especialmente cuando los ASIC multinúcleo personalizados brindan un mejor rendimiento a las tareas? para qué, ya sabes, están diseñadas las GPU?

      Por ejemplo, ¿los jefes de Intel, NVidia y AMD comenzarán de repente a usar pegamento y al final dirán: "¿Sabes lo que tenemos que hacer? Gastar millones o miles de millones para mejorar nuestros procesos de diseño para poner una característica de nicho increíble nuestras fichas para hacer felices a un puñado de hackers "?

      • metano dice:

        De hecho, Intel trabaja en línea desde procesadores Xenon con FPGA y también con tarjeta aceleradora FPGA. Se supone que se usa en grandes centros de datos donde todo el sistema está sintonizado para una cantidad específica de trabajo. Entonces no, no veremos esto en computadoras de escritorio, pero probablemente podrá comprar ese hardware en uno o dos años.

      • Sweeney dice:

        ¿No prestaste atención entonces?
        https://www.theregister.co.uk/2016/03/14/intel_xeon_fpga/

  • mac012345 dice:

    Es demasiado triste que elijan un tablero de historietas, porque es un tablero fpga completamente parecido a una tienda (producido solo en conjuntos, la venta se anunció en una publicación del foro).

    • estándares abiertos dice:

      Aunque puede ser una tienda, es una increíble tormenta icónica de fpga, es un conjunto de herramientas increíble y no necesita gigs de datos.
      Asistí a la conferencia y conozco los problemas de la red y los problemas de caída de paquetes, entonces encontrarás problemas.
      El hecho de que conocimos y hablamos con Ken, quien diseñó las tablas, fue una ventaja, un lobo de Ciifford también dio una conferencia sobre lo que se aprendió.

      • mac012345 dice:

        Sí, conozco una cadena de herramientas de tormenta de hielo y jugué un poco con ella. Pero una placa fpga de cuadrícula es cara (ikobord) o unobtainium / difícil de obtener, es una pena.

  • Andrea Campanella dice:

    Tengo una tormenta del Hack Reveal Day pero estoy luchando por aprender Verilog, tal vez sea la inconsistencia de la documentación y el ejemplo en torno al proyecto blackice ...

    • mac012345 dice:

      ¿Entonces prueba spinalHDL? tienen una implementación de cpu risk-v en un fpga grid (con icestorm), por lo que llevarlo a su tablero mystorm es un buen comienzo.

  • Julian Skidmore dice:

    ¡El Manchester Baby (que precedió a EDSAC) también pudo hacer programas ;-)!

    Instrucción ADDR
    0 20; El bebé comienza en la dirección 1, por lo que se omite.
    1 LDN 30; cargar dirección de devolución negativa en la dirección 30
    2 STO 21
    3 JMP 8; llamar a un programa indirecto
    4 LDN 31; cargar dirección de devolución negativa en la dirección 31.
    5 STO 21
    6 JMP 8; llamar a un programa indirecto.
    7 HLT
    ...
    20 JMP 21; la subrutina simplemente regresa.
    21 0; en realidad render ald.
    30 -3; devuelve ald = 4.
    31 -6; devuelve suma = 7.

    El SSEM solo tenía 32 palabras de almacenamiento de programa / datos, ¡pero este programa de 12 palabras demuestra que las subrutinas son posibles con él!

    http://curation.cs.manchester.ac.uk/computer50/www.computer50.org/mark1/prog98/ssemref.html

Manuel Gómez
Manuel Gómez

Deja una respuesta

Tu dirección de correo electrónico no será publicada.