uFedor Posted August 28 Share Posted August 28 Trying to replicate the project (https://digilent.com/reference/learn/programmable-logic/tutorials/arty-z7-hdmi-demo/start) on Eclypse Z7 using propriate PMOD to expose HDMI signals. Test patterns are correctly displayed only with resolutions up to "1280x720@60Hz" (higher ones are not accepted by the monitor). Is a monitor capable to display test patterns when original Arty Z7-20 is configured to generate HDMI signals at "1920x1080@60Hz"??? Link to comment Share on other sites More sharing options...
artvvb Posted August 28 Share Posted August 28 Hey uFedor, The demo should be capable of 1920x1080@60Hz. Test patterns are scaled based on the selected resolution when printed, and the IP used to handle the output interface can do 1920x1080: https://github.com/Digilent/vivado-library/blob/master/ip/rgb2dvi/docs/rgb2dvi.pdf. Are you instead looking for a specific monitor model that is known to work? As an aside, the HDMI input demo does require a selection to be made for the dvi2rgb target resolution - dvi2rgb can't cover both 720p and 1080p with the same MMCM settings. Thanks, Arthur Link to comment Share on other sites More sharing options...
uFedor Posted August 29 Author Share Posted August 29 7 hours ago, artvvb said: The demo should be capable of 1920x1080@60Hz. Thank you for the response. Can anybody share a monitor screen photo corresponding to the Arty Z7-20 configured for "1920x1080@60Hz"? Link to comment Share on other sites More sharing options...
artvvb Posted September 3 Share Posted September 3 @uFedor See attached. I downloaded and ran the 2022.1 release of the Z7-20 output demo (the latest sw.ide.zip here: Arty Z7 HDMI Output Demo - Digilent Reference) in Vitis 2024.1. After fixing the linker script path in the build settings, I built the project, plugged the board and monitor in, and programmed the board. It started up with 640x480@60 Hz settings, but the serial interface let me switch the resolution to 1920x1080 and resize the test pattern. I don't have a specific link for the monitor used. It's a cheap portable 1080p monitor intended for use with Raspberry Pis purchased off Amazon some years ago. Thanks, Arthur Link to comment Share on other sites More sharing options...
uFedor Posted September 4 Author Share Posted September 4 6 hours ago, artvvb said: @uFedor the serial interface let me switch the resolution to 1920x1080 and resize the test pattern. Thank you for your work. Please provide photo of the Color Bar Test Pattern corresponding to the 1920x1080@60Hz. Link to comment Share on other sites More sharing options...
artvvb Posted September 4 Share Posted September 4 The attached images show the color bar test pattern at 1920x1080@60 Hz, before and after using the serial terminal to reprint the test pattern. The version where they appear smaller is the "before" picture, where the memory buffer is unmodified from when the demo was booted. Link to comment Share on other sites More sharing options...
uFedor Posted September 4 Author Share Posted September 4 3 hours ago, artvvb said: The version where they appear smaller is the "before" picture, where the memory buffer is unmodified from when the demo was booted. Thank you for the pictures. 1) According to my understanding the application initial state is 640x480. 2) The second photo is identical to what I see for 1280x720@60Hz. Link to comment Share on other sites More sharing options...
artvvb Posted September 4 Share Posted September 4 The application includes a framebuffer in DDR memory which holds pixel data. When the demo starts up, referring to the DemoInitialize (demo.c) and DisplayInitialize (display_ctrl.c), the resolution is set to 640x480 @ 60 Hz by default (VMODE_640x480). The demo then writes data to the framebuffer to generate the expected test pattern for the selected resolution; this done in the DemoPrintTest call in DemoInitialize. If the resolution is then later changed, the framebuffer contents are not modified at that time - as such, the black area around the test pattern in my first photo is zeroed-out (uninitialized) framebuffer, and the small test pattern in the corner represents a 640x480 block of pixels. When I then use the serial console's option 4 to re-print the test pattern into the framebuffer, the size of the fresh test pattern in memory is based on the currently-selected resolution (1920x1080 in the photos). This is all to say that a test pattern printed at whatever resolution should appear roughly the same to the eye at 640x480, 1280x720, or at 1920x1080 - the larger resolutions just have more pixels implementing the same gradients. What is your question, or at least goal for this project, at this point? Link to comment Share on other sites More sharing options...
uFedor Posted September 5 Author Share Posted September 5 8 hours ago, artvvb said: This is all to say that a test pattern printed at whatever resolution should appear roughly the same to the eye at 640x480, 1280x720, or at 1920x1080 - the larger resolutions just have more pixels implementing the same gradients. Thank you very much! This is exactly the answer which was needed - I did not refresh the framebuffer, so displayed patterns were different for different resolutions :( Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now