Author Topic: Need help on ICE40 FPGA  (Read 7992 times)

0 Members and 1 Guest are viewing this topic.

Offline blueskullTopic starter

  • Supporter
  • ****
  • !
  • Posts: 367
  • Country: cn
  • BA7LKP
Need help on ICE40 FPGA
« on: March 12, 2015, 05:52:59 am »
Hello,

Does anyone know what exactly is the NVCM of an ICE40 device? Is it OTP or how many times can I program it?

I know ICE65 is OTP, but how about ICE40? A Lattice white paper suggests it is MTP, but that only says Lattice NVCM, not mentioning any specific product. On the other hand, Silicon Blue says their ICE65 is only OTP. What about ICE40?

Also, I want to know how to program those chips? I don't want to spend 160+ USD into a programming cable. They say it can be done via any SPI controller, but they didn't provide any information except for 5 ambiguous waveforms in their one application note.
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13748
  • Country: gb
    • Mike's Electric Stuff
Re: Need help on ICE40 FPGA
« Reply #1 on: March 12, 2015, 09:19:45 am »
Attatched is the FTDI FT_Prog template file for the programmer on the XO2 eval board - this will work with ISVM.

BTW I spent a lot of time trying to get an FTDI FT232H cable working with no success, which i sa shame as that would have been a nice solution :(

Another option for a chap Lattice programmer is just buy the cheap XO2 board and unsolder the FPGA. The JTAG signals are on a header but unfortunately you can't disconnect from the FPGA, though you could probably track-hack as only TDO would disconnecting
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13748
  • Country: gb
    • Mike's Electric Stuff
Re: Need help on ICE40 FPGA
« Reply #2 on: March 12, 2015, 10:59:57 pm »
Re Mike:

I think I am able to explain why you failed making a cable working.

The original cable uses a 93C56, not 93C46.

Which "original cable"? The XO2 board does appear to use a 93C56
Quote
FTDI programmer only programs the second block of a 93C56, while allow only user application to have access to the 1st block.

If you can manage to read the first block, then probably you can replicate a programming cable. You can dump the programmer's firmware from Diamond Programmer.

Are you saying the Lattice SW uses FTDI EEPROM read calls to read some special values they program into their devices, as opposed to/as well as using the standard FTDI device identifier string?
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13748
  • Country: gb
    • Mike's Electric Stuff
Re: Need help on ICE40 FPGA
« Reply #3 on: March 12, 2015, 11:49:14 pm »

For what I (with my bad English) understood, you tried to use a FT2232H to replicate a Mach XO2's downloader, correct?

No.
The cheap XO2 board uses an FT2232H as a programmer, and this is supported by ISPVM for all devices. The only difference between this and a "proper" programmer is that it doesn't have IO voltage support for non 3.3v systems.
 
If you could make the Lattice SW talk to an FT232H instead of a FT2232H, then you could use one of these cables as a cheap, ready-made programmer
http://www.ftdichip.com/Products/Cables/USBMPSSE.htm
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf