學(xué)完SDRAM控制器后,可以感受到SDRAM的控制器的書寫是十分麻煩的,因此在xilinx一些FPGA芯片內(nèi)已經(jīng)集成了相應(yīng)的IP核來控制這些SDRAM,所以熟悉此類IP核的調(diào)取和使用是非常必要的。下面我們以A7的DDR3 IP核作為例子進行IP核調(diào)取。
DDR3是IP軟核,什么是軟核呢?軟核就是使用查找表,寄存器搭建出來的IP核。需要占用FPGA的邏輯。
一、DDR3 SDRAM IP核建立流程
1、在工程建好之后,可以點即IP Catalog來建立相應(yīng)的IP,具體界面如圖所示。
在搜索區(qū)搜索memory,然后找到如下圖所示的選項,雙擊。
2、點擊next
3、定義器件名,選擇控制器個數(shù)。控制器個數(shù)我們選擇1個,點擊next。
注:AXI4 Interface,就選擇的是AXI格式的MIG核,不勾是傳統(tǒng)的接口信號格式。
4、進入到如圖所示的界面,如果使用的芯片相同,則可以選擇,若沒有,可以不選,繼續(xù)點擊next。
5、進入到選取控制器類型的界面,由此我們選擇DDR3,點擊next。
6、進入到DDR3 SDRAM相應(yīng)參數(shù)的界面,我們首先選擇的是DDR3的工作頻率設(shè)置為400MHZ。因為開發(fā)板上的供電電壓為1.35V,所以我們在此處設(shè)置為1.35V。設(shè)置DDR3的總線位寬是16位的。
位寬的計算:400*2*16=12.8Gbps帶寬
400是控制器PHY的時鐘,2是DDR雙沿采樣,16是16bit位寬,半雙工,所以考慮讀寫的情況,平均分配的話每個操作占有6.4Gbps的理論帶寬。
(1)Clock period:通過周期調(diào)整DDR3工作時鐘。
(2)4:1和2:1部分,是選擇用戶的工作時鐘。
4:1表示DDR3工作時鐘400M情況下用戶時鐘為100M。
2:1表示DDR3工作時鐘400M的情況下用戶時鐘為200M。
(3)memory part的意思是選擇DDR3器件的型號。
(4)Number of Bank Machines:意思是bank的數(shù)量。
(5)Data mask:代表的是數(shù)據(jù)淹模
7、輸入IP核的時鐘設(shè)置為200Mhz,我們將200Mhz通過PLL倍頻產(chǎn)生400MHZ的時鐘,然后給PHY芯片。
(1)input clock period:IP核的工作時鐘,常用時鐘50M、200M必須直接連板子。
(2)read burst type and length 表示:數(shù)據(jù)順序。
(3)memory address mapping selection表示:地址類型。
8、設(shè)置控制系統(tǒng)時鐘和參考時鐘
系統(tǒng)時鐘有single_ended、deferential和no buffer三種,single_ended為來源于引腳的單端時鐘,diferential為差分時鐘,no buffer為來源于FPGA內(nèi)部的時鐘。參考時鐘有4種,其中三種也為single_ended、deferential和no buffer,另外一種為use system clock,注意:只有在system clock時鐘頻率為199Mhz~201Mhz時,參考時鐘才能存在use system clock選項。
注1:如果選擇參考時鐘,如果選擇200Mhz系統(tǒng)時鐘,可以不選參考時鐘直接使用系統(tǒng)時鐘作為參考時鐘。
注2:system reset polarity意思是選擇復(fù)位高低有效。
9、點擊next,勾選第二項,再次可以直接導(dǎo)入DDR3 SDRAM的引腳信息,前提是引腳約束文件已經(jīng)存在,引腳約束文件可以是ucf和xdc類型。然后點擊如下兩個圖標(biāo)找到ucf/xdc的路徑,選擇對應(yīng)的約束文件,點擊打開,之后點擊validate來確認約束文件有效。
10、默認點擊next,剩余的直接點擊next就可以了。最后gengerate生成DDR3 IP核。
11、選擇global,generate。
完畢。
? ? ? ?責(zé)任編輯:zl
評論
查看更多