這幾天幫忙調(diào)試DDR4 IP核所计,之前沒有接觸過存儲(chǔ)這塊届囚,第一次弄有梆,所以寫個(gè)東西自己做下總結(jié)。
DDR4現(xiàn)在已經(jīng)開始大范圍使用意系,網(wǎng)上面相關(guān)的信息還是比較少。
1饺汹、重要的一些概念:
如果之前沒有接觸過DDR3或者DDR2的話蛔添,直接上手會(huì)有點(diǎn)麻煩(話說我就是這樣),先介紹一些基本概念和接口。
1)bank:bank是存儲(chǔ)庫迎瞧,一塊內(nèi)存內(nèi)部劃分出了多個(gè)存儲(chǔ)庫夸溶,訪問的時(shí)候指定存儲(chǔ)庫編號(hào),就可以訪問指定的存儲(chǔ)庫凶硅。具體內(nèi)存中劃分了多少個(gè)bank缝裁,要看地址線中有幾位BA地址,如果有兩位足绅,說明有4個(gè)bank捷绑,如果有3位,說明有8個(gè)bank.氢妈。DDR4每個(gè)Bank Group里面就是有4個(gè)Bank粹污。而且DDR4一般是有4個(gè)Bank Group,這樣總共有16個(gè)Bank首量。
2)row和column:假如表示行的有A0~A14壮吩,那么單個(gè)bank中行的總量為2^15。列類似加缘,如果表示列的有A0~A9鸭叙,單個(gè)bank中列總量為2^10.
3)行激活”(Row?Active):實(shí)際工作中,Bank地址與相應(yīng)的行地址是同時(shí)發(fā)出的拣宏,在此之后沈贝,將發(fā)送列地址尋址命令與具體的操作命令(是讀還是寫),這兩個(gè)命令也是同時(shí)發(fā)出的蚀浆,所以一般都會(huì)以“讀/寫命令”來表示列尋址缀程。從行有效到讀/寫命令發(fā)出之間的間隔被定義為tRCD,即RAS?to?CAS?Delay(RAS至CAS延遲市俊,RAS就是行地址選通脈沖杨凑,CAS就是列地址選通脈沖),我們可以理解為行選通周期摆昧。tRCD是DDR的一個(gè)重要時(shí)序參數(shù)撩满,廣義的tRCD以時(shí)鐘周期(tCK,Clock?Time)數(shù)為單位绅你,比如tRCD=3伺帘,就代表延遲周期為兩個(gè)時(shí)鐘周期。
4)CL(CAS?Latency忌锯,列地址脈沖選通潛伏期):相關(guān)的列地址被選中之后伪嫁,將會(huì)觸發(fā)數(shù)據(jù)傳輸,但從存儲(chǔ)單元中輸出到真正出現(xiàn)在內(nèi)存芯片的I/O接口之間還需要一定的時(shí)間(數(shù)據(jù)觸發(fā)本身就有延遲偶垮,而且還需要進(jìn)行信號(hào)放大)张咳,CL的數(shù)值與tRCD一樣帝洪,以時(shí)鐘周期數(shù)表示。
5)tAC(Access?Time?from?CLK脚猾,時(shí)鐘觸發(fā)后的訪問時(shí)間):從數(shù)據(jù)I/O總線上有數(shù)據(jù)輸出之前的一個(gè)時(shí)鐘上升沿開始葱峡,數(shù)據(jù)即已傳向S-AMP,也就是說此時(shí)數(shù)據(jù)已經(jīng)被觸發(fā)龙助,經(jīng)過一定的驅(qū)動(dòng)時(shí)間最終傳向數(shù)據(jù)I/O總線進(jìn)行輸出砰奕。
6)突發(fā)(Burst):指在同一行中相鄰的存儲(chǔ)單元連續(xù)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞剑B續(xù)傳輸?shù)闹芷跀?shù)就是突發(fā)長度(Burst Lengths提鸟,簡稱BL)军援。在進(jìn)行突發(fā)傳輸時(shí),只要指定起始列地址與突發(fā)長度沽一,內(nèi)存就會(huì)依次地自動(dòng)對(duì)后面相應(yīng)數(shù)量的存儲(chǔ)單元進(jìn)行讀/寫操作而不再需要控制器連續(xù)地提供列地址盖溺。
7)tRP(Row?Precharge?command?Period,行預(yù)充電有效周期):當(dāng)前尋址的存儲(chǔ)單元是B1铣缠、R2烘嘱、C6。如果接下來的尋址命令是B1蝗蛙、R2蝇庭、C4,則不用預(yù)充電捡硅,因?yàn)樽x出放大器正在為這一行服務(wù)哮内。但如果地址命令是B1、R4壮韭、C4北发,由于是同一Bank的不同行,那么就必須要先把R2關(guān)閉喷屋,才能對(duì)R4尋址琳拨。從開始關(guān)閉現(xiàn)有的工作行,到可以打開新的工作行之間的間隔就是tRP屯曹,單位也是時(shí)鐘周期數(shù)狱庇。
8)數(shù)據(jù)選取脈沖(DQS):主要用來在一個(gè)時(shí)鐘周期內(nèi)準(zhǔn)確的區(qū)分出每個(gè)傳輸周期,并便于接收方準(zhǔn)確接收數(shù)據(jù)恶耽。是數(shù)據(jù)的同步信號(hào)密任。
在寫入時(shí),以DQS的高/低電平期中部為數(shù)據(jù)周期分割點(diǎn)偷俭,而不是上/下沿浪讳,但數(shù)據(jù)的接收觸發(fā)仍為DQS的上/下沿
2、應(yīng)用接口:IP核對(duì)外的接口
主要是看用戶FPGA和UI 接口之間的信號(hào)涌萤,基本和DDR3差不多驻债。
今天就寫這么多乳规。