• 0
AN_newbie

Basys3 Artix-7 FPGA Trainer Board

Question

Hello,

I bought a basys3 artix-7 FPGA Trainer board off of Amazon (seller: digilent), in an attempt to learn FPGA programming.

I  am having problems programming the flash.  I was going through the abacus tutorial on youtube, and had few problems downloading to the FPGA via Jtag, and getting the tutorial to work.

The problem was programming the Flash.  The particular board I am using has the Macronix part number MX25L3233FMI-08G 32Mb flash.

I downloaded the 2016.4 as per the tutorial, but the version of Vivado did not offer the particular Macronix flash as a programming option.

I tried the spansion version of the flash (size and structure similar) using Vivado 2016.4, but not surprisingly, this produced errors.

I tried to download the latest version of Vivado, but it looked totally foreign, and I didn't want to try to figure out how to get it to work.

So is there a version of Vivado that offers Macronix 32Mb flash? 

What are my options to get the flash to program? 

Buy the Spansion version of the flash and solder it in?

 

Thanks.

 

 

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Hello @AN_newbie,

The MX25L3233 is not supported by Vivado 2016.4. You need to use a more recent version.

I verified in Vivado 2019.1 and is supported. Even if the tutorial uses Vivado 2016.4, the steps are the same in any version.

"it looked totally foreign" - The interface for Vivado 2019.1 is not so different from Vivado 2016.4 just some design changes.

I will put here some steps, maybe it will ease your effort.

1.Link the jumper JP1 to QSPI.

2.Add xdc constraint file Basys-3-Master.xdc

3.Open Implemented Design, then Settings

4.Then check bin_file box in Bistream tab

5.Configure additional bistream settings.

6.General -> Enable bitstream compresion->TRUE

7.Configuration -> Bus width - > 4 

8.Ok -> Apply -> Ok -> Save

9.If you will look into xdc constraint, at the end of the file should appear those lines of code, one with COMPRESS TRUE and another with SPI_BUSWIDTH 4

10.Generate Bistream

Below are the steps for programing from Vivado Hardware Manager.

11.Open Hardware Manager ->  Open Target -> Auto connect

12. Add your memory. For this, right click on device (xc7a35t_0) -> Add Configuration Memory Device -> write on Search "MX25L3233" ->  select the part with mx25l3233f-spi-x1_x2_x4.

13.Right click on the flash memory (mx25l3233f-spi-x1_x2_x4) -> Program Configuration Memory Device -> add configuration file (<project_name>.bin file found in runs/impl  folder)   -> click OK 

Below are the steps for programing the flash from Vivado SDK.

11. In SDK, after you created you application and verified that it's working, go to Xilinx ->Program FPGA and beside microblaze_0 select <yourapplicationname>.elf instead of bootloop

12. Go to Xilinx -> Program Flash, then select the download.bit located inside of your hardware platform folder and leave the Offset box empty, then choose the right flah memory type. (part number is MX25L3233F )

Cheers,

Ana-Maria

Share this post


Link to post
Share on other sites
  • 0
11 hours ago, Ana-Maria Balas said:

 

"it looked totally foreign" - The interface for Vivado 2019.1 is not so different from Vivado 2016.4 just some design changes.

Thanks for the reply, Ana Maria.  I have to disagree with you.  The opening menus after create a new project was different.

At the 1:48 minute of the youtube video: "Getting started with Vivado and Basys3", there is a project type menu....RTL Project menu that was missing.  Then selection of kind of part menu was missing.  It was asking for some C files.  All of this is new to me.   C files?  Ok, skip that, don't have/know about C files.  Wait....now the project IDE is different?!  What?.  Where is my RTL project selection request?....that was when I abandoned 2019.2 and uninstalled it, and went to install 2016.4 as used per the video.

Ahhhh, there is my RTL project selection button.  Thankyou.  Ok, making progress now.....check, check, check.....  ok great code is working.  Now download to the flash.

Oooops, don't have the spansion flash on my board.  ok, let's try Macronix...., Ooops, no 32M available.   Well, ok, I guess I can try the Spansion.  They are similar, and after all its just SPI.

How hard can SPI be?  Oooops, Well, that didn't work. 

 

So here I sit.  Currently. I have no faith I can get 2019.2 to work, so I am downloading 2018.3 to see if my little RTL project menu appears.

I am confident I figure it out, I am sure, but I was just following along with the video to see if I could get something to work without burning a lot of brain cells, and pounding my head against the wall.  

All of the rest of your instructions are very familiar.  I am pretty sure I was doing everything per the steps in the youtube video...including enabling the SPI with JP1.

All of that was pretty common sense.  I'll be back if I get stuck.

 

 

Thankyou for your time and help!!

Ugh, 2018.3 does the same.  No RTL project selection.  It's asking about C based source files. Sigh, I guess I'll work with it.

image.png.045540e5bfc12fac0003ba2a44cf996b.png

Edited by AN_newbie

Share this post


Link to post
Share on other sites
  • 0

You are using Vivado HLS. Open just the Vivado 2018.3 which is Vivado HL Design.

"The Vivado High-Level Synthesis compiler enables C, C++ and SystemC programs to be directly targeted into Xilinx devices without the need to manually create RTL."

Also

Quote

Well, ok, I guess I can try the Spansion.  They are similar, and after all its just SPI.

The registers and instructions are different for each flash memory, so no, they are not similar.

Edited by Ana-Maria Balas

Share this post


Link to post
Share on other sites
  • 0

Thanks.....I figured out last night I wasn’t running the correct ‘Vivado’.   A subtlety that should be documented somewhere on your tutorial page seeing that Digilent isn’t installing the spansion flash,  Macronix flash isn’t supported in Vivado 2016.4,  this is supposedly an “entry level platform” for learning, and folks like me will copy the tutorials to get up and running..... plus it isn’t obvious where that different version of vivado exists.  It doesn’t launch from the desktop icon as it did with Vivado 2016.4.

But thanks for the reply.

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