原创 非直接RAM地址映射转换思路

2011-9-19 17:40 2235 21 26 分类: 消费电子

非直接RAM地址映射转换思路

 

         通常情况下,如果是320*240(X*Y)分辨率的图像,使用128K(17bit地址可寻址)的RAM做地址映射,分别取X寻址对应128K的低9bit(可使用地址为0-511)、Y寻址对应128K的高8bit(可使用地址为0-255)。

 

         但如果是480*272分辨率的图像,使用320*240类似的存储器映射方式,则需要至少9(可寻址0-511)+9(可寻址0-511)=18条地址线,128K无法满足要求,相应的需要256K的替代。本身这种直接映射存储的方式虽然大大简化运算以及坐标定位,但却从某种程度上浪费了一些存储空间,尤其是类似480*272的分辨率,做一个简单的计算:

 

320*240=76800

480*272=130560

对应的

64K=65536

128K=131072

 

        那么,320*240/480*272所需的存储量都居于64K和128K之间,64K肯定不够用,应该选用128K。但是理论上可以用128K存储的480*272在直接映射方式下却必须选用256K做存储,着实是一个很大的浪费。

 

        基于此,在480*272的映射中,特权同学做了一些处理,一部分图像还是直接映射,另一部分图像充分利用余下的地址空间巧妙的转换后进行存储,达到了物尽其用,并且简单方便的效果。

 

         假设1(X0,Y0)为图像坐标,取:

         X0:bit8-0,对应原始地址总线ADDB[8:0]

         Y0:bit8-0,对应原始地址总线ADDB[17:9]

         假设2(X,Y)为相应的RAM存储坐标,取:

         X:bit8-0,对应原始地址总线ADDR[8:0]

         Y:bit7-0,对应原始地址总线ADDR[16:9]

         映射变换如下:

         当Y0<256(即ADDB[17]==0)时,直接映射:

ADDR=ADDB[16:9];

         当Y0>=256(即ADDB[17]==1)时,转换映射:

         ADDR[16:0]={ADDB[12:9],ADDB[8:5],4’b1111,ADDB[4:0]}

         此类转换,用软件模拟自然有些繁琐,而FPGA逻辑实现却易如反掌,一条语句搞定。

PARTNER CONTENT

文章评论5条评论)

登录后参与讨论

用户1516406 2011-9-26 08:22

ADDR[16:0]={ADDB[12:9],ADDB[8:5],4’b1111,ADDB[4:0]} 特权哥,这一句小弟真的是不理解啊。 小弟QQ:670977307.请特权哥不吝赐教。

用户1516406 2011-9-23 09:16

特权兄加我QQ好么?小弟QQ670977307.小弟想当面和你请教

用户1587532 2011-9-22 15:37

这个有点verilog写法的味道,有点混乱,呵呵,你按位去理解对应就是了

用户1516406 2011-9-22 14:46

特权兄的思想我理解了,但是这一句 ADDR[16:0]={ADDB[12:9],ADDB[8:5],4’b1111,ADDB[4:0]} 我理解不了,请大家解释解释哈

用户1277994 2011-9-20 19:43

谢谢特权的分享,这样的设计思想分享出来,大家为何就不出来讨论一下呢?实践出真知嘛
相关推荐阅读
用户1587532 2012-12-04 14:56
被忽略的硬件常识
          在特权同学的《都是IO弱上拉惹的祸》一文中,提及了Altera的CPLD在初始化时管脚通常会处于弱上拉状态。在实际示波器采样来看,就表现在上电初 期IO脚会有一个短暂(当时是持...
用户1587532 2012-12-04 14:56
都是IO弱上拉惹的祸
         开发的一款液晶驱动器,接收MCU过来的指令和数据进行图像显示。使用了一片可编程(带使能和PWM调节控制)的背光芯片。在CPLD设计中,上电复位状态将背光使能拉低(关闭),直到MC...
用户1587532 2011-12-29 09:39
四通道波形动态演示效果
 ">http:// http://v.youku.com/v_show/id_XMzM3MDY2NjYw.html   这效果,Cortex-M3可以吗?     ...
用户1587532 2011-12-21 12:54
高速绘图显示,还是FPGA给力
  示波器的效果,曾经以为难于上青天,殊不知咱用FPGA一样能够轻松效仿。目前只是单通道的显示效果,随后送上4通道独立或叠加的波形效果。          感兴趣的朋友不妨去看看他的详细参数:...
用户1587532 2011-10-12 10:23
Keil存储空间自定义分配
Keil存储空间自定义分配          看来Capital-Micro的软件支持包做得还不够到位啊,在51编程环境KeilC中使用Astro II器件光有个Capital Micro D...
用户1587532 2011-09-22 16:38
源同步信号跨时钟域采集的两种方法
源同步信号跨时钟域采集的两种方法            对于数据采集接收的一方而言,所谓源同步信号,即传输待接收的数据和时钟信号均由发送方产生。FPGA应用中,常常需要产生一些源同步接口信...
EE直播间
更多
我要评论
5
21
关闭 站长推荐上一条 /3 下一条