32C3: Flujo de Verilog a Bitstream de código abierto y gratuito para FPGA ICE40

[Clifford] presentó un conjunto de herramientas de código abierto para programar FPGA. Si no cree que este sea un trabajo impresionante, realmente no comprende los FPGA.

La cadena de herramientas, o “flujo” como les gusta llamarlo a los chicos de FPGA, consta de tres partes: Proyecto IceStorm, una herramienta de bajo nivel que puede construir los flujos de bits que invierten piezas individuales dentro de la FPGA, Arachne-pnr, ubicación- y una herramienta de descubrimiento que transforma una lista de correo simbólica en las cosas físicas que IceStorm necesita, y Yosys, que sintetiza el código Verilog en las listas de correo que necesita Arachne. [Clifford] desarrolló IceStorm y Yosys, por lo que sabe de lo que está hablando.

Lo más impresionante es que los FPGA no son el único objetivo de este flujo. Debido a que es completamente de código abierto y modificable, también se ha utilizado para diseñar ASIC personalizados, es bueno saber cuándo necesita su propio silicio. [Clifford]El enfoque principal en Yosys es la verificación formal: garantizar que la FPGA se comportará como se pretende en el código Verilog. Un conjunto de herramientas de código completamente abierto permite trabajar en esta tarea.

Si seguiste junto con [Al Williams]Las publicaciones de FPGA, ya sea esta introducción o su serie intermedia más reciente, que también se basan en el kit de desarrollo relativamente barato Lattice iCEStick, este video es una visita obligada. Es una maravillosa introducción a la vanguardia en herramientas FPGA gratuitas.

  • Billy el cocodrilo dice:

    Bela! Hace años que falta un buen programa de síntesis de verilog de código abierto.

    Ahora, ¿podemos hacer algo con STA? [Static Timing Analysis] y tal vez algunos DRC / LVS, Optical Process Correction, y tal vez algunos programas para ver GDS / Milkyway DB.

    • mian2zi3 dice:

      Clifford está trabajando en el modelo de tiempo iCE40 y el pase STA en Yosys. Estoy trabajando en enrutamiento guiado por tiempo y análisis de tiempo topológico en arachne-pnr. ¡Ten paciencia, ya está en camino! (O ven a ayudar …) No puedo ayudar con las otras cosas. 🙂

      • Alex dice:

        sigue compartiendo hombre! Las tonterías de código cerrado (y las herramientas de carro cerrado) que hacen los principales proveedores me han alejado de los FPGA. ¡Esto es muy emocionante!

  • Abe dice:

    Para aquellos de nosotros que no hablamos alemán: https://www.youtube.com/watch?v=SOn0g3k0FlE

    • Elliot Williams dice:

      Completamente confundido.

      Estos son solo comentarios al contenido de CCC, que está (al menos aquí en Alemania) completamente en el inglés original. 🙂

  • Artenz dice:

    Desarrollos interesantes, pero sin el apoyo de los proveedores de FPGA, todavía depende de la ingeniería inversa de todas las diferentes variantes de FPGA, no solo estructuralmente, sino también en relación con todos los parámetros de tiempo.

  • overflo dice:

    Encuentro este proyecto muy interesante.
    Creo que le hace a los FPGA lo que Arduino le hizo a los microcontroladores.
    El trabajo de Cliffords atraerá a mucha gente al tema, y ​​esto es algo BUENO.

    En general, Clifford es un tipo que realmente hace cosas que hacen que el mundo sea más interesante y agradable.
    También inició OpenSCAD hace unos años (ahora dirigido por marius kintel) y ha realizado muchos otros grandes proyectos en el pasado.
    Pero ESTO es realmente genial y podría cambiar completamente las reglas del juego en la industria de las FPGA.
    Ahora que las cadenas están abiertas, los grandes jugadores como alter tendrán que unirse a la fiesta.
    Al final, todos, los vendedores y sus clientes se beneficiarán de ello.

    ¡Gracias por dedicar su preciosa vida a estos proyectos!
    Eres uno de mis héroes personales.

    • 🙂 dice:

      Overflo & Clifford es uno de mis héroes personales.

  • Kluffy dice:

    Buen trabajo, Clifford & compañía.

    Espero que su proyecto de ingeniería inversa se base realmente en la ingeniería inversa de una sala limpia. Hace dos o tres años visité Viena y conocí a este joven rubio delgado en un espacio pirateado. Se jactó de trabajar contigo en este proyecto y mostró parte de su trabajo. Allí también mostró los símbolos de depuración y desmontaje de las herramientas Grid. Espero haber malinterpretado esto y que realmente tengas un borrador limpio.

    • overflo dice:

      No creo que tengas que preocuparte aquí.
      afaik mathias (el chico rubio al que te refieres) hizo mucha investigación básica en esa área y esa información fue la base para crear documentación que luego se usó para implementar las herramientas de programación que escribieron clifford y otros.

      por lo que no hay un vínculo directo entre lo que Clifford construyó y lo que Mathias exploró antes de eso (como en: ningún código de cuadrícula ingresó a este proyecto de ninguna manera).

      clifford comenzó su trabajo meses antes de que Mathias hiciera lo que hizo, pero sin duda fue una inspiración muy útil e importante para el proyecto en su conjunto.
      así que por favor no malinterpretes esto, no estoy tratando de sugerir que el trabajo de matemáticas no sea importante o algo así. ciertamente lo fue. simplemente no forma parte de las herramientas disponibles ahora.

      la información de depuración en las herramientas de cuadrícula que mencionó se puede habilitar con un parámetro -debug.

Alejandro Vargas
Alejandro Vargas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *