[X]关闭

代码问题

文档创建者:开心就好29
浏览次数:4814
最后更新:2019-12-06
       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]高位地址就可以了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则