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: 
Visitor nour
Visitor
10,414 Views
Registered: ‎10-24-2010

can we use sst25vf016b for s3e1600 configuration

Hi guys

 

I am having problems configuring s3e1600 fpga using

SST's sst25vf016b 16Mbit spi flash.  Does any one know

if its compatible with the s3e family or not ?

 

Thanks much

 

0 Kudos
11 Replies
Teacher eteam00
Teacher
10,406 Views
Registered: ‎07-21-2009

Re: can we use sst25vf016b for s3e1600 configuration

The information you seek is in UG332 Spartan 3 Gen configuration user guide.  You can use a ROM as small as 8Mbit, which is half the size of the device you mention.

 

According to UG332, you should be able to use SST25V family for FPGA self-config, but Xilinx doesn't guarantee this.  This family is also not on the list for Impact tool support.

 

You should describe the problems you are having, and the frequency with which you are having them.  This might provide clues whether or not the problems are due to the SST 25V family parts or due to some more generic issue.

 

-- 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.
0 Kudos
Visitor nour
Visitor
10,401 Views
Registered: ‎10-24-2010

Re: can we use sst25vf016b for s3e1600 configuration

Thanks Bob for your quick reply.

 

Yes, i've read UG332 which states that impact doesn't support SST Flash programming,

and the compatibility claim for sst flash is not verified by Xilinx.

 

I am using an external spi programmer that uses the parallel port to program sst25vf016b

flash on board (with PROG_B Jumper on to tristate FPGA pins).   I was able to verify that

it programmed correctly by reading back the MCS file I programmed.  

 

My flow is as follows:

   1.  I generated an MCS file targettting 3rd party 16Mbit Flash.

   2.  Programmed the MCS file into the sst25vf016b Flash and verified it.

   3.  Powered down the board, and set the Mode select switches on the

        S3E1600 to M[2:0]={0,0,1}.  Also set SPI variant switchs to {101} (Tried {111} as well).

  4.  Powered up the board, but the FPGA didn't program.

 

I am suspecting that there is a download compatibility issue as far as the S3E devices

and SST's 16Mbit Flash device.

 

Thanks again for your feedback

0 Kudos
Teacher eteam00
Teacher
10,396 Views
Registered: ‎07-21-2009

Re: can we use sst25vf016b for s3e1600 configuration

Nothing you've written so far points to SST incompatibility as a reason for failure.  Is there additional information which you've not mentioned?

 

-- 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.
0 Kudos
Visitor nour
Visitor
10,390 Views
Registered: ‎10-24-2010

Re: can we use sst25vf016b for s3e1600 configuration

I am able to program the FPGA using the same Bit file I used for generating the

MCS file over the JTAG port, the FPGA programs properly.  

 

May be I should switch to the M25P16 ST spi flash or the AT45DB161 part.  If

I get any problems using these parts then I may have a H/W board problem.

 

Thanks again for your reply

 

0 Kudos
Teacher eteam00
Teacher
10,387 Views
Registered: ‎07-21-2009

Re: can we use sst25vf016b for s3e1600 configuration

Don't ignore the possibilities that, using your non-Impact programming tool, you are either

 

1. writing the wrong data to the SPI flash

2. writing the bits in the wrong order

3. writing to the wrong location

 

- 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.
0 Kudos
Teacher eteam00
Teacher
10,377 Views
Registered: ‎07-21-2009

Re: can we use sst25vf016b for s3e1600 configuration

If you substitute a Numonyx (now Micron) or Atmel flash in place of the SST flash, this is what you can expect to learn:

 

1.  FPGA still doesn't config.  Most likely a circuit board design error.

 

2.  FPGA still doesn't config using the non-Impact programming tool, but does config when the flash is programmed via Impact.  Implicates a problem in the non-Impact flash programming flow (e.g. data conversion, ordering, addressing, etc.)

 

3.  Programming the flash via Impact, but verifying the programming with the non-Impact programming tool.  If successful, mostly vindicates the non-Impact programming flow.  If unsuccessful, indicates a problem in the non-Impact programming flow.  Also try programming with non-Impact tools and then verifying with Impact.

 

4.  FPGA configures with non-SST flash, but doesn't configure with SST flash (using the same programming flow in both cases).  Indicates a config-time compatibility problem with the SST flash, or possibly a strapping problem with the FPGA config settings.

 

This isn't an exhaustive list of possibilities and cases, of course, but it should give you an idea of how debug might progress.

 

-- 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.
0 Kudos
Highlighted
Visitor nour
Visitor
10,354 Views
Registered: ‎10-24-2010

Re: can we use sst25vf016b for s3e1600 configuration

 

I tried reverse bit ordering by selecting general purpose paralel prom

when generating the MCS file but it didn't work either.

 

I will go thru the debug process and make use of your remarks/hints

below.  I'll let you know of any progress.   Mean while if any one out

there that have used the sst25vf016b for S3Exxxx configuration please

let us know ( Xilinx, or SST guys are welcome to give there input ...).

 

Thanks again Bob 

0 Kudos
Visitor nour
Visitor
10,318 Views
Registered: ‎10-24-2010

Re: can we use sst25vf016b for s3e1600 configuration

Hi Bob,

 

Yes sst25vf016b Flash is compatible with S3E1600 FPGAs.  The

problem was that the tool I am using was writing the MCS file " as is"

to the serial prom without stripping the addressing and other info.

Instead I programmed the file in binary format and the FPGA configured

properly.

 

Thanks Bob for your help, and thanks to Mr. Sergey Kiselev for his spi

flash programmer.

 

Nour

0 Kudos
Xilinx Employee
Xilinx Employee
10,152 Views
Registered: ‎07-30-2007

Re: can we use sst25vf016b for s3e1600 configuration

And, just to add you can use PROMGen to flip the .mcs file to a .bin file which does not have address or checksum in the file with the following command line:

 

promgen -p bin -r input.mcs -o out.bin

0 Kudos
Observer aodhancoffey
Observer
1,987 Views
Registered: ‎03-30-2015

Re: can we use sst25vf016b for s3e1600 configuration

I seem to be having a similar problem configuring my spartan 3A. My setup consists of a PIC18f microcontroller connected to an external sst25vf016b flash ROM and an FPGA over the same SPI connection. I can correctly write and read the flash ROM using the microcontroller (while holding the FPGA SPI in tristate). 

 

I generated a PROM file using IMPACT tools and following this guide (http://www.xilinx.com/support/documentation/application_notes/xapp974.pdf, page 7 onwards). This resulted in a .mcs file. I copied this file into the external sst25vf016b flash ROM. I de-initislise the microcontrollers SPI and tristate the microcontrollers SPI lines. I then toggle the FPGA PROG_B line low/high, but my FPGA will not configure. i.e the DONE LED does not light up.

 

I have checked my M[2:0] and V[2:0] they are setup for master serial configuration. I have init_b and prog_b pulled high with 10K pull-up, prog_b is also connected to a gpio pin of the microcontroller. My done pin is connected with a series resistor to a status LED.

 

@noor, can you clarify what you mean when you say that you programmed the binary formatted file instead of the MSC file "as is". Do you mean you wrote the .bin file to your flash instead of the .msc file? Or did you modify the .msc to strip out the addressing and other info.

 

 

0 Kudos
Observer aodhancoffey
Observer
1,971 Views
Registered: ‎03-30-2015

Re: can we use sst25vf016b for s3e1600 configuration

I figgured this out and I am now going to answer my own question in case anybody else finds this thread and is stuck.

 

The PROM file generated using the IMPACT tools following the guide (http://www.xilinx.com/support/documentation/application_notes/xapp974.pdf, page 7 onwards generate a .mcs file. The .mcs file cannot simply be loaded up into flash memory with the hope that an FPGA will be able to read it and configure itself. It stores data in hex format, includes  headers, comments etc. This .mcs file is essential a human readable file. It is possible to use this file with another ISE tool in order to generate a binary file which will ultimately end up being put into flash memory, or even sent directly to the FPGA to configure it over JTAG.

 

This should have been obvious to me but I followed the guide blindly and never stopped to think about the configuration file that was being generated. Of course it needs to be binary! It is essentially machine code which the FPGA reads in order to configure itself.

 

If anybody is interested there is a good technical post on the difference between .mcs and .bin files here, http://forums.xilinx.com/t5/General-Technical-Discussion/MCS-Vs-BIN-file/td-p/69302.

 

So to summarise. First generate a .mcs file using the guide above. Then convert this .mcs file into a .bin file using progmen. Finally, write this .bin file to your external flash ROM.

0 Kudos