I am trying to run a Microblaze example on the Logi-bone (version R1.5). I think I followed the instructions correctly to generate the download.bit that will be used to program the Logi-bone. The Microblaze example that I intend to run turns ON and OFF an Led regularly. When I load the download.bit file using logi-loader, I get the usual message below
ubuntu@arm:~/logi-apps/blink_led_app$ sudo logi_loader download.bit
Compiled for LOGI-BONE
Board variant is LOGIBONE_R1.5
bit file size : 340695
bitstream loaded, check done led
but the done LED remained off and the Logi-bone does not seem to work as I expected it to. I loaded a known good bit file logibone_blink.bit and I see
ubuntu@arm:~/logi-apps/blink_led_app$ sudo logi_loader logibone_blink.bit
Compiled for LOGI-BONE
Board variant is LOGIBONE_R1.5
bit file size : 340703
bitstream loaded, check done led
the done LED turned On and it works as expected.
It is here that I noticed that the bit file size of the download.bit of my Microblaze example is 340695 vs 340703 for the known good example. After repeating the rebuild of the download.bit file to make sure that I was doing it right, I did a google search and found that bitstream file sizes may vary for the Spartan 6 and here is the link
http://www.xilinx.com/support/answers/47966.html.
My question: What triggers the done Led to turn ON after running logi_loader? Is there something in logi_loader that might prevent loading bit files of different size successfully? I checked the code of the unified_loader on github but I could not figure out if the bit file size or something else might cause the issue.
Thanks in advance for any help.
Comments
I don't have a JTAG cable, but I am thinking about buying one if there is no other way around this.
I am attaching the bit file that I am trying to load to the Logi-bone. I would appreciate if you can test the bitfile and confirm if it is working or not, that would be a big help to me. Maybe the bit file is loading properly, but I am assuming otherwise because the DONE pin does not Light up.
By the way, here's the the last few lines of output after generating the bit file, so at least there are no errors.
Initializing Memory...
Running Data2Mem with the following command:
data2mem -bm "implementation/system_bd" -p xc6slx9tqg144-3 -bt
"implementation/system.bit" -bd "test/Release/test.elf" tag microblaze_0 -o b
implementation/download.bit
Memory Initialization completed successfully.
Done!
I hope that the issue is something trivial. Thanks for looking into this.
How do you know that nothing work ? What program is loaded into the micro-blaze (blinking an IO ?) ? I am not sure but in the end it could be the DONE pin not going high after configuration, but the FPGA could be loaded with the design.
Like you said, the software could have been loaded in the FPGA successfully,but the DONE led does not turn ON afterwards. There might be something wrong with my program so I will now re-examine my code. I used an example code for testing the IO, and some parameters might not be correct.
I also did some search regarding the DONE pin here I get the impression that the DONE pin should turn ON if the physical loading of data is successful. I just ordered a JTAG cable, so I don't have to deal with this issue for now. I will let you know when the JTAG cable arrives.
I couldn't find an option regarding the DONE pin, but it is working now so I don't need to worry about it.