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. Android Studio连接真机调试

    1.安装配置Android studio2.2 2.下载手机驱动或者安装手机助手(360手机助手) 3.用手机助手连接用于调试的手机 注意手机要开启开发者模式->允许USB调试 4.查看手机连接 ...

  2. git ----(2)

    Git使用40个16进制字符的SHA-1 Hash来唯一标识对象 Git的四种基本对象类型,组成了Git更高级的数据结构: blobs:      每个blob代表一个(版本的)文件,blob只包含文 ...

  3. HTTP Basic Authentication认证(Web API)

    当下最流行的Web Api 接口认证方式 HTTP Basic Authentication: http://smalltalllong.iteye.com/blog/912046 什么是HTTP B ...

  4. c++课设学生成绩与学籍管理系统

    题目要求(手打,累):设计一个类CStudent,类中包含一个学生的基本数据如下: 编号,姓名,性别,年龄,数学成绩,计算机成绩,外语成绩. 并假设编号为整数,且从1号往后连续编码:姓名为字符串,性别 ...

  5. BZOJ 1227 [SDOI2009]虔诚的墓主人 - 扫描线

    Solution 离散化 扫描线, 并用 $rest[i]$ 和 $cnt[i]$ 记录 第$i$列 总共有 $cnt[i]$棵常青树, 还有$rest[i]$ 没有被扫描到. 那么 第$i$ 列的方 ...

  6. 第五周Java学习总结(补)

    第五周java学习内容(补) 学习内容: File类方法的操作 public String getName() public boolean canRead() public boolean canW ...

  7. 查看PHP代码执行的时间

    $t1 = microtime(true); //...要执行的代码$t2 = microtime(true); echo '耗时'.round($t2-$t1,3).'秒';

  8. linux-ubuntu 下R无法安装HH包的原因及解决方案

    错误信息: configure: error: GNU MP not found, or not 4.1.4 or up, see http://gmplib.org ERROR: configura ...

  9. 下载win10

    http://www.xitongtiandi.net/win10yuanban/2039.html#download

  10. js对象通过属性路径获取属性值 - getPropByPath

    function getPropByPath(obj, path) { let tempObj = obj; path = path.replace(/\[(\w+)\]/g, '.$1'); pat ...