FPGA之驱动sdram控制兼容性移植实验
2015-04-14 17:54
330 查看
cb早在2012年就推出了VIP 视频开发板 V1.4 这套开发板是ep2的,摄像头是ov7670,虽然不如当前的vip20强大,但也算是其雏形。
在vip20后期,cb对sdram以及其他模块进行了封装,使其更可靠,更稳定。
显然,sdram要更稳定,更可靠,验证,需要进行大量的实验,使用多种ic,然而经验丰富的cb,也有遗漏的测试(ps:注意上一篇博客细节)
于是找到vip1.4的05_sdram_vga_test例程,果不其然,这个例程兼容性很好,vip2.0不能使用的程序使用这个是可以的。
好了,下面我需要把1.4的程序重新移植到2.0上,验证起兼容性
先看看接口
rtl
看完以上接口
在和VIP2.0的主流结构对比下
更改如下:针对 vip1.4
1、sdram_vga_top 拆分 为 vga 和 sdram 放在顶层
2、sdram_vga_top 内部 去掉 sdbank_switch 模块,因为关联太多信号,去掉此模块是为了精简,简化,暂时用不着乒乓等功能。
3、sdram接口处理
.wr_addr ({20'd0}), //sdram start write address
.wr_max_addr ({20'd786432}), //sdram max write address
.wr_load (WR_LOAD), //sdram write address reset
.rd_addr ({20'd0}), //sdram start read address
.rd_max_addr ({20'd786432}), //sdram max read address
.rd_load (0), //sdram read address reset
4、增加触发信号
reg F1;
reg F2;
reg F3;
reg F4;
reg F5;
always@(posedge clk_write)
begin
F1<=frame_valid;
F2<=F1;
F3<=F2;
F4<=F3;
F5<=F4;
end
wire WR_LOAD=pos_edge;
wire neg_edge = !F1 & F2;
wire pos_edge = F1 & !F2;
自此已经完成测试。
在vip20后期,cb对sdram以及其他模块进行了封装,使其更可靠,更稳定。
显然,sdram要更稳定,更可靠,验证,需要进行大量的实验,使用多种ic,然而经验丰富的cb,也有遗漏的测试(ps:注意上一篇博客细节)
于是找到vip1.4的05_sdram_vga_test例程,果不其然,这个例程兼容性很好,vip2.0不能使用的程序使用这个是可以的。
好了,下面我需要把1.4的程序重新移植到2.0上,验证起兼容性
先看看接口
rtl
看完以上接口
在和VIP2.0的主流结构对比下
更改如下:针对 vip1.4
1、sdram_vga_top 拆分 为 vga 和 sdram 放在顶层
2、sdram_vga_top 内部 去掉 sdbank_switch 模块,因为关联太多信号,去掉此模块是为了精简,简化,暂时用不着乒乓等功能。
3、sdram接口处理
.wr_addr ({20'd0}), //sdram start write address
.wr_max_addr ({20'd786432}), //sdram max write address
.wr_load (WR_LOAD), //sdram write address reset
.rd_addr ({20'd0}), //sdram start read address
.rd_max_addr ({20'd786432}), //sdram max read address
.rd_load (0), //sdram read address reset
4、增加触发信号
reg F1;
reg F2;
reg F3;
reg F4;
reg F5;
always@(posedge clk_write)
begin
F1<=frame_valid;
F2<=F1;
F3<=F2;
F4<=F3;
F5<=F4;
end
wire WR_LOAD=pos_edge;
wire neg_edge = !F1 & F2;
wire pos_edge = F1 & !F2;
自此已经完成测试。
相关文章推荐
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十二:SDRAM模块⑤ — FIFO读写
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十九:SDRAM模块② — 多字读写
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十一:SDRAM模块④ — 页读写 β
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十:SDRAM模块③ — 页读写 α
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十九:LCD模块
- Linux系统移植实验---网卡驱动的移植
- 【连载】 FPGA Verilog HDL 系列实例--------步进电机驱动控制
- 10-8位7段数码管驱动实验——小梅哥FPGA设计思想与验证方法视频教程配套文档
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】【实验一】流水灯模块
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十三:串口模块② — 接收
- Linux系统移植实验---LED驱动的移植
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十五:FIFO储存模块(同步)
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十六:VGA模块
- FPGA读写SDRAM实验
- S3c6410 linux内核移植(10)---添加充电控制脚驱动(LED驱动)
- FPGA Verilog HDL 系列实例--------步进电机驱动控制
- 关于国嵌 实验2.5 网卡驱动移植 网卡地址 的问题
- 【iCore3 双核心板_FPGA】实验二十七:基于SDRAM的TFT驱动器的设计
- Linux-2.6.32.2内核在mini2440上的移植(十七)---移植PWM控制蜂鸣器驱动
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十五:SDHC模块