当前位置:高校自动化网 >> fpga >> 浏览文章

预估数据吞吐量的方法

文章来源:ednchina 作者:ilove314


该文章讲述了预估数据吞吐量的方法.

 

       先说SDRAM数

据吞吐量方面的一些思考。由于在一个液晶屏上要显示的两个层的数据都存储在SDRAM中,因此初步的预计,SDRAM每秒需要处理的数据流大体有以下四块:

1.  实时采集的视频写入数据量:640*480*16bit*50Hz;

2.  实时显示的视频读出数据量:< 640*480*16bit*60Hz;

3.  叠加层读出数据量:640*480*16bit*60Hz;

4.  叠加层写入数据量:不确定,假设写入一帧的图像数据,为640*480*16bit。

对于该项目中使用的SDRAM,每次写入N个数据的时间开销为:N*10ns+80ns;而每次读出N个数据的时间开销为:N*10ns+100ns。而视频数据读写和叠加层数据读都是以160个数据为一页进行操作的,唯有叠加层写入数据是单独一个数据一个数据操作(即单字突发写)。因此,初步计算上面四块数据每秒的时间开销为:

1.  (640*480*16bit*50Hz/160)*(160*10ns+80ns) = 161.28ms

2.  (640*480*16bit*60Hz/160)*(160*10ns+100ns) = 195.84ms

3.  (640*480*16bit*60Hz/160)*(160*10ns+100ns) = 195.84ms

4.  640*480*(10ns+80ns) = 27.648ms

此外,需要额外再计算一下SDRAM每隔15.625us(64ms一个全部地址预刷性周期)一次的预刷新操作所占用的时间开销(每次预刷新时间<110ns,这里就以110ns为准):

(1s/15.625us)*110ns = 7.04ms

         那么,下面可以得出SDRAM在1s时间内的时间余量:

         1s - 161.28ms - 195.84ms - 195.84ms - 27.648ms - 7.04ms = 412.352ms

         换句话说,当前SDRAM的空闲时间还是有近一半的,从理论上看如此利用SDRAM是可行的。

         从整体方面论证了SDRAM的吞吐量足以胜任当前的任务,下面还需要从一些可能出现的实时性最强的数据流中找寻速度瓶颈。

         个人认为,这个设计中,数据流最大的情况很显然是上文提到的四种对SDRAM的操作同时出现。而此时由于每个读或写操作对应的都有一个1024B的缓冲FIFO,所以在这些操作同时出现于某一个显示行中,也不需要过于担心数据会出现被丢弃的现象。下面也简单的计算一下余量,由于叠加层写入是特别需要验证的数据流,所以这里就计算其他三种操作同时发生的情况下可以执行多少次叠加数据写入操作。

         液晶显示某一行的时间为:800*40ns=32us

         视频层显示一行数据的操作时间为:4*(160*10ns+80ns)= 6.72us

         叠加层显示一行数据的操作时间为:4*(160*10ns+80ns)= 6.72us

         视频层写入一行的时间为:4*(160*10ns+100

相关文章:
  • Verilog HDL 建模技巧 低级建模 仿顺序操作·思路篇 10 - 组织模块和两义性问题
  • NIOSII中LCD驱动及图片显示
  • Verilog学习笔记8- 综合练习-基于SF-EP1V2的SMG接口设计-SMG码加码模块
  • 上一篇:Modelsim仿真设计
    下一篇:没有了
    最近更新