Vivado中DDRX控制器(mig)ip核配置中关于命令序号选择和地址映射说明

描述

本篇主要讨论Vivado中DDRX控制器(mig)ip核配置中关于命令序号选择和地址映射说明(一)

利用Xilinx 7系列FPGA开发时,经常需要驱动外部存储器--DDRX。Xilinx提供了mig(存储器接口生成器)这个ip用以驱动外部存储器。

FPGA

在配置中有一项命令序号模式的选择:

FPGA

mig这个ip可以接收多个命令(在第一个命令还没有执行时,就可以接收后续的几个命令。并不是接收一个命令,执行完后才可以接收下一个命令)。

上述选择两个模式的区别为:

正常模式允许存储器控制器重新编序收到的命令的顺序,以或者更高的性能(例:收到的命令顺序为A1,A2,A3,但是发现按照A1,A3,A2的顺序执行,不妨碍功能,并且拥有更高的性能)。

严格模式强制要求控制器按照收到的命令顺序去执行。

在配置时,还有一项地址映射模式选择:

FPGA

DDRX SDRAM是一种按照M行,N列凑成一个片(BANK),然后多个片构成的一个存储器。在使用时需要提供BANK地址,行地址,列地址,才能够指定对应的访问位置(特别注意:每个位置存储一个字(需要看存储器的宽度),并不是一个字节(8个bit))。

FPGA

注:此图为SDR SDRAM的内部结构图,只为方便理解。

在使用mig时,我们需要提供一个地址,那么这个地址的各个位对应的DDRX SDRAM的bank地址,行地址,列地址的模式是按照上述选择的。

例:(不考虑RANK地址),假设行地址13位,列地址10位,BANK地址3位,无论我们选择哪一种模式,我们的地址都是给一个26位的地址。如果选择ROW,BANK,COL的模式,那么地址的25:13位会给到行地址,12:10会给到BANK地址,9:0会给到列地址。如果选择BANK,ROW,COL的模式,那么地址的25:23位会给到BANK地址,22:10会给到行地址,9:0会给到列地址。

那么这两个地方我们应该选择哪个呢?

这个和内部结构以及工作原理有关系,并且也和我们平时使用的方式 有一定的关系。

内部结构在上述已经简单的叙述过了,下面简述一下工作原理:

在访问时,我们首先需要激活访问地址对应的BANK里面的对应的那一行,然后才可以进行读写。

下面给出SDRAM中的几个特性:

· 在SDRAM中某一行激活了,是需要关闭的(有时间的限制)。

· 在SDRAM中如果第二个操作和第一个操作是同一个bank,同一行,那么第一个操作完成后,可以不关闭此行,第二个操作也不用激活,此时提高了访问效率 。

FPGA

. 在SDRAM中同一个BANK只能激活一行。例:如果第二个操作和第一个操作是同一个bank,但是不同行,那么就只能将第一个操作的行关闭,然后再将第二个行激活。

FPGA

. 在SDRAM中,不同的BANK是可以同时激活使用者想要访问的行。例:如果第二个操作和第一个操作不在同一个bank,那么就可以在关闭第一个操作对应的bank的同时,激活第二个操作对应的BANK,那么此时相当于节省了一段时间,提高了访问的效率。

FPGA

知道了这几个特性,我们来考虑上述的两个选择项的问题:

首先考虑命令是否允许重新编号;假设第一个操作为BANK A,ROW A,第二个操作为BANK A, ROW B, 第三个操作为BANK A, ROW A。如果按照严格顺序执行,那么只能够进行激活、操作一,关闭,激活、操作二、关闭、激活、操作三、关闭。共需要九步完成所有的命令。如果把操作二和操作三对调,那么将执行激活、操作一、操作三、关闭、激活、操作二 、关闭。共需要七步即可完成,提高了一定的效率,所以此选项建议选择正常模式。

下面考虑地址映射的选项:

这个需要考虑一个使用者的方式:一般我们使用时,是一段连续的地址;例:0到10000。

如果选择BANK,ROW,COL的模式,就是利用第一个bank的第一行,然后第二行,第三行,········, 直到第一个bank利用完毕,才可以利用下一个bank。

如果选择ROW,BANK,COL的模式,就是利用第一个bank的第一行,完事后,利用第二个bank的第一行,然后是第三个bank的第一行····直到所有的bank的第一行全部利用完事后,才会利用第二行。

那么在当一行利用完毕时,BANK,ROW,COL的模式下一个用的是第二行就必须等第一行关闭后,才可以激活第二行。如果选择ROW,BANK,COL的模式下一个用的是其他的bank的行,所以不需要等待关闭就可以激活,相当于节省了一段时间,提高了访问效率。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分