You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
whitequark
changed the title
FX2_MEM is too small, needs to use 24M02 instead of 24M01
ICE_MEM is too small, needs to use 24M02 instead of 24M01
Oct 2, 2019
just changing to a 24M02 will not be enough as this will create an address clash with the fx2 eeprom.
See irc discussion for details and ideas to fix it.
The FX2 can boot from 1010000 and 1010001. My understanding is that it first tries to boot from 1010000 and treats it as a 1 address byte EEPROM, and then from 1010001 and treats it as a 2 address byte EEPROM. However, this needs to be verified on actual hardware.
Currently, we have FX2_MEM at 1010001 and ICE_MEM at 1010010/1010011. We also have ADCs at 1010100 and 1010101.
Using the E2 strap, 24M02 can take either addresses 1010000..1010011 (which will not work because FX2 will interpret 1010000 as a 1 address byte EEPROM and likely fail to boot from it), or 1010100..1010111 (which clashes with ADCs).
The ADCs can be easily remapped to 1011000/1011001 by changing the ADR1 strap to V_A. This does not clash with the 24M02-xR variant, which has an identification page at 1011100 when E2 is strapped high.
Strapping ADCs with ADR1 to V_A deprives us of the ability to use four ADCs on the main I2C bus on revD.
When the FX2 is booting from an EEPROM, it can never directly load more than 16 KB since it only has that much RAM; the largest FX2 package that exposes the external memory bus lets it have up to 64 KB of memory, but we don't use that package, so we have a 16 KB hard limit. I have used a 32 KB EEPROM just in case it will come in handy.
My conclusion is that, even if consolidating ICE and FX2 flashes into a single package would work (i.e. the FX2 can actually boot from a M24M02 strapped with E2 to low), it would be more expensive. I think the simplest solution is to remap accesses to ICE flash above certain addresses back to the top addresses of FX2 flash.
HX8K bitstream is about 32 Kbit too large for the 1 Mbit device, unfortunately.
I think this (+ possible DFM issues with ESD diodes?) pushes us to revC2.
Thanks to @smunaut for discovering this.
The text was updated successfully, but these errors were encountered: