pjb_ngnr Posted January 10, 2017 Share Posted January 10, 2017 I am having issues getting the MicroBlaze to run using the DDR3 memory on the Arty. I have followed this tutorial: https://reference.digilentinc.com/learn/programmable-logic/tutorials/arty-getting-started-with-microblaze/start The processor does not start up. I have tried the tutorial a few times to make sure I did it correctly. If I change the linker-script to use BRAMs, the MicroBlaze works just as expected. So the problem is with the DDR3 memory or the MIG. Are there any known issues with the Arty and the MIG provided with the board files? Thanks again, -Patrick Link to comment Share on other sites More sharing options...
jpeyron Posted January 10, 2017 Share Posted January 10, 2017 Hi Patrick, Could you attach screen shots of error as well as maybe your project. I just went throught the getting started with microblaze for the arty with no issue. I have attached my project as well as a screen shot of the working hello world on tera term. cheers, Jon Arty_Getting_started.zip Link to comment Share on other sites More sharing options...
pjb_ngnr Posted January 10, 2017 Author Share Posted January 10, 2017 I am doing a diff on our projects to see where it went wrong. Thanks, I will let you know the results. Link to comment Share on other sites More sharing options...
pjb_ngnr Posted January 10, 2017 Author Share Posted January 10, 2017 Thanks jpeyron, I just tried your bit-stream on my Arty, and no "hello world" displayed on the UART. The project block diagram you provided is the same as mine. I am on Vivado 2016.1, so I can't modify your project files. But other than that, they appear to be the same In my project, using the BRAMs in the linker script to yield the "hello world" display upon writing the bit stream to the Arty. So in summary: my device takes a bitstream, the usb uart works, the MicroBlaze works with BRAMs. When I switch to mig in the linker script, the MicroBlaze does not run. When I launch the bit-stream you graciously provided, it appears the MicroBlaze does not run. I just received the Arty yesterday, though I have worked on FPGAs for years. Given what I am seeing, and that you say your MicroBlaze works with the bitstream you provided, I have a feeling the DDR3 on my board is failing, I need to supply the board with additional power, or perhaps something else I am not seeing or aware of with the Arty. Thanks again, -Patrick Link to comment Share on other sites More sharing options...
jpeyron Posted January 10, 2017 Share Posted January 10, 2017 Hi Patrick, Could you attach your project? So you are not getting anything on the serial terminal but no errors correct. Then you change the from ddr3 to bram and it works correctly? I re-did the project in Vivado 2016.1 and attached the project. cheers, Jon Arty_GSWM_2016_1.zip Link to comment Share on other sites More sharing options...
pjb_ngnr Posted January 10, 2017 Author Share Posted January 10, 2017 Sure, I will ZIP up my project. Let me take a look at your 2016.1 project. -Patrick Link to comment Share on other sites More sharing options...
pjb_ngnr Posted January 10, 2017 Author Share Posted January 10, 2017 And correct : I am not getting anything on the serial terminal but no errors correct. Then I change the from ddr3 to bram and it works correctly. Link to comment Share on other sites More sharing options...
pjb_ngnr Posted January 11, 2017 Author Share Posted January 11, 2017 I have the same issue with your 2016.1 project as well. No hello world until I change the linker script. Here is a link to my project. It is very simple, I just followed the tutorial. There are 2 bitstreams: system_wrapper_BRAMs.bit and system_wrapper_MIG.bit. The BRAMS version produces a Hello World, the MIG does not. The only difference is the linker script. https://www.dropbox.com/s/sfxp1590q3xj67n/eSys.7z?dl=0 -Patrick Link to comment Share on other sites More sharing options...
pjb_ngnr Posted January 11, 2017 Author Share Posted January 11, 2017 Ok, I think there were a few issues. Issue 1) I made a silly mistake of associating the elf with a bit-stream where the elf expects to be in DDR3. The elf needs to find its way to DDR, not BRAMs and the bit-stream, I believe, wants to load a elf directly to BRAM. I had a project a few years back where I needed a bootloader to pull an SREC out of flash to get the MicroBlaze to run on DDR. I think that may be part of my issue here. To get MicroBlaze to run on DDR3 via a bits-tream or MCS, it may be more than just associating the elf file. It may need an SREC boot-loader elf, which reads into DDR3 the actual elf that has my code with the Hello World. Does that sound about right with the Arty? Issue 2) SDK was expecting a file specifically named download.bit. If I export the hardware and include the bit-stream and mmi, and rename them to download.bit, then I can launch the bits-tream from the SDK, and then I can create a new launch configuration. Using that launch configuration in SDK, and can change the linkerscript to look at BRAMs, and MIG and the Hello World example will work. If I then change to address ranges to something arbitrary, it fails. Then when I change back to the MIG, it works again. In short, Issue 1 where MicroBlaze launching to DDR3 from the bit-stream, that issue was on me. I think there is more to do to get that working the way I expect. Is that accurate? Do I need an SREC boot-loader? Issue 2 was somewhat my fault. However the tutorial done as is did not work for me out of the box. I had to change some file names and do the launching of the elf slightly differently. But it will work if I do everything as described above. Thanks again, -Patrick Link to comment Share on other sites More sharing options...
jpeyron Posted January 11, 2017 Share Posted January 11, 2017 Hi Patrick, I was looking at your project and in this case the elf file is used in sdk and not in vivado. If you wanted to have the project in flash then use this tutorial. thank you, Jon Link to comment Share on other sites More sharing options...
pjb_ngnr Posted January 11, 2017 Author Share Posted January 11, 2017 Yes, Thanks, that is what I was starting to expect it to be. It has been a few years since I attempted to place an elf in a bitstream that wasn't intended for BRAMs. I appreciate the input! I will try that specific SREC bootloader project. That looks to be exactly what I need. -Patrick Link to comment Share on other sites More sharing options...
Question
pjb_ngnr
I am having issues getting the MicroBlaze to run using the DDR3 memory on the Arty.
I have followed this tutorial: https://reference.digilentinc.com/learn/programmable-logic/tutorials/arty-getting-started-with-microblaze/start
The processor does not start up. I have tried the tutorial a few times to make sure I did it correctly.
If I change the linker-script to use BRAMs, the MicroBlaze works just as expected. So the problem is with the DDR3 memory or the MIG.
Are there any known issues with the Arty and the MIG provided with the board files?
Thanks again,
-Patrick
Link to comment
Share on other sites
10 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.