- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am developing Frame Buffer based Video Driver to Play upto 720P Resolution Video on Cyclone IV board in Linux Platform. I have used concept of Linux PCI Driver as well as Virtual Frame Buffer Driver to create my own custom frame buffer driver using PCIe Interface. I have also created some commandline test applications to test my frame buffer device by settings different resolutions as well as color bars with that resolutions which works fine without any issue. Than, I have started task to test Sample Video file using "mplayer" tool which works fine upto 480P (720 X 480) Resolution Supoorted Sample Video but getting some slow rate while running 720P (1280 X 720) Resolution Supported Sample Video with same Frame Buffer Driver in Linux Platform. I haven't used concept of SGDMA in my frame buffer driver. Does anyone has idea or information to solve above slow rate issue? Regards, Ritesh PrajapatiLink Copied
8 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
what is the clock frequency of your framebuffer?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Following are clock frequency for my cyclone IV frame buffer board.
1) Read from PCI and Write to DDR2 : 125MHz 2) Read from DDR2 and Write to VGA master module : 75MHz 3) Read from VGA master module and write to VGA Display Output : It depends on resolutions which I have set. Please let me know if you need any more information. Regards, Ritesh Prajapati- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
so you have a 74.25MHz clock for the output (if you are in 720p mode)? how do you manage the readout from the ddr2? Do you use memory bursting?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Yes. 74.25MHz will be output clock for 720P mode resolution support in my system. We are using memory bursting for DDR2 read. Burst Length is 64 and Avalon data width is 64 bit. So, in one burst, Total (64*64)/8 bytes are read from DDR2 Memory. Also, There is Dual clock FIFO between VGA master and VGA driver (the module which reads data on 74.25 MHz). Write Clock :: 75 MHz Read Clock :: 74.25 MHz Depth :: 1024 words Width :: 64 bits Please le me know if you need any more data from myside. Regards, Ritesh Prajapati- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
--- Quote Start --- Than, I have started task to test Sample Video file using "mplayer" tool which works fine upto 480P (720 X 480) Resolution Supoorted Sample Video but getting some slow rate while running 720P (1280 X 720) Resolution Supported Sample Video with same Frame Buffer Driver in Linux Platform. --- Quote End --- Would you tell me the correct meaning of 'slow rate' ? Does it mean that your FIFO buffer sometimes becomes empty and you can't see the right image on your screen? Or it means that the image is OK but the movies are quite slow against your expectation ? Kazu- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes. I am getting Proper Image but getting video as slow compare to its actual time for high resolution supported video like 720P.
Regards, Ritesh Prajapati- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
--- Quote Start --- Yes. I am getting Proper Image but getting video as slow compare to its actual time for high resolution supported video like 720P. --- Quote End --- It seems that the data transfer from DDR2 to VGA master module via FIFO buffer is working well. But its maximum peak data transfer rate reaches 75MHz x 8byte = 600MByte/sec. Whereas, the DDR2 <-> FPGA peak rate is 125MHz x 2 x 8byte lane ? = 2GByte/sec, You have the room 2Gbyte - 0.6Gbyte = 1.2Gbyte, but this is a theoretical rate. So I recommend you that once check the data transfer between your PCIe and DDR2, by using Signal TapII, etc. Kazu- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have verified that PCIe to DDR2 Memory Write Operation is getting some slow by following way from my Linux Frame Buffer Driver. I have assigned DDR2 Memory address as my System RAM's Address insetad of actual PCIe DDR2 address and started to dump same resolution on frame buffer device which was completed within proper time. So, It seems like PCIe to DDR2 Memory write openrations becomes slow on high resolution video in my system. Regards, Ritesh Prajapati
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