本文由远航路上ing 原创,转载请标明出处。

这节笔记记录IP核的生成以及参数设置。

先再IP库里下载安装Framebuffer 的ipcore 并安装完毕。

一、IP核的生成:

1、先点击IP核则右边会出现生成对话框:

按箭头指示顺序进行设置:要设置生成ip核的路径(可以新建一个文件夹ipcore来放置IP核,若有多个IP核则在ipcore下分别建立文件夹),IP核的名字,以及语言的类型:verilog或VHDL。最后点击Customize.

2、 在上一步设置之后会出现下面的设置界面,先设置输入视频格式,有三种:YCbCr422,YCbCr444 or RGB ,单信号。在动态参数更新未被选择时(静态模式),输入视频帧的高度与宽度是固定的,在方框内直接填入,注意范围为64--4096,不过建议大于64,否则可能无视频被采集到。在选择动态模式时,此处填写的数据为最大的高度与宽度,实际的高度与宽度要以参数设置为准。

选择Parallel processing 之后,则数据会是并行数据;16bit,否则为串行数据:8bit。

选择Frame rate conversion之后,启动帧率转换,会加入一个输入端口OCLK,否则就会就会按输入信号时钟输出。

在选择了动态配置的情况下,界面如下:

帧率的高度和宽度设置变为了最大分辨率设置。同时左侧会多出设置参数的信号。时序图见datasheet.

对于宽度和高度设置的寄存器的地址为:

在动态设置的时候,每个寄存器的size为32,则占用4个字节,所以设置的时候可以两个字节分开设置,比如设置FRMWIDTH时,地址为0x00时设置低2字节,0x02时设置高2字节。设置帧高度和宽度的数据为实际数据-1.比如分辨率大小为1920*1080,则送人的数据应为1919*1079.

3、先设置像素的宽度(8/9/10)。

再设置存储总线宽度,这个与DDR的数据总线宽度一致,(一般framebuffer ip核接DDR的ip核,所以与ddr  ip核的数据总线宽度一致)。

parameter  bus width 的宽度可以为8/16/32bit,根据最大分辨率的位数来选择参数总线的宽度。

选择分离参数时钟,则会多出一个pclk的时钟输入端口,根据pclk的时钟来设置参数;若不选此项,则根据输入时钟来设置时钟参数。

选择同步复位选项,则多出一个同步复位的端口。

output frame size ports 端口,选择此项则会多出两个端口来表示输出帧的长度和宽度,这两个参数在frmsync_out有效的时候才会更新。

4、设置FIFO的类型,有两种,

设置FIFO的深度,则FIFO所存储的总的数据为:depth*bus width==64(depth)*64(bus width) = 64*4*16(ddr芯片的数据位宽) = 256*16个16bit的数据,

则在数据存储量到总存储量的一半的时候出发DDR的写操作,则一次写入的数据为128*16bit的数据,则Framebuffer IP会向DDR 的IP送出32个64bit(bus width)的数据。

设置DDR 存储的突发长度和命令突发计数。此两处的值要与DDR的设置相配合才可以。(详细配合后面再说)

最后点击Generate  则等一段时间就可以生成了。

在生成之后,文件夹内会生成一些文件:

其中红线内部的两个文件可以作为综合的文件加入工程(两者其一即可),蓝线内的文件可以作为前仿真文件加入工程。

而顶层文件和参数文件在frame_buffer_eval文件夹内部。

打开frame_buffer_eval文件夹,出现两个文件夹,testbench文件夹内部是前仿真的外部辅助文件,在仿真时要把这两个文件加入到工程内,并选择为只仿真。

frame_bru8_c1文件夹内部存放着顶层文件,参数文件和modelsim仿真的.do文件。

上图所示,sim文件夹内部是仿真的.do文件,而src文件夹内部是顶层文件(rtl)和参数文件(params)。

将此文件加入工程,作为顶层文件。

在params文件夹内找到params.v文件,这是参数文件,但是本工程不需要也不用添加。

打开params.v文件可以看到内部的参数都是IP核生成时所设置的参数。

Lattice 的 Framebuffer IP核使用调试笔记之IP核生成与参数设置的更多相关文章

  1. Lattice 的 Framebuffer IP核使用调试笔记之datasheet笔记

    本文由远航路上ing 原创,转载请标明出处. 学习使用以及调试Framebuffer IP 核已经有一段时间了,调试的时候总想记录些东西,可是忙的时候就没有时间来写,只有先找个地方记录下,以后再总结. ...

  2. Lattice 的 DDR IP核使用调试笔记之DDR 的 仿真

    —— 远航路上ing 整理于 博客园.转载请标明出处. 在上节建立完工程之后,要想明确DDR IP的使用细节,最好是做仿真.然后参考仿真来控制IP 核. 仿真的建立: 1.在IP核内的以下路径找到以下 ...

  3. Lattice 的 DDR IP核使用调试笔记之工程建立

    DDR3的IP核的使用相当重要,尤其是对视频处理方面. 下面接收DDR3 的IP 核的生成步骤. 1. 选择DDR IP核的生成路径.名字以及哪种语言之后就可以设置DDR IP 的参数了. 2.选择存 ...

  4. TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节

    1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统 ...

  5. TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...

  6. TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议【转】

    转自:http://blog.csdn.net/goodboy1881/article/details/668556 把这三个协议放到一起学习是因为这三个协议处于同一层(网际层),ARP协议用来找到目 ...

  7. 每天进步一点点------SOPC的Avalon-MM IP核(二) AVALON总线的IP核定制

    简介 NIOS II是一个建立在FPGA上的嵌入式软核处理器,除了可以根据需要任意添加已经提供的外设外,用户还可以通过定制用户逻辑外设和定制用户指令来实现各种应用要求.这节我们就来研究如何定制基于Av ...

  8. Lattice FPGA 板子 调试笔记

    最近在调试LATTICE  FPGA 做的视频板子,颇不顺利,所以记录下来作为以后的参考: 1.FPGA的IO口不是所有的都是双向的,有些有特殊作用的是单向的. 在查阅 LatticeECP3-17E ...

  9. xilinx IP核配置,一步一步验证Xilinx Serdes GTX最高8.0Gbps

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010161493/article/details/77658599   目录(?)[+]   之前 ...

随机推荐

  1. leetcode150 Evaluate Reverse Polish Notation

    Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...

  2. Oracle sysdate 时间加减

    加法 select sysdate,add_months(sysdate,12) from dual;        --加1年 select sysdate,add_months(sysdate,1 ...

  3. wor20161202

    http://wenku.baidu.com/link?url=tWdw-Kgn_Ncr52ooBSL2J0y_ZJy3SvAXGv9Lu5UOKB333frE48hmkQ_5Pj9CJeCtGm7_ ...

  4. Raspberry Pi 配置笔记二

    配置源 http://blog.chinaunix.net/uid-21658993-id-4702322.html deb http://ipv4.mirrors.ustc.edu.cn/raspb ...

  5. BZOJ 2685: Sgu385 highlander

    Sol 期望DP. \(f[i][j][k]\) 表示已经确定了 \(i\) 个点, 最大环大小为 \(j\) ,个数为 \(k\) 的方案数. 转移非常复杂,因为细节特别多. \(f[i][j][1 ...

  6. Linux的目录结构

    学习Linux这么久,对Linux的目录的目录结构进行整理总结一下. 以下是对这些目录的解释: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot:这里存放的是启动L ...

  7. django的前后的结合,search搜索功能案例

    利用django的Q()功能可以很好的展开搜索功能 假设我要做个这样的搜索功能

  8. Google java style

    这里主要是记录关于java style的笔记. 1,Google的. 博客链接(中文):http://www.cnblogs.com/lanxuezaipiao/p/3534447.html. 官方链 ...

  9. mysql允许其他电脑访问权限开通

    首先进入mysql: mysql -u root 如果有密码会提示输入密码 然后输入如下授权代码, 如下即授权用户root使用密码admin123从任何主机连接到mysql服务器 GRANT ALL ...

  10. SIP介绍

    1.概述: SIP(Session Initiation Protocol,会话初始协议)是由IETF制定的多媒体通信协议.它是一个基于文本的应用层控制协议,用于创建.修改和释放一个或多个参与者的会话 ...