Interfacing more than 64KB EEPROM with FX2LP (56-Pin Package)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
KaS_3578976
Level 1
Level 1

Hi,

We are planning to interface Image Sensor, FPGA with FX2LP (56-Pin Package). I need to store FX2, FPGA firmware and calibration data in the external EEPROM so that FX2 will read firmware from external EEPROM and bootup FPGA via I2C. Total firmware size exceeds more than 300 KB.

Can i interface more than 64KB of EEPROM with FX2LP (56-Pin) ?

As per EZ-USB® Development Kit User Guide & Hardware Design Guide, the address pins (A0, A1, A2) of EEPROM must be fixed as either A0 = 0, A1 = 0, A2 = 0 for small EEPROM and A0 = 0, A1 = 0, A2 = 0 for large EEPROM (max 64 KB) to enable the FX2 bootloader to boot either from small EEPROM or Large EEPROM.

Can we change the address pins(A0, A1, A2) of the EEPROM to the value other than 000 or 001 so that we can connect more then two EEPROM's ?

Thanks,

Karthick

0 Likes
1 Solution

Hi Karthick,

Since FX2LP is booting from the large EEPROM, you cant use an EEPROM of a size larger than 64 kB since the address of "001" format support two-byte addressable EEPROM (maximum 0xFFFF).

You could connect a larger EEPROM as long as the custom address is different from "000" or "001" but it cant be used for FX2LP bootup.

Please also ensure that the I2C bus is not being accessed by any other master during the FX2LP bootup since there is no check for bus contention by FX2LP.

Best Regards,

Sananya

View solution in original post

3 Replies
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi Karthick,

Could you please let us know if FX2LP will be booting from the EEPROM or only reading the firmware from the EEPROM to program the FPGA? As you mentioned, FX2LP bootloader can boot from either a small EEPROM or large EEPROM based on whether the EEPROM size is single or double byte addressable. So by default, you need to connect the address pins to either "000" or "001" as per FX2LP boot up design.

You can however connect any other EEPROM and set a custom address if you would like to perform any I2C read or write operations.

Best Regards,

Sananya

0 Likes

Hi Sananya,

Thanks for your prompt response. Please find my replies below,

Could you please let us know if FX2LP will be booting from the EEPROM or only reading the firmware from the EEPROM to program the FPGA?

[Karthick] : FX2LP will be booting from the EEPROM and then read the FPGA firmware from EEPROM to program the FPGA.

As you mentioned, FX2LP bootloader can boot from either a small EEPROM or large EEPROM based on whether the EEPROM size is single or double byte addressable. So by default, you need to connect the address pins to either "000" or "001" as per FX2LP boot up design.

[Karthick] : So FX2LP can only boot from maximum EEPROM size of 64 KB with the address pin set as 001 or Can FX2LP boot from more than 64 KB size EEPROM with the address pin set as 001 ?

You can however connect any other EEPROM and set a custom address if you would like to perform any I2C read or write operations.

[Karthick] : Can i connect more than 64 KB size EEPROM with the custom address ?

Please let me know if you have any clarifications.

Thanks,

Karthick

0 Likes

Hi Karthick,

Since FX2LP is booting from the large EEPROM, you cant use an EEPROM of a size larger than 64 kB since the address of "001" format support two-byte addressable EEPROM (maximum 0xFFFF).

You could connect a larger EEPROM as long as the custom address is different from "000" or "001" but it cant be used for FX2LP bootup.

Please also ensure that the I2C bus is not being accessed by any other master during the FX2LP bootup since there is no check for bus contention by FX2LP.

Best Regards,

Sananya