Author Topic: Consistently wrong device ID from Lattice MachXO2 FPGA  (Read 4573 times)

0 Members and 1 Guest are viewing this topic.

Offline cebraxTopic starter

  • Contributor
  • Posts: 14
  • Country: tr
Consistently wrong device ID from Lattice MachXO2 FPGA
« on: June 29, 2018, 11:06:35 am »
Hello,

I have created a JTAG programmer using FT2232 (I've attached the schematics) and bought 2 pieces of LCMXO2-256HC-4SG32I to start working with FPGAs. For my first programming attempts, I didn't have any success. I had a VCC for Bank 0 not connected. I've connected this wire and I had success, however my program didn't work as intended, actually it didn't work at all.

I then tried programming again and again and again, but no luck. It was giving me "Failed in Function CHECK_STATUS" or "Failed in Function FLASH_ENABLE" errors. But, it was reading the DEVICE_ID correctly and moving on and then failing.

Now, I am facing with a VERY strange issue, the DEVICE_ID is read as 0xA0C03E00 instead of correct DEVICE_ID 0x012B8043 for this chip. And it is doing this consistently. I have checked JTAG signals and they seem to confirm 0xA0C03E00. Oscilloscope shot is below.

Code: [Select]
Starting: "pgr_program run"

INFO - Check configuration setup: Start.

Device#1 LCMXO2-256HC: Failed to verify the ID
(Expected: 0x012B8043 Read: 0xA0C03E00).

ERROR - Check configuration setup: Unsuccessful.

ERROR: pgr_program failed.

ERROR - Programming failed.


Blue Channel: TCK
Yellow Channel: TDO

Anybody has any idea?

« Last Edit: June 29, 2018, 11:17:30 am by cebrax »
 

Offline cebraxTopic starter

  • Contributor
  • Posts: 14
  • Country: tr
Re: Consistently wrong device ID from Lattice MachXO2 FPGA
« Reply #1 on: June 29, 2018, 12:41:31 pm »
Somehow I have changed the DEVICE_ID by somehow setting MY_ASSP to ON and giving CUSTOM_IDCODE of 0xA0C03E00. I really don't know how this happened. I have created a SVF file and edited the DEVICE_ID part using Deployment Tool and run it with Download Debugger. I don't know how this all happened, but it works now.   :-BROKE  :palm:

From Technical Note TN1204:

Quote
CUSTOM_IDCODE

The CUSTOM_IDCODE is the value you assign to override the default IDCODE in the MachXO2 device. You are
only allowed to enter a 32-bit hexadecimal or binary value when the MY_ASSP preference is ON.
Overriding the IDCODE prevents the Lattice programming software from being able to identify the MachXO2
device, and as a result, prevents Programmer from being able to directly program the MachXO2 device. It is neces-
sary to migrate to generating Serial Vector Format (SVF) files in order to program MY_ASSP enabled MachXO2
devices.
« Last Edit: June 29, 2018, 12:44:54 pm by cebrax »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf