[Icestudio] Soporte para tarjetas Olimex

185 views
Skip to first unread message

playby...@gmail.com

unread,
Jul 10, 2017, 3:29:55 PM7/10/17
to FPGAwars: explorando el lado libre
Hola a todos, me gustaria iniciarme en el mundo de las FPGA y buscando placas basadas en el iCE40, he encontrado un par de ellas que me parecen muy interesantes, el problema es que a dia de hoy no estan soportadas por Icestudio (al menos no están en el listado de placas soportadas). Me refiero a las placas de Olimex, en particular la que ha salido recientemente incorporando el ICE40HX8K, que tiene características (y precio) muy interesantes.


Es posible que en el futuro haya compatibilidad de Icestudio con esta placa? 

Gracias y enhorabuena por las aportaciones al mundo del Hardware Libre

Jesús Arroyo

unread,
Jul 10, 2017, 5:52:40 PM7/10/17
to FPGAwars: explorando el lado libre
Buenas,

Lo fundamental para añadir una nueva placa en Icestudio es que esté soportada en Apio (https://github.com/FPGAwars/apio), que es lo que Icestudio utiliza actualmente como "back-end". La parte de síntesis y rutado (verilog --> bitstream) es común para todas las iCE40 soportadas por Icestorm. La parte crítica es el programador, que es el software que descarga el bitstream en la placa.

Actualmente Apio utiliza estos programadores: https://github.com/FPGAwars/apio/blob/develop/apio/resources/programmers.json:
  • iceprog: utilizado por todas las placas con FTDI. Se programan desde el puerto serie conectadas a un ordenador con cualquier sistema operativo. Ej: iCEstick, IceZUM Alhambra, ...
  • icoprog: utilizado para las placas HAT de la Raspberry Pi. Concretamente se ha probado para la icoBoard.
  • litterbox: utilizado para la placa CatBoard, aunque como es un script de Python externo a la toolchain no está integrado completamente en Icestudio.

Concretamente las placas de Olimex iCE40 necesitan un Arduino con un firmware específico para descargar el bitstream por SPI. Depués de conectar el Arduino, mediante un programa llamado "iceprogduino" descargan el bitstream a la FPGA de la Olimex a través del puerto serie del ordenador, pasando por el Arduino. En este punto la integración con Apio y Icestudio es sencilla. Para dar soporte out-of-the-box se podría hacer una release de la toolchain-icestorm incluyendo este nuevo programador en el paquete.


Además habría que tener en cuenta que los drivers para conectar con el Arduino no son generalmente los mismos que los del FTDI.


Así que si alguno se anima a hacer el proceso, validar iceprogduino en Linux, Windows, Mac, resolver la parte de drivers y probar con pequeños hacks en Apio, Icestudio lo incluiremos en las siguientes versiones.


Un saludo.

Reply all
Reply to author
Forward
0 new messages