Jump to content
  • 0

Arty A7 flash chip


D@n

Question

Digilent,

The original Arty-A7 had a flash chip from Micron on it.  This chip is still listed as the flash chip on the schematic.  The Micron chip also had a lot of design flaws, making it difficult to guarantee that the chip could be brought to a proper reset state upon startup.  This has been a discussion on the forum.

I was recently informed that the newer A7 boards now have a Spansion flash device on them?

While I like the Spansion flash better, may I encourage you to update your schematic and other Arty documentation to reflect this?

Also, can you please share for the record what that new chip is?

Thanks!

Dan

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

Hi @D@n,

I believe the new part that is used in the Arty A7 boards (and other A7 boards) is now a Spansion S25FL128SAGMF100; based on old schematics, I believe this was added in Rev D of the Arty A7 (dated August 2017), though I do not know when that particular Rev was then released (or if it even was released) to the public. I confirmed that the Arty S7 also uses this part and I wouldn't be surprised if most of our other Artix 7 based boards use it now as well.

I've requested that the chip name and images are updated in any appropriate tutorials and requested that the pdf version of the reference manual (updated wiki) is updated as well.

Thanks,
JColvin

Link to comment
Share on other sites

JColvin,

     I have two questions about this Flash memory:

1)  Where can I find the datasheet?  A Google search for the part number only returns Digilent links.  A search of Cypress's website (the new owner of Spansion) shows a large variety of S25FL128S chips, but nothing matching the number you indicate.

2)  If I want to put some user data in the Flash, what addresses should be avoided to prevent conflicts with FPGA code storage?

 

Thanks

Allan

Link to comment
Share on other sites

Hi @Allan Flippin,

I figured out the reason why the part wasn't findable; there is a typo in the part number where the "1" in the third character from the end should actually be an "I" for Industrial. I have corrected this on the wiki page and have also requested that the associated PDF is changed as well. Here is the link to the Cypress website for it's datasheet: https://www.cypress.com/documentation/datasheets/s25fl128ss25fl256s-128-mb-16-mb256-mb-32-mb-30v-spi-flash-memory, with the ordering information in section 12 where you can verify the part number.

With regards to placing user data in the flash to avoid conflicts, it depends on how the user programs the device. The FPGA can be configured ignoring the flash entirely so that the entire flash could be addressed (though of course the configuration would be lost once power is disconnected from the FPGA). If you choose to program the flash memory with the configuration, the amount of data that takes will be dependent on whether or not you compress the bitstream, if you are programming through Vivado or with an SDK application, and more. So there isn't a clean answer I can readily provide without knowing your situation, but this thread discusses this here: https://forum.digilentinc.com/topic/19328-flash-image-offset-for-srec-spi-bootloader/.

 

Thanks,
JColvin

Link to comment
Share on other sites

Jcolvin,

     Thanks.  I also did find the datasheet once I realized the ordering options weren't part of the file name.  I have an Arty A7-100.  I'm using Vivado and my present .bit file is 3.8Mbytes (no .mcs files)  I guess the major question is whether Vivado puts the .bit file at the start of the Flash memory?  If so then can't I put any user data at the end of Flash safely (until configuration gets much larger)?

Thanks,

Allan

Link to comment
Share on other sites

Hi @Allan Flippin,

I believe the statement that Vivado puts the .bin (since it's for a flash device) at the beginning is accurate, though I'm not certain. Section 6 of UG908 Vivado Programming and Debugging Guide talks about it a bit more and says you can choose to only occupy the address range rather than the entire device. Since the flash is done in 64 kB sectors, you would want to start after those sections are filled (so probably on the 59th or 60th section if my math is right; I didn't double check which variant of the kilo they are using).

Let me know if you have any questions.

Thanks,
JColvin

Link to comment
Share on other sites

Hi @Wayneho,

The Reference Manual for the Arty A7 notes this change and is available on our wiki here: https://reference.digilentinc.com/reference/programmable-logic/arty-a7/reference-manual.

Otherwise, I don't recall any other physical changes (there was a branding change from "Arty" to "Arty A7"). All of the other documentation for the Arty A7 is available on it's Resource Center here: https://reference.digilentinc.com/reference/programmable-logic/arty-a7/start.

Let me know if you have any questions.

Thanks,
JColvin

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...