2、VIP Frame Buffer
1、原来我是一直存在一个疑惑,demo上说VIP Frame Buffer输出是固定的60fps,但是在NiosII的程序中我没有找到设置输出为60fps的设置,怎么会这样呢?
 想来想去觉得是CVO的dout_rdy信号实现了所谓的60fsp.
2、搞明白了什么是双缓存和三缓存 
 
双缓存 
 
  在双缓存模式中,IP核会在外部存储器中开辟两帧缓存器。一个用于存储写入帧,另一个用于读取输出像素,当读和写都完成一个帧外,交换两个缓存器,输入的帧可以被从存储器中读出并发送给输出,
同时原来用于读取的帧缓存器,可以用于新数据写入和覆盖。这个特征主要用于输入和输出一侧或者两侧像素速率不规则。或者一帧必须在相对于整个帧率较短的时间内被接收或者发送。比如,在裁剪器IP
之后,或者Alpha混合器的前景层之前。
 
三缓存 
 
  在三缓存模式中,IP核在外部存储器中使用三个帧缓存器,一个缓存器用于存储输入像素,第二个缓存器用于从存储器读取输出像素。第三个缓存器是备用缓存,它允许输入和输出异步交换缓存。备用
缓存可以是"干净的"也可以是“脏的”,如果该帧还没有被发送过,则认为是“干净的”,如果它存放的是已经被读取过的帧,则认为是“脏的”。
如果输入数据被写完一帧后,且备用缓存是“脏的”,则备用缓存作为输入缓存,而原输入缓存则用作新的备用缓存并且它是“干净的”。
如果输入帧写完后,备用帧还是“干净的”,则要根据是否允许丢弃来作选择,如果允许丢弃,那么刚被写入的帧会被丢弃并被下一个要写入的帧覆盖;如果不允许丢弃帧,写操作会被停止,直到读出帧完成,
并把备用帧作为输出帧而原输出帧作为“脏的”备用帧。
当读操作帧读取完毕并且备用帧是“干净的”,就用读取帧与备用帧交换。如果读操作帧读取完毕而备用帧是“脏的”,则要考虑是否允许复制:
 
1、如果允许帧复制--读操作会再次读取刚被读完的帧
2、如果不允许帧复制--读操作会停止直到写操作完成并用“干净的”帧替换备用帧后再读取
 
 什么是锁定帧速率转换?
  锁定帧速率转换就是允许Frame Buffer IP通过avalon-mm从接口同步输入和输出帧速率。
Avalon-MM主接口的宽度一定应该与数据速率和存储器的时钟速率有关系。
如果同时存储多个通道时,是不是要选择不同的基地址呢?

VIP之FrameBuffer的更多相关文章

  1. Altera SOPC FrameBuffer系统设计教程

    Altera SOPC FrameBuffer系统设计教程 小梅哥编写,未经授权,严禁转载或用于任何商业用途 在嵌入式系统中,LCD屏作为最友好的人机交互方式,被大量的应用到了各个系统中.在基于ARM ...

  2. .NET 提升教育 第一期:VIP 付费课程培训通知!

    为响应 @当年在远方 同学的建议,在年前尝试进行一次付费的VIP培训. 培训的课件:点击下载培训周期:10个课程左右,每晚1个半小时培训价格:1000元/人.报名方式:有意向的请加QQ群:路过秋天.N ...

  3. 通过 floating IP 访问 VIP - 每天5分钟玩转 OpenStack(126)

    前面我们是直接用 curl 测试 VIP,在更为真实的场景中通常会使用 floating IP 访问 VIP. 下面我们给 VIP 关联一个 floating IP,再进行测试. 访问 Project ...

  4. 【需求设计1】VIP积分系统无聊YY

    RT,想到什么就写什么呗,这是最简单的方式,顺便给自己做一个记录,反正自己记忆力也不太好.本文是仿陆金所的积分系统,自己YY的一套东西. 首先我想做一个VIP兑换投资卷的功能: 我们先来确定一些我知道 ...

  5. 搭建属于自己的VIP积分系统(1)

    很久没写博客了,如果有写得不好的地方,还请多多见谅. 架构设计 需求分析 这篇文章主要是介绍此VIP系统的基础架构.说实在的,我其实对 架构方面也不是很懂,我这套框架 还是拿别人的东西改过来的,并不是 ...

  6. keepalived从机接管后主机恢复不抢占VIP

    在lvs+keepalived环境中,为了减小keepalived主从切换带来的意外风险,,设置主机恢复后不抢占VIP.待进行vrrp协议通告备机不可用时切换.主要修改两个地方.(红色部分) 只需修改 ...

  7. 全网络最正确的让 Linux 开机进入字符界面的方法及设置 FrameBuffer 分辨率的方法

    引言 这个标题有点长,是为了在标题中就把问题说清楚,以便搜索引擎能够把有需要的朋友准确地带到我这里来.目前在网络上,很多关于 Linux 方面的知识是过时的和错误的.我标题中指出的两个知识点就是其中的 ...

  8. CSharpGL(29)初步封装Texture和Framebuffer

    +BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...

  9. 创建 Pool & VIP - 每天5分钟玩转 OpenStack(122)

    上节完成了 LBaaS 配置,今天我们开始实现如下 LBaaS 环境. 环境描述如下: 1. 创建一个 Pool “web servers”. 2. 两个 pool member “WEB1” 和 “ ...

随机推荐

  1. abp ef codefirst Value cannot be null. Parameter name: connectionString

    错误原因是abp生成的项目是mvc类型的,但在使用时,选择了vue去开发,所以在abp上重新生成了一个vue项目,把原有的mvc项目给删掉了,没有将新生成的vue类型的项目的文件覆盖掉原有的mvc其他 ...

  2. Vs2015 c# 诊断工具查看程序的占用情况

    windbg用着还不熟悉,dottrace  还要版权,着急查看程序的cpu 的使用情况,因为程序开启之后占用处理器资源较大,问题在哪里呢,于是点开了vs2015自带的诊断工具,以前偶尔打开过,没发现 ...

  3. laravel框架一次请求的生命周期

    第一件事所有的请求都会被web服务器(Apache/Nginx)导向public/index.php文件.index.php文件载入Composer生成的自动加载设置,然后从bootstrap/app ...

  4. Github上Markdown基本语法

    基础写作和语法格式 本篇文章的内容来源于Github的基础写作帮助.如果在观看时有什么问题,可以直接查阅源文件.另外需要说明的是Git对Markdown的支持增加了一些扩展功能,因此在Git上可以渲染 ...

  5. mtcp的快速编译(连接)

    mtcp的快速编译 http://mos.kaist.edu/guide/config/03_build_mtcp.html 介绍DPDK中使用mtcp的文档 https://dpdksummit.c ...

  6. Luogu 2822[NOIP2016] 组合数问题 - 数论

    题解 乱搞就能过了. 首先我们考虑如何快速判断C(i, j ) | k 是否成立. 由于$k$非常小, 所以可以对$k$分解质因数, 接着预处理出前N个数的阶乘的因数中 $p_i$ 的个数, 然后就可 ...

  7. 深浅copy和字符串细节方法

    copy a=[1,2,3]b=aid(a)55499272id(b)55499272 id()就是查看内存地址,是不是同一个对象. c=a.copy()id(c)57940040 可见copy()出 ...

  8. XXE总结

    0x00 目录 0x01 XML基础 定义:一种标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. XML文档结构包括XML声明.D ...

  9. IOS初级:delegate的使用

    delegate的应用场景:view中的事件,controller做处理(如刷新view中元素等). storyboard的textfield实现点击return实现收起键盘. 首先在ViewCont ...

  10. 利用PHP脚本辅助MySQL数据库管理3-删除重复表索引

    <?php $dbi = new DbMysql; $dbi->dbh = 'mysql://root:mysql@127.0.0.1/coffeetest'; $map = array( ...