- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all.
I have many questions about the VIP Frame Buffer. if I want to change the base address of the frame buffer, how do I calculate the burst boundaries? and again.. My image is 512*384 with 3 color planes in parallel with 8 bit per color plane. So, according my calculations, it should be 512*384*8*3=4.718.592 BITs, or 589.824 BYTEs. the paramerization windows says "three frame buffers are required, a total of 1844K BYTEs". so, 589.824*3=1.769.472 BYTEs. So, I lost 74.528 BYTEs. Why? where my calculations went wrong? And another question. If I would use another frame buffer to access the same memory, I should use an offset for the base address of AT LEAST the memory required by the frame buffer, I suppose. But how could I calculate the burst boundaries for my sdram? I've searched on Altera documentations but still I am not able to understand.. Thanks for your help best regards Phate.Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When the VIP frame buffer packs the video data into memory words, it does not always utilize all of the bits. For example, if the master port width is 32 bit and the pixels are 24 bit, 8 bits of every word are wasted.
I suspect your master port width is 128 bit. In this case, 5 pixels (120 bits) will be packed into each 128 bit word. In this case, the required memory for one frame of video data would be approximately: 512*384*3*128/120 = 629145.6 bytes Round this up to the nearest word side size and multiply by three frames: 629152 * 3 = 1887456 bytes = 1843.2 kbytes- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your reply.
mmmh that's true, i use 128bits-width master data port. I thougth that only the values of the video frame were written into the sdram. So for each 5 pixel written into the sdram there are (in this case) 8 bits written into the sdram? I suppose their value would be 0s?or they are "don't care" values? the reader of the frame buffer wouldn't read and threat them as bit of some pixel? what about burst boundaries? I still am trying to understand how to calculate them... Thanks a lot for the help best regards Phate.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am not sure what gets written in the unused bits. It doesn't really matter as they would just be ignored when reading the data words again.
I just checked the VIP manual to see if it mentions anything about bursting boundaries. I didn't find anything too specific, but it does state the following: --- Quote Start --- To prevent memory read and write bursts from being spread across two adjacent memory rows, you can turn on an option to align the initial address of each read and write burst to a multiple of the burst target used for the read and write masters (or the maximum of the read and write burst targets if using different values). Turning on this option may have a negative impact on memory usage but increases memory efficiency. --- Quote End ---- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your burst boundary requirements depends on your memory topology. If you are not connecting to a burst wrap slave, you don't really need to worry as much.
However, the simplest way to calculate your burst boundary is multiply the memory width by the burst target (128-bit memory interface with a burst target of 32 would be (16 bytes * 32 words) = 512 bytes. Your burst boundaries are every 512 bytes. If you align on any boundary other than that, you could see out of order memory accesses. Jake
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