Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Added

Why should anyone want to run Arduino code on Virtex-7 ever you may ask? Let's look the prices first: as of current listing XC7VX330T-2FFG1157C costs 3204 USD or 2366 EUR.

On my desk there is a PCB board that did come from our Vapor Phase oven yesterday. On the board there is a LED. This LED blinks, it says hello, I am alive. There is a chip on the board, and on that it reads: XC7VX330T-2FFG1157C

Image Removed

And this is HOW Lets look closer how the LED was made to blink. Lets look closer how it was doneBlink. Why it makes sense I tell another day.

Step 1: Hardware Design

I have dropped Xilinx Microblaze MCS onto the Block design. all the Interface ports to the real hardware (clock, reset and LED) are connected automatically using Vivado Board Part Interface flow. So for making this hardware design, there is nothing to look in any documents, just select the Board to work with, and go. All constraints are managed by Vivado. We can now just run generate bitstream.

Image Added

Design is implemented, we go to software design flow now.

Step 2: From Hardware to Software

...

Now we are ready to write some Arduino Code! A LED Blinky would do for now.

 

...

Image Added

Done, we select debug-as and start in Debugger. LED Blinks!

Flash Programming

How about Programming the Arduino code into the Flash memory so that it starts when FPGA loads? First we have to tell Vivado what Software file we want to use, so we associate the proper ELF File.

...

Xilinx Virtex-7 has configured itself with Arduino Code and Says "Blink..Blink" to all of us.

And what did I miss in the process? I forgot to set the bitstream options, so it did take painfully long (About 1 minute to load the bitstream!) to start after cold restart.

 

 

So here some screenshots of the property settings:


Image Added

Image Added

A small hint: those properties are not always accessible, so if you can not find them, just run the flow and open implemented design.