• 0

Arty Z7 HDMI overlay -- struggling with colors -- getting a rainbow effect instead of white



I am currently working on a small project that requires rendering text and shapes to the HDMI output. I am using an Arty Z7-20. While I have the basic content rendering fine, I am struggling to get the colors I would expect. I am trying to get white, but I am running into an issue where the output is not white but banded with different colors. Below, I would expect a clean white for all characters and all rectangles, but the color varies column by column.


Also, I haven't been able to figure out how to get anything other than white, black, or grey; I end up with odd patterns. I expect I am either not writing the appropriate color data to the appropriate bytes, the wrong number of bytes, or something in the block design is misconfigured. I started with the HDMI Out Demo from Digilent and have added a couple of simple functions in Vitis to draw characters and rectangles. I have tried both an LCD and capturing the video on my PC -- both show similar issues.

I posted a quick video to give a bit more context.

Any suggestions would be appreciated. Coding issue, block diagram issue, limitation of the Z7 or of the demo project, other? Thanks!!

sample 1.png


Edit: Here's an output and the corresponding block of code that should fill a 100x100 region with red. I get red on the first vertical column, but then gaps moving to the right. If I use 0xFFFFFFFF for the color, I will get a solid white region.


Edited by rehsd
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

I was able to resolve this with the help of captain_wiggles_ over on r/FPGA. He/she pointed out that my frame pointer was a 32-bit pointer. I changed it to an 8-bit pointer and am writing the three bytes for red, green, and blue independently. Here is an updated function that prints a nice yellow box:


Link to comment
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