芯路恒电子技术论坛

 找回密码
 立即注册

扫一扫,访问微社区

热搜: 活动
查看: 371|回复: 1

FPGA图像处理之行缓存(linebuffer)的设计

[复制链接]
  • TA的每日心情
    开心
    2018-8-6 10:25
  • 8

    主题

    8

    帖子

    900

    积分

    高级会员

    Rank: 6Rank: 6

    积分
    900
    发表于 2018-8-8 11:08:50 | 显示全部楼层 |阅读模式
    FPGA图像处理之行缓存(linebuffer)的设计二
    作者:OpenS_Lee
    1 背景知识
        FPGA数字图像处理中,行缓存的使用非常频繁,例如我们需要图像矩阵操作的时候就需要进行缓存,例如图像的均值滤波,中值滤波,高斯滤波以及sobel边缘查找等都需要行缓存设计。这里的重要性就不在赘述。
    2 FPGA实现
       1.png
    1 行缓存菊花链结构
    如图1所示,我们要设计n行同时输出,就串联n行。Line_buffer的大小设置由图像显示行的大小(图像宽度)决定。例如480*272 480)。下面我们将采用更加灵活的方法来设计行缓存(linebuffer),使用fifo来设计。
    图片1.png
    2 Hierarchy
      如图2所示,我们设计了3行行缓存,总共使用了三个fifo
    FPGA源码:
    1  line_buffer_top模块
    图片2.png
    图片3.png
    如果我们需要缓存5行,7行或更多只需要增加i。这样使得我们的设计更加容易移植和维护。
    2 line_buffer 模块
    图片4.png
    图片5.png
    如果需要移植到其他FPGA芯片我们只需要将FIFO替换,或者修改scfifo_component.intended_device_family = "Cyclone IV E"为相应的器件。
    RTL viewer
    图片6.png
                                        3 RTL
    如图3所示,整个linebuffer3line_buffer组成,最终输出3行缓存数据。
    仿真顶层:
    图片7.png
    图片8.png
    仿真结果:
    图片9.png
    4 整体仿真效果
    图片10.png
    5 数据对齐输出
    设计成功。
    欢迎关注微信公众号:FPGA开源工作室
    WX.png

    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:22
  • 16

    主题

    206

    帖子

    3081

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    3081
    发表于 2018-8-8 19:39:15 | 显示全部楼层
    沙发~楼主加油,谢谢分享
    回复 支持 反对

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|手机版|Archiver|芯路恒电子技术论坛  

    GMT+8, 2018-10-23 14:20 , Processed in 0.175382 second(s), 11 queries , File On.

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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