Icestudio 1.0 pre-release (propuesta)

318 views
Skip to first unread message

Carlos Venegas

unread,
Jun 30, 2026, 8:30:55 PMJun 30
to fpga-wars-explora...@googlegroups.com
ENGLISH BELOW

Hola a todos! 

He subido la nueva versión y generado los bundlers, esta primera subida podría tener fallos porque incluye muchos cambios, aunque va mínimamente probada, mi propueta es que sea la pre release 1.0 , testearla entre todos estas dos próximas semanas y lanzarla como estable para que Juan la pueda utilizar para la universidad y tengamos por fin una estable actualizada.

Primero vamos a ver si os gusta y os encaja todo lo que os he propuesto. 

Esta semana os iré lanzará algunos video-tutoriales para mostrar las nuevas funcionalidades y mejoras, pero de momento no he querido retrasar que tengáis ya esto disponible a flta de ejemplos. por esto, así que os hago un resumen rápido de estas "pequeñas - grandes" mejoras:

1) Mejora en el routing, minimización de lazos, errores en el render etc. hay deficiencias imposibles de solucionar en el motor actual, si saltan ya os diré si es una limitación o si es un bug que podamos solucionar, en si en uso funciona mucho mejor que lo anterior.

2) Navegación fluida, veréis que ahora podéis navegar bastante más rápido por el diseño y modificar bloques sin necesidad de tener que desbloquear el candado y que el sistema recargue el diseño. Solo aparecen candados en los bloques que pertenecen a colecciones instaladas para protegerlos de modificaciones. Esto es una gran mejora de usabilidad.

3) Guardar en cualquier punto, ya no hace falta cerrar el candado y volver atrás para guardar, podéis guardar en cualquier lugar y como el diseño se edita en cualquier punto, la mejora frente al usuario es muy importante.

4) Limpieza de opciones sin uso u obsoletas, se han eliminado opciones del menú que estaban obsoletas.

5) Gestor de colecciones, ahora tenemos un catálogo de colecciones, el usuario puede instalarlas a golpe de click, podemos añadir nuevas colecciones remotamente sin que el usuario tenga que reinstalarse icestudio, he añadido todas las colecciones de Juan, tanto para dar visibilidad a tan gran trabajo como para que ya se disponga de un core inicial, en el transcurso de estas próximas semanas de estabilización podemos ir añadiendo todas las colecciones que tengamos fichadas o incluso nuevas.

Espero que esta idea os guste , es solo el germen de algo grande. Este módulo ya os contaré esta semana , pero se va a ampliar para que los usuarios puedan compartir desde icestudio sus colecciones con la comunidad pero primero tentemos que testear que con un grupo controlado funciona la instalación inicial así como la actualización del catálogo. 

Mi idea es que si me pasáis colecciones a añadir, las actualizo en el catálogo remoto y comprobemos que se actualizan los icestudio instalados sin tener que reinstalarlos,

También se ampliará al concepto del iceHub con "diseños"  ya os contaré, esto me gustaría tenerlo pronto listo y que podamos meterlo en la versión.

En los ejemplos , están todos del tirón , todos juntos como un cajón desastre, esto es porque está enfocado para buscar ágil por el buscador (por ejemplo poner basys3 y si hubiera saldrían solo los ejmplos), al hacer un click, en el panel derecho sale a qué colección pertenece y su carpeta.

Si se quieren instalar los ejemplos se puede en la colección con el botón de installar los ejemplos , seleccionas un directorio y te los traslada todos juntos a una carpeta.

6) Gestor de documentación y tutoriales,  uno de los problemas que tenemos en la comunidad es la poca visibilidad y como se pierden todos los trabajos en el tiempo. Así que ahora queda todo centralizado en icestudio, tanto el propio foro de la comunidad como video tutoriales y referencias a proyectos web. Todo lo que he dado de alta a modo de ejemplo está multiidioma castellano/inglés para tags y descripciones de búsqueda.

La idea es que entre todos poblemos este área de trabajos y recursos que hagan que caulquier a golpe de buscador le sea muy fácil encontrar todo tipo de información que en google es muy complejo.

Y lo mismo que antes, este área se actualiza remotamente, podremos ir añadiendo videos, cursos, referencias proyectos, sin que los usuarios tengan que reinstalarse icestudio o andar perdidos en la red, el propio icestudio es el editor y el concentrador de información.a

7) Versión APIO actual + mejora de instalación y mantenimiento.  He mejorado como apio se instala y mantiene, es muy fácil pasar de stable a develop y estar al día en cualquiera de sus ramas, ya no hace falta preinstalar python ni git y los tiempos de descarga se han reducido dramáticamente.

El nuevo gestor muestra mucha más información y detalle, la idea es que el usuario no tenga ninguna pérdida y sepa en todo momento que está ocurriendo.

8) Wizard de inicio, En general un usuario nuevo entra en icestudio y no sabe como empezar, he añadido un wizard que guía al usuario en su primera configuración del entorno , instalación de la toolchain, conexión a la placa y flasheo de su primer programa.

Es solo un inicio de wizard que mejorará con el tiempo pero creo que era algo super necesario.

9) Apio shell, es una shell interactiva que permite desde icestudio manejar apio directamente así como todos los comandos de yosys. La shell hace un sandbox en el proyecto activo para no interferir en el sistema, lo bueno, un usuario novato no necesita configurar variables de entorno, python ni nada, simplemente peude probar comandos , desde un iceprog a una síntesis manual con yosys, la idea de esta shell va desde facilitar la vida a desarrolladores que pueden probar comandos personalizados directamente, a poder usar herramientas de yosys no integradas en icestudio como por ejemplo un iceprog.

10) Shell de salida interactiva, a partir de ahora el outuput no es una consola perdida con poca utilidad, tenemos acceso en cada síntesis a una consola, gestionable donde ver la salida poder copiarla, analizarla e incluso ante errores , recomienda al usuario ciertas configuraciones, de momento los hints son pocos pero según los vayamos detectando iré añadiendo reglas.

Esto nos ayudará a ante mejoras de la toolchain poder añadir parámetros personalizados en apio que no obliguen a tener que reescribir todos los bloques como ya ocurrió en antaño.

Esto también evita que ante un error la pantalla se llene de globos rojos ininteligibles y complicados de entender y leer.

10) Gestor de bloques, se ha mejorado, eliminado situaciones conflictivas que rompían el flujo o dejaban al gestor en una situación corrupta. 

Se ha añadido el buscador sugerido por Joaquim y mejorado el filtrado.

Está sincronizado con iceHub, cuando se instalan colecciones se sincroniza el indexado.

11) Se han actualizado y mejorado los sistemas de integración continua y los bundlers ahora se generarán automáticamente cada madrugada, acumulando los cambios que se hayan hecho commit en el día anterior.

12) Actualización al último motor nwjs

13) Solucionado la construcción para OSX (aunque fallará posiblemente en la nightly de esta noche, pero está controlado posiblemente cuando leais este correo ya esté solucionado).

14) Editor de tarjetas, para añadir tarjetas ya no es necesario editar nada a mano, además podemos partir de importar tarjetas desde apio y podemos integrar tarjetas solo en icestudio (para desarrollo o porque por el motivo que sea no encajan en apio) e incluso con esto se podría integrar vivado o cualquier otro sistema de síntesis (se clonaría la tarjeta X y se establecerían los comandos personalizados desde el editor para esa tarjeta).

Esta semana os subiré un video a modo de ejemplo integrando una tarjeta que está en apio y no en icestudio y otro video integrando una tarjeta que no está ni en apio ni en icestudio.

Este módulo tiene un alto grado de poder tener bugs os pido paciencia los primeros días mientras lo ponemos en marcha y se va probando.

15) Ahora hay un nuevo comando "Limpiar" esto es porque para no borrar modificaciones y personalizaciones de apio, testbenches, etc ahora en cada build ya no se borra el contenido de la carpeta íntegramente como antes (como sugirieron Luis Miguel y Joaquim, gracias!) por lo que ya es tarea del usuario decidir cuándo realizar esto.

16) Migración terminal serie y modernización, el terminal serie estaba obsoleta , era incompatible con  e l nuevo motor chrome en el que han eliminado el soporte webserial.

He aprovechado a modernizarla la interfaz al estilo del resto de plugins nuevos.

17) Muchas nuevas mejoras que ya estaban implementadas como importación de verilog etc.

18) Mejoras en los workflows de github, aparte de actualizarlos la más importante es que ahora se hará una versión automática cada noche con los cambios los haya o no acumulados durante el día.

En la nueva versión que viene,  he introducido el concepto de "proyecto" ya os lo explicaré todo en detalle pero nos va a dar mucha potencia y esto es parte de este futuro nuevo concepto.

En resumen esto es todo por el momento, como os digo es solo la punta del iceberg pero es lo mínimo que consideraba que debería estar en la 1.0 . Además el resto de funcionalidades ya no puedo portarlas porque requieren del nuevo motor que aunque visualmente he mantenido el render internamente está todo rehecho casi de cero.

Se han eliminado todas las funcionalidades rotas o que estaban a medias, en los próximos días actualizaré en github documentación sobre como colaborar a partir de ahora, el icestudio develop nunca debe quedar roto ya que mucha gente es la versión que usa para su día a día y estar a la última y en esta última etapa quedó roto hace meses por diversas funcionalidades, no quiero que se repita esta situación por lo que estableceré unos criterios de como colaborar /añadir fetures nuevas etc y os las propondré si os gustan bien y si no pues se sigue como hasta ahora y ya está.

Esta versión es en esencia el mismo icestudio que ya teníamos pero pulido y vitaminado, con muchas mejoras en el routing, gestión de placas,nuevo apio y mejoras en su integración, instalación de paquetes, perfilado de la interfaz etc.

Se incluyen cosas como que la carpeta build no borre su contenido para que los testbenches o personalizaciones se mantengan, etc.

Para añadir placas nuevas, solo tenéis que activar el check de development , esto al crear una placa nueva y guardarla o importarla de apio y guardarla, genera ya las carpetas y ficheros necsarios dentro de la distribución de icestudio por loq ue luego solo teneis que hacer en la consola los pertinentes git add, commit y push para el pr, ya no hay que editar nada a mano ni ejecutar scripts que solo llevaban a lio y errores.

como os he comentado estos días os subiré unos vídeos para ayudaros en los primeros pasos.

Voy a preparar unas plantillas y un tutorial para el que quiera hacer un vídeo lo pueda hacer y tenga el mismo formato. en los próximos días publicaré el como añadir vídeos de comunidad (cada uno se lo guisa y se lo come y hace lo que quiere pero icestudio lo aglutina) o quiere proponer un vídeo de forma oficial.

Como llevo todo el desarrollo en paralelo por diferentes motivos y para no retrasaros el tenerlo disponible he hecho una subida masiva del código en un único PR, así si no os gusta lo podéis eliminar de un plumazo sin mayor dolor y con un único changelog resumen de todo ello, os lo adjunto en este mail en inglés y castellano en el que aunqeu a modo de resumen está más o menos indicado todo el trabajo realizado., también los podréis  ver en "Notas de la versión" he cambiado el formato y reajustado a los nuevos estilos.

Luego he añadido la basys que añadió Juan, esto no puedo probarlo ya me diréis si todo va bien y si no ya tocaremos, en osx falta un script report_xilinx.py en la toolchain de osx que tengo que revisar, no he podido probarlo en linux ni en windows mañana lo haré, en cualquier caso esto ya es un tema d apio y toolchain en icestudio se generan bien los ficheros y se le pasa a apio todo correctamente.

Estos días haré algunos cambios menores más relacionados con información de la versión, documentación, etc pero mientras la vamos rodando.

A nivel de estilos esta semana haré una revisión en la versión "clara" porque he hecho todo en oscuro y puede que en blanca haya cosas que no se adapten bien, pero no he querido retrasar que pudierais trabajar por esto que tiene poca importancia.

Agradecimientos a Demócrito que me ha estado echando una gran mano en poder dejaros esta versión mínimamente probada y evitar un caos inicial por bugs de todo tipo.

También recordaros que ya subí las versiones de opencx7 nativas para Windows y OSX por lo que al usar esta versión de icestudio en linu y osx no tenéis que usar wsdl ni nada similar.

A por ello!



ENGLISH

Hi everyone!

I have uploaded the new version and generated the bundles. This first upload may contain issues because it includes many changes, although it has been minimally tested. My proposal is for this to be pre-release 1.0, for all of us to test it over the next two weeks, and then release it as stable so Juan can use it at the university and so we finally have an up-to-date stable version.

First, let’s see whether you like everything I have proposed and whether it fits your needs.

This week I will be publishing some video tutorials to show the new features and improvements. For now, however, I did not want to delay making this available to you just because examples are still missing. So here is a quick summary of these “small-but-big” improvements:

  1. Improved routing, minimization of loops, rendering errors, etc. There are some shortcomings that are impossible to solve with the current engine. If they appear, I will let you know whether they are a limitation or a bug we can fix. In general use, it works much better than the previous version.

  2. Smoother navigation. You will see that you can now move through the design much faster and modify blocks without having to unlock the padlock and make the system reload the design. Padlocks now only appear on blocks that belong to installed collections, in order to protect them from modifications. This is a major usability improvement.

  3. Save from anywhere. You no longer need to close the padlock and go back in order to save. You can save from any point, and since the design can be edited from anywhere, this is a very important improvement for the user.

  4. Cleanup of unused or obsolete options. Menu options that had become obsolete have been removed.

  5. Collection manager. We now have a collection catalog. Users can install collections with a single click, and we can add new collections remotely without users having to reinstall Icestudio. I have added all of Juan’s collections, both to give visibility to such great work and to provide an initial core set. During these next weeks of stabilization, we can add all the collections we already know about, or even new ones.

I hope you like this idea. It is only the seed of something big. I will explain more about this module this week, but it will be expanded so users can share their collections with the community directly from Icestudio. First, however, we need to test with a controlled group that the initial installation and catalog updates work correctly.

My idea is that if you send me collections to add, I will update them in the remote catalog and we can check that installed Icestudio instances update without needing to be reinstalled.

This will also be expanded into the concept of iceHub with “designs”. I will tell you more about this. I would like to have it ready soon so we can include it in the version.

In the examples section, everything is currently shown all together, like a catch-all drawer. This is because it is designed for fast searching through the search box. For example, if you type “basys3”, only the matching examples would appear if there are any. When you click an example, the right-hand panel shows which collection it belongs to and its folder.

If users want to install the examples, they can do so from the collection using the “install examples” button. They select a directory and the examples are moved together into a folder.

  1. Documentation and tutorial manager. One of the problems we have in the community is the lack of visibility, and how all the work gets lost over time. Now everything is centralized in Icestudio: the community forum itself, video tutorials, and references to web projects. Everything I have added as an example is multilingual, Spanish/English, for tags and search descriptions.

The idea is for all of us to populate this area with work and resources so that anyone can easily find all kinds of information through the search tool, something that is very difficult to do on Google.

As with the previous area, this section updates remotely. We will be able to add videos, courses, and project references without users needing to reinstall Icestudio or wander around the web. Icestudio itself becomes both the editor and the information hub.

  1. Current APIO version, plus improved installation and maintenance. I have improved how APIO is installed and maintained. It is now very easy to switch from stable to develop and stay up to date on either branch. Python and Git no longer need to be preinstalled, and download times have been dramatically reduced.

The new manager shows much more information and detail. The idea is for users not to get lost and to know at all times what is happening.

  1. Startup wizard. In general, a new user opens Icestudio and does not know how to begin. I have added a wizard that guides users through their first environment setup, toolchain installation, board connection, and flashing of their first program.

This is only the beginning of the wizard, and it will improve over time, but I think it was something very necessary.

  1. APIO shell. This is an interactive shell that allows APIO to be managed directly from Icestudio, as well as all Yosys commands. The shell creates a sandbox in the active project so it does not interfere with the system. The good thing is that a beginner does not need to configure environment variables, Python, or anything else. They can simply try commands, from iceprog to manual synthesis with Yosys. The idea behind this shell ranges from making life easier for developers, who can test custom commands directly, to allowing the use of Yosys tools not integrated into Icestudio, such as iceprog.

  2. Interactive output shell. From now on, the output is no longer a lost console with little practical use. For each synthesis run, we have access to a manageable console where we can view the output, copy it, analyze it, and even, when errors occur, receive recommended configurations. For now, there are only a few hints, but as we detect more cases, I will add rules.

This will help us, when the toolchain improves, to add custom APIO parameters without having to rewrite all the blocks, as happened in the past.

It also prevents the screen from filling up with unintelligible red balloons that are difficult to understand and read when an error occurs.

  1. Block manager. This has been improved, and conflict situations that broke the flow or left the manager in a corrupted state have been removed.

The search feature suggested by Joaquim has been added, and filtering has been improved.

It is synchronized with iceHub, so when collections are installed, the indexing is synchronized.

  1. The continuous integration systems and bundlers have been updated and improved. Bundles will now be generated automatically every night, accumulating the changes committed during the previous day.

  2. Updated to the latest NW.js engine.

  3. Fixed the build for OSX, although tonight’s nightly may still fail, but it is under control. It will probably already be fixed by the time you read this email.

  4. Board editor. Adding boards no longer requires editing anything manually. We can also start by importing boards from APIO, and we can integrate boards only into Icestudio, either for development or because, for whatever reason, they do not fit into APIO. This could even allow Vivado or any other synthesis system to be integrated: the board would be cloned and custom commands would be defined for that board from the editor.

This week I will upload one video showing how to integrate a board that is in APIO but not in Icestudio, and another video showing how to integrate a board that is neither in APIO nor in Icestudio.

This module has a high chance of containing bugs, so I ask for your patience during the first few days while we get it up and running and test it.

  1. There is now a new “Clean” command. This is because, in order not to delete APIO modifications and customizations, testbenches, etc., each build no longer deletes the entire contents of the folder as before. This follows the suggestion from Luis Miguel and Joaquim — thank you! It is now up to the user to decide when to perform this cleanup.

  2. Serial terminal migration and modernization. The serial terminal was obsolete and incompatible with the new Chrome engine, where WebSerial support has been removed.

I took the opportunity to modernize the interface in the style of the rest of the new plugins.

  1. Many other new improvements that had already been implemented, such as Verilog import, etc.

  2. Improvements to the GitHub workflows. In addition to updating them, the most important change is that an automatic version will now be generated every night, whether or not changes have accumulated during the day.

In the upcoming new version, I have introduced the concept of “project”. I will explain everything in detail, but it will give us a lot of power, and this is part of that future concept.

In summary, that is all for now. As I said, this is only the tip of the iceberg, but it is the minimum I considered necessary for version 1.0. I can no longer port the remaining features because they require the new engine. Although I have visually kept the rendering, internally almost everything has been rebuilt nearly from scratch.

All broken or half-finished features have been removed. In the coming days, I will update the GitHub documentation on how to collaborate from now on. The Icestudio develop branch must never remain broken, since many people use that version in their day-to-day work to stay up to date. In this last phase it remained broken for months because of several features, and I do not want that situation to happen again. I will therefore define some criteria on how to collaborate, add new features, etc., and I will propose them to you. If you like them, great; if not, we can continue as before, and that is fine too.

This version is essentially the same Icestudio we already had, but polished and enhanced, with many improvements in routing, board management, the new APIO, improved APIO integration, package installation, interface profiling, etc.

It includes things such as preventing the build folder from deleting its contents, so testbenches or customizations are preserved, and so on.

To add new boards, you only need to enable the development checkbox. When creating a new board and saving it, or importing it from APIO and saving it, the necessary folders and files are generated inside the Icestudio distribution. After that, you only need to run the relevant git add, commit, and push commands from the console for the PR. There is no longer any need to edit anything manually or run scripts that only caused confusion and errors.

As I mentioned, over the next few days I will upload some videos to help you with the first steps.

I am going to prepare some templates and a tutorial so that anyone who wants to make a video can do so using the same format. In the coming days, I will publish instructions on how to add community videos — each person does their own thing as they wish, but Icestudio brings it all together — or how to propose an official video.

Because I have been carrying out all the development in parallel for different reasons, and because I did not want to delay making it available to you, I have made a massive code upload in a single PR. That way, if you do not like it, you can remove it all at once without much pain, with a single changelog summarizing everything. I am attaching that changelog to this email in English and Spanish. Although it is only a summary, it more or less indicates all the work carried out. You will also be able to see it in “Release Notes”; I have changed the format and adjusted it to the new styles.

I have also added the Basys board that Juan added. I cannot test this, so please let me know whether everything works correctly, and if not, we will adjust it. On OSX, a report_xilinx.py script is missing from the OSX toolchain, which I need to review. I have not been able to test it on Linux or Windows; I will do that tomorrow. In any case, this is now an APIO/toolchain issue. In Icestudio, the files are generated correctly and everything is passed to APIO properly.

These days I will make a few more minor changes related to version information, documentation, etc., while we start using and testing it.

In terms of styles, this week I will review the “light” version because I have done everything in dark mode, and there may be things in the white theme that do not adapt well. However, I did not want to delay your ability to work because of this, since it is of little importance.

Thanks to Demócrito, who has been giving me a great hand in making this version minimally tested and avoiding initial chaos caused by all kinds of bugs.

I would also like to remind you that I already uploaded the native OpenXC7 versions for Windows and OSX, so when using this version of Icestudio on Linux and OSX, you do not need to use WSL or anything similar.

Let’s go for it! 
changelog.es.txt
changelog.txt

Maximiliano Simonazzi

unread,
Jul 1, 2026, 1:24:42 AMJul 1
to FPGAwars: explorando el lado libre
que lastima no poder reaccionar a la publicacion sino le poniamos muchos corazones jajajaja

a probarla a ver que tal ;) gracias

Carlos Venegas

unread,
Jul 1, 2026, 1:56:18 AMJul 1
to fpga-wars-explora...@googlegroups.com
Gracias Maximiliano! ahora ya están todas las piezas, a partir de ahora se generará una release cada noche , solo se mantendrán los últimos 15 días, siempre se llamarán comenzando con  "nightly"

Captura de pantalla 2026-07-01 a las 7.37.30.png

y en la página de https://downloads.icestudio.io para no tener que navegar entre versiones ha sido mejorada y coge desde la sección de releases para evitar los errores que teníamos si durante un tiempo no se commitean cambios que los assets caducaban, he aprovechado a renovar el estilo acorde a icestudio, la web principal está en camino también:

Captura de pantalla 2026-07-01 a las 7.53.16.png

Hoy voy a revisar la toolchain opencx7 en osx que tuve que ajustar algunos scripts y creo que recorté demasiado porque apio necesita algunos que no están, ya me diréis si en linux y windows funcionan. En linux está la toolchain de Juan y en windows no se ha probado aún tampoco, aquí reportarme lo que encontréis para terminar de cerrarlas y subiré los paquetes de build de ambas distros que tienen miga.

Gracias a todos!



--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/bea624f5-fdc5-4526-878e-e6be99c9b4a1n%40googlegroups.com.

Jo mo

unread,
Jul 1, 2026, 5:35:06 AMJul 1
to FPGAwars: explorando el lado libre
WAAAOUUH... Carlos, 

Muchas Gracias, this update looks crazy !!!

i will start testing it, from today and let you know my thoughts !

Big hug my friends !

Carlos Venegas

unread,
Jul 1, 2026, 5:51:26 AMJul 1
to fpga-wars-explora...@googlegroups.com
This is just the tip of the iceberg. What’s coming next is far more powerful and groundbreaking, which is why I chose to release only a few features—ones I deemed necessary to improve the tool's usability and help the community showcase the work being done. This model doesn't drastically break existing tutorials, ensuring it remains suitable for educational use without causing a complete disruption.

Also, applying lessons learned previously, you’ll see that in certain situations—such as during verification—the error output console suggests specific flags (configurable in the preferences) that bypass those stricter warnings, so we won't have to rewrite entire libraries.

I’ve included the two exceptions Demócrito and I encountered during initial testing, but if more arise during validation, we can add them in time for the new release.

Cheers my friends!!

Jo mo

unread,
Jul 1, 2026, 9:50:23 AMJul 1
to FPGAwars: explorando el lado libre
Hola Carlos,

i just started to try to load the blinking led design on my colorligth i5 board but i am getting this error when i try building the design.

icestudio_2026-07-01_15.05.58.png

remark: this being said, i can build and upload this design successfully on my board, if i select the board "ColorLight-5A-75E-V71_(FT2232H)" instead,
it seams that this  apio.ini  is now added in the icebuid folders during build process ?!


Carlos, for this first potential bug, i posted it here, but if your favorite method is using github, just let me know and i will do it that way in the near future, no problem.

have a nice evening!

Carlos Venegas

unread,
Jul 1, 2026, 11:09:48 AMJul 1
to fpga-wars-explora...@googlegroups.com
Thanks Joaquim!! for me this is a good place for this "express" bugs. i think this is more agile than github for little things like this.

I'm trying it and tell you, with all of your bugs i try to fix en the afternoon/night and publish a new one in some hours.

One of the objetives is couple a lot apio and icestudio, for not duplicate efforts and work in the board management. This could be a collateral effect o probably apio change or add new boards.

The new Apio comes with a set of restrictions and has changed how it handles boards; I’m looking into it, and it turns out support for Colorlight boards via FTDI has been dropped.

I’m going to see if the new board management system is as flexible as I imagine and allows us to get past this hurdle.

I’ll let you know later—you hit the nail on the head; it’s not actually a bug, but a conflict with the new Apio.

Let's get to it.

lmcapacho

unread,
Jul 1, 2026, 8:08:53 PMJul 1
to FPGAwars: explorando el lado libre
Hola Carlos,

Eres el mejor. Que buena actualización. Un gran trabajo todas las funcionalidades que agregaste. Ya estoy probando para ir revisando cualquier bug que pueda encontrar si es el caso y pendiente de la documentación para desarrolladores con el fin de aportar en lo que más pueda. 

icestudio_1.0.png

Carlos Venegas

unread,
Jul 2, 2026, 1:00:19 AMJul 2
to fpga-wars-explora...@googlegroups.com
Gracias Luis Miguel! todos aportamos lo que podemos y tu has aportado muchas cosas, el sistema de Grid lo he quitado en esta versión porque la idea es dejar algo para la nueva estable con cosas que no fallen o no fallen demasiado y ya van bastantes cosas nuevas que hay que probar y estabilizar en poco tiempo.

Estos módulos los tengo ya rodados de echo les he quitado funcionalidades que pudieran crear conflictos.

Una vez tengamos esto cerrado, arrancaremos nueva fase con más features y ahí ya irá tu grid y muchísimas más cosas (ya hablaremos pero tengo intención de meter el software que habéis hecho para analizar testbenchs).

Por otro lado el gestor de colecciones y documentación es algo vivo, aunque van con un catálogo preinstalado, se nutre luego en vivo de 2 repositorios en github, añadir nuevas colecciones a instalar o añadir videos y documentación no requiere reinstalar icestudio, creo que esto dará mucha vida a a la comunidad y ayudará a difundir los trabajos y no queden perdidos.

Un abrazo!



Fernando Mosquera

unread,
Jul 2, 2026, 1:17:33 AMJul 2
to fpga-wars-explora...@googlegroups.com
Hola Carlos, 
Estoy probando la nueva version del IceStudio y me gusta mucho, lo veo mas ágil.
Con respecto a añadir nuevas placas, quiero añadir varias placas Artix7 que tengo, incluido el Mega65, pero según he visto en el Apio, y en el módulo nuevo del toolchain para trabajar con las Artix7 y Kintex7 , Obijuan solo ha añadido el modelo de Artix7 de la Basys3 cuando se deberían de añadir todos los modelos.

Otro tema es el asunto de los programadores JTAG, hay placas ECP5 como la Colorlight 5A-75B o 5A-75E que no llevan programador en la placa y se usa uno externo, según la forma de añadir placas en el antiguo IceStudio, había que generar una nueva placa por cada programador diferente. No se podría permitir varios programadores para una placa? Esto ahorraría tener un listado tan amplio de placas, cuando en la parte de síntesis es lo mismo.

Gracias y wnhorabuena por la increible version del IceStudio que tenenos ahora.

Saludos
Fernando Mosquera 


From: fpga-wars-explora...@googlegroups.com <fpga-wars-explora...@googlegroups.com> on behalf of Carlos Venegas <char...@gmail.com>
Sent: Wednesday, 01 July 2026 23:59:58
To: fpga-wars-explora...@googlegroups.com <fpga-wars-explora...@googlegroups.com>
Subject: Re: Icestudio 1.0 pre-release (propuesta)
 

Carlos Venegas

unread,
Jul 2, 2026, 1:37:11 AMJul 2
to fpga-wars-explora...@googlegroups.com
Hola Fernando! me alegro que os guste, como os he comentado esto es la punta del iceberg, cuando cerremos esto os presentaré el siguiente salto, si esto os ha gustado lo otro no tengo duda que lo hará, va a estar mucho más orientada a trabajo más profesional, con herramientas de análisis propias de icestudio para ayudar en la detección de cuellos de botella de velocidad, área, análisis de testbenches, etc y muchas mejoras en la usabilidad.

He ido desarrollando todo esto en paralelo a trabajos que os estoy compartiendo en la comunidad  y en proyectos profesionales con un gran nivel de éxito en el flujo de trabajo (las cosas hechas con Jesús por ejemplo que os estamos compartiendo, yo trabajo en un mix de icestudio y edición de código mucho más avanzado que el actual que ya os enseñaré), pero esto es siguiente fase :)

Ahora respecto a las Artix, tenemos dos caminos, integrarlas en Apio o solo en Icestudio, como son placas genéricas de amplio espectro yo tiraría por meterlas en Apio para que sean nativas 100%.

Esto nos organizamos como queráis como me he trabajado las toolchains de windows y osx me he famliarizado con los nombres y familias, ahí lo que me digáis si las quieres añadir tu a apio primero adelante si Obijuan las tiene alineadas que las añada el y si me decís que os eche una mano lo haré encantado, no quiero ahí pisar trabajo si ya se está haciendo.

Teniéndolas en Apio se prepara luego un script y las metemos en icestudio como se dice "en un momento".

Lo que me digáis, me quedo aquí a la espera de si tiráis vosotros (tú y Obijuan) con la integración en apio o si os puedo ayudar me decís.

Un abrazo!

Carlos Venegas

unread,
Jul 2, 2026, 3:28:05 AMJul 2
to fpga-wars-explora...@googlegroups.com
Dándole una vuelta a lo que has comentado de tener una misma placa con programadores, creo que se podría extender fácilmente el board editor para soportar variantes, esto solo funcionaría en icestudio, déjame darle una vuelta que yo creo que en unos  días podría tener la solución y migraríamos todas las placas con programador a este nuevo concepto.

Lo voy a hablar con Zapta para ver como lo ve en Apio porque es buena idea para tenerlo en el core de apio también.

Muchas gracias!

Carlos García

unread,
Jul 2, 2026, 4:48:25 AMJul 2
to fpga-wars-explora...@googlegroups.com
Hola Carlos, enhorabuena es impresionante lo pulido que está quedando!

He probado el AppImage en Kubuntu 24.04. Te apunto rápidamente lo que he visto para que no se me olvide:
  • Al seguir el configurador por primera vez, no reconocía la placa (decía algo como "se detecta una placa pero no se puede identificar"), estuve un rato hasta que me acordé del botón "instalar drivers". Entonces quiero sugerir que si no se detecta la placa, ofrecer en ese momento el botón de instalar drivers. Ya con eso funcionaría todo a la primera.
  • Chulísimo que se pruebe la placa automáticamente! Ojo el mensaje dice que "la placa estará parpadeando", pero al menos en la Alhambra original lo que hace es encender todos los leds. Igual el mensaje se puede cambiar por "la placa estará funcionando" o algo así más abierto.
  • Al cargar los ejemplos de "icehub" creo que frena bastante tener que guardar siempre los ficheros. Si se pudieran usar sin guardar, la verdad que sería mucho mas rápido para el cacharreo inicial :)
  • Cuando se adaptan los ejemplos de la Alhambra II a la Alhambra original, se quedan en blanco todas las entradas/salidas y hay que asignarlas manualmente. Aunque entiendo si es lo esperado dada la cantidad/variedad de placas existentes.
Gracias por todo vuestro trabajo haciendo las FPGAS tan accesibles y abiertas :)
Saludos,
Carlos

Carlos Venegas

unread,
Jul 2, 2026, 5:19:17 AMJul 2
to fpga-wars-explora...@googlegroups.com
Muchísimas gracias Carlos por el feedback!!!

todas las ideas son muy buenas!

Sobre lo del test inicial, el tema es que como no hay un test oficial de "arranque" cojo de apio los ejemplos de la placa y de los ejemplos parseo el nombre y cojo el primero que tenga "BLINK" o "LED" en el nombre yese es el que cargo.

Lo ideal y que deberíamos de crear un estándar es que todas las placas tengan un ejemplo "blink" que sería el test de facto para todas.

Sobre el driver perfecto grandísima idea, incluso podemos uatomatizar en linux la configuración de los udev, le voy a dar una vuelta.

Ysobre cargar ejemplos el problema es que los ejemplos oficiales no se deberían de modificar para no romperlos y apio necesita un directorio físico para sintetizar, etc, le daré una vuelta a vr si se me ocurre, a mi también se me hace "pesado" , por eso puse esta otra opción:
Captura de pantalla 2026-07-02 a las 11.13.20.png

Te sale cuando instalas una colección, lo que hace es copiarte todos los ejemplos de esa colección en una carpeta de tu ordenador de esa forma ya puedes ir haciendo doble click abriiéndolos, modifciándoles etc, pierdes el concepto de buscador pero es una solución temporal ...

Pero eso le voy a dar una vuelta o si se os ocurre algo decidlo!

Sobre la conversión entre tarjetas pronto estará resuelto. Tengo ya un tema cerrado pero que no he incorporado en esta versión que es el concepto de "placa universal" será la placa madre de todas las madres, 

En la nueva versión que os presentaré más adelante se contempla por ejemplo que puedas tener un testbed con N fpgas conectadas al equipo , todas diferents (una alhambra, una fomu, una colorlight...) y desde el mismo diseño puedas flashear todas. el diseño tendría como target la placa madre y luego habría un gestor de despliegues.

Todoe sto está pernsado para entornos hil (hardware in the loop), trabajo mucho con ello y es algo muy útil en lo que no hay herramientas genéricas y icestudio puede convertirse en una herramienta killer.

Con esta funcionalidad la conversión de diseños entre tarjetas es prácticamente perfecto porque la placa madre mapea todos los pines de todas las tarjetas con una matriz propia de entradas con ´terminos generales que es capaz de asociar y hace del puente que hacía falta.

Gracias  a ti por el feedback!

luis luis luis

unread,
Jul 2, 2026, 6:53:19 AMJul 2
to fpga-wars-explora...@googlegroups.com
Primero deciros que me pierdo, yo no tengo vuestros conocimientos del tema. Solo puedo decir que si al final funciona con mi FPGA (xc7a200Tfbg484 - ARTIX-7 de Xilinx) lo probaré. No olvideis que si quereis que las FPGAs tengan un público más grande debeis crear tutoriales básicos, no todo el mundo está a vuestro nivel. Un saludo.

Alexander Lang

unread,
Jul 2, 2026, 3:03:33 PMJul 2
to fpga-wars-explora...@googlegroups.com
Hola a todos,

Estoy installando la nueva version de icestudio en windows.  Linux tambien pero windows primero.

Hay un poco mensajes de errors cuando installando apio.

Los mensajes aqui:

>> Starting installation...
>> Check Internet connection...
>> Finding latest Apio release...
Latest release: 2026-07-02
Downloading: apio-cli-windows-amd64-20260702-bundle.zip
>> Downloading Apio bundle...
>> Installing packages...

[ERROR] Error executing command set "APIO_HOME=C:\Users\Alex Laptop\.icestudio\apio"& "C:\Users\Alex Laptop\.icestudio\apio-bundle\apio.exe",packages,install,--verbose
>> Installing drivers...

[ERROR] Error executing command set "APIO_HOME=C:\Users\Alex Laptop\.icestudio\apio"& "C:\Users\Alex Laptop\.icestudio\apio-bundle\apio.exe",drivers,install,ftdi

[ERROR] Error executing command set "APIO_HOME=C:\Users\Alex Laptop\.icestudio\apio"& "C:\Users\Alex Laptop\.icestudio\apio-bundle\apio.exe",--version

Que es la solucion?  Algun persona tiene un idea por favor...

Saludos

Alex

English Below in case it helps:

Hi everyone,

I am installing the new version of Icestudio on Windows. I'm doing it on Linux too, but Windows first.

There are a few error messages while installing Apio.

Here are the messages:

>> Starting installation...
>> Check Internet connection...
>> Finding latest Apio release...
Latest release: 2026-07-02
Downloading: apio-cli-windows-amd64-20260702-bundle.zip
>> Downloading Apio bundle...
>> Installing packages...

[ERROR] Error executing command set "APIO_HOME=C:\Users\Alex Laptop\.icestudio\apio"& "C:\Users\Alex Laptop\.icestudio\apio-bundle\apio.exe",packages,install,--verbose
>> Installing drivers...

[ERROR] Error executing command set "APIO_HOME=C:\Users\Alex Laptop\.icestudio\apio"& "C:\Users\Alex Laptop\.icestudio\apio-bundle\apio.exe",drivers,install,ftdi

[ERROR] Error executing command set "APIO_HOME=C:\Users\Alex Laptop\.icestudio\apio"& "C:\Users\Alex Laptop\.icestudio\apio-bundle\apio.exe",--version

What is the solution? Does anyone have any ideas, please?

Regards,

Alex

----


Carlos Venegas

unread,
Jul 2, 2026, 3:53:15 PMJul 2
to fpga-wars-explora...@googlegroups.com
Hola Alex! creo que el problema es por el espacio del nombre de tu usuario (Alex Laptop) voy a intentar corregirlo y te aviso para que te bajes  nueva versión vale?

Alexander Lang

unread,
Jul 2, 2026, 4:07:21 PMJul 2
to fpga-wars-explora...@googlegroups.com

Carlos Venegas

unread,
Jul 2, 2026, 4:11:07 PMJul 2
to fpga-wars-explora...@googlegroups.com
Alex, puedes abrir una terminal de windows (cmd) y ejecutar:

"C:\Users\Alex Laptop\.icestudio\apio-bundle\apio.exe" --version

Dime que ocurre, estoy intentando ver si es problema de los espacios y si lo es saber si es de icestudio o de apio.



Carlos Venegas

unread,
Jul 2, 2026, 4:11:30 PMJul 2
to fpga-wars-explora...@googlegroups.com
Importante deja las comillas como te las puse , es decir copia la linea tal cual.

Alexander Lang

unread,
Jul 2, 2026, 4:14:11 PMJul 2
to fpga-wars-explora...@googlegroups.com
Ok, One moment...I need to boot back into Windows.

I just tested the latest version on Linux Mint and it worked without issue!

5 Minutes please :)

If you have a preference to chat live let me know if you use Discord or something.

Alex

Carlos Venegas

unread,
Jul 2, 2026, 4:20:22 PMJul 2
to fpga-wars-explora...@googlegroups.com
I prefer fix this in the community to help others that could have the same problem.

Alexander Lang

unread,
Jul 2, 2026, 4:28:35 PMJul 2
to fpga-wars-explora...@googlegroups.com
No problem.

Here was the response from the cmd prompt:

image.png
I suspect apio has not installed correctly.

Alex

Carlos Venegas

unread,
Jul 2, 2026, 4:42:47 PMJul 2
to fpga-wars-explora...@googlegroups.com
Se ha instalado bien pero apio no maneja bien los espacios, voy a ver si soluciono limpiamente el bug en apio y luego os aviso posiblemente esto hasta mañana no lo tenga.

Por el momento prueba en windows o linux si quieres avanzar pero con un usuario que no cnotenga espacios en el path.

Gracias!

Alexander Lang

unread,
Jul 2, 2026, 4:48:09 PMJul 2
to fpga-wars-explora...@googlegroups.com
Hi, 

Thank you for trying to fix the bug. 

It is late here and i'm tired. 

Tomorrow or whenever you have time is fine.

Alex 😀

Carlos Venegas

unread,
Jul 3, 2026, 3:59:05 AMJul 3
to fpga-wars-explora...@googlegroups.com
Hi Alex! (If English is your native language, we can continue discussing this bug in English).

First of all, thanks for the feedback; you found a bug in Apio that brought three others to light, so we’ve managed to improve several things in one go :)

All you need to do—without reinstalling Icestudio (though you can reinstall it if you want a fresh start)—is go to the toolchain section and click "update" for Apio while on the CI channel. 

You will see that upon downloading, the APIO appears with today's date, July 3, 2026.

I’ve attached a screenshot showing how it should look:


Captura de pantalla 2026-07-03 a las 9.56.57.png

If you are starting a fresh installation, you don't need to do anything other than select the CI channel when the APIO selection appears in the wizard.

It should work after that; let me know if you continue to have problems.

Tell us if all works!

Alexander Lang

unread,
Jul 3, 2026, 7:08:28 AMJul 3
to fpga-wars-explora...@googlegroups.com
Hi Carlos,

Thank you for fixing the bug hopefully. I will try it when i get home.

English is my native language but i can speak a little Spanish and i try to respond in the group's native language - As an exercise for me and to show respect. 

Its good for my soul to speak another language and also improve my engineering capability with FPGAS 😀 

Thanks again,

Alex

Carlos Venegas

unread,
Jul 3, 2026, 10:20:39 AMJul 3
to fpga-wars-explora...@googlegroups.com
Hola Fernando y familia! he estado investigando el resto de modelos de xilinx y el soporte de Apio es casi directo, si os parece bien voy a prepararlo y en la tarde dejarlo listo si os parece, luego ya os pediría a los que tengais tarjetas que las deis de alta vosotros en icestudio, porque faltaría el trabajo duro de asignar los pines correctamente a nivel genérico.

Estoy cerrando un par de vídeos de como se utiliza el boardEditor para dar de alta tanto tarjetas que estén en apio pero no en icestudio y con tarjetas que no están en apio, a ver si puedo en la tarde/noche dejáros tanto lo de apio subido como los vídeos y si no en el peor de los casos os dejo apio con el resto e tarjetas xilinx y así podéis ir probándolo y mañana os cierro los video tutoriales para icestudio.

Lo dicho luego os cuento!

Maximiliano Simonazzi

unread,
Jul 3, 2026, 10:29:04 AMJul 3
to FPGAwars: explorando el lado libre
idolo.... avisame en lo que te pueda ayudar y si necesitas que te pase alguna info de la placa que hice que todavia no esta en apio

beni...@gmail.com

unread,
Jul 3, 2026, 2:56:20 PMJul 3
to FPGAwars: explorando el lado libre
Estupendo Carlos,

Tengo varias placas Artix-7 para añadir a ICeStudio.
En total unas 3 Artix-7:
   - QMTECH  --> xc7a100tfgg676-2
   - ZXTres --> xc7a200tfbg484-2
   -  Mega65 --> xc7a200tfbg484-2. 
Y una Kintex7:
   - QMTECH --> xc7k325tffg900-2

Y por ahí tengo alguna más a añadir como la Nexys 4 DDR que usamos en la universidad
Muchas gracias por todo Carlos

Saludos
Fernando Mosquera

Carlos Venegas

unread,
Jul 3, 2026, 3:46:53 PMJul 3
to fpga-wars-explora...@googlegroups.com
Buenas Amigos, os comento he estado invirtiendo la tarde en planificar todo el tema opencx7 para dar la mayor cobertura posible ya que tenemos las toolchains multi sistema operativo y Juan ya ha dejado planteado el camino de la integración con la basys3.

Aquí mi mayor problema es que no tengo ninguna placa por lo que no puedo hacer ninguna prueba, voy a ver si me compro al menos una pero mientras tanto cuento con vosotros y como son muchas placas y caras cuanto mejor nos organicemos y trabajemos en comunidad mejor resultado tendremos.

He preparado un excel con todas las placas y familias que soporta opencx7, he buscado ejemplos en verilog de todas ellas para poder montar los tests etc ( al menos el blink).

He colocado en verde las que saldrían "fácil" y las otras no será demasiado complicado pero requerirá algo más de trabajo, sobre todo las que por la familia necesitará que ampliemos cosas del paquete de la toolchain que ahora se estaban descartando, de echo tengo que ver con Zapta la posibilidad de descargar apio por partes o paquetes porque con estas placas la toolchain de apio se va a disparar de tamaño, pero bueno eso es otra guerra.

Por el momento echadle un vistazo los que queráis participar en la integración, he colocado una columna que pone "Responsable de las pruebas" la idea es que ahí pongais un nick o algo que os identifique y lo que haré será dar prioridad a las tarjetas en las que tengamos a alguien de la comunidad que pueda probar y ayudar en la integración.

En las que no tengamos a nadie las dejaremos hechas en una segunda oleada pero sin probar a falta de que alguien en algún momento lo pruebe y se queje y entonces podamos afinar la integración.

Lo dicho aquí os dejo el excel:


Para verlo y editarlo solo tenéis que pertenecer a la lista de correo (en la que estamos escribiendo) el documento está en una carpeta que tengo compartida con la comunidad de fpgawars aquí en google cualquiera que pertenezca puede editar , o subir lo que quiera compartir con el resto a la carpeta raiz.

Buena tarde!

Jo mo

unread,
Jul 3, 2026, 9:01:30 PMJul 3
to FPGAwars: explorando el lado libre
Hola Charli and Fernando,

In fact there are 3 board from QMTECH with the kintex XC7K325T fpga :

1 - QMTECH XC7K325T Core board:  i bought this one 6 month ago, but it's not available at the moment on aliexpress QMTECK store 
2 - ZYJZGW_XC7K325T_Starter_Kit: this one is a hat for the  QMTECH XC7K325T Core board (not available too)
3 - QMTECH XC7K325T dev board : this one is the merge of the PCBs above on a single PCB + a  SOC ARM  connection  (this is the only board currently available on the store)

I just send them a message asking if they fully stopped the production of 1 and 2

i updated Carlos spread spreadsheet if this info.

Have a great weekend

Jo mo

unread,
Jul 3, 2026, 9:58:44 PMJul 3
to FPGAwars: explorando el lado libre

Hola Carlos,

I've made the "console output" window resizable, please see the attached video for a demo.

The adjusted height is saved even after restarting IceStudio.

Would you like me to open a Pull Request with this small modification?



One quick note: currently, we can resize the window by clicking and dragging anywhere along the top edge, not just on the visible handle. 

So, If  preferred, I can remove that thin handle that appears in the middle of the top side. Just let me know your preferences.

Have  a nice weekend.
icestudio_2026-07-04_03.40.56.webm

Carlos Venegas

unread,
Jul 4, 2026, 1:51:59 AMJul 4
to fpga-wars-explora...@googlegroups.com
Please do it!! and a lot of thanks!!!

You don't have to ask for my permission—go right ahead!

Carlos Venegas

unread,
Jul 4, 2026, 3:04:08 AMJul 4
to fpga-wars-explora...@googlegroups.com
By the way, a new bundle is now automatically created every day around 6 AM (Spanish time), including the improvements, PRs, etc., accepted the previous day.

Tonight's bundle includes several improvements and bug fixes reported via various channels (such as enhancements to the save function, Ctrl+Z, etc.).

I haven't been sending out specific alerts, but it would be a huge help if those of you who are willing could reinstall the new version each day.

I’m going to look into enabling the auto-installer; since things seem reasonably stable all things considered, it could be a very useful feature.

So, Joaquim: whatever you push today, I’ll review and accept it right away, and it will be available by tomorrow.

And a huge thank you to both you and Fernando for reviewing the boards. The most important thing regarding the spreadsheet is that you add yourselves to the "test owners" column; that way, I’ll know who has the boards and who can test the latest updates, allowing me to prioritize integrations.

I’ve made progress on the new chipdb files, but I’m currently figuring out how to optimize the packaging—the file size is going to be huge, which could be an issue for other Apio users. I’ll keep you posted today.

Thanks again!

Jo mo

unread,
Jul 4, 2026, 4:27:58 AMJul 4
to FPGAwars: explorando el lado libre
Hola Carlos,

Ok, i installed the version of the day.
Gracias  for your silent modification of the windows(10) permissions on Icetudio folders during installation ;-)

I still have a problem when trying uploading on  colorligth i5  (it was identical in yesterday wip version)
And again, if i set the board as ColorLight-5A-75E-V71_(FT2232H) instead of ColorLight-i5-v7.0_(FT2232H), the upload is done successfully


See my debugging console (F12) error message when  ColorLight-i5-v7.0_(FT2232H)  board is selected :

***PROCESS*** Error: Command failed: set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 "C:\-----icestudio files\_XGA\lab2\testblink\ice-build\04. One LED blink\_build\default\hardware.bit"
Error: Failed to claim FPGA device: incompatible file format

    at genericNodeError (node:internal/errors:998:15)
    at wrappedFn (node:internal/errors:543:14)
    at ChildProcess.exithandler (node:child_process:417:12)
    at ChildProcess.emit (node:events:509:20)
    at maybeClose (node:internal/child_process:1108:16)
    at Socket.<anonymous> (node:internal/child_process:480:11)
    at Socket.emit (node:events:509:20)
    at Pipe.<anonymous> (node:net:350:12) $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 "C:\-----icestudio files\_XGA\lab2\testblink\ice-build\04. One LED blink\_build\default\hardware.bit"
Active env options [APIO_HOME].
empty
Jtag frequency : requested 6.00MHz    -> real 6.00MHz  
Error: Failed to claim FPGA device: incompatible file format
 $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 "C:\-----icestudio files\_XGA\lab2\testblink\ice-build\04. One LED blink\_build\default\hardware.bit"
Active env options [APIO_HOME].
empty
Jtag frequency : requested 6.00MHz    -> real 6.00MHz  
Error: Failed to claim FPGA device: incompatible file format


About my PR for resizing the output console, I'll get it done later today. 
I'm also removing the visible resize handle in the middle, because I find it makes the interface simpler and less distracting while we're working on designs.

Carlos Venegas

unread,
Jul 4, 2026, 4:43:11 AMJul 4
to fpga-wars-explora...@googlegroups.com
Update at the last ci apio version , with this the colorlight should be work, if not tell me

Fernando Mosquera

unread,
Jul 4, 2026, 4:46:12 AMJul 4
to fpga-wars-explora...@googlegroups.com
Hola Jo mo y Carlos,

Estoy viendo en el log esta parte 
 "Jtag frequency : requested 6.00MHz    -> real 6.00MHz"

Se supone que la frequencia de programacion en los chips FTDI (FT2232H y FT232H) se puede aumentar  bastante y acelera mucho el upload del bitfile.
Creo que puede llegar a 24 o 28 Mhz.
Se puede an̈adir el parámetro "- freq 24000000" al OpenFPGALoader y se programará la placa mas de 4 veces mas rapido.

Saludos
Fernando Mosquera



From: fpga-wars-explora...@googlegroups.com <fpga-wars-explora...@googlegroups.com> on behalf of Jo mo <joa...@gmail.com>
Sent: Saturday, 04 July 2026 03:27:57
To: FPGAwars: explorando el lado libre <fpga-wars-explora...@googlegroups.com>

Carlos Venegas

unread,
Jul 4, 2026, 11:41:42 AMJul 4
to fpga-wars-explora...@googlegroups.com
Hi joaquim!! You're the fastest gun in the West! I was away for a few minutes and didn't have time to submit the PR myself—I saw that you had already done it.

One thing, though: it's crucial that the tests pass before submitting the PR.

You should always run "npm run jshint" and fix any issues before pushing.

I've already made the fix and pushed it up.

I'm going to look into the Colorlight upload now; I don't have the device with me until next week, and it was the only thing I couldn't test. I'll use your log to try and make an adjustment so that tomorrow's build includes both your PR and a fix for the Colorlight.

I'll let you know later.

Carlos Venegas

unread,
Jul 4, 2026, 11:50:02 AMJul 4
to fpga-wars-explora...@googlegroups.com
Hola Carlos!, comentarte que le he dado una vuelta al tema de los ejemplos del iceHUB y tienes toda la razón, era muy pesado tener qeu guardar cada diseño. He echo algunos ajustes para que cuando se abren diseños de ejemplos, icestudio los abra directamente desde el directorio temporal del sistema operativo, así eliminamos la fricción si un usuario se pone a probar de forma compulsiva, creo qeu así la solución queda bastante más fluida.

En elbuild de hoy ya está operativo por si quieres probarlo.

Saludos!

Jo mo

unread,
Jul 4, 2026, 11:59:30 AMJul 4
to FPGAwars: explorando el lado libre
For the lint test, i did 2 commit witch failed then i understood (thanks to deepseek ;-))
and run:
    npx prettier --write app/scripts/services/outputConsole.js app/styles/console.css app/views/console.html

should i have run  command:   "npm run jshint"     instead ? or do i have to run both commands ?

For the colorligth i5 upload i updated to last apio, but still same error!    
If you do not have de board with you for testing the upload, do not waste time, it is not urgent !
For now this subject is a mystery for me, but i will try to understand it !

Have a nice evening

beni...@gmail.com

unread,
Jul 4, 2026, 12:05:14 PMJul 4
to FPGAwars: explorando el lado libre
Hola:

Acabo de hacer una prueba programando una Artix7 100 con el OpenFPGALoader y un programador FT232 en Windows, pero es lo mismo en Linux

Fíjaros en el resultado  (lo he hecho en Powershell porque en el CMD no se muestra tan claro)

Speed_FT232H_with_OpenFPGALoader.png

Añadiendo --freq 30000000 en los argumentos del OpenFPGALoader, pasamos de 5.342 segundos a 1.241 segundos. 
 ¡ 4.3 veces más rápido!

Lo mismo ocurre con el FT2232H

Saludos
Fernando Mosquera

Carlos Venegas

unread,
Jul 4, 2026, 12:07:44 PMJul 4
to fpga-wars-explora...@googlegroups.com
Joaquim! Later i ‘ m e planning you and others the process to lint the peoject dont worry my friend!!!

Fernando es fantástico lo que mandas! Voy a revisar las configuraciones para actualizarlas!!

Tengo la tarde complicada pero a última hora me pondré con todos esto!

Carlos García

unread,
Jul 4, 2026, 12:35:16 PMJul 4
to fpga-wars-explora...@googlegroups.com
@Carlos, genial lo de los ejemplos. Justo hace un rato la había descargado en otro PC, y se nota, está mucho mas cómodo, ¡¡gracias!! :)
Aparte estoy haciendo pruebas con ring-oscillators y encontré un hilo en el que comentabas cómo usar manualmente el flag "--ignore-loops" ¿ves factible añadirlo como flag en el menú de características avanzadas?

@Fernando Estoy flipando con las mejoras de velocidad y las FPGAs tan grandes que se soportan ahora, gracias por compartir los avances!

Carlos Venegas

unread,
Jul 4, 2026, 2:44:42 PMJul 4
to fpga-wars-explora...@googlegroups.com
Tengo una mejora ya lista pero no la he subido , porque no quería añadir más ruido pero las pruebas van bastante bien , así que igual preparo este finde la subida de un par de cosas más, entre ellas estaba pensando en concreto este tema para personalizar flags por proyecto.

Le doy una vuelta y casi seguro que os lo dejo arriba.

Por cierto los ring oscillators es un tema que me encanta , si haces cosas y te motiva contárnoslas me apunto seguro  al bombardeo. Aquí puse una prueba de usar un ring oscillator como reloj de sistema y aunque el cuello de botella es la uart, la velocidad se nota muchísimo (el circuito va overclockeado y responde bastante bien) https://www.youtube.com/watch?v=hq3k4I3L6PA

Hay muchas propiedades muy interesantes sobre este tema no sigo por no liar pero ahí he estado investigando en temas de aleatoriedad que pueden ser muy chulos.

Carlos Venegas

unread,
Jul 4, 2026, 6:23:00 PMJul 4
to fpga-wars-explora...@googlegroups.com
Hi Joaquim! Please try the next package build (tomorrow morning's *nightly* version) and let me know if the Colorlight 5 7.0 works properly. Thanks to you, I think I found a loading bug and believe it's now fixed; if it works, I'll tell you what the issue was.

I've also implemented Fernando's recommendation to improve speed...

Let me know how it goes tomorrow!

Tomorrow's new package includes two other bug fixes reported by Democrito (related to design modification detection and the Ctrl+Z command); these should work correctly now, too.

I couldn't make progress on OpenCX7 today, but tomorrow's the day ;)

Jo mo

unread,
Jul 5, 2026, 3:45:17 AMJul 5
to FPGAwars: explorando el lado libre
Hola Carlos,

thanks for the mods, so with the version of the day:
- Now the build is broken for the board to ColorLight-5A-75E-V71_(FT2232H). (With nothing written on the output console and nothing on the debug console). The Verify is ok!


- And for the colorligth i5 the build is still ok and now the upload gives a different error:  

Error: Failed to program FPGA: Error: fail to open 'C:\Users\J\AppData\Local\Temp\icestudio_tmp\01.

And the files seams to be at their right place: 

Capture.JPG


here is the full debug console output for the upload :

tools.js:1176 ***PROCESS*** Error: Command failed: set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\Users\J\AppData\Local\Temp\icestudio_tmp\01. One LED-GUxuGL\ice-build\01. One LED\_build\default\hardware.bit"
Error: Failed to program FPGA: Error: fail to open 'C:\Users\J\AppData\Local\Temp\icestudio_tmp\01.


    at genericNodeError (node:internal/errors:998:15)
    at wrappedFn (node:internal/errors:543:14)
    at ChildProcess.exithandler (node:child_process:417:12)
    at ChildProcess.emit (node:events:509:20)
    at maybeClose (node:internal/child_process:1108:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5) $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\Users\J\AppData\Local\Temp\icestudio_tmp\01. One LED-GUxuGL\ice-build\01. One LED\_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 30.00MHz   -> real 30.00MHz  found 1 devices
index 0:
idcode 0x41111043
manufacturer lattice
family ECP5
model  LFE5U-25
irlength 8
File type : bin
Error: Failed to program FPGA: Error: fail to open 'C:\Users\J\AppData\Local\Temp\icestudio_tmp\01.
 $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\Users\J\AppData\Local\Temp\icestudio_tmp\01. One LED-GUxuGL\ice-build\01. One LED\_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 30.00MHz   -> real 30.00MHz  
found 1 devices
index 0:
idcode 0x41111043
manufacturer lattice
family ECP5
model  LFE5U-25
irlength 8
File type : bin
Error: Failed to program FPGA: Error: fail to open 'C:\Users\J\AppData\Local\Temp\icestudio_tmp\01.


But Carlos, take a day off and enjoy this sunny Sunday, as i will do ;-)
Big hug

Carlos Venegas

unread,
Jul 5, 2026, 11:37:38 AMJul 5
to fpga-wars-explora...@googlegroups.com
Hi  my friends! Muy buenas tardes a todos ! ;)

Joaquim, please give it another try when you can with the new *nightly* (I'm building it right now, since it's Sunday and it might be a good afternoon to test it out XD).

Carlos, a ver si me da tiempo a hacer un tutorial esta tarde y si no lo haré mañana, que con estos últimos bugs se me ha decalado el tema de tarjetas en general.

Te lo comento porque ahora mismo ya se puede adaptar una tarjeta a medida para un proyecto sin fastidiar o tocar la configuración de la distribución, en cuanto pueda os cierro el tutorial para que veais las posibilidades. 

En el nuevo motor ya tengo implementado un gestor de proyectos que incorpora cosas de forma más obvia como esta pero  en esta versión es imposible o sería mucho trabajo integrar (ya que en la nueva versión he evolucionado el formato .ice para soportar nuevas funcionalidades) lo he estado mirando y creo que esto será mejor dejarlo para cuando ya tengamos esta versión consolidada y pasada a estable y demos rienda suelta al nuevo core.

Pero como te digo por el momento se puede hacer lo que necesitas. Si puedo lo hago en la tarde y si no mañana a muy tardar.





Carlos García

unread,
Jul 5, 2026, 11:55:38 AMJul 5
to fpga-wars-explora...@googlegroups.com
Sin prisa Carlos, por ahora me apaño bien con el proceso por terminal. Gracias!! :)

beni...@gmail.com

unread,
Jul 5, 2026, 12:20:31 PMJul 5
to FPGAwars: explorando el lado libre
Hola charliva:

Me da error de verificación  (aunque el build lo hace bien)  ahora en la versión de hoy icestudio-1.0.0.PRw-20260705-win64  con la tarjeta ColorLight-5A-75E-V71_(FT2232H) en la parte del Pull-up ECP5

Screenshot 2026-07-05 111722.png
El error es el siguiente

$ set "APIO_HOME=C:\Users\benit\.icestudio\apio"& "C:\Users\benit\.icestudio\apio-bundle\apio.exe" lint -p "D:\FPGA\Colorlight_5A-75E\ice-build\SNES_test" Active env options [APIO_HOME]. Warning: 'Board ColorLight-5A-75E-V71_(FT2232H)' was renamed to 'colorlight-5a-75e-v71-ft2232h'. Please update apio.ini. Using env default (colorlight-5a-75e-v71-ft2232h) Setting shell vars. ------------------------------------------------------------------------------- params.apio_env_params.verilator_extra_options=[] verilator_bin --lint-only --quiet --bbox-unsup --timing -Wno-TIMESCALEMOD -Wno-MULTITOP -DSYNTHESIZE -DAPIO_SIM=0 --top-module main -I"C:\Users\benit\.icestudio\apio\packages\oss-cad-suite\share\yosys\ecp5" _build\default\hardware.vlt "C:\Users\benit\.icestudio\apio\packages\oss-cad-suite\share\yosys\ecp5\cells_bb.v" main.v %Error-MODMISSING: main.v:405:2: Cannot find file containing module: 'TRELLIS_IO' 405 | TRELLIS_IO #( | ^~~~~~~~~~ ... For error description see https://verilator.org/warn/MODMISSING?v=5.047 ... Looked in: C:\Users\benit\.icestudio\apio\packages\oss-cad-suite\share\yosys\ecp5\TRELLIS_IO C:\Users\benit\.icestudio\apio\packages\oss-cad-suite\share\yosys\ecp5\TRELLIS_IO.v C:\Users\benit\.icestudio\apio\packages\oss-cad-suite\share\yosys\ecp5\TRELLIS_IO.sv TRELLIS_IO TRELLIS_IO.v TRELLIS_IO.sv obj_dir\TRELLIS_IO obj_dir\TRELLIS_IO.v obj_dir\TRELLIS_IO.sv ... With current working directory 'D:\FPGA\Colorlight_5A-75E\ice-build\SNES_test' scons: *** [_build\default\hardware] Error 1 ========================== [ERROR] Took 0.47 seconds ==========================

Gracias y saludos 
Fernando Mosquera

Carlos Venegas

unread,
Jul 5, 2026, 12:33:19 PMJul 5
to fpga-wars-explora...@googlegroups.com
Gracias! eso es otro tema diferente, estoy añadiendo flags para evitar excepciones muy estrictas de verilator, esto según salga las iremos metiendo, esta es nueva :)

Gracias de nuevo! mañana la tendreis ya metida.

Jo mo

unread,
Jul 5, 2026, 1:43:26 PMJul 5
to FPGAwars: explorando el lado libre
Ok it's 19h40, i cleaned the Plancha, so we can say my weekend is over ;-)

So i just installed  icestudio 202607050307. (above the  202607050507 ). Version number is smaller than the previous one.

Now, the  the build and upload of the blink design is good  again using board ColorLight-5A-75E-V71_(FT2232H) for programming my i5

But using ColorLight-i5-v7.0_(FT2232H) board selection is still giving the same error (see end of message).

Remark: @ Carlos,  for the ColorLight-5A-75E-V71 boards, is there any reason for not having the commands set on the info.json?
Are there some "default commands" set somewhere in the code ? Can this be the reason why it works for those boards but not for the i5 ones ?

Have a good evening!


***PROCESS*** Error: Command failed: set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "_build\default\hardware.bit"
Error: Failed to program FPGA: Error: fail to open '_build\default\hardware.bit'


    at genericNodeError (node:internal/errors:998:15)
    at wrappedFn (node:internal/errors:543:14)
    at ChildProcess.exithandler (node:child_process:417:12)
    at ChildProcess.emit (node:events:509:20)
    at maybeClose (node:internal/child_process:1108:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5) $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 30.00MHz   -> real 30.00MHz  
found 1 devices
index 0:
idcode 0x41111043
manufacturer lattice
family ECP5
model  LFE5U-25
irlength 8
File type : bin
Error: Failed to program FPGA: Error: fail to open '_build\default\hardware.bit'
 $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 30.00MHz   -> real 30.00MHz  
found 1 devices
index 0:
idcode 0x41111043
manufacturer lattice
family ECP5
model  LFE5U-25
irlength 8
File type : bin
Error: Failed to program FPGA: Error: fail to open '_build\default\hardware.bit'

Carlos Venegas

unread,
Jul 5, 2026, 2:05:21 PMJul 5
to fpga-wars-explora...@googlegroups.com
Two issues have converged here. Most importantly, Apio has dropped support for v7.0; I’m currently speaking with the maintainer to find out why and determine whether or not to restore it. For now, the approach within Icestudio is to use a custom workflow via "Apio raw" (which is how we send specific commands), but several bugs have cropped up—bugs within Apio itself—which I’ve been fixing. Specifically, there’s a path-related issue right now; your previous problem was that Apio doesn't handle filenames with spaces well on Windows. In this build, I tried passing the relative path for the bitstream, but for some reason, it isn't finding it (possibly because it's executing from a different directory).


But don't worry—thanks to your logs, things are looking promising. I’ll finish looking into it, and we'll see what happens.

luis luis luis

unread,
Jul 5, 2026, 5:32:23 PMJul 5
to fpga-wars-explora...@googlegroups.com
yo tengo la Artix-7 XC7 A100T xc7a100tfgg676-3 Wukong Board y la Artix-7 XC7 A200T xc7a200Tfbg484-3 de MicroPhase (A7 Lite)  por si os sirve para alguna prueba

Carlos Venegas

unread,
Jul 6, 2026, 1:02:26 AMJul 6
to fpga-wars-explora...@googlegroups.com
Hola Luis! si te apetece apuntate en la columna de responsable de pruebas para las tarjetas que tengas:


Si hay otra persona no importa añádete a continuación.

Me está dando algo más de trabajo del que pensaba cerrar el paquete pero pronto lo tendrélisto para pruebas.



Carlos Venegas

unread,
Jul 6, 2026, 10:43:46 AMJul 6
to fpga-wars-explora...@googlegroups.com
@Carlos buenas mira, he visto como meter fácilmente configuración por .ice así que prueba y ya me cuentas.

Ahora tenemos unas opciones nuevas, para añadir banderas globales porque un usuario tenga sus preferencias o por ice (porque como en el caso de los ring oscillators quieras o necesites algo especial).

Aunque os haré unos vídeos que ando en ello, os adelanto por si queréis ir probando:

Aquí accedéis al panel de preferencias de al síntesis, la parte de verificación, son bypass para errores detectados , Aquí @Fernando ya está incluido las de los IO de las ECP5, debería funcionar (fallar en primera instancia y avisarte para que actives la opción de bypass de IO).

Y en el caso de que queráis añadir flags, por proyecto, lo hacemos en la pestaña de por proyecto.

Aquí en Tools->Preferences o Herramientas->Preferencias (Inglés//Español):

Captura de pantalla 2026-07-06 a las 15.11.36.png


Se abrirá el siguiente panel y en la pestaña proyecto -> Sintetizar tenemos el área para los flags de yosys y de nextpnr:
Captura de pantalla 2026-07-06 a las 15.12.19.png

El check ignorar globales funciona así:

1) Si no lo marcamos , se fusionan llos flags de global con los del proyecto.
2) Si lo marcamos, sólo se incluyen los flags del proyecto.


Los globales solo permanecen en nuestra instalación de icestudio, pero los de proyecto se guardan en el .ice.

Por otro lado la nueva versión lleva varios bugs solucionados, relacionados con navegación, guardado de svg y verificación de módulos internos reportados por Demócrito.

seguimos!

luis luis luis

unread,
Jul 6, 2026, 11:32:19 AMJul 6
to fpga-wars-explora...@googlegroups.com
he añadido la  FPGA artix a7 200t, no se si lo he hecho bien. Por cierto en el campo de USB he tenido que poner "-" en vez de ":" si ponia ":" me lo convertia a unidades de tiempo. Un saludo

Carlos Venegas

unread,
Jul 6, 2026, 12:12:30 PMJul 6
to fpga-wars-explora...@googlegroups.com
Gracias Luis! de excel se poco, creo que eso se podría arreglar con el formato de la celda, pero no tengo ni idea, si alguien sabe que lo mejora y así evitamos errores.



Jo mo

unread,
Jul 6, 2026, 1:25:17 PMJul 6
to FPGAwars: explorando el lado libre

Hola Charli,

For info, this time i started programming my colorligth i9 boards (45K luts) and it works fine. i could upload a blinky design and a more complex VGA design with no problem.
And for this i did not use any custom upload command !

Then, just for fun, i tried setting a custom command,   
     {APIO_CMD} raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "{BITSTREAM_REL}"
and this time the upload failled !
    Error: Failed to program FPGA: Error: fail to open '_build\default\hardware.bit'

So as you wrote still some bug with  "custom commands / apio raw"  +   colorligth i5 boards are broken  on the apio side.

I also played with the "user boards" system (for the boards with the files stored in  C:\Users\userX\Documents\Icestudio\boards) and it works Great!  Thanks a lot for that important feature.

Have a good evening guys

Carlos Venegas

unread,
Jul 6, 2026, 1:52:21 PMJul 6
to fpga-wars-explora...@googlegroups.com
Thanks for giving it a try, Joaquim! I’m working on the tutorials and will publish them in the next few days, but your feedback is incredibly valuable.

The issue affects only Windows and stems from an Apio bug that I’m trying to work around within Icestudio; since it has a major impact on the Apio core, I’d prefer to fix it on the Icestudio side first, if possible.

Thanks to your feedback and testing, I think I’ve pinpointed the problem—or at least where it lies for the next iteration (XD). I’ll try to have a new version ready later this afternoon.

All the best!

Carlos Venegas

unread,
Jul 6, 2026, 2:15:30 PMJul 6
to fpga-wars-explora...@googlegroups.com
Hi Joaquim! Could you download the new build and try again—using default settings—with one of the examples that has spaces in its name (like before), and let's see what happens?

It might fail; if it does, send me the log so I can see how the path is being resolved.

I’ve removed the relative path option and switched back to absolute paths, but I’m using Windows compatibility mode with short filenames. Honestly, I’m not sure if that will work—I don’t have Windows to test it on, so you’re my guinea pig! XD

Jo mo

unread,
Jul 6, 2026, 2:55:45 PMJul 6
to FPGAwars: explorando el lado libre
so i just reinstalled and tried with a very simple design pass:       C:\test\LEDblink.ice

and i got the error :

***PROCESS*** Error: Command failed: set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit"
Error: Failed to program FPGA: Error: fail to open 'C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit'


    at genericNodeError (node:internal/errors:998:15)
    at wrappedFn (node:internal/errors:543:14)
    at ChildProcess.exithandler (node:child_process:417:12)
    at ChildProcess.emit (node:events:509:20)
    at maybeClose (node:internal/child_process:1108:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5) $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 30.00MHz   -> real 30.00MHz  
found 1 devices
index 0:
idcode 0x41111043
manufacturer lattice
family ECP5
model  LFE5U-25
irlength 8
File type : bin
Error: Failed to program FPGA: Error: fail to open 'C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit'
 $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 30.00MHz   -> real 30.00MHz  
found 1 devices
index 0:
idcode 0x41111043
manufacturer lattice
family ECP5
model  LFE5U-25
irlength 8
File type : bin
Error: Failed to program FPGA: Error: fail to open 'C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit'

Carlos Venegas

unread,
Jul 6, 2026, 2:58:41 PMJul 6
to fpga-wars-explora...@googlegroups.com

Carlos Venegas

unread,
Jul 6, 2026, 3:48:16 PMJul 6
to fpga-wars-explora...@googlegroups.com
Joaquim, try the new build when you can; I think I’ve cracked it. If it works, I’ll prepare the proper solution for Apio, but for now, we can work this way.

beni...@gmail.com

unread,
Jul 6, 2026, 6:38:13 PMJul 6
to FPGAwars: explorando el lado libre
Hola, 

¿Me puedes decir cómo has añadido esa placa si la FPGA de una Artix-7 200 no está en la lista de FPGAs de Apio?

En el terminal de Apio si escribes "apio fpgas" verás la lista de FPGA admitidas por Apio
La única Artix7 admitida por Apio es la xc7a35tcpg236

Saludos
Fernando Mosquera

Jo mo

unread,
Jul 6, 2026, 10:39:01 PMJul 6
to FPGAwars: explorando el lado libre
Good morning Charly,

Sorry but this "buid addition' alone doesn't seams to solve the issue.

***PROCESS*** Error: Command failed: set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit"
Error: Failed to program FPGA: Error: fail to open 'C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit'


    at genericNodeError (node:internal/errors:998:15)
    at wrappedFn (node:internal/errors:543:14)
    at ChildProcess.exithandler (node:child_process:417:12)
    at ChildProcess.emit (node:events:509:20)
    at maybeClose (node:internal/child_process:1108:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5) $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" build

Active env options [APIO_HOME].
Using env default (colorlight-i5-v7-0)
Setting shell vars.
-------------------------------------------------------------------------------
nextpnr-ecp5 --25k --package CABGA381 --speed 6 --json _build\default\hardware.json --textcfg _build\default\hardware.config --report _build\default\hardware.pnr --lpf main.lpf --timing-allow-fail --force -q

scons: `build' is up to date.

========================= [SUCCESS] Took 1.37 seconds =========================
$ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 30.00MHz   -> real 30.00MHz  
found 1 devices
index 0:
idcode 0x41111043
manufacturer lattice
family ECP5
model  LFE5U-25
irlength 8
File type : bin
Error: Failed to program FPGA: Error: fail to open 'C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit'
 $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" build

Active env options [APIO_HOME].
Using env default (colorlight-i5-v7-0)
Setting shell vars.
-------------------------------------------------------------------------------
nextpnr-ecp5 --25k --package CABGA381 --speed 6 --json _build\default\hardware.json --textcfg _build\default\hardware.config --report _build\default\hardware.pnr --lpf main.lpf --timing-allow-fail --force -q

scons: `build' is up to date.

========================= [SUCCESS] Took 1.37 seconds =========================
$ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 30.00MHz   -> real 30.00MHz  
found 1 devices
index 0:
idcode 0x41111043
manufacturer lattice
family ECP5
model  LFE5U-25
irlength 8
File type : bin
Error: Failed to program FPGA: Error: fail to open 'C:\test\ICE-BU~1\LEDblink\_build\default\hardware.bit'

Have a nice day

Carlos Venegas

unread,
Jul 7, 2026, 1:37:49 AMJul 7
to fpga-wars-explora...@googlegroups.com
Good Morning!! Don't worry! It was within the realm of possibility; this solution is a patch that relies on Windows having name-shortening support enabled that I assumed it did, but the disk format likely means it doesn't.

I uploaded the proper patch to Apio yesterday; I'm going to have the Icestudio patches removed, and then I'll let you know how to test it.

Carlos Venegas

unread,
Jul 7, 2026, 2:41:27 AMJul 7
to fpga-wars-explora...@googlegroups.com
Please when you want and can, no hurry 😉
The new Apio bundle was generated early this morning, so I’ve just created a new Icestudio bundle that works correctly with raw Apio and absolute paths; it should work now, but if not, we’ll tackle Apio again to fix the root cause.

Importantly, since this is a fix for Apio rather than Icestudio, you need to use the latest version of Icestudio (apologies for the hassle of uninstalling and reinstalling, and thanks for your patience).

I’m looking into the possibility of auto-updating Icestudio, but it’s complex due to the distribution formats—many of which are read-only—though we’ll get there eventually.

Once you have the new Icestudio installed, select the Apio CI channel; you should then have today’s bundle. If you already had the toolchain installed, click "Update," and you should see something like this (in your language):

Captura de pantalla 2026-07-07 a las 7.56.34.png

With this toolchain installed, try the Colorlight 7.0 example again—fingers crossed that the upload works correctly this time; if not, send me the log.

By tomorrow or the day after, I’ll have access to a Colorlight 5 and—worst-case scenario—Windows. If it still doesn't work, I won't bother you anymore and will debug it myself tomorrow.

Thanks a lot!!

Jo mo

unread,
Jul 7, 2026, 4:59:32 AMJul 7
to FPGAwars: explorando el lado libre
Do not worry Carlos, re-installing icestuio is an "almost" 1 click process. 
and playing with all this helps me to familiarize with the new tools (boards editor, apio shell terminal).  So no problem being you guinea pig ;-) .

But for you, it is probably easier to do it with the right hardware in front of you !  So let us put the subject on "hold" until you can play with it easily! 


But for record, here is what i see for the moment !

Now i have a different error   (see error 1 bellow)

then if i removed the --freq 30000000 option the error is different   (see error 2 bellow).

it seams it has some problem finding the right device.

but when i run on the apio shell:    apio devices scan-usb

i got:
apio:~$ apio devices scan-usb

Active env options [APIO_HOME].

USB Devices                                                                        
┌───────────┬─────────┬──────────────┬────────────────────┬──────────────┬─────────┐
│ VID:PID   │ BUS:DEV │ MANUFACTURER │ PRODUCT            │ SERIAL-NUM   │ TYPE    │
├───────────┼─────────┼──────────────┼────────────────────┼──────────────┼─────────┤
│ 03F0:1D41 │   2:4   │ HP           │ HP Gaming Keyboard │ AP0000000003 │         │
├───────────┼─────────┼──────────────┼────────────────────┼──────────────┼─────────┤
│ 0403:6010 │   2:5   │ FTDI         │ FT2232H MiniModule │ FTVOD16S     │ FT2232H │
├───────────┼─────────┼──────────────┼────────────────────┼──────────────┼─────────┤
│ 1BCF:0005 │   1:2   │ None         │ USB Optical Mouse  │ None         │         │
├───────────┼─────────┼──────────────┼────────────────────┼──────────────┼─────────┤
│ 77A1:01A2 │   2:3   │ None         │ None               │ None         │         │
└───────────┴─────────┴──────────────┴────────────────────┴──────────────┴─────────┘
Found 4 USB devices

apio:~$ ^C


Thank you for following up on all the issues we face across our different setups. That's a tough job! 
Have a great day, my friend.



==============================================================================
error 1
======
***PROCESS*** Error: Command failed: set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\test\ice-build\LEDblink\_build\default\hardware.bit"
Error: more than one FPGA found
Use --index-chain to force selection


    at genericNodeError (node:internal/errors:998:15)
    at wrappedFn (node:internal/errors:543:14)
    at ChildProcess.exithandler (node:child_process:417:12)
    at ChildProcess.emit (node:events:509:20)
    at maybeClose (node:internal/child_process:1108:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5) $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" build
Active env options [APIO_HOME].
Using env default (colorlight-i5-v7-0)
Setting shell vars.
-------------------------------------------------------------------------------
nextpnr-ecp5 --25k --package CABGA381 --speed 6 --json _build\default\hardware.json --textcfg _build\default\hardware.config --report _build\default\hardware.pnr --lpf main.lpf --timing-allow-fail --force -q

scons: `build' is up to date.

========================= [SUCCESS] Took 1.36 seconds =========================
$ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "C:\test\ice-build\LEDblink\_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 30.00MHz   -> real 30.00MHz  
found 32 devices
index 0:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 1:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 2:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 3:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 4:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 5:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 6:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 7:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 8:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 9:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 10:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 11:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 12:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 13:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 14:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 15:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 16:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 17:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 18:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 19:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 20:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 21:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 22:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 23:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 24:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 25:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 26:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 27:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 28:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 29:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 30:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
index 31:
idcode 0x1
manufacturer efinix
family Trion
model  T4/T8
irlength 4
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
0x00000001
Error: more than one FPGA found
Use --index-chain to force selection
 $


==============================================================================
error 2
======
***PROCESS*** Error: Command failed: set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 -v --file-type bin "C:\test\ice-build\LEDblink\_build\default\hardware.bit"
Error: no device found


    at genericNodeError (node:internal/errors:998:15)
    at wrappedFn (node:internal/errors:543:14)
    at ChildProcess.exithandler (node:child_process:417:12)
    at ChildProcess.emit (node:events:509:20)
    at maybeClose (node:internal/child_process:1108:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5) $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" build
Active env options [APIO_HOME].
Using env default (colorlight-i5-v7-0)
Setting shell vars.
-------------------------------------------------------------------------------
scons: `build' is up to date.

========================= [SUCCESS] Took 1.60 seconds =========================
$ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 -v --file-type bin "C:\test\ice-build\LEDblink\_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 6.00MHz    -> real 6.00MHz  
found 0 devices
Error: no device found

 $ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" build
Active env options [APIO_HOME].
Using env default (colorlight-i5-v7-0)
Setting shell vars.
-------------------------------------------------------------------------------
scons: `build' is up to date.

========================= [SUCCESS] Took 1.60 seconds =========================
$ set "APIO_HOME=C:\Users\J\.icestudio\apio"& "C:\Users\J\.icestudio\apio-bundle\apio.exe" raw -- openFPGALoader -c ft2232 -v --file-type bin "C:\test\ice-build\LEDblink\_build\default\hardware.bit"

Active env options [APIO_HOME].
empty
Jtag frequency : requested 6.00MHz    -> real 6.00MHz  
found 0 devices
Error: no device found


Fernando Mosquera

unread,
Jul 7, 2026, 6:21:58 AMJul 7
to fpga-wars-explora...@googlegroups.com
Hello Jo mo,

Your Apio recognizes the FT2232H JTAG programer but because you are in windows, do not forget intall the Libusk driver with Zadig for the FT2232H USB device.

In you first test Apio detects several USB boards and in the second nothing.

Another important concept: When you use a FT2232H JTAG programmer at 30 Mhz frequency, it is very important that the JTAG cables are short and properly connected.

Best regards
Fernando Mosquera 


From: fpga-wars-explora...@googlegroups.com <fpga-wars-explora...@googlegroups.com> on behalf of Jo mo <joa...@gmail.com>
Sent: Tuesday, 07 July 2026 03:59:32
To: FPGAwars: explorando el lado libre <fpga-wars-explora...@googlegroups.com>

Fernando Mosquera

unread,
Jul 7, 2026, 6:34:30 AMJul 7
to fpga-wars-explora...@googlegroups.com
Hello Jo mo,

Your Apio recognizes the FT2232H JTAG programer but because you are in windows, do not forget intall the Libusk driver with Zadig for the FT2232H USB device.

In you first test Apio detects several USB boards and in the second nothing.

Another important concept: When you use a FT2232H JTAG programmer at 30 Mhz frequency, it is very important that the JTAG cables are short and properly connected.

Best regards
Fernando Mosquera 



Sent: Tuesday, 07 July 2026 03:59:32
To: FPGAwars: explorando el lado libre <fpga-wars-explora...@googlegroups.com>

Carlos Venegas

unread,
Jul 7, 2026, 10:49:18 AMJul 7
to fpga-wars-explora...@googlegroups.com
Many thanks for the tests; we’ve made progress on one front because the issue with the traces is fixed!!

As Fernando rightly points out, the problem you're seeing is related to JTAG—did you install the FTDI drivers correctly?

We want to avoid going in circles, as it looks like a physical issue between openfpgaloader and the FT board.

Jo mo

unread,
Jul 7, 2026, 10:54:53 AMJul 7
to FPGAwars: explorando el lado libre

Ola guys,

After experimenting with Zadig and the USB driver tool, I finally achieved a successful upload on the Colorlight i5.

The critical point is Interface 1 (the UART interface) on the FT2232.
It must be configured with the FTDIBUS driver. Using the USB driver tool, you can do this in two ways:

  • Right‑click the FT2232 Interface 1 peripheral → Restore default driver → USB Serial Converter B → this installs FTDIBUS (v2.12.36.20) better for newer os win10, win11.

  • Or right‑click  the FT2232 Interface 1 peripheral Install FTDI CDM → this installs FTDIBUS (v2.12.6.0) for older windows os.

The pitfall:
If Interface 1 (UART) is ever set via Zadig to any of the four alternative drivers (libusb‑win32 v1.2.7.3, libusbK v3.1.0.0, WinUSB v6.1.7600.16385, or USB Serial CDC), you lose the ability to restore back the FTDIBUS driver through Zadig. And This effectively breaks Interface 0 (JTAG), preventing it us from uploading any design on the FPGA.

To summarize, we must use  USB driver tool to set back  Interface 1 to  an FTDIBUS driver an do not touch it anymore with zadig.


Fernando, regarding Interface 0 (the JTAG programming port) on my FT2232:

  • Using Zadig, only WinUSB (v6.1.7600.16385) works for me.

  • The other options – libusbK (v3.1.0.0) and libusb‑win32 (v1.2.7.3),  do not work on my window 10 PC at least !?.


Last but not least, the 30 MHz programing option now works too, so my cable must be short/good enough!
Anyway, thank you, Fernando, for the tips.


@ Carlos:  The command     {APIO_CMD} raw -- openFPGALoader -c ft2232 --freq 30000000 -v --file-type bin "{BITSTREAM}"

seams to be sufficient,. So if you find it better, for this colorligth i5 boards, we can remove the  {APIO_CMD} build  just before.

Very, sorry for having make you work more then necessary due to my bad FT2232 configuration !


Best regards Guys

Carlos Venegas

unread,
Jul 7, 2026, 11:00:08 AMJul 7
to fpga-wars-explora...@googlegroups.com
I'm really glad it worked! And it wasn't a hassle at all—quite the opposite; it’s really helped improve command customization. It’s something we’ll use a lot for other boards, especially for developers who—for whatever reason—prefer to experiment in IceStudio first without going through Apio.

A few major bugs have come up, and the workflow has improved; for instance, the `build` step you mentioned is essential for everything to run smoothly, since `apio upload` performs a build internally first. If we just ran the raw Apio command for the upload, the system might fail or not upload the regenerated code in many cases ;)

I’m documenting everything, but the feedback has been incredible—thanks, team!

I’m getting back to the Xilinx work today; I’ll keep you posted!

Fernando Mosquera

unread,
Jul 7, 2026, 11:16:11 AMJul 7
to fpga-wars-explora...@googlegroups.com
Hello Jo mo,

I am glad that finally you programned your Colorlight board without issues.

I have a tutorial how to installl and connect different JTAG programmers to any Colorlight board. It also explains the configuration of the FT2232H driver in windows with USB Driver Tools.

The tutorial is here:

Regards
Fernando Mosquera


Sent: Tuesday, 07 July 2026 09:59:50

To: fpga-wars-explora...@googlegroups.com <fpga-wars-explora...@googlegroups.com>
Subject: Re: Icestudio 1.0 pre-release (propuesta)
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Carlos Venegas

unread,
Jul 7, 2026, 11:26:53 AMJul 7
to fpga-wars-explora...@googlegroups.com
Fernado i'm putting for tomorrow build your references into iceTutorial references, very useful!

Jo mo

unread,
Jul 7, 2026, 2:53:03 PMJul 7
to FPGAwars: explorando el lado libre

Hola Fernando,

Your tutorial is great.  Now, I remember reading it multiple times over the past few years!

For me, the second part (the one you always use yourself) is perfect. 

However, I feel the few lines, just after "Install LibUSBK to work in Windows" using zadig for installing  libusbK  , could be a source of problems when using an FT2232 board.

In libusbK, compared to previous libusb versions, they dropped support for the multi-interface option. This is why I think this driver may work fine if you're only using it for programming.  for example, with an FT232, which has only a single interface (e.g., for JTAG only).

But if you're using an FT2232 with two interfaces ,  such as Interface 0 for JTAG programming and Interface 1 for UART (serial communication), you're likely to run into trouble on Windows machines. At least for me, it simply doesn't work, and i will avoid  installing  libusbK for any of the two ports of andFT2232 interface.


To summarize, here's what works for me on Windows with an FT2232 programmer:
  1. Use the USB Driver Tool to set Interface 1 to the FTDIBUS (v2.12.6.0) driver.

  2. Use Zadig or the USB Driver Tool to set Interface 0 to either WinUSB or libusb‑winusb driver.

I did some research and found similar instructions for an ESP32 board (around page 1626) that also uses an FT2232 for both JTAG + UART communication. "Confirming" that this could be a recommended approach on windows.

Capture1 usb ftfi config.jpg

Remark: This being written, On this forum multiple people wrote they were using libusbk,
So anyone, try for yourself the multiple ways and once you get a working solution on your machine, stop changing the settings ;-)!

Shit, this drivers subject is not fun ;-)

Have a nice evening guys.

Jo mo

unread,
Jul 8, 2026, 2:48:35 AM (14 days ago) Jul 8
to FPGAwars: explorando el lado libre
Hola guys,

i just tried the wip of the day!
Works fine so far.
Special thanks to Carlos for that new feature :      feat(compiler): human-readable port names in dependency modules (7603447)

See the result for the LedBlink design:
Capture.JPG
 
This is interesting for understanding/debugging the code generated with the function in the menu  File/export.../ Verilog (obsolete)     which may not be so obsolete today ;-)

i asked deepseek to " explain me what this code do " and pasted it all the code

it replied: 

================================================================================
                    EXPLANATION OF VERILOG PRESCALER CODE
================================================================================

This Verilog code implements a frequency divider (prescaler) that takes a fast
input clock and produces a much slower clock signal to drive an LED, making it
blink at a visible rate.

It is auto-generated by Icestudio (a visual FPGA design tool), which explains
the verbose naming and the hierarchical structure. Here is a breakdown of what
each part does.

--------------------------------------------------------------------------------
1. TOP-LEVEL MODULE: main
--------------------------------------------------------------------------------

module main (
 input vclk,
 output LED_v549dbe
);

- vclk : the input clock signal (from the FPGA's oscillator).
- LED_v549dbe : output connected to an LED.

The module simply connects the input clock to a prescaler and routes the
prescaler's output directly to the LED:

assign LED_v549dbe = Prescaler22_out0_w0;
assign w1 = vclk;

So the LED will turn on/off at the divided clock rate.

--------------------------------------------------------------------------------
2. PRESCALER22 (Prescaler22__vadcbe7)
--------------------------------------------------------------------------------

This is a wrapper that fixes the prescaler size to 22 bits via a parameter:

parameter v245bef = 22

It instantiates the next block, PrescalerN, with N = 22.

--------------------------------------------------------------------------------
3. PRESCALERN (PrescalerN__v435b29)
--------------------------------------------------------------------------------

A generic, parametric N-bit prescaler wrapper. It receives N = 22 from its
parent and passes it down to the actual counter implementation.

--------------------------------------------------------------------------------
4. THE ACTUAL COUNTER (PrescalerN__v435b29_vac7386)
--------------------------------------------------------------------------------

This is the heart of the code:

reg [N-1:0] divcounter;

always @(posedge clk_in)
  divcounter <= divcounter + 1;

assign clk_out = divcounter[N-1];

- It declares a N-bit register divcounter (here N = 22).
- On every rising edge of clk_in, the counter increments by 1.
- The output clk_out is taken from the most significant bit (MSB) of the
  counter, i.e., divcounter[21].

--------------------------------------------------------------------------------
HOW THE FREQUENCY DIVISION WORKS
--------------------------------------------------------------------------------

A 22-bit counter counts from 0 to 2^22 − 1 (4,194,303) and then rolls over to 0.
The MSB toggles only once every time the counter wraps around, which takes
2^22 input clock cycles.

- The output clock period = 2^22 × input clock period.
- Therefore, f_out = f_in / 2^22 = f_in / 4,194,304.

Example with common FPGA clock speeds:

| Input frequency | Output frequency | Blink behavior                        |
|-----------------|------------------|---------------------------------------|
| 12 MHz          | ~2.86 Hz         | Slow, visible blinking (~0.35 s per toggle) |
| 50 MHz          | ~11.9 Hz         | Fast blinking (may appear dimmer or as a faint flicker) |

--------------------------------------------------------------------------------
ADDITIONAL NOTES
--------------------------------------------------------------------------------

- Verilator Linter rules – The /* verilator lint_off ... */ comments suppress
  harmless warnings (missing pins, width mismatches) when simulating with
  Verilator.

- `default_nettype none` – Prevents implicit wire declarations, making the
  code safer and more explicit.

- The code is purely synchronous – the output is derived directly from a
  flip-flop (the MSB), so it is clean and glitch-free.

--------------------------------------------------------------------------------
SUMMARY
--------------------------------------------------------------------------------

In summary: this code divides the input clock by 4,194,304 and uses the
resulting slow square wave to drive an LED, making it blink at a low,
human-visible frequency.
================================================================================


Muchas Gracias Charli for all this
Have a great days guys

Jo mo

unread,
Jul 8, 2026, 3:16:49 PM (13 days ago) Jul 8
to FPGAwars: explorando el lado libre
Carlos,

Just a very little (not urgent) cosmetic issue ;-)
Capture.JPG
On windows, we have no icetudio icon ( since the start of Icestudio version 1 )

Thanks and have a nice evening !

DemocritoBinary

unread,
Jul 8, 2026, 3:29:37 PM (13 days ago) Jul 8
to FPGAwars: explorando el lado libre
It works for me.

icon icestudio.png

I've never had that problem. But I understand that if it's not working for you, it's because something is wrong.

Jo mo

unread,
Jul 8, 2026, 4:03:28 PM (13 days ago) Jul 8
to FPGAwars: explorando el lado libre
Hola democrito,

Sorry, I explained myself not very well !

I also have the icon in the taskbar!
The one that i do not have is the one of the desktop shortcut to icetudio app.
and also in the file explorer, all the .ice files appears with the generic icon not the icestudio one stored in (C:\Program Files\icestudio\resources\images\icestudio-logo.ico)

DemocritoBinary

unread,
Jul 8, 2026, 6:19:30 PM (13 days ago) Jul 8
to FPGAwars: explorando el lado libre
Now I understand, and I know what you mean; it happens to me too. You're referring to the fact that the ICEs don't have an icon. It's only a matter of time before that changes. I try to keep Carlos from worrying about insignificant details, and of course he'll take it into account when everything is sorted out (he works on complexities I can't even imagine, but he tells me how enthusiastic he is, and it amazes me). We depend on Carlos for all of this to work and evolve, and I try to put myself in his shoes (both in terms of his time management, which is free for us, and his personal life). There are thousands of open fronts with complexities that only a good engineer can handle. So, in this sense, I psychologically avoid these kinds of priorities. Everything will work out, have no doubt about it!

Best regards, Joaquim.

Jo mo

unread,
Jul 8, 2026, 10:29:08 PM (13 days ago) Jul 8
to FPGAwars: explorando el lado libre
Yes, Democrito,I thought almost the same as you. That is why I wrote "not urgent" in my first message. Just knowing that the task is on the radar for the future is more than enough.

When I see Carlos working alone on the code, I feel it is unfair, and some part of me wants to try to help him. Even if my coding skills are limited. But you are right, I will try to avoid generating too much "noise stuff" ;-)

Thanks my friends

Carlos Venegas

unread,
Jul 9, 2026, 12:20:15 AM (13 days ago) Jul 9
to fpga-wars-explora...@googlegroups.com
My friends! thanks a lot to both, your feedback is awesome.

I'm review it don't worry!!

Reply all
Reply to author
Forward
0 new messages