Lattice JED File Formats and Device Type ID Code

R

rickman

Guest
I have a .jed file for a design in an XP device. These devices have
gone EOL and I am trying to extend my options. The .jed file is for a C
type device, specifically the LFXP3C-3TQFP100. I need to adapt this
file to use with the LFXP3E-3TQFP100.

My understanding is that the same die is used for both devices with a
pad bonded to ground or something to indicate the internal voltage
regulators should be bypassed in the E version. It also flips one bit
in the device ID code to 0x01254043 from 0x01255043 for the C version.
A Lattice FAE told me this although he didn't seem to want to be
considered authoritative.

The .jed file does not seem to contain the ID code value anywhere in hex
or in binary. It is possible this is split over two lines which would
be very hard to search for without writing a program to read it in and
do the search.

I do see where the device name is listed in the "NOTE" section of the
file. Otherwise there is no mention of the device this goes into. As a
first attempt, I tried changing the part name in the NOTE field but that
didn't seem to work. The error reported is

Device#1 LFXP3C: Failed to verify the ID
(Expected: 0x01255043 Read: 0x01254043).

Any idea where the programmer is getting the device ID code it is using
to compare to the ID code read from the part? Is it possible it is
getting this from some other file that is in this directory? I should
try copying the JED file to a separate directory.

Any other ideas?

Just so you know, if I absolutely have to, I can recreate the .jed file
by compiling from sources. But this will be a new "design" according to
my customer and it will require the board to go through certification
again and possibly EMI testing. If I just program the E version of the
FPGA I think we can bypass all that.

--

Rick C
 
Just so you know, if I absolutely have to, I can recreate the .jed file
by compiling from sources.

Just some thoughts from my side (I have not used Lattice for quite some time myself):;

If you have still the same version of the compiler, you should be able to get the same bitfile (for the same device).

Then you can compile it for the new device - hopefully you get again the same bitfile with only the device ID different (and possible some checksum).

Otherwise you can still try to figure out the changes in the header of both files, as this is where I would expect this ID info.

Or as you already suggested, maybe the programmer is using some "programmer config file" and the ID is not in the bit-file at all...

Regards,

Thomas

www.entner-electronics.com - Home of EEBlaster and JPEG-Codec
 
On 9/14/2016 4:04 PM, thomas.entner99@gmail.com wrote:
Just so you know, if I absolutely have to, I can recreate the .jed
file by compiling from sources.

Just some thoughts from my side (I have not used Lattice for quite
some time myself):;

If you have still the same version of the compiler, you should be
able to get the same bitfile (for the same device).

Then you can compile it for the new device - hopefully you get again
the same bitfile with only the device ID different (and possible some
checksum).

Otherwise you can still try to figure out the changes in the header
of both files, as this is where I would expect this ID info.

Or as you already suggested, maybe the programmer is using some
"programmer config file" and the ID is not in the bit-file at all...

Yes, if I had the tools from 8 years ago on a running machine I would
try that. But I don't.

I've looked at the .JED file header. That's where I found the device
name. But changing that does not affect the programmer.

Lattice has a Programming File Utility which lets you compare two .JED
files. When I compare the original file to one with the part number
changed in the Note field, it reports the two as identical and does not
list anything in the Notes section. So I assume that is ignored. The
device specification must be in the .XCF file which I believe can be
changed. The test fixture is 150 miles away so I have to wait for the
factory to try the things I come up with.

--

Rick C
 
On 9/14/2016 4:15 PM, rickman wrote:
On 9/14/2016 4:04 PM, thomas.entner99@gmail.com wrote:

Just so you know, if I absolutely have to, I can recreate the .jed
file by compiling from sources.

Just some thoughts from my side (I have not used Lattice for quite
some time myself):;

If you have still the same version of the compiler, you should be
able to get the same bitfile (for the same device).

Then you can compile it for the new device - hopefully you get again
the same bitfile with only the device ID different (and possible some
checksum).

Otherwise you can still try to figure out the changes in the header
of both files, as this is where I would expect this ID info.

Or as you already suggested, maybe the programmer is using some
"programmer config file" and the ID is not in the bit-file at all...

Yes, if I had the tools from 8 years ago on a running machine I would
try that. But I don't.

I've looked at the .JED file header. That's where I found the device
name. But changing that does not affect the programmer.

Lattice has a Programming File Utility which lets you compare two .JED
files. When I compare the original file to one with the part number
changed in the Note field, it reports the two as identical and does not
list anything in the Notes section. So I assume that is ignored. The
device specification must be in the .XCF file which I believe can be
changed. The test fixture is 150 miles away so I have to wait for the
factory to try the things I come up with.

That was it. The JED file was fine, the tech was using the same .XCF
file which specifies the part number to the programming tool. Once that
was changed it worked like a champ!

--

Rick C
 

Welcome to EDABoard.com

Sponsor

Back
Top