Papilio Pro Serial Flash Issue


fpga_guy

Recommended Posts

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?

Link to comment
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 ?

Link to comment
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.

Link to comment
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.

Link to comment
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.

Link to comment
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])

 

 

Link to comment
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

Link to comment
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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.