Diseño FPGA de arriba a abajo

[Roland Lutz] dio una conferencia sobre el diseño de FPGA utilizando las herramientas gratuitas para dispositivos Lattice en la conferencia MetaRheinMainChaosDays de este año. Puedes ver el video a continuación. Es una gran introducción a las FPGA que abordan tanto el nivel más bajo de detalle como una comprensión un poco más avanzada. Si está comenzando con estos FPGA, este video es imprescindible.

[Roland] comienza con el material introductorio obligatorio. Luego salta a un ejemplo real antes de alejarse para ver los detalles internos del Grid FPGA. Por ejemplo, este FPGA admite múltiples flujos de bits, por lo que puede cambiar entre varios "programas" a la vez.

Si alguna vez se ha preguntado cómo se relacionan los mosaicos y las celdas, sacará mucho provecho de la discusión de bajo nivel. También hay una explicación muy concisa de cómo encajan las fichas. Si está confundido acerca de la diferencia entre un cable span-4 y un cable span-12, querrá mirar.

Hay muchos detalles gratuitos en el sitio web y [Roland] incluye algunas referencias al final del discurso. Hicimos nuestros propios videos introductorios cuando aparecieron por primera vez las herramientas IceStorm. Si prefiere una herramienta gráfica, puede que le interese Icestudio.

  • Paul dice:

    ¡Lutz es un gran nombre para un tipo que trabaja en FPGA!

    • Elliot Williams dice:

      ¡Eso es ridículo! Ciertamente dijo "LUT" miles de veces durante esa presentación, y ni siquiera lo entendí.

      Aquí hay una brillante presentación sobre FPGA, por cierto. Todos los interesados ​​deberían verlo. Y [Lutz] (tee-hee) realmente sabe lo que hace: escribió una herramienta de lógica a lógica intermedia en Python que muestra cómo el chip está configurado a nivel celular, pero también legible por humanos.

      Parece un desmontaje de la estructura FPGA y parece dar una gran comprensión de lo que sucede durante el flujo. Aparece en el último tercio del discurso y vale la pena quedarse para la OMI.

      • Mattvenn dice:

        ¿Tiene una conexión con el desmontaje? Unos minutos, Google buscó solo este https://fossi-foundation.org/2017/05/04/gsoc

        • Elliot Williams dice:

          Era icebox asc2hlc y está en la línea principal Icestorm y [Lutz]GitHub:
          https://github.com/rlutz/icestorm/blob/master/icebox/icebox_asc2hlc.py

        • Elliot Williams dice:

          Y mientras estamos trabajando en ello: http://hedmen.org/icestorm-doc/icestorm.html es [Lutz](en curso) documentación de todo el asunto. Es la versión impresa de muchos de esos discursos.

          • Mattvenn dice:

            ¡Gracias!

  • ScriptGiddy dice:

    ¡Gracias! Mucha información excelente aquí.

  • fanoush dice:

    Acabo de encontrar la placa UPduino FPGA por $ 8 y me pregunto por qué no es más popular. Nunca se mencionó aquí en la-tecnologia, muy pocos hits de google, pocos comentarios y vistas en videos de youtube y parece un milagro sucio y barato similar a esp8266, arduino pro mini, pi zero.

    Incluso se basa en Lattice ICE40, por lo que la cadena de herramientas de código abierto FPGA funciona con él, entonces, ¿dónde está el truco? Parece haber sido anunciado en enero y ha estado disponible al menos desde julio. Y lo encontré hoy mismo y pedí uno de inmediato. Espero que sea real 🙂

    • Miroslav dice:

      Parece muy interesante, pero menciona que es necesario instalar algunos programas Lattice para programarlo. ¿Solo Windows? Honestamente, no he leído el TFA completo.

      • fanoush dice:

        perdón por la confusión, mi comentario se relaciona solo con los temas de FPGA y Lattice, pero no con el contenido del artículo o video. Acabo de encontrar un video sobre la placa UPDuino en youtube cuando vi un video del artículo 🙂

    • BN BN dice:

      Realmente no estoy apuntando al objetivo de una FPGA para aficionados / jugadores locales. La curva de aprendizaje es generalmente mucho más pronunciada, pero lo que es más importante, no puedo pensar literalmente en nada para lo que un usuario doméstico usaría una FPGA que se pueda aprender sin un nivel universitario intenso. ¿Quieres controlar las cosas? Utilice un microcontrolador. ¿Alguien puede proponer algunos buenos ejemplos que sean útiles para un usuario doméstico?

      • Elliot Williams dice:

        a) Se divierten. Jugar con la lógica es genial. Jugar con lógica programable es mejor.
        b) Rápido / flexible / de baja latencia / paralelo: todas las cosas que aportan los FPGA.

        vs.

        a) Periféricos. Punto completo para microcontroladores en este. Implementará una gran cantidad de SPI y comprará chips ADC si sigue la ruta FPGA.
        b) Memoria. Los FPGA más altos tienen suficiente. Las partes de la parrilla probablemente no sean adecuadas para muchas aplicaciones. Lo que significa memoria externa. Qué molestia.

        Pero bueno, no lo golpees hasta que lo pruebes. 🙂 Hay más de una forma de hacer parpadear el LED.

        • BN BN dice:

          Pero eso es algo. "Rápido / flexible / de baja latencia / paralelo" No puedo pensar en ningún uso posible para la persona promedio para estas cosas. Por supuesto, son extremadamente útiles en la industria y en varios productos de consumo (procesamiento de video, etc.), pero para un jugador, parecen ser más bajos que los microcontroladores y al mismo tiempo más difíciles de usar. Claro que jugar con ellos puede ser divertido, pero creo que cosas como arduino son populares y cosas como UPduino no lo son porque los FPGA no benefician a las masas. Todavía estoy tratando de descubrir incluso un caso de uso.

          He programado FPGA y, aunque son interesantes y útiles para aprender más sobre lógica, no son útiles para tareas de personas promedio. Incluso aprender sobre lógica no es realmente útil a menos que su tarea requiera las cosas que ofrecen los FPGA (o tenga un excedente masivo de chips CMOS).

      • Ingeniero de Backwoods dice:

        "No se me ocurre literalmente nada para lo que un usuario doméstico usaría FPGA"

        Eso es porque no pensó en la radio definida por software. Inserte el flujo de ADC de muestreo de RF en FPGA. Procese las señales. Obtener información. Los radioaficionados lo hacen, y otros también pueden hacerlo.

        • BN BN dice:

          Correcto, pero compare eso con lo que la gran mayoría de la gente hace con un arduino. ¿Cuánto esfuerzo se necesita para no saber nada sobre FPGA para tener un procesador de señal SDR funcional? Por supuesto que es posible hacerlo, es bastante difícil y realmente no hay un término medio; Puede hacer que los LED parpadeen a través de puertas lógicas simples y puede hacer un procesador de señal en tiempo real, pero no hay mucho entre esos dos extremos para ocupar a la persona promedio. Solo usaría FPGA si fuera necesario, y hay muy pocas situaciones que sean así, y todas tienden a ser bastante avanzadas. No estoy diciendo que los FPGA sean inútiles y que nadie deba usarlos, solo le estoy explicando a OP por qué los MCU son mucho más populares. Yo diría que aunque los FPGA son técnicamente más versátiles (porque si tuviera suficiente tiempo en sus manos, podría configurar una CPU en una, o usar un proyecto extracelular), los microcontroladores se adaptan mucho mejor a las necesidades de su consumidor promedio.

          • Ostraco dice:

            Esa podría ser la razón por la que verá FPGA integrados con otros bloques más tradicionales, por lo que uno termina con "obtienes esto gratis, con eso". Por lo tanto, BT / FM está integrado con chips WiFi incluso si no es necesario.

    • Elliot Williams dice:

      Muy ordenado y no te puedes quejar de ese precio. Sin embargo, no sé sobre el soporte de IceStorm para la variante UP.

      http://www.clifford.at/icestorm/

      Lo cual no importa, pero se supone que debes usar las herramientas de Lattice si no hay una IceStorm para ello (todavía).

      • fanoush dice:

        oh, es posible que haya entendido mal la palabra 'gratis' en un comentario en esta página y luego https://www.linkedin.com/pulse/upduino-ultraplus-mobile-fpga-board-arduino-form-factor-jennings

    • andrea dice:

      hablando de este UPDuino, lo "encontré" a principios de septiembre, y publiqué en algunos otros foros que los encontrarás fácilmente con google ..
      es realmente un juguete de lujo, y me estoy divirtiendo mucho hoy en día; También me gustaría extender una tormenta de hielo, pero lleva tiempo. Actualmente lo estoy usando con iCEcube2, la propia herramienta que se ejecuta en Linux.

      También desarrollé una pequeña utilidad, iceProgrammer (tomando prestado el esqueleto también de iceStorm ..) y puedes encontrarlo en github, el enlace de mi nombre ..

  • Bernardoom dice:

    el texto dice "herramientas gratuitas para dispositivos Grid". La última vez que verifiqué (hace bastante tiempo), rechacé los componentes de la red porque incluso su propia herramienta gratuita (Lattice Diamond) funcionaba solo para los pocos dispositivos más simples, pero no para los FPGA con radios> = 3Gbps y el uso de estos solo funcionaba con una licencia pagada. ¿Alguien sabe si las herramientas mencionadas aquí son compatibles con estas radios> = 3Gbps?

Alana Herrero
Alana Herrero

Deja una respuesta

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