La FPGA de $ 5

¿Alguna vez te has preguntado qué hay exactamente en esas cosas baratas que obtienes de China? A veces se trata de piezas baratas de las que nunca ha oído hablar. Por ejemplo: si desea importar, puede ganar una placa FPGA por alrededor de $ 5. ¿La desventaja? Probablemente nunca hayas oído hablar del GOWIN Semi GW1N, uno de los FPGA Little Bees, a bordo.

Existe cierta documentación en inglés que deja espacio para la interpretación y deberá utilizar su IDE. Una vez más, podría ser un rompecabezas divertido iniciar uno de estos. Seeed parece tenerlos disponibles por $ 4,90.

Según Wiki, el chip integrado es GW1N-LV1QN48C6 / I5, equipado con 1152 recursos lógicos LUT4, 1 PLL y un total de 72Kbit SRAM. La placa de desarrollo genera todas las interfaces de E / S. También hay 64 Mbit de PSRAM. La placa también tiene una interfaz RGB para visualización, un reloj de 24 MHz y la interfaz de programación / depuración USB.

No lo hemos probado, pero el desarrollo parece estar disponible para Windows o Linux. Navegar por la wiki da la impresión de que es utilizable, aunque probablemente simple, lo que podría ser una ventaja en comparación con otras herramientas.

¿Estás intentando? Los chips Grid no son tan caros y están bien soportados por herramientas de código abierto. Una vez más, la gente quiere probar la CPU muy barata (menos de un chelín) que se encuentra en muchos productos. Entonces, ¿por qué no también los FPGA?

  • David Donita dice:

    ¿Alguien sabe qué voltaje son los pines GPIO? Los documentos de AFAICT no dicen. Estoy buscando desesperadamente una de estas placas con E / S TTL de 5V.

    • Cuervo dice:

      Según la hoja de datos del FPGA Vmax IO es 3.465V. Deberá agregar cambiadores de nivel

      • David Donita dice:

        Sí; Finalmente encontré el esquema de la placa (http://dl.sipeed.com/TANG/Nano/HDK/) y ​​parece que la FPGA en sí opera a 1.2V y la E / S está a 3.3V.

        Es una pena; Estoy buscando una placa FPGA de 5V más CPU barata y fácil que pueda manejar cargas TTL para reemplazar mi placa PSoC5 existente (para eso: http://cowlark.com/fluxengine/), que es demasiado cara y tiene herramientas de código cerrado. Para mi aplicación, necesito usar una sola placa legible, por lo que una solución personalizada con cambiadores de nivel adicionales no es una opción. Ojalá las piezas de 5V no estuvieran tan desactualizadas hoy en día.

        • Palmadita dice:

          ¿Cuál es el problema? Un 3.3V normal generalmente garantiza una salida alta alrededor de 2.9V, que es lo suficientemente alta para TTL. ¿A menos que tuvieras como objetivo un CMOS de 5V?

          • David Donita dice:

            De hecho, TTL aquí era una abreviatura de “una colección aleatoria de cosas mal especificadas”.

            El problema es que la tecnología con la que estoy tratando, los disquetes, en realidad no tiene una especificación adecuada para las señales de bus; todo se basa en “estándares” ad-hoc bastante buenos. Así que no tengo idea de qué tecnología están usando realmente los discos. Dos unidades de disco Tengo hojas de datos para especificar niveles de VHI de 2.0 y 2.5V, por lo que 3.3V funcionará bien allí. El problema es que no tengo ni idea de cómo se comportan otros discos. Ya son bastante poco sobre el final de un autobús tal como está.

            Entonces, 3.3V puede ser bastante bueno la mayor parte del tiempo, pero no quiero proyectar un producto a su alrededor. Prefiero tener un 5V honesto y evitar problemas que proyectar accidentalmente en un flocado adicional.

          • David Donita dice:

            Así que mi último comentario anterior (que por alguna razón no puedo responder) es una completa tontería. Resulta que las líneas FDD son de colector abierto, lo que significa que el extremo maestro las empuja a 0V o las deja flotar. En el esclavo se dibujan hasta 5V. Esto significa que el voltaje de salida del maestro no está relacionado en absoluto; el único problema importante es si el maestro puede absorber suficiente corriente para llevarlos a 0V. Aparentemente, todavía estoy leyendo esto.

            Las entradas son, por supuesto, más fáciles si hay líneas de E / S tolerantes a 5V, aunque hay algunas sutilezas con las resistencias de extracción que todavía estoy descubriendo.

            Entonces, tal vez este FPGA realmente funcione, y aparentemente he estado demasiado paranoico al respecto durante meses. Es bueno saber estas cosas …

        • tekkieneet dice:

          El hecho de que algo tenga la etiqueta “5V TTL” no significa que necesite una entrada de 5V. (Supongo que en realidad no lees hojas de datos)

          Lea su hoja de datos específicamente sobre ViL y VIH (entradas para “0” y “1”) para las cosas que desea controlar. También en VOL y VOH.

          Un VOH (salida alta) de 5V TTL solo se garantiza que sea de 2.4V (mínimo), mientras que una punta puede ser de 3.4V debido a su estructura de tótem de salida. ¿Adivina por qué eligieron un estándar de 3.3V específicamente para alguna compatibilidad TTL?

          Las piezas CMOS de 5 V son el mayor problema.
          Para la entrada CMOS, 3.3V es el 66% de 5V, por lo que es probable que funcione con mayor frecuencia. La trampa rápida es bajar los 5V a 4.5V (-10%) y esto debe cumplir con las especificaciones de entrada.
          La salida necesitaría una traducción tensa.

          • David Donita dice:

            Por favor, no insultes.

          • tekkieneet dice:

            Como si indicar que el hecho es un hecho insultante …

          • Pelrun dice:

            Lo acusó de ignorancia intencional (“no lee las hojas de datos”), lo cual es bastante insultante. A veces, la persona a la que le estás respondiendo sabe más que tú.

          • senopera dice:

            Si no es un insulto, es muy agradable.

            David ha aparecido aquí varias veces y tiene un blog bastante conocido.

          • J. Mac Jordan dice:

            No hay problema; otras personas leen foros públicos y se benefician; ese es el propósito de un foro público; escribes a un individuo y a una audiencia …

            Nunca he oído hablar del tipo, nunca leí su blog y, por lo demás, no conozco sus hábitos de lectura de hojas de datos. Sé que su ego tiene algo que ver con las hojas de datos … (?) La respuesta del tipo podría ser simple, p. Ej. “De hecho, estoy leyendo hojas de datos”. En cambio, proporcionó una declinación …

        • dlcarrier dice:

          El sistema de comentarios limita la profundidad de respuesta, así que estoy respondiendo a una de tus publicaciones anteriores.

          Si conecta líneas de E / S de bucle abierto, con diferentes voltajes, puede convertirlas de nivel con un solo MOSFET de canal N, por línea. Conecte una resistencia de voltaje al pin 3.3 VI / O para que los pines 3.3 V y 5 VI / O estén altos, luego conecte la puerta del MOSFET a 3.3 V, el drenaje al pin E / S 5V. , y la fuente al pin 3.3 VI / O.

          Cuando no se baja ningún pin, cada pin se elevará a su voltaje de E / S. El diodo del cuerpo permitirá que el pin de 5 VI / O tire del pin de 3.3 VI / O hacia abajo, y el MOSFET se iniciará cuando se baje el pin de 3.3 VI / O, bajando también el pin de E / S de 5V.

          Puede usar cualquier MOSFET razonable que no exceda el voltaje, como 2N7000 o BSS123. Si está comenzando a ingresar al rango de MHz, deberá obtener una pieza que permita un tiempo de conmutación más rápido y usar resistencias de tracción más fuertes.

      • claudeschwarz dice:

        Sí, claro, pero los FPGA de Gowin tienen diodos fijos PCI conmutables. Entonces, si puede soportar IO tolerantes de 5V, simplemente agregue una resistencia en serie para limitar la corriente por encima del diodo de compresión a un nivel tolerable. Por supuesto, preestableciendo la lógica de que los pines funcionan sin estos diodos de compresión, tienes que ser responsable de eso. Además de eso, un interruptor fet-bus (por ejemplo, la mitad Fairchild) también hace un buen alternador de nivel bidireccional sin la necesidad de correr con un pin direccional.

    • hlide fremen dice:

      No, es 1,2 V para núcleo LV y 1,8 V / 2,5 V / 3,3 V para núcleo UV.

  • adenina dice:

    https://alcom.be/wp-content/uploads/2018/09/GOWIN_100918_DS100-1.2E_GW1N-series-of-FPGA-Products-Data-Sheet-1.pdf
    “El VCCO de los dispositivos LV se puede configurar como 1,2 V, 1,5 V, 1,8 V, 2,5 V o 3,3 V
    según sea necesario. “

  • Harvie.CZ dice:

    “Huele a dúo aquí …”
    – Oye, ¿qué es updu?

  • Harvie.CZ dice:

    Por cierto, ¿cuántas LUT necesito para un kernel básico RISC-V?

    • David Donita dice:

      Parece variar según la arquitectura y la cantidad de recursos que no son LUT disponibles en la FPGA: https://github.com/SpinalHDL/VexRiscv tiene una lista. Pero parece al menos creíble.

    • Ryan dice:

      Sería suficiente para algunas configuraciones de PicoRV32: https://github.com/cliffordwolf/picorv32

      Aunque no tendrías mucho espacio para encajar mucho más. Tal vez un UART simple y un controlador para QSPI PSRAM, si tiene suerte. No estoy seguro de cuántas ovejas de bloque te quedarían. Pero supongo que sería suficiente para alimentarlo como un dispositivo de clase microcontrolador barato.

    • Olof Kindgren dice:

      Debería poder hacer coincidir algunos kernels de SERV https://github.com/olofk/serv en ese dispositivo. Sin embargo, todavía no he tenido tiempo de probarlo.

  • TightArseIsMe dice:

    Tenga en cuenta un envío mínimo de $ 10 a Australia desde Seeed.

  • Daniel dice:

    Si cambia el sitio de GOWIN a inglés, todos los documentos técnicos tienen un número de versión que termina en “E”. Para descargarlos es necesario registrarse, pero el formulario no pide nada como el nombre de la empresa o la cantidad de dispositivos vendidos en el primer año.

    • Tony dice:

      https://github.com/sipeed/Tang-Nano-Doc

  • Cerveza inglesa dice:

    ¡Está disponible con alex !!, cuesta como $ 9:

    https://de.aliexpress.com/item/4000301629311.html?spm=a2g0o.productlist.0.0.701015a9Ajs8af&algo_pvid=02c25474-84ff-42ab-ba1e-7a4ade7ef3bd&algo_expid=02c25474b-842&bd69 search -b02c25474-8-84s-ebd69 , searchweb201602_1, searchweb201603_55

    • Harvie.CZ dice:

      Sería genial tener una cadena de herramientas de código abierto para esto … yosys, apio o icestudio.

      https://la-tecnologia.com/2016/02/23/icestudio-an-open-source-graphical-fgpa-tool/

      También sería genial si JLCPCB proporcionara este chip para su servicio PCBA (junto con otros chips FPGA geniales como ICE40 y ECP5)

  • Martoni dice:

    Cuando se trata de las mismas herramientas, Lichee Tang funciona relativamente bien. http://www.fabienm.eu/flf/deballage-du-kit-de-developpement-lichee-tang-muni-dun-fpga-chinois-anlogic/

    • Martoni dice:

      Mi error es gowin fpga, entonces tiene que ser las mismas herramientas que LittleBee: http://www.fabienm.eu/flf/le-point-gowin/.

      • Harvie.CZ dice:

        Existe mucha confusión sobre los nombres de las juntas. Hay “Lichee / Sipeed Tang Nano” con Gowin GW1N-1 FPGA (1K LUT) y “Lichee / Sipeed Tang Premier (¿introducción?)” Con Anlogic EG4S20 FPGA (20K LUT y ADC 1MSPS de 12 bits incorporado).

        Algunos programas se pueden descargar en http://dl.sipeed.com/

        Gowin Linux IDE ocupa 1,2 GB y todavía no he logrado ejecutar ArchLinux
        Anlogic Linux IDE ocupa 120 MB y funcionó primero, pruebe ArchLinux después de configurar chmod + xy escribir ./td -gui

        De todos modos, todavía preferiría tener una cadena de herramientas FOSS real antes de invertir en el desarrollo de productos con un chip de este tipo.

        Entonces, si bien lo analógico es un poco más caro, parece ofrecer mucho más. Pero por el precio de $ 20 enviados, puede obtener una placa FPGA con IC fabricada por alguna marca más grande (también puede obtener una placa CYCLONE IV EP4CE por $ 20 en Aliexpress, pero eso tampoco tiene un kit de herramientas de código abierto, por lo que Dejo que esto depende de ti).

      • tekkieneet dice:

        Por cierto, compré una placa Spartan 6+ SDRAM en Alexis por $ 20 de envío.

  • Ralph Hipps dice:

    Estos también tienen un IO tolerante a 5 voltios:
    http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/ispMACH4256ZEBreakoutBoard

  • Zerg dice:

    Cuente conmigo cuando se trata de fpga y CPLD, tomaré dispositivos más convencionales y documentados como Altera Cyclones o chips Xilinx más antiguos.

    No importa si el software es de código cerrado, es gratuito y está bien documentado. Claro que tiene una curva de aprendizaje, pero nuevamente los FPGA no son para todos.

    • Harvie.CZ dice:

      > FPGA no es para todos.

      ROFL. Espere uno o dos años a que llegue un anciano. Créame. Los FPGA serán los nuevos Arduinos pronto. Con las herramientas de FOSS para arrastrar y soltar como icestudio, sus nietos programarán FPGA tan pronto como comprendan cómo se combinan los ladrillos LEGO.

      Por cierto, ¿qué opinas de Lattice? ¿Es eso suficiente para ti? Parecen tener lo mejor de ambos mundos (propietario y código abierto).

      • Zerg dice:

        He estado usando partes de Grid durante varias décadas, comencé con PAL y GAL. Lástima que ya no los fabriquen. Buenas soluciones de “lógica pegajosa” para muchos proyectos en los que había demasiado para usar FPGA.

        Desafortunadamente, Lattice hoy en día ya no hace PLD y lo que tienen es un aficionado grosero como una cuestión de empaque. Así que utilizo PLD de Microchip o uso algunas de las ofertas más antiguas de Altera, como la serie Max 3000.

        Las placas grises retorcidas son buenas puertas de entrada baratas al mundo de los FPGA, así como a las placas ciclónicas Altera más antiguas que puedes encontrar en Ebay o Alibaba.

        IceStudio muestra un gran potencial incluso con 0,5 revoluciones. En ese tiempo. no está al nivel de LEGO, donde puedes armar algo imprudentemente o tienes que hacerlo. Esa es una buena manera de fotografiarse con algo más complejo que encender y apagar los LED.

    • Harvie.CZ dice:

      Por cierto, ¿cuánto cuesta cambiar de una marca FPGA a otra si decide cambiarla más adelante de acuerdo con el desarrollo? ¿Es necesario realizar cambios en su código VHDL / Verilog? Entiendo que necesita rehacer las tareas de los pines para que coincidan con su lógica en una configuración de chip diferente y volver a ejecutar el programa de “ubicación y ruta” para reflejar diferentes chips. Pero eso tiene que ser todo … ¿Lo entendí correctamente?

      • Palmadita dice:

        Depende de qué tan especializado sea el proyecto. Tengo proyectos simples que funcionarían para cualquier familia, así como proyectos de muy alto rendimiento que solo podrían existir en un proveedor. Los DSP, por ejemplo, son muy diferentes entre chips.

        Si solo usa HDL, está bien, pero para cualquier alta eficiencia que tenga, están * cargados * con primitivas específicas del proveedor.

      • konorala11 dice:

        Como dice Pat, depende de cuántas funciones específicas del dispositivo utilice en su HDL.

        Si sobrepasa los límites de tu tiempo, otra parte puede crear o romper tu proyecto. Esto también es muy cierto entre las familias de dispositivos del mismo fabricante.

        Y tendrá que restablecer su PCB, ya que algunos pines están dedicados a ciertas funciones y los dispositivos vienen en diferentes paquetes no estándar con diferentes cantidades de E / S disponibles para usar.

        Por lo general, es mejor elegir una parte que le permita crecer más / menos en LUT / Cells, etc., mientras permanece en la misma huella. Esto es algo que simplemente analizamos porque ya hemos maximizado el tamaño de FPGA en el espacio que usamos, y ahora tenemos que restablecer el PCB para un nuevo espacio.

        Por lo general, evitaría cambiar de marca durante un esfuerzo de ingeniería a menos que realmente tuviera el problema comercial / de aplicación.

    • tekkieneet dice:

      Los programadores deben comprender que HDL no es un lenguaje de programación procedimental porque describe hardware en paralelo.

      • Harvie.CZ dice:

        ¿Qué? ¿Crees que hay tipos que hacen programación HDL sin entender esto? ¿Y cómo se relaciona con mi pregunta? Pregunté sobre una transición entre marcas de FPGA, no sobre una transición de lógica secuencial a lógica combinatoria.

  • ChrisMicro dice:

    Me gustan estas placas FPGA Gnarly Grey:
    http://www.gnarlygrey.com/?i=1
    Son bastante baratos y también hay una cadena de herramientas de código abierto.

  • Harvie.CZ dice:

    ¿El puerto USB realmente apunta a la programación FPGA? De algunas fotos en Internet, me impresionó que tenga que usar un programador externo para programar la FPGA, que luego puede usar el puerto USB una vez programado.

    El “lichee tang premier” más caro a veces viene preprogramado con un kernel RISC-V, que luego lo convierte efectivamente en un MCU programable en lenguaje C usando USB y arduino. Pero no estoy seguro de si la interfaz USB realmente se puede usar para reprogramar la FPGA para que sea algo más que una MCU RISC-V que podría necesitar un programador adicional. (que todavía no es muy caro).

    ¿Me estoy perdiendo de algo? ¿Hay alguna forma de programar estos FPGA solo a través de USB sin hw adicional? OTOH, ¿no significaría que el USB es solo para programación y no puede ser utilizado por FPGA para otros fines?

    Estoy realmente confundido. ¿Alguien tiene experiencia con estas tablas?

    • Alex Rossie dice:

      Mirando a su alrededor, parece muy claro que el puerto USB solo es potente y descargable.

      Desafortunadamente, la última vez que verifiqué hace aproximadamente un año que usa Phy mejor.

    • hub.martin dice:

      Por ejemplo, tinyFPGA tiene dualboot sobre spi y USB directamente a gpios.
      Enchufe descarado de mi presentación Openalt. Minuto 17 https://youtu.be/S-Qxf9ZS3B8

      • Harvie.CZ dice:

        No te preocupes. Ya vi su discurso antes de que este artículo de La-Tecnologia estuviera en línea. Desafortunadamente, me perdí el OpenAlt este año. Sin embargo, me alegra que esté compartiendo el mensaje en República Checa. FPGA y el ecosistema de código abierto que los rodea necesitan mucha más atención porque es genial.

  • Alex Rossie dice:

    De acuerdo, voy a PLD son esas placas EPM240 baratas y sucias que ves en eBay por £ 5 – £ 10.

    Este es un factor de forma más agradable y se ve mejor ensamblado (debería inspeccionar esos foros de eBay). Pero 34 E / S es suficiente en su mayoría, los CPLD tienen alrededor de 100.

    Aún más agradable tener más de 1000 LUT4 adecuados.

    Tendré que ver el IDE antes de tomar esa decisión, el flujo en los PLD es tan malo que me encuentro usando una cuadrícula solo para poder usar icestorm.

  • Mike Massen dice:

    Un aspecto interesante y digno y tal vez para un proyecto poderoso y extraño, gracias por publicar 🙂
    Hola

  • Príncipe dice:

    Por favor, chicos, ¿pueden ayudar a aclarar las cosas con FPGA y PLC, cuál de ellos es ampliamente utilizado por las industrias? Gracias

    • Alexander Wikström dice:

      PLC y FPGA son dos tipos de dispositivos muy diferentes. Y varias industrias los usan de manera diferente.

      PLC son las siglas de Programmable Logic Control, generalmente es una caja que comúnmente se puede montar en un riel DIN, y por lo general tiene todo tipo de capacidades de E / S, pero más comúnmente orientada al control industrial de configuraciones y plantillas automáticas de fábrica. En algún lugar, puede cambiar cualquier cosa, desde CC de bajo voltaje a CA de alto voltaje con la ayuda de relés. Los PLC son muy comunes en la industria pesada.

      FPGA es “similar”, pero solo un chip. No viene con terminaciones de tornillo, ni relés. No es fácil de programar a través de una interfaz de red en el otro lado del mundo, y no solo “toma” 5-24 voltios de energía y “simplemente funciona”. Los FPGA tampoco se montan simplemente en un riel DIN, ni tienen un programa de control prediseñado para ellos. Además, los FPGA son extremadamente sensibles a las descargas electrostáticas, a diferencia de los PLC, que a veces están diseñados para sobrevivir cuando se aplican voltajes de red a sus E / S de CC de bajo voltaje …

      FPGA es similar a un microcontrolador, o PCB con cientos / miles de chips lógicos, pero donde las conexiones entre estos chips están definidas por software, es un poco como una placa.

      Estos dos tipos de dispositivos no son intercambiables. El PLC es un producto terminado, el FPGA es un elemento inútil si es único.

      Sin embargo, la FPGA es común en productos en entornos industriales, como ser el chip que controla los PLC.

      FPGA es simplemente un método a mitad de costo para tener un chip “personalizado”, sin el gasto de producir un chip especial efectivo. (Hacer un chip personalizado (también conocido como ASIC) generalmente solo cuesta si produce decenas de miles de chips o tiene una aplicación muy especial (generalmente, analógico / RF / DSP de alto rendimiento en el último caso)).

  • Pepijn de Vos dice:

    Para aquellos interesados, actualmente estoy trabajando en el soporte para FPGA de Gowin en las herramientas de código abierto. Espero un lanzamiento en algún lugar de diciembre. Mientras tanto, estoy publicando actualizaciones en mi twitter @pepijndevos

    • Elliot Williams dice:

      ¡Esto es muy interesante! Envíenos un consejo (tips@la-tecnologia.com) cuando esté listo.

    • Geno Ruebsamen dice:

      ¡Guau! Siguiéndote en Twitter. Bien, ¡esto es MUY INTERESANTE!

  • En Spacecat dice:

    Ah, por cierto, también puede obtener buenos FPGA de cuadrícula de la variedad iCE5LP1 / 2 / 4K a un precio bastante bajo, generalmente menos de 4e cada uno. Sin embargo, parecen necesitar algunos rieles de suministro.

  • Ryan dice:

    Realmente desearía poder conseguir una placa a este precio y número de puertas, etc., pero con más pines expuestos. 64 pines serían mi requisito, pero considerando que los FPGA en estas placas tienen muchos, es difícil no exponerlos más.

  • Arturo dice:

    ¡Trabajo maravilloso! ¿Qué tan lejos has llegado? ¿Es posible utilizar herramientas de código abierto con los FPGA de Gowin?

    • Martoni dice:

      > ¿Es posible utilizar herramientas de código abierto con los FPGA de Gowin?

      ¡Sí lo es! Puede utilizar openFPGALoader para configurar la FPGA:
      https://github.com/trabucayre/openFPGALoader

      Y Apicula planea sintetizar, colocar y tratar luego bitstream:
      https://github.com/pepijndevos/apicula

      Explicación francesa para apicultores aquí:
      https://linuxfr.org/news/apicula-lancement-de-la-liberation-du-fpga-gowin-gw1n

      • Paulo dice:

        ¡Maravilloso!

Alejandro Vargas
Alejandro Vargas

Deja una respuesta

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