ICESTICK no programa con iceprog -S

90 views
Skip to first unread message

Jesus Arias

unread,
Dec 5, 2017, 11:36:45 AM12/5/17
to FPGAwars: explorando el lado libre
Hola a todos.
Acabo de recibir la placa ICESTICK y, tras probar que los ejemplos de Obijuan corren como esperaba, me encuentro que el comando

iceprog -S <bitstream.bin>

No funciona. Esto me resulta un poco desagradable pues me obliga a programar la flash SPI de la placa cada vez que quiero hacer alguna prueba, y tengo una aversión innata a gastar los ciclos de programación de las memorias flash ;)
Investigando el código fuente de iceprog y los esquemáticos del ICESTICK creo haber encontrado las causas del problema:

- La FPGA necesita tener el bus SPI en modo 3 para poder programarse como dispositivo SPI esclavo, pero el chip FT2232 parece que sólo soporta los modos SPI 0 y 2 cuando funciona con  BITMODE_MPSSE.
- El pin de entrada serie de la FPGA está conectado a MISO, tanto en modo maestro como esclavo, de modo que el FT2232 está generando su secuencia de datos en el pin equivocado cuando intentamos programar la FPGA como dispositivo SPI esclavo.

Partiendo del código de icprog he escrito el código que adjunto para conseguir configurar la FPGA del ICESTICK directamente desde el PC sin tener que programar la flash SPI. La idea básica es la de generar las señales del bus SPI por bitbanging. Sorprendentemente el FT2232 ayuda bastante con esto y se consigue una buena velocidad de programación.

Saludos



iceram.c
Makefile

Sergio Cuenca

unread,
Dec 5, 2017, 3:47:48 PM12/5/17
to FPGAwars: explorando el lado libre
Muy buen aporte, ¿sabes si iceprog -S funciona con la icezum Alhambra?

Jesus Arias

unread,
Dec 5, 2017, 4:04:38 PM12/5/17
to FPGAwars: explorando el lado libre
No sé si iceprog -S funciona con la placa icezum Alhambra. No tengo ninguna a mano para probarlo.
Pero he visto el esquemático de esa placa y el conexionado del FT2232 a la FPGA y memoria Flash es idéntico al ICESTICK, por lo que me temo que tampoco va a funcionar.

Saludos

Juan José Luna Espinosa

unread,
Dec 6, 2017, 3:39:38 AM12/6/17
to fpga-wars-explora...@googlegroups.com
Hola,
Con mi placa HX8K breakout board a veces programo con -S para acelerar los ciclos de testeo.

Pero esta placa lleva unos jumpers para enrutar las señales SPI. Se ponen en una posición para programar la Flash y en otra para programar el bitstream en la FPGA.

--
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-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/1276424a-ca4c-4d9d-9587-02366226afe6%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Juanma Rico

unread,
May 13, 2018, 8:54:04 AM5/13/18
to FPGAwars: explorando el lado libre

Buena Sergio,

Buscando por el grupo me encuentro con tu pregunta de hace más de un año. Imagino que ya lo sabrás, pero no, te confirmo que no lo hace.
El propio iceprog en su ayuda te lo comenta.

iceprog -- simple programming tool for FTDI-based Lattice iCE programmers


Notes for iCEstick (iCE40HX-1k devel board):
  An unmodified iCEstick can only be programmed via the serial flash.
  Direct programming of the SRAM is not supported. For direct SRAM
  programming the flash chip and one zero ohm resistor must be desoldered
  and the FT2232H SI pin must be connected to the iCE SPI_SI pin, as shown
  in this picture: http://www.clifford.at/gallery/2014-elektronik/IMG_20141115_183838


Notes for the iCE40-HX8K Breakout Board:
  Make sure that the jumper settings on the board match the selected
  mode (SRAM or FLASH). See the iCE40-HX8K user manual for details.

Sabiendo que la icezum Alhambra se basa en la iCEStick imagino que se podría hacer una modificación similar a la que se propone.
Igual Eladio nos podría confirmar si ha probado esta modificación en la Alhambra v1.1 o si podría hacerse y cómo.

Un saludo
Juan Manuel Rico

Eladio Delgado

unread,
May 21, 2018, 3:58:54 PM5/21/18
to FPGAwars: explorando el lado libre
Hola Juanma,

contesto en el otro hilo donde preguntas por este tema:

Saludos,
Eladio
Reply all
Reply to author
Forward
0 new messages