cb说完美是没有极限的,对此我表示赞同,自从用了cb的板子,玩开cmos,fpga,sdram,vga等。

不断涌现的是,双端口sdram,四端口sdram,各式各样的封装,但是大同小异,但总是有些不同,对于初学的我,感觉还是挺费事,玩转各种例程发现,cb的sdram驱动程序很强大但并不完美,其中对sdram有挑选作用,如hy57v641620ftp-7很ok的使用,换成hy57v641620ftp-6就有问题,但是使用其他版本程序测试,这两个ic均ok。

这个问题一度困扰过cb良久,最终cb偶然发现,将突发长度从256改为128,就能好好的解决,自此,解决了问题(详情参阅cb博客)

但是这样可能并不完美,需要深究其根本,就得仔细阅读内部代码,仔细推敲,本人水平有限,所以只能一步一个脚印。

现将兼容和不兼容的程序统一接口,使得程序更好移植,逻辑更加清晰。

ps:cb的接口已经做得很棒,只是我不太习惯,以下移植接口,按照我的思维理解方式修改。

先看看cb现有的接口

改造中

1、

module LCDData_Simulate
(
input clk, //globan clock
input rst_n, //Global reset
input sys_vaild, //the device is ready
input[7:0] DIVIDE_PARAM, //0-255
input[11:0] X_size,  // 增加x尺寸大小输入,
input[11:0] Y_size,  // 增加y尺寸大小输入,

//sys 2 sdram control
output disp_valid,  // 增加显示有效信号输出,告知设备,目前输出像素有效,类似显示的帧同步信号
output reg [15:0] sys_data,
output sys_we
);

2、SDRAM_VGA_Display_Test

增加 WR_LOAD信号,根据数据产生模块的帧有效的信号,产生一个脉冲,高电平脉冲,在帧同步信号结束时产生,用于清除fifo

wire WR_LOAD;
reg sys_disp_valid_r1;
reg sys_disp_valid_r2;
always@(posedge clk_ref)
begin
sys_disp_valid_r1<=sys_disp_valid;
sys_disp_valid_r2<=sys_disp_valid_r1;
end
assign WR_LOAD=sys_disp_valid_r1&(!sys_disp_valid_r1);

3、SDRAM_VGA_Display_Test

// FIFO Write Side
.WR_CLK (clk_write), //write fifo clock
.WR_LOAD (WR_LOAD), //使用此信号
.WR_DATA (sys_data_in), //write data input
.WR (sys_we_in), //write data request
.WR_MIN_ADDR (22'd0), //write start address
.WR_MAX_ADDR (`H_DISP * `V_DISP *22'd1), //write max address
.WR_LENGTH (9'd256), //write burst length

就此,第一步兼容已经完成,此目的已经达到数据产生模块任意间隔产生数据,保证同步,下一再实现显示器尺寸自动匹配功能。

适用于带fifo接口的存储器和显示器测试模块封装 挑战cb的更多相关文章

  1. 基于Verilog的带FIFO写入缓冲的串口发送接口封装

    一.模块框图及基本思路 tx_module:串口发送的核心模块,详细介绍请参照前面的“基于Verilog的串口发送实验” fifo2tx_module:当fifo不为空时,读取fifo中的数据并使能发 ...

  2. 关于Xilinx AXI Lite 源代码分析---自建带AXI接口的IP

    关于Xilinx AXI Lite 源代码分析---自建带AXI接口的IP 首先需要注意此处寄存器数量的配置,它决定了slv_reg的个数. 读写数据,即是对寄存器slv_reg进行操作: 关于AXI ...

  3. 【关注图像采集视频传输】之 Cy3014 usb3.0 FIFO接口

    CYUSB3014延续了CY7C68013A最吸引人的地方,那就是实现高速数据传输的Slave FIFO接口,应用这种模式,据说数据传输率可以达到320MB/s. 同USB2.0的芯片CY7C6801 ...

  4. 330-支持PXIE带FMC接口的Xilinx FPGA XC7K325T PCIeX8 接口卡平台

    支持PXIE带FMC接口的Xilinx FPGA XC7K325T PCIeX8 接口卡平台 一.板卡概述     本板卡基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片,pin_ ...

  5. python接口自动化(三十五)-封装与调用--流程类接口关联(详解)

    简介 流程相关的接口,主要用 session 关联,如果写成函数(如上篇),s 参数每个函数都要带,每个函数多个参数,这时候封装成类会更方便.在这里我们还是以博客园为例,带着小伙伴们实践一下. 接口封 ...

  6. Asp.net 面向接口可扩展框架之数据处理模块及EntityFramework扩展和Dapper扩展(含干货)

    接口数据处理模块是什么意思呢?实际上很简单,就是使用面向接口的思想和方式来做数据处理. 还提到EntityFramework和Dapper,EntityFramework和Dapper是.net环境下 ...

  7. MBIST:用于嵌入式存储器的可测试设计技术

    MBist技术可以自动实现存储器单元或阵列的RTL级内建自测试电路,MBIST的EDA工具支持多种测试算法的自动实现,可针对一个或多个内嵌存储器自动创建BIST逻辑,并完成BIST逻辑与存储器的连接, ...

  8. (转)用mysql自带工具mysqlslap对数据库进行压力测试

    http://aolens.blog.51cto.com/7021142/1901557-------用mysql自带工具mysqlslap对数据库进行压力测试 mysqlslap是mysql自带的工 ...

  9. 268-基于FMC接口的DSP TMS320C6657子卡模块

    基于FMC接口的DSP TMS320C6657子卡模块 一. 概述         FMC连接器是一种高速多pin的互连器件,广泛应用于板卡对接的设备中,特别是在xilinx公司的所有开发板中都使用. ...

随机推荐

  1. 启动Spring Tool Suite 4时出现 could not find tools.jar spring boot live hovers....弹窗

    第一步:检查一下STS启动时的加载环境 Help  —› About Spring Tool Suite 4 —› Installation Details —› Configuration 本人已经 ...

  2. 【Java】面向对象之多态

    生活中,比如动物中跑的动作,小猫.小狗和大象,跑起来是不一样的.再比如飞的动作,昆虫.鸟类和飞机,飞起来也是不一样的.可见,同一类的事物通过不同的实际对象可以体现出来的不同的形态.多态,描述的就是这样 ...

  3. VLAN实验(4)单臂路由

    1.选择1台Router路由器.2台S3700交换机和4台pc机,并根据实验编址完成此拓扑图. 2.对交换机mengyu-S2建立VLAN (1)建立两个VLAN,VLAN10和VLAN20,并添加描 ...

  4. [Ubuntu篇] 在ubuntu上源码编译gtest,编写gtest-config.cmake并测试

    本文首发于个人博客https://kezunlin.me/post/4a1427cf/,欢迎阅读! compile gtest on ubuntu 16.04 Guide compile gtest ...

  5. Linux考题(一)

    1.创建目录/data/oldboy,并且在该目录下创建oldboy.txt,然后在文件oldybos.txt里写入内容“inet addr:192.168.228.128  Bcast:192.16 ...

  6. python基础-面向对象编程之封装、访问限制机制和property

    面向对象编程之封装 封装 定义:将属性和方法一股脑的封装到对象中,使对象可通过"对象."的方式获取或存储数据. 作用:让对象有了"."的机制,存取数据更加方便 ...

  7. vue 结合 Echarts 实现半开环形图

    Echarts 实现半开环形图 1.先看看实现的图 2.HTML部分 创建id 是 chart 的div标签. <div class="content-item"> & ...

  8. springboot2中使用dubbo的三重境界

    在springboot中使用dubbo,本来是件挺简单的事情,但现实的世界就是如此的复杂,今天我用一个亲身经历的跳坑和填坑的事来讲在spring boot中使用高版本dubbo(当当的魔改版)的三重境 ...

  9. 【数据结构】之顺序表(C语言描述)

    顺序表是线性表的一种,它将元素存储在一段连续的内存空间中,表中的任意元素都可以通过下标快速的获取到,因此,顺序表适合查询操作频繁的场景,而不适合增删操作频繁的场景. 下面是使用 C语言 编写的顺序表的 ...

  10. WebGPU学习(二): 学习“绘制一个三角形”示例

    大家好,本文学习Chrome->webgl-samplers->helloTriangle示例. 准备Sample代码 克隆webgl-samplers Github Repo到本地. ( ...