问答 店铺
热搜: ZYNQ FPGA discuz

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

微信扫一扫 分享朋友圈

已有 7217 人浏览分享

开启左侧

代码问题

[复制链接]
7217 3
       M_S_MSG_FIFO2://--相对地址处理--//
                begin
                M_S                <=M_S_RST_FIFO0;
                 //三缓存设计
                  if(MSG_FIFO_RDDATA[7])begin
                     if(CH0_Fbuf == 2) begin
                         CH0_Fbuf <= 0;
                     end
                     else begin
                         CH0_Fbuf <= CH0_Fbuf + 1'b1;
                     end
                     CH0_PTR <= 21'd0;
                  end

                  if(MSG_FIFO_RDDATA[6])begin
                     if(CH0_Fbuf == 0) begin
                         CH6_Fbuf <= 2;
                     end
                     else begin
                         CH6_Fbuf <= CH0_Fbuf - 1'b1;
                     end
                     CH6_PTR <= 21'd0;
                  end
                end
代码中的相对地址处理是什么意思,能解释详细点不

评论 3

uisrc  管理员  发表于 2019-11-13 15:29:21 | 显示全部楼层
利用CH0_Fbuf  和CH6_Fbuf  的帧计数器,控制了地址的切换,具体的看下提供的代码里面地址如何切换的。
越努力越幸运!加油!
开心就好29  新手上路  发表于 2019-11-14 22:10:19 | 显示全部楼层
msxbo 发表于 2019-11-13 15:29
利用CH0_Fbuf  和CH6_Fbuf  的帧计数器,控制了地址的切换,具体的看下提供的代码里面地址如何切换的。

简单来说,为什么要进行相对地址处理啊
A1_Vincent  新手上路  发表于 2019-12-6 16:05:58 | 显示全部楼层
这个理解为地址的高位就好啦。
一帧数据的数据量为1920*1080*4 byte= 8,294,400 byte,也就是23位地址空间的存储容量(2^23=8,388,608)可以放的下。缓存地址如下构成:
ADDR[31:0]={{2'b00},CH0_Fbuf[6:0],ADDRL[22:0]}
低23位地址是一帧数据必要的存储空间,而切换片缓存只需要改变CH0_Fbuf[6:0]高位地址就可以了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐
热门资讯
网友晒图
图文推荐

  • 微信公众平台

  • 扫描访问手机版