• 0
Eddie

Errors with Arty A7 35T and Pmod OLEDrgb IP in Vivado 2018.3

Question

Hello.

I'm using a windows 10 64 bit machine. I've followed the getting started with PMODs tutorial and have a microblaze instantiated with my IP in place in the block diagram. I'm working with an OLEDrgb and a DA4. the OLEDrgb is hooked up to JA on the arty a7. the DA4 is hooked up to the JD port. I've downloaded the latest vivado library from github (version 2018.2).  I've told vivado where the repository is and I was able to wire it up in the block diagram. I hooked up the correct 50Mhz clock to both of the PMODs. I get a positive design verification but when i try to generate my bitstream file, i get an error saying that Vivado can't find the xci file for the OLEDrgb ip. When I go and look in the folder "path/to/vivado-library/pmodOLEDrgb_v1_0_old/ip" i see the folder that vivado is trying to access the .xci file from but it is empty. instead there is just an xcix file sitting in the ip folder. 

 

I've tried enabling the Use ip Core functionality in the ip settings. If i do this, then i get another error when generating my bitstream file that is saying vivado couldn't unpack the ip core for the OLEDrgb.

 

In the "Designing With IP" user guide, it says to enable the core ip functionality for just that module in my sources window. but I don't see the same drop down that it shows in the manual when i right click on my oledrgb pmod. Manual was probably using a different version of Vivado?

 

Any suggestions?

Thanks!

 

Share this post


Link to post
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Hi @Eddie,

Welcome to the forums! Here is a project that has a generated bitstream with Vivado 2018.3 and the Pmod OLEDrgb IP Core. After opening the attached project make sure you change the path of the vivado library to reflect where it is on your PC as well as make sure the digilent board files are correctly installed.   I have attached a screen shot of the block design. Could you attach a screen shot of your projects block design as well as your wrapper file.  How are you connecting the PmodDA4? 

thank you,

Jon 

PmodOLEDrgb_vivado2018_3.jpg

Share this post


Link to post
Share on other sites
  • 0

So i've actually been able to get it to work. I downloaded the original ip from a link in another forum post. It is ip that says it's for v1 of both of these modules, not sure if that makes a difference. I can generate a bitstream and have been able to export it and program the FPGA via the SDK. 

I'm now having an issue with not being able to hit any breakpoints once i'm in debug mode. the program counter looks to be stuck doing nothing. see image below.

I can start another thread for this issue if need be.

Thank you for your reply.

Edited by Eddie

Share this post


Link to post
Share on other sites
  • 0

OK. I figured this one out as well. I had my addressing messed up. I was trying to make the data section larger to accept the microblaze project and had changed the base address to something other than 0x00000000. The linker script got all confused. I changed it back to 0x00000000 and moved everything else up in memory. main() is now executing. The oledrgb still isn't working but I think I am missing some stuff in my microblaze setup. I'll see if i can figure it out.

 

Thanks again.

Share this post


Link to post
Share on other sites
  • 0

Hi @Eddie,

You do not need to use the MIG, my design uses the DDR3.   I followed an older tutorial for the Arty here. Are you using the PmodDA1 or the PmodDA4? Also looking at the main.c in you SDK screen shot you have drastically altered the main.c. I would suggest to first use the main.c supplied in the example here.

thank you,

Jon

Share this post


Link to post
Share on other sites
  • 0

Oh geez. You are right. Why is that main.c so different? Ok i'm trashing everything back to integrating the PMOD IP into my block diagram. How do I get the XCIX file to unpack?

I am using the DA4. But I don't see an ip package for it in the vivado library. It only has DA1.

Thanks for your help!

Share this post


Link to post
Share on other sites
  • 0

image.thumb.png.d371377ff2a91052d2deda7ae63ef0d2.png

[Vivado 12-4406] The core container file 'C:/Xilinx/Vivado/2018.3/vivado-library/ip/Pmods/pmodOLEDrgb_v1_0/ip/PmodOLEDrgb_axi_quad_spi_0_0.xcix' cannot be added because it is sitting next to the IP directory 'C:/Xilinx/Vivado/2018.3/vivado-library/ip/Pmods/pmodOLEDrgb_v1_0/ip/PmodOLEDrgb_axi_quad_spi_0_0'. This configuration is not supported. Please move aside the IP directory and retry adding the file.
 

Edited by Eddie

Share this post


Link to post
Share on other sites
  • 0

Hi @Eddie,

Glad to hear deleting the other directories in the project fixed the errors. Unfortunately, we have not had time to make an IP Core for the PmodDA4. The PmodDPG1 has the same pin out as the Pmod DA4. I would use the PmodDPG1 IP Core and alter it to work with the Pmod DA4. I would use the arduino example here  and the AD5628 datasheet as a reference for how to configure and use the Pmod DA4.

thank you,

Jon

Share this post


Link to post
Share on other sites
  • 0

Ok thanks that's good to know. 

I've been able to run the main.c from the oledrgp ip demo. it seems to be running, meaning the code is running. But there is nothing coming through onto the actual PMOD. I switched it to a high speed PMOD output on the arty thinking that might make a difference. Still nothing. Should I see the PMOD power on when i plug it into the arty? Im wondering if i have a bad module.

Share this post


Link to post
Share on other sites
  • 0

Ok so I finally got it working. The module is fine. I had enabled instruction and data caches in the microblaze. After turning those off and regenerating everything I can now see Tom's wonderful smile. Thanks for the help :)

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