Ok, so I'm trying to program the flash on the devboard. My devboard is a Lattice ice40HX8K breakout board.
http://www.latticesemi.com/Products/DevelopmentBoardsAndKits/iCE40HX8KBreakoutBoard.aspx1. I broke out the CRESET_B, CDONE, and SCK pins since they aren't broken out already.
2. I did not remove the jumper resistors between these signals and the FTDI chip, I assumed this would be alright as I followed a schematic for the iceBlink dev board that has an ice40HX1K with all of the programming pins sharing the bus with the FTDI chip.
3. I am powering the board through the USB port, just no D+ and D- on the usb connection.
4. I left the jumpers for SPI configuration on and broke out the pins for TDI, TDO, and SS.
These are the connections I've made from the HW-USBN-2A
Required for ICE40
programmer <-> dev board
-------------------------------
TDI <-> flash mosi
TDO <-> flash miso
NOTE: Normally it's TDO Programmer to SDI flash but I verified that this is correct by pulling the TDO pin high and low and seeing the check ID function report 0xFF and 0x00 accordingly
(I have also swapped them around during all of my testing just to be on the safe side
)
TCK <-> sck - I've tried multiple division levels by configuring this pin with diamond
PROG <-> SS/CS pin - I also checked the PROGRAMN box in lattice Diamond
TRST <-> CRESET_B - This is set to LOW in the custom IO configuration in order to hold the FPGA in reset so it doesn't generate it's own SCK
INITN - CDONE - I checked the box in the custom IO for this pin as well
VCC - VCC - 3.3v generated by the dev board and hooked up to the programmers vref pin
GND - GND
I came to this configuration by reading through the Lattice programming cable user guide UG48
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjs7bqxtKjVAhUqjlQKHVkWBqUQFggoMAA&url=http%3A%2F%2Fwww.latticesemi.com%2F~%2Fmedia%2FLatticeSemi%2FDocuments%2FUserManuals%2FMQ%2FProgrammingCableUsersGuide.pdf%3Fdocument_id%3D143&usg=AFQjCNEb6UEFHBtfwoe1NbPibiwHfM5rIQI did try a couple variations on these connections but I never got anything except Diamond reporting "CHECK_ID Failed, Expected h16, Actual hFF. Which doesn't exactly tell me what's wrong.
I suppose 1 more thing I could try is holding the FTDI chip in RESET or disconnecting the jumper resistors, but I doubt that would do it.