UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Contributor
Contributor
9,217 Views
Registered: ‎11-20-2009

Nand Flash Interface with SPARTAN 3 FPGA

Jump to solution

HI,

        I am designing FPGA development kit . In that i would like to add Nand Flash.what will be the advantage of using nand flash with spartan series fpga. I need  supporting document .reference schematics.Please Help Me.

0 Kudos
1 Solution

Accepted Solutions
Teacher eteam00
Teacher
11,397 Views
Registered: ‎07-21-2009

NAND flash controller

Jump to solution

 


@shahulakthar wrote:

...  I am designing FPGA development kit . In that i would like to add Nand Flash.what will be the advantage of using nand flash with spartan series fpga. I need  supporting document .reference schematics.Please Help Me.


 

Rather than implement a NAND flash controller, have you considered implementing a MMC or SD (or micro-SD) controller?  Both MMC and SD cards can be easily programmed to SPI interface mode.  SPI memory controller code is readily available.

 

By using MMC or SD cards (or their soldered-to-the-board equivalents, such as iNAND), you can avoid all the data error detection and correction logic that a NAND flash controller must include.  By using the SPI interface mode, you can avoid the non-disclosure agreements and licensing fees required for using Secure Digital 'native' mode.

 

- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
4 Replies
Teacher eteam00
Teacher
11,398 Views
Registered: ‎07-21-2009

NAND flash controller

Jump to solution

 


@shahulakthar wrote:

...  I am designing FPGA development kit . In that i would like to add Nand Flash.what will be the advantage of using nand flash with spartan series fpga. I need  supporting document .reference schematics.Please Help Me.


 

Rather than implement a NAND flash controller, have you considered implementing a MMC or SD (or micro-SD) controller?  Both MMC and SD cards can be easily programmed to SPI interface mode.  SPI memory controller code is readily available.

 

By using MMC or SD cards (or their soldered-to-the-board equivalents, such as iNAND), you can avoid all the data error detection and correction logic that a NAND flash controller must include.  By using the SPI interface mode, you can avoid the non-disclosure agreements and licensing fees required for using Secure Digital 'native' mode.

 

- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
Contributor
Contributor
9,189 Views
Registered: ‎11-20-2009

Re: NAND flash controller

Jump to solution

Hi Bob,

thank u for the reply. It is lot more useful for me.:smileyhappy:

0 Kudos
Visitor genevaethel
Visitor
8,904 Views
Registered: ‎09-29-2010

Re: NAND flash controller

Jump to solution

Be warned that the SPI interface is a "May" implement in the MMC spec, not a "Will" implement.

 

Transcend just took the SPI interface off their 4GB MMC plus cards (part no: TS4GMMC4)

 

This has come as a rather big shock, and now I need to find a 1-bit (or 4, or 8) driver very quickly.

 

Anyone have a free implementation for the Virtex4FX lying around?

 

Thought not...

0 Kudos
Teacher eteam00
Teacher
8,901 Views
Registered: ‎07-21-2009

Re: NAND flash controller

Jump to solution

@genevaethel wrote:

Be warned that the SPI interface is a "May" implement in the MMC spec, not a "Will" implement.

 

Transcend just took the SPI interface off their 4GB MMC plus cards (part no: TS4GMMC4)

 

This has come as a rather big shock, and now I need to find a 1-bit (or 4, or 8) driver very quickly.

 

Anyone have a free implementation for the Virtex4FX lying around?

 

Thought not...


You bring up a good point.  Up through MMC spec version 4.2, SPI is required and defined.  In the latest version, 4.3, SPI is no longer included (it's not only 'optional', it's omitted and therefore undefined).

 

If you are using an MMC card, you're gambling that the card vendor does (or does not) want backwards compatibility with respect to SPI mode.

 

On the other hand, the Secure Digital spec up through version 3.0 includes, defines, and requires SPI support.

 

Designing to a specific NAND flash memory card target is risky, as the technology (device density, mask stepping, controller design) churns so quickly.  Very similar to DRAM device targeting.  That's the bad news.  The good news is that you should have many many many alternate sources for a given flash memory card -- they are mostly ubiquitous (interchangeable).  If Transcend churns their MMC controller and drops SPI mode support, then A-Data and Polaroid and PQI and Kingston and Viking and many many others should work fine in its place.  I could be wrong on this (availability of MMC cards), as MMC popularity has faded a lot, rapidly...  in which case you might want to jump off the MMC train as soon as possible.  Which leads me to the next suggestion....

 

Or...  switch to SD/miniSD/microSD cards, which are still required to support SPI.  My understanding is that the number of SD card products and sources outnumbers MMC products and sources by a large (and growing) multiple.

 

If you have the MMC spec (downloadable from JEDEC, they now own the standard), the MMC 'native' core isn't all that different from the SPI mode.  Commands are similar, etc. etc.  SD and MMC are similar to one another (but deliberately non-identical), for that matter.  The biggest problem with small-fry designers wanting to include an SD card host interface is the air-tight licensing requirement for access to the specification and the SD card logo and 'blessing'.  This also precludes native-mode SD open-source cores -- you won't find any at opencores.org.

 

Quick summary of options (least difficult first, most difficult last):

1.  pick another MMC card which supports SPI

2.  add SD support to your SPI mode host controller (very small difference), and pick a SD card design target

3.  implement native-mode MMC

4.  implement native-mode SD

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.