• rehsd

Arty VGA Output from MicroBlaze

Updated: Dec 13, 2021

Continuing from my post FPGA VGA for 6502: Brainstorming... I am trying to find a decent solution to control VGA output from MicroBlaze. I am using an Arty A7-100T with the VGA Pmod. I haven't had much luck in finding useful MicroBlaze examples for an Arty configuration. The example that seems to be closest to what I'm trying to do is Zybo VGA Output. Should I be able to adapt this to an Arty? I've been trying, but so far, no video output with this setup. There are a lot of places where this can fall off the rails, so if you catch an error in my setup, please let me know. Here's the current block design:

Block Design
Block Design

Below is Vitis code that builds, runs without error, but produces no video output. To get it to build, I have temporarily set the MAX_FRAME to 160*120, instead of 640*480. Also, I have set the number of frames at one, instead of three. If I try 640*480, I run out of memory. See the next image for the build error.

No Video Output
No Video Output
Fails to build with a proper resolution set
Fails to build with a proper resolution set

Here's the memory configuration I am using. It seems I am unable to increase the SLMB memory for dlmb or ilmb. See the error (when I try to increase either) further down.

Memory config
Memory config
Out of memory
Out of memory

Postscript

I updated the linker script in Vitis to move data sections to the DDR RAM. This took care of the MicroBlaze build issue.

Moved data sections to DDR
Moved data sections to DDR

With this, I configured the MicroBlaze code for an output resolution of 640x480 and tested it. Happiness!

640x480 working!
640x480 working!

PPS

Updated to 800x600 @ 60 Hz, with MicroBlaze-driven animation.

Now, on to adding drawing and font capabilities, along with gathering external input...

50 views0 comments

Recent Posts

See All