ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动

使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
学习内容
本节课程的实现目标仍为
VGA 显示,但是与第 25课的不同 之处 在于,本
节将例化 VIVADO 中的 BRAM 实现缓存 ,分辨率 仍为 640*480,时序 驱动文
件 不做 改动。
实现步骤
本节课程
将在第 25课工程 基础上进行修改。下 图 为 第 25课 工程 文件 图。
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动

Step1 新建Block Design ,添加 BRAM 模块,并且进行参数设置。

ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
注意双击IP 进入 Re-customize IP 界面后,在 Basic 、Port A Options 、Port B
Options 和 Other Options 页签下进行设置。
(1)Basic : 选择 Stand Alone ,Simple Dual Port RAM。
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
(2)Port A Options : 根据需要缓存的图片分辨率设置端口A 的字节宽度和深度。
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
(3)同 Port A 设置 ,对 Port B 进行 设置。
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
(4) Other Options 设置 Memory Initialization
首先想 前一 课 所 用的 转换工具 将 图片进行转换, 本节 课中有效文件为
bmp_init.coe 可 将 其复制 到 VIVADO 工程中生成 Block Memory IP的 根目录下
然后在 Load Init File 选项 中选择 刚刚 复制的 bmp_init.coe 也可以将 bmp_init.coe复制 到 用户 指定的其他目录下, 点击 Browse找到 路径 选择 文件 即可。
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
更多详细内容可查看 IP 的文档 进行深入学习。
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
Step2 为 设 置 好的 IP 引出 引脚,并生成 verilog 文件 。
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动

Step3 查看 上步中生成的 BRAM_VGA_wrapper.v ,将 其中的 模块 module BRAM_VGA_wrapper((~)例化到 vga_drv.v 中 。

ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
保存文件,进行综合 生成 bitstream 可直接 通过 Program FPGA 下载到 开发板进
行测试,也可以使用 SDK 生成 BOOT.bin 进行 测试。

Step4 上板 测试。

本课程提供文件 夹 中 boot_img 文件 夹中可通过 自己 写的批处理文件 将生成 的
bit 文件 转换成 BOOT.bin文件 。
ZYNQ7000 学习(二十六)使用 VIVADO 例化 BRAM 实现VGA 缓存驱动
将上步中生成的 vga_top.bit 文件 复制到文件中,生成 BOOT.bin 文件 ,复制到SD 卡 中 ,将 SD 卡 插入开发板上电测试即可 。
至此,本节课程实现。

上一篇:IOS第二天多线程-03对列组合并图片


下一篇:Windows配置记录