- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear reader,
I'm currently evaluating (video processing) DSP IP blocks using Quartus 15.0 and Qsys 15.0 but I am experiencing some issues. I have to solve them before purchasing licenses for certain IP blocks from Altera. My goal: I have a 1280x962, 36.67fps, 3 parallel color planes, 8 bits per color, progressive video signal as input. I want to show the frames on my 1080p60 monitor. My approach: buffer the incomming video frames using the frame buffer IP with frame repetition enabled and blend it with a 1920x1080p video stream produced by the pattern generator (uniform grey background) using the alpha blender IP block and output it using the clocked video output IP block (see image3). My hardware: (1) SoCKit development board (Cyclone V) which I use for implementation, (2) DE0-nano development board (Cyclone IV) which I use to produce the 1280x962 video stream just for testing (can be seen as a stub), (3) THDB-HTG GPIO expension board (and a bunch of wires) for interfacing between SoCKit and DE0-nano board and (4) a full HD monitor connected to SoCKit board (see image1). My achievements so far: (1) I managed to get what I described behind "my approach" up and running with a 800x600, 72fps video input (from nano board). (2) I managed to get what I described behind "my approach" up and running with a 1280x960, 60fps video input (see image2). My problem: I can not get what I described behind "my approach" up and running with a 1280x962, 36.67fps video input. See images 4 and 5 for frame buffer and clocked input settings respectively. Any help on this issue would be very much appriciated so please if you have any pointers, let me know :) Looking forward to your reply. Kind regards, Richard.- Tags:
- dsp
Link Copied
14 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
While waiting for any response from the experts I resumed struggling with the issue myself in a more or less brute force way. One of the things I tried in the mean time is enabling the option "locked frame rate conversion" from the frame buffer IP. Using the console from Quartus (jtag) I then write to the frame buffer control registers: input_frame_rate=36, output_frame_rate=60, controlled_rate_conversion=1 (true), control=1 (go). Instead of having a black screen I see something happening: I see what is presented in image2 but instead of having this test pattern blended in nicely I see flickering colors at the area of where the test pattern should be. I can also see that frames are dropped by reading the dropped frames register from the frame buffer. Once again, any help is appreciated on this.. Thanks in advance.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- instead of having this test pattern blended in nicely I see flickering colors at the area of where the test pattern should be. I can also see that frames are dropped by reading the dropped frames register from the frame buffer. --- Quote End --- Difficult to say without more information, but "flickering" and "dropped frames" usually sound like clock rate mismatch or memory access issues? To continue brute forcing things, simply try increasing (2x? 4x? 8x?) your FIFO depths across all modules and VFB burst target sizes. Any change in the on screen behavior and you'll get a hint the issue is in this area.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The 1080p video needs a 74MHz clock, the input video is a non-standard format - what clock rate is it running at?
Your QSYS diagram only shows a single clock.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- The 1080p video needs a 74MHz clock, the input video is a non-standard format - what clock rate is it running at? Your QSYS diagram only shows a single clock. --- Quote End --- Thanks a lot for your reply! The input video stream has a pixel clock of 74.25MHz. Indeed the input is non-standard format, that is why I use the frame buffer for rate conversion and the alpha blender for blending with 1080p uniform background to achieve 1080p resolution. For clocked video output I use 148.5MHz to achieve 60Hz fps 1080p. regards, Richard.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Difficult to say without more information, but "flickering" and "dropped frames" usually sound like clock rate mismatch or memory access issues? To continue brute forcing things, simply try increasing (2x? 4x? 8x?) your FIFO depths across all modules and VFB burst target sizes. Any change in the on screen behavior and you'll get a hint the issue is in this area. --- Quote End --- Please let me know what extra information you need to answer my question. Regards, Richard.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What rate is the "afi_clk" from your memory controller?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- What rate is the "afi_clk" from your memory controller? --- Quote End --- Cliff, thanks for your reply! I believe the "afi_clk" clock rate which I use to clock the interconnect is 150MHz, I added a picture from the DDR3 memory controller IP block (see below). Kind regards, Richard. http://www.alteraforum.com/forum/attachment.php?attachmentid=11405&stc=1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- ...I believe the "afi_clk" clock rate which I use to clock the interconnect is 150MHz... --- Quote End --- Actually I believe your afi_clk will be 75MHz, as you are running the memory controller at half rate. This may explain why you had success with the lower resolution video modes, but failed with 1080p.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Actually I believe your afi_clk will be 75MHz, as you are running the memory controller at half rate. This may explain why you had success with the lower resolution video modes, but failed with 1080p. --- Quote End --- Cliff, thanks for your reply, but I don't believe the afi_clk is the problem, the 1080p uniform gray background from the Test Pattern Generator and used as layer 0 (din_0) with the Alpha Blending Mixer is perfectly shown on my monitor. Besides that, when I use 1280x960, 60fps as input (layer 1, din_1 with Alpha Blending Mixer) it works fine, so 1280x960, 36fps should work fine too in terms of interconnect transmission speed. If I am missing something, please let me know, but for now I don't understand why afi_clk should be a problem as you mentioned. Kind regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Actually I believe your afi_clk will be 75MHz, as you are running the memory controller at half rate. This may explain why you had success with the lower resolution video modes, but failed with 1080p. --- Quote End --- I just verified that afi_clk is 150MHz (which is half of 300MHz).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
Thanks for the replies so far, but non of them solved my issue yet. Please let me know if there is another way to get my issue fixed. I really need to fix this asap, because if this is not working I can not proceed and my company will not buy the IP blocks (Frame buffer and Alpha Blender) from Altera since the IP blocks do not seem to be very useful yet. Kind regards, Richard.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
BTW, with the following video input formats I got my system working:
1280x962, 60fps 1280x960, 60fps 800x600, 36.67fps 800x600, 72fps 800x600, 60fps But 1280x962, 36.67fps is NOT. I just do not understand why..- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You might be better off going direct to Altera or an FAE. 1280x962 is a non-standard format - you would be better off asking altera direct if it is supported.
Raise a ticket via mysupport.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your reply Tricky, I just did that, hopefully they can help me.
In the meantime, while waiting for the response, if anyone has an idea, let me know :) Kind regards
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page