fpga_guy

Papilio Pro Serial Flash Issue

15 posts in this topic

I'm having a problem with getting my bitstream to load from SPI Flash on the Papillio Pro.

I can load the bitstream directly into the FPGA using Papillio Loader 2.8 fine - no problem every time.

However, when I use Papillio Loader 2.8 to program the SPI Flash, it doesn't work.

I get the following output when I try:

JTAG chainpos: 0 Device IDCODE = 0x24001093    Desc: XC6SLX9
Using devlist.txt
JTAG chainpos: 0 Device IDCODE = 0x24001093    Desc: XC6SLX9

Uploading "C:\Program Files (x86)\Gadget Factory\Papilio Loader\programmer\bscan_spi_xc6slx9.bit". DNA is 0xb99eb98f8dd765fe
Done.
Programming time 548.0 ms

Programming External Flash Memory with "D:\Projects\Xilinx\Papilio-Pro-master\Papilio_Pro_Microblaze_MCS\top.bit".
Found Macronix Flash (Pages=32768, Page Size=256 bytes, 67108864 bits).
Erasing    :
Doing Partial Erase
......Ok
Verifying  :
......Pass
Programming :
......Ok
Verifying  :
......Pass
Using devlist.txt
Done.
SPI execution time 15921.9 ms
USB transactions: Write 6853 read 6684 retries 0
JTAG chainpos: 0 Device IDCODE = 0x24001093    Desc: XC6SLX9

Using devlist.txt
ISC_Done       = 0
ISC_Enabled    = 0
House Cleaning = 0
DONE           = 0

LED1 then just turn dim when it should be flashing.  I've reset the board with the reset button and cycle the power - no joy.

Any ideas?

Share this post


Link to post
Share on other sites

I dont use the papilio loader but to help narrow it down, 

to see if its a software issue,

if you have the arcade megawing for it, you can try 

https://app.box.com/s/llepjs55uugtrk59fkbtemb5qw77z1eg

(its a test bed i made for jack for the PDUO but should work with the PPro also.. at least the video part)

or look at the batch file in it, and see the last line where it reconfigures the fpga and run that command after loading your bitfile.

@Jack Gassett - can we put this somewhere where i dont have to search through 2-3 years worth of posts / email to find it ?

Share this post


Link to post
Share on other sites

Hello fpga_guy,

The output that you pasted looks like a completely normal flash process, I don't see anything to indicate a problem...

We should rule out that there is something wrong with the bit file that is preventing it from running from flash (there are configuration settings that can do that...). Can you either use the test bed that Felix so kindly made and linked to or use this Papilio Quickstart bit file to test and see if loading from SPI flash works at all? With the Papilio Pro quickstart you should see every other pin blinking and the ASCII table being output on the serial port at 9600 bps.

Jack.

Share this post


Link to post
Share on other sites
8 hours ago, Felix said:

I dont use the papilio loader but to help narrow it down, 

to see if its a software issue,

if you have the arcade megawing for it, you can try 

https://app.box.com/s/llepjs55uugtrk59fkbtemb5qw77z1eg

(its a test bed i made for jack for the PDUO but should work with the PPro also.. at least the video part)

or look at the batch file in it, and see the last line where it reconfigures the fpga and run that command after loading your bitfile.

@Jack Gassett - can we put this somewhere where i dont have to search through 2-3 years worth of posts / email to find it ?

Felix,

We should put it in the downloads section... I'll ask Dhia to put it up there for us.

Jack.

Share this post


Link to post
Share on other sites

Hi Felix & Jack,

Thanks for your help.  The "golden" bit file was very helpful in troubleshooting.

However, sometimes dumb can't be helped.  The problem was the Generate Programming File setting in ISE 14.2 for SPI configuration bus width was set to 4 instead of 1.  I was reusing a project that had a 4 bit wide bus serial flash.  Once I changed that, all was right with the world.  Well, at least with my Papilio Pro board.

Thanks again.

fpga_guy.

Share this post


Link to post
Share on other sites

@fpga_guy - glad you got it sorted out.   "golden" bit file ?

@Jack Gassett - thanks.  will dig out the p500 later and add it or make different test bed.  and test with the PPro make sure it works as intended. (iirc it does though as Quickstart-Papilio_Pro_LX9-v1.5.bit is included in the archive and the menu as an option #2 [Load Factory Bitfile])

 

 

Share this post


Link to post
Share on other sites

Hi Felix,

The Papilio Quickstart bit file that Jack pointed out in an earlier post.

fpga_guy.

Share this post


Link to post
Share on other sites

Hi Jack,

You mentioned there are configuration settings that can prevent the flash from loading properly.

My problem now is it loads fine but the Microblaze MCS UART doesn't seem to be working properly.  

I send out "Hello World" using print at 115.2k.  When I download bit file to FPGA, no problem. 

But, when write it to the serial flash, the gpio stuff seems to work fine but the UART sends out garbage.

I changed the baud on the terminal programs to see if it is off but that doesn't help.

I don't see anything obvious in Generate Programming File setting that could be causing the problem.

Any ideas would be greatly appreciated.

fpga_guy

Share this post


Link to post
Share on other sites

that is an odd one... I would recommend opening up your xise file in a text editor and compare it to a known working xise file... 

Jack.

Share this post


Link to post
Share on other sites

Hi,

random guess: Is it possible that the UART pins are swapped? It seems unlikely, but undriven digital inputs can do this kind of crosscoupling voodoo.

 

Share this post


Link to post
Share on other sites

Ah, that is a good idea... the crosstalk can make it kind of work sometimes... That sort of thing has happened to me before.

Jack.

Share this post


Link to post
Share on other sites

I don't think UART pins are the problem because everything works fine when I download to the FPGA.  It only behaves badly when I try to write it to the serial flash.

The Microblaze MCS program is written to sends the "Hello World" message at a fixed interval continuously.  It only sends one char when I write it to the flash.

fpga_guy

Share this post


Link to post
Share on other sites

You can post your bit file here and one of us can try to load it to our Papilio Pro board and see if it is the same result. That would let us know if it is just your board or the bit file...

Jack.

Share this post


Link to post
Share on other sites

Hi Jack,

Sorry for the delay.  Attached is the file.

Thanks,

fpga_guy

top.bit

1 person likes this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now