集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 761|回复: 1

基于FPGA的机载显示系统架构设计与优化(2)

[复制链接]
zxopen08 发表于 2017-7-6 10:19:37 | 显示全部楼层 |阅读模式
基于FPGA的机载显示系统架构设计与优化(2)

存储器, 最大的, 资源
2.2 BRAM资源占用

本文设计的机载显示系统利用一片DDR3作为外部存储器,所有图形和视频数据都需要缓存到DDR3中。为了解决数据存储冲突,需要将数据先缓存到内部BRAM中。XC7k410T共有795个36Kb的BRAM.整个流程中,BRAM资源占用最大的是图形整体旋转和视频旋转模块。

2.2.1视频旋转算法



反向旋转映射优点是,旋转后坐标反向旋转,除了超出原始坐标范围的,在旋转前坐标中都能对应到浮点坐标,并可以用该坐标邻域的像素点来唯一确定该坐标的像素值,不会出现“空洞”现象。


图4视频旋转算法示意图

2.3 DDR3吞吐量分析

本系统处理的数据量大,FPGA内部的存储资源无法满足数据存储要求,需要配置系统外部存储器DDR3.从图2可以看出,整个系统流程最多经过DDR3共9次,下面依次介绍每次读写DDR3的必要性和数据量。

①图形及字符生成模块读写数据,由于图形及字符生成时,没有严格按照屏幕自上而下、自左而右的顺序,所以每一帧图形都需要存入到DDR3中,并等待一帧处理完再进行整体的其他处理。由于像素点操作会涉及到读取背景值,所以是双向的。考虑吞吐量最大的情况,即图形生成模块对每帧图形的一半像素点都进行一次读写操作,则图形生成模块读写数据量为

②图形缩放模块读数据及清屏操作,由于缩放模块是对整个画面的处理,所以需要从DDR3中读取出来。而由于图形及字符不是对每个像素点都进行操作的,所以取出后,需要进行清屏操作。则读写数据量为474.6.

③图形旋转模块写数据,由于图形处理速度和视频处理速度不完全匹配,所以先将缩放及旋转后的数据存储到DDR3,等待视频处理完后,再统一取出,写数据量为237.3 MB/s.

④图形输出读数据,同时进行平移、翻转、镜像等坐标变换操作,写数据量为237.3 MB/s.

⑤PAL视频输入数据,为了实现去隔行和帧速率转换,必须将数据存储到DDR3中进行变换操作,读写数据量为



⑦视频旋转模块写数据,由于视频处理速度和图形处理速度不完全匹配,所以先将缩放及旋转后的数据存储到DDR3,等待图形处理完后,再统一取出,读写数据量为237.3 MB/s.

⑧视频输出读数据,同时进行平移、翻转、镜像等坐标变换操作,读写数据量为237.3 MB/s.

⑨预畸变参数读数据,用64位来存储每个像素点对应的四个预畸变参数,则读数据量为

表1为该系统数据吞吐量的计算表,其吞吐量合计为2677.6 MB/s.


表1系统数据吞吐量计算表

本文采用DDR3作为系统外部存储器,其型号为W3H128M72E,数据宽度为72比特(64比特为数据位,8比特为校正位),采用的时钟为400MHz,由于DDR3在上升沿和下降沿都进行数据的读写操作,等效于其内部读写时钟为800MHz,即数据带宽为6400MB/s(800MHz*64bit),满足本文设计系统的数据吞吐量要求。
zxopenljx 发表于 2023-1-11 16:02:03 | 显示全部楼层
基于FPGA的机载显示系统架构设计与优化(2)
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-28 11:52 , Processed in 0.058479 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表