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