本篇主要討論Vivado中DDRX控制器(mig)ip核配置中關(guān)于命令序號選擇和地址映射說明(一)
利用Xilinx 7系列FPGA開發(fā)時,經(jīng)常需要驅(qū)動外部存儲器--DDRX。Xilinx提供了mig(存儲器接口生成器)這個ip用以驅(qū)動外部存儲器。
在配置中有一項命令序號模式的選擇:
mig這個ip可以接收多個命令(在第一個命令還沒有執(zhí)行時,就可以接收后續(xù)的幾個命令。并不是接收一個命令,執(zhí)行完后才可以接收下一個命令)。
上述選擇兩個模式的區(qū)別為:
正常模式允許存儲器控制器重新編序收到的命令的順序,以或者更高的性能(例:收到的命令順序為A1,A2,A3,但是發(fā)現(xiàn)按照A1,A3,A2的順序執(zhí)行,不妨礙功能,并且擁有更高的性能)。
嚴格模式強制要求控制器按照收到的命令順序去執(zhí)行。
在配置時,還有一項地址映射模式選擇:
DDRXSDRAM是一種按照M行,N列湊成一個片(BANK),然后多個片構(gòu)成的一個存儲器。在使用時需要提供BANK地址,行地址,列地址,才能夠指定對應(yīng)的訪問位置(特別注意:每個位置存儲一個字(需要看存儲器的寬度),并不是一個字節(jié)(8個bit))。
注:此圖為SDR SDRAM的內(nèi)部結(jié)構(gòu)圖,只為方便理解。
在使用mig時,我們需要提供一個地址,那么這個地址的各個位對應(yīng)的DDRX SDRAM的bank地址,行地址,列地址的模式是按照上述選擇的。
例:(不考慮RANK地址),假設(shè)行地址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會給到列地址。
那么這兩個地方我們應(yīng)該選擇哪個呢?
這個和內(nèi)部結(jié)構(gòu)以及工作原理有關(guān)系,并且也和我們平時使用的方式 有一定的關(guān)系。
內(nèi)部結(jié)構(gòu)在上述已經(jīng)簡單的敘述過了,下面簡述一下工作原理:
在訪問時,我們首先需要激活訪問地址對應(yīng)的BANK里面的對應(yīng)的那一行,然后才可以進行讀寫。
下面給出SDRAM中的幾個特性:
· 在SDRAM中某一行激活了,是需要關(guān)閉的(有時間的限制)。
·在SDRAM中如果第二個操作和第一個操作是同一個bank,同一行,那么第一個操作完成后,可以不關(guān)閉此行,第二個操作也不用激活,此時提高了訪問效率。
. 在SDRAM中同一個BANK只能激活一行。例:如果第二個操作和第一個操作是同一個bank,但是不同行,那么就只能將第一個操作的行關(guān)閉,然后再將第二個行激活。
. 在SDRAM中,不同的BANK是可以同時激活使用者想要訪問的行。例:如果第二個操作和第一個操作不在同一個bank,那么就可以在關(guān)閉第一個操作對應(yīng)的bank的同時,激活第二個操作對應(yīng)的BANK,那么此時相當于節(jié)省了一段時間,提高了訪問的效率。
知道了這幾個特性,我們來考慮上述的兩個選擇項的問題:
首先考慮命令是否允許重新編號;假設(shè)第一個操作為BANK A,ROW A,第二個操作為BANK A, ROW B, 第三個操作為BANK A, ROW A。如果按照嚴格順序執(zhí)行,那么只能夠進行激活、操作一,關(guān)閉,激活、操作二、關(guān)閉、激活、操作三、關(guān)閉。共需要九步完成所有的命令。如果把操作二和操作三對調(diào),那么將執(zhí)行激活、操作一、操作三、關(guān)閉、激活、操作二、關(guān)閉。共需要七步即可完成,提高了一定的效率,所以此選項建議選擇正常模式。
下面考慮地址映射的選項:
這個需要考慮一個使用者的方式:一般我們使用時,是一段連續(xù)的地址;例:0到10000。
如果選擇BANK,ROW,COL的模式,就是利用第一個bank的第一行,然后第二行,第三行,········, 直到第一個bank利用完畢,才可以利用下一個bank。
如果選擇ROW,BANK,COL的模式,就是利用第一個bank的第一行,完事后,利用第二個bank的第一行,然后是第三個bank的第一行····直到所有的bank的第一行全部利用完事后,才會利用第二行。
那么在當一行利用完畢時,BANK,ROW,COL的模式下一個用的是第二行就必須等第一行關(guān)閉后,才可以激活第二行。如果選擇ROW,BANK,COL的模式下一個用的是其他的bank的行,所以不需要等待關(guān)閉就可以激活,相當于節(jié)省了一段時間,提高了訪問效率。
-
FPGA
+關(guān)注
關(guān)注
1644文章
21989瀏覽量
615222 -
控制器
+關(guān)注
關(guān)注
114文章
17022瀏覽量
183276 -
地址映射
+關(guān)注
關(guān)注
0文章
6瀏覽量
2146
原文標題:Vivado中DDRX控制器(mig)ip核配置中關(guān)于命令序號選擇和地址映射說明(一)
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
NVMe控制器IP設(shè)計之接口轉(zhuǎn)換
Linux ip命令常用操作
開疆智能Ethernet/IP轉(zhuǎn)Profinet網(wǎng)關(guān)連接納博特控制器配置案例

怎么綁定IP地址和MAC地址
Vivado中FFT IP核的使用教程

恒訊科技分析:香港服務(wù)器centos修改ip地址的方法有哪些?

IP地址小分享

評論