




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯DDRSDRAM在嵌入式系統(tǒng)中的應(yīng)用-新品速遞引言很多嵌入式系統(tǒng),特別是應(yīng)用于圖像處理與高速數(shù)據(jù)采集等場(chǎng)合的嵌入式系統(tǒng),都需要高速緩存大量的數(shù)據(jù)。DDR(DoubleDataRate,雙數(shù)據(jù)速率)SDRAM由于其速度快、容量大,而且價(jià)格便宜,因此能夠很好地滿足上述場(chǎng)合對(duì)大量數(shù)據(jù)緩存的需求。但DDRSDRAM的接口不能直接與現(xiàn)今的微處理器和DSP的存儲(chǔ)器接口相連,需要在其間插入控制器實(shí)現(xiàn)微處理器或DSP對(duì)存儲(chǔ)器的控制。
隨看密度與性能的不斷提升,現(xiàn)場(chǎng)可編程門陣列(FPGA)已被廣泛應(yīng)用于各種嵌入
式系統(tǒng)中。而且,現(xiàn)在很多的FPGAs都提供了針對(duì)DDRSDRAM的接口特性:其輸入輸出引腳都與SSTL一II電氣特性相兼容,內(nèi)部提供了DDR觸發(fā)器、鎖相環(huán)等硬件資源。使用這些特性,可以更加容易地設(shè)計(jì)性能可靠的高速DDRSDRAM存儲(chǔ)器控制器。1DDRSDRAM在嵌入式系統(tǒng)中的應(yīng)用
圖1是DDRSDRAM在高速信號(hào)源系統(tǒng)中的應(yīng)用實(shí)例。
在該系統(tǒng)中,由FPGA完成各模塊之間的接口控制。FPGA接收從前端傳送過來的高速數(shù)字信號(hào),并將其存儲(chǔ)在DDRSDRAM中;13SP通過FPGA讀取DDR中的數(shù)據(jù).處理后再送回到DDRSDRAM,由FPGA負(fù)責(zé)將數(shù)據(jù)分兩路輸出。該系統(tǒng)對(duì)存儲(chǔ)器的要求是能夠高速地存儲(chǔ)大量的數(shù)據(jù),DDRSDRAM正好能滿足這一要求。此時(shí),F(xiàn)PGA是否能對(duì)DDRSDRAM進(jìn)行有效控制就成為影響系統(tǒng)性能的關(guān)鍵。的試驗(yàn)結(jié)果表明,F(xiàn)PGA是能夠勝任這一任務(wù)的。
2DDRSDRAM的工作方式
在DDRSDRAM能夠被存取數(shù)據(jù)之前,需要先對(duì)其初始化。該初始化流程是預(yù)先定義好的,不正確的操作將導(dǎo)致無法預(yù)料的結(jié)果。初始化的過程中將設(shè)置DDRSDRAM的普通模式寄存器和擴(kuò)展模式寄存器,用來制定DDRSDRAM的工作方式。這些設(shè)置包括突發(fā)長(zhǎng)度、突發(fā)類型、CAS潛伏期和工作模式以及擴(kuò)展模式寄存器中的對(duì)DDRSDRAM內(nèi)部DLL的使能與輸出驅(qū)動(dòng)能力的設(shè)置。模式寄存器可以被再編程,這時(shí)需要DDRSDRAM的各個(gè)區(qū)(bank)處于空閑狀態(tài),從而改變存儲(chǔ)器的工作模式。如果操作正確,對(duì)模式寄存器的再編程不會(huì)改變存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù)。
初始化完成之后,DDRSDRAM便進(jìn)入正常的工作狀態(tài),此時(shí)便可對(duì)存儲(chǔ)器進(jìn)行讀寫和刷新。DDRSDRAM在一對(duì)差分時(shí)鐘(CLK與CLKn;CLK的上升沿與CLKn的下降沿的交點(diǎn)被認(rèn)為是CLK的上升沿)的控制下工作。命令(地址和控制信號(hào))在每個(gè)時(shí)鐘(CLK)的上升沿被觸發(fā)。隨著數(shù)據(jù)一起傳送的還包括一個(gè)雙向的數(shù)據(jù)選通信號(hào),接收方通過該信號(hào)來接收數(shù)據(jù)。DQS作為選通信號(hào)在讀周期中由DDRSDRAM來產(chǎn)生,在寫周期中由存儲(chǔ)器控制器來產(chǎn)生。該選通信號(hào)與數(shù)據(jù)相關(guān),其作用類似于一個(gè)獨(dú)立的時(shí)鐘,因此也需要滿足相應(yīng)的時(shí)序要求。讀周期中,DQS與數(shù)據(jù)是邊沿對(duì)齊的;寫周期中,DQS與數(shù)據(jù)是中心對(duì)齊的。存儲(chǔ)器輸入的數(shù)據(jù)在DQS的兩個(gè)沿都觸發(fā).輸出的數(shù)據(jù)也是以DQS的兩個(gè)沿作為參考,同時(shí)還要以時(shí)鐘CLK的兩個(gè)沿作為參考。因此,由于接口在時(shí)鐘的兩個(gè)沿的觸發(fā)下工作,其數(shù)據(jù)寬度(n)是存儲(chǔ)器數(shù)據(jù)寬度(2n)的一半。圖2描述了DDRSDRAM的工作方式。
對(duì)DDRSDRAM的讀和寫操作是基于突發(fā)的:從一個(gè)選定的地址單元開始,連續(xù)存取設(shè)置好長(zhǎng)度的地址單元。該長(zhǎng)度就是所謂的突發(fā)長(zhǎng)度。DDRSDRAM提供的可編程的讀或?qū)懙耐话l(fā)長(zhǎng)度為2,4或8。數(shù)據(jù)的存取以一個(gè)激活命令(ACTlVEcommand,RAS_nlow)開始,接著便是讀(CAS_nlow)或?qū)?CAS_nlowandWE_nlow)命令。與激活命令一起被觸發(fā)的地址位用來選擇將要存取的區(qū)(bank)和頁(yè)(或行)}與讀或?qū)懨钜黄鹩|發(fā)的地址位用來選擇突發(fā)存取的起始列單元。使用控制器讀取DDRSDRAM的仿真波形示意圖如圖2所示。讀命令被觸發(fā)后,數(shù)據(jù)將在1.5~3個(gè)時(shí)鐘周期之后出現(xiàn)在數(shù)據(jù)總線上。這個(gè)延遲就是所謂的CAS潛伏期(CASlatency),即從DRAM內(nèi)核讀出數(shù)據(jù)到數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線上所需要的時(shí)間。CAS潛伏期的大小與SDRAM的速度和存儲(chǔ)器的時(shí)鐘頻率有關(guān)。當(dāng)要存取一個(gè)不同行的地址單元時(shí),需要通過一個(gè)預(yù)充電(PRECHARGE)操作關(guān)閉當(dāng)前行。自動(dòng)刷新(AUTO-REFRESH)命令用來周期性地刷新DDRSDRAM,以保持其內(nèi)部的數(shù)據(jù)不丟失。3DDRSDRAM控制器的設(shè)計(jì)
DDRSDRAM控制器的功能就是初始化DDRSDRAM;將DDRSDRAM復(fù)雜的讀寫時(shí)序轉(zhuǎn)化為用戶方簡(jiǎn)單的讀寫時(shí)序,以及將DDRSDRAM接口的雙時(shí)鐘沿?cái)?shù)據(jù)轉(zhuǎn)換為用戶方的單時(shí)鐘沿?cái)?shù)據(jù),使用戶像操作普通的RAM一樣控制DDRSDRAM;同時(shí),控制器還要產(chǎn)生周期性的刷新命令來維持DDRSDRAM內(nèi)的數(shù)據(jù)而不需要用戶的干預(yù)。
3.1DDRSDRAM控制器的控制流程
DDRSDRAM提供了多種命令,整個(gè)控制狀態(tài)機(jī)非常復(fù)雜。但很多應(yīng)用場(chǎng)合中,并不需要用到所有的命令,因
此為了簡(jiǎn)化設(shè)計(jì),但同時(shí)又兼顧盡可能多的應(yīng)用場(chǎng)合,在控制器的設(shè)計(jì)中制定了如下幾種功能:DDRSDRAM的初始化,可變長(zhǎng)度的突發(fā)讀寫,自動(dòng)刷新功能,預(yù)充電以及模式寄存器的重置(reload)。圖3是控制器整個(gè)狀態(tài)轉(zhuǎn)移圖。
系統(tǒng)上電后,DDRSDRAM處于空閑狀態(tài)(Idle),在對(duì)存儲(chǔ)器進(jìn)行讀寫操作之前,需要先對(duì)其進(jìn)行初始化。初始化的過程中,將設(shè)置突發(fā)長(zhǎng)度,突發(fā)類型,CAS潛伏期等參數(shù)。DDRSDRAM的初始化有一個(gè)固定的步驟,錯(cuò)誤的操作將導(dǎo)致DDRSDRAM進(jìn)入不確定狀態(tài)。在控制器中使用了一個(gè)專門的初始化狀態(tài)機(jī)來對(duì)DDRSDRAM進(jìn)行初始化。
初始化完之后便可對(duì)DDRSDRAM進(jìn)行讀、寫或其他操作。在執(zhí)行讀(寫)命令之前,先要激活(Ac—tive)將要讀(寫)的行,之后便可對(duì)該行進(jìn)行突發(fā)讀(寫)。在控制器的設(shè)計(jì)中,所有的讀寫命令都是不帶預(yù)充電的,因此,某一行被激活之后將一直處于激活狀態(tài),直到用戶發(fā)送突發(fā)終止命令,此時(shí)控制器將自動(dòng)產(chǎn)生一個(gè)預(yù)充電命令來關(guān)閉當(dāng)前行。這樣,某一行被激活之后用戶便可進(jìn)行連續(xù)的突發(fā)讀(寫)操作,從而節(jié)省了每次突發(fā)讀寫所需要的激活時(shí)間,提高了系統(tǒng)的數(shù)據(jù)吞吐率。
控制器同時(shí)提供了一個(gè)自動(dòng)刷新(autorefresh)計(jì)數(shù)器,每隔一定的時(shí)間間隔(即DDRSDRAM的刷新周期,根據(jù)所使用的存儲(chǔ)器而定,可在控制器中設(shè)定),便會(huì)產(chǎn)生一個(gè)刷新請(qǐng)求。如果此時(shí)DlDRSDRAM處于空閑狀態(tài),控制器便會(huì)發(fā)出一個(gè)自動(dòng)刷新命令來對(duì)DDRSDRAM進(jìn)行刷新;如果此時(shí)DDRSDRAM正在進(jìn)行讀(寫)操作,控制器將會(huì)等到當(dāng)前的讀(寫)操作完成之后再發(fā)送刷新命令。在刷新過程中,用戶如果有讀(寫)請(qǐng)求,控制器將在當(dāng)前刷新周期完成之后再響應(yīng)用戶的請(qǐng)求。
正常的操作過程中,當(dāng)DDRSDRAM處于空閑狀態(tài)時(shí),用戶還可以根據(jù)實(shí)際的需要來重置存儲(chǔ)器的控制寄存器,重新設(shè)定存儲(chǔ)器的突發(fā)長(zhǎng)度、突發(fā)類型、CAS潛伏期等參數(shù)。
3.2控制器數(shù)據(jù)通道的結(jié)構(gòu)
圖4是DDRSDRAM控制器數(shù)據(jù)通道的結(jié)構(gòu)圖。
圖4中完整地顯示了控制器讀和寫數(shù)據(jù)通道上DQ與DQS的結(jié)構(gòu)關(guān)系。前面提到過,Cyclone系列FPGA沒有帶DDR觸發(fā)器的輸入輸出單元,但完全可以用靠近輸入輸出引腳處的邏輯資源來實(shí)現(xiàn)DDR觸發(fā)器,而且的結(jié)果表明,這種實(shí)現(xiàn)方式可以滿足時(shí)序要求。
從圖4中也可以看到,控制器內(nèi)部有兩個(gè)時(shí)鐘,clk和clk_90,兩者之間的相位差為90°。圖中將面向存儲(chǔ)器的時(shí)鐘命名為clk。它是clk_90時(shí)鐘的90°相位延遲后的信號(hào)。clk_90作為系統(tǒng)時(shí)鐘來驅(qū)動(dòng)整個(gè)FPGA,clk時(shí)鐘驅(qū)動(dòng)存儲(chǔ)器接口電路。
3.2.1DQS相位延遲電路
在讀周期中,DDRSDRAM輸出的DQ和DQS信號(hào)是邊沿對(duì)齊的。為了使用DQS作為選通信號(hào)來捕獲DQ,DQS信號(hào)需要在FPGA內(nèi)部相對(duì)于DQ信號(hào)作90°的相位延遲。但是這個(gè)延遲不能使用鎖相環(huán)(PLL)來完成,因?yàn)镈QS信號(hào)不具有時(shí)鐘的特性。因此,需要在DQS和讀數(shù)據(jù)時(shí)鐘之間加一個(gè)延遲鏈(delaychain),如圖4中所示。
前面提到過,Cyclone系列FPGA在其DQS輸入引腳上有一個(gè)專用的延遲單元,用來使DQS相對(duì)于DQ信號(hào)產(chǎn)生一個(gè)90°的相移。因此,可以使用該硬核資源來完成對(duì)DQS的相移,而不必通過內(nèi)部的邏輯來搭建這樣一個(gè)延遲電路。從而可以獲得更好的時(shí)序性能。
3.2.2再同步
讀周期中,從DDRSDRAM來的數(shù)據(jù)信號(hào)首先通過延遲后的DQS鎖存到DDR觸發(fā)器中。為了在FPGA內(nèi)部能夠使用該數(shù)據(jù),還要將其同步到FPGA內(nèi)部的時(shí)鐘域上,這個(gè)過程稱為再同步(resynchronization)。如圖4所示,對(duì)于前DQS延遲后的信號(hào)鎖存的數(shù)據(jù)再通過clk-90同步之后才送到內(nèi)部數(shù)據(jù)總線上。
在寫周期中,DQS與DQ必須是中心對(duì)齊的(centerahgn)。我們用clk_90時(shí)鐘觸發(fā)的DDR觸發(fā)器產(chǎn)生DQS信號(hào),因此,為了滿足時(shí)序要求,從內(nèi)部來的數(shù)據(jù)通過clk_90時(shí)鐘鎖存后再由clk觸發(fā)的DDR觸發(fā)器將其輸出,從而保證DQs與DQ是中心對(duì)齊的。
4控制器的實(shí)現(xiàn)
該控制器針對(duì)16位寬512Mb的DDRSDRAM設(shè)計(jì),在Altera公司的QuartusII4.2環(huán)
境中采用Cyclone系列的EPlC6Q2410C6來實(shí)現(xiàn),總共使用了729個(gè)邏輯單元,占FPGA可編程邏輯資源的12%,此外還使用了1個(gè)鎖相環(huán)(PLL)。,在Modelsim5.8中對(duì)整個(gè)工程進(jìn)行布局一布線后仿真(Post-P1aceRouteSimulation),采用的模型為Micron公司的512Mb的DDRSDRAMMT46V32M16的仿真模型,時(shí)鐘為133MHz,圖2是控制器讀取DDRSDRAM的時(shí)序仿真波形。5結(jié)論
本文給出了一種通過FPGA控制將DDRSDRAM應(yīng)用在嵌入式系統(tǒng)中的方法。設(shè)計(jì)中采用Altera公司性價(jià)比較高的Cyclone系列FPGA,并充分利用片內(nèi)提引言
很多嵌入式系統(tǒng),特別是應(yīng)用于圖像處理與高速數(shù)據(jù)采集等場(chǎng)合的嵌入式系統(tǒng),都需要高速緩存大量的數(shù)據(jù)。DDR(DoubleDataRate,雙數(shù)據(jù)速率)SDRAM由于其速度快、容量大,而且價(jià)格便宜,因此能夠很好地滿足上述場(chǎng)合對(duì)大量數(shù)據(jù)緩存的需求。但DDRSDRAM的接口不能直接與現(xiàn)今的微處理器和DSP的存儲(chǔ)器接口相連,需要在其間插入控制器實(shí)現(xiàn)微處理器或DSP對(duì)存儲(chǔ)器的控制。
隨看密度與性能的不斷提升,現(xiàn)場(chǎng)可編程門陣列(FPGA)已被廣泛應(yīng)用于各種嵌入
式系統(tǒng)中。而且,現(xiàn)在很多的FPGAs都提供了針對(duì)DDRSDRAM的接口特性:其輸入輸出引腳都與SSTL一II電氣特性相兼容,內(nèi)部提供了DDR觸發(fā)器、鎖相環(huán)等硬件資源。使用這些特性,可以更加容易地設(shè)計(jì)性能可靠的高速DDRSDRAM存儲(chǔ)器控制器。
1DDRSDRAM在嵌入式系統(tǒng)中的應(yīng)用
圖1是DDRSDRAM在高速信號(hào)源系統(tǒng)中的應(yīng)用實(shí)例。
在該系統(tǒng)中,由FPGA完成各模塊之間的接口控制。FPGA接收從前端傳送過來的高速數(shù)字信號(hào),并將其存儲(chǔ)在DDRSDRAM中;13SP通過FPGA讀取DDR中的數(shù)據(jù).處理后再送回到DDRSDRAM,由FPGA負(fù)責(zé)將數(shù)據(jù)分兩路輸出。該系統(tǒng)對(duì)存儲(chǔ)器的要求是能夠高速地存儲(chǔ)大量的數(shù)據(jù),DDRSDRAM正好能滿足這一要求。此時(shí),F(xiàn)PGA是否能對(duì)DDRSDRAM進(jìn)行有效控制就成為影響系統(tǒng)性能的關(guān)鍵。的試驗(yàn)結(jié)果表明,F(xiàn)PGA是能夠勝任這一任務(wù)的。
2DDRSDRAM的工作方式
在DDRSDRAM能夠被存取數(shù)據(jù)之前,需要先對(duì)其初始化。該初始化流程是預(yù)先定義好的,不正確的操作將導(dǎo)致無法預(yù)料的結(jié)果。初始化的過程中將設(shè)置DDRSDRAM的普通模式寄存器和擴(kuò)展模式寄存器,用來制定DDRSDRAM的工作方式。這些設(shè)置包括突發(fā)長(zhǎng)度、突發(fā)類型、CAS潛伏期和工作模式以及擴(kuò)展模式寄存器中的對(duì)DDRSDRAM內(nèi)部DLL的使能與輸出驅(qū)動(dòng)能力的設(shè)置。模式寄存器可以被再編程,這時(shí)需要DDRSDRAM的各個(gè)區(qū)(bank)處于空閑狀態(tài),從而改變存儲(chǔ)器的工作模式。如果操作正確,對(duì)模式寄存器的再編程不會(huì)改變存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù)。
初始化完成之后,DDRSDRAM便進(jìn)入正常的工作狀態(tài),此時(shí)便可對(duì)存儲(chǔ)器進(jìn)行讀寫和刷新。DDRSDRAM在一對(duì)差分時(shí)鐘(CLK與CLKn;CLK的上升沿與CLKn的下降沿的交點(diǎn)被認(rèn)為是CLK的上升沿)的控制下工作。命令(地址和控制信號(hào))在每個(gè)時(shí)鐘(CLK)的上升沿被觸發(fā)。隨著數(shù)據(jù)一起傳送的還包括一個(gè)雙向的數(shù)據(jù)選通信號(hào),接收方通過該信號(hào)來接收數(shù)據(jù)。DQS作為選通信號(hào)在讀周期中由DDRSDRAM來產(chǎn)生,在寫周期中由存儲(chǔ)器控制器來產(chǎn)生。該選通信號(hào)與數(shù)據(jù)相關(guān),其作用類似于一個(gè)獨(dú)立的時(shí)鐘,因此也需要滿足相應(yīng)的時(shí)序要求。讀周期中,DQS與數(shù)據(jù)是邊沿對(duì)齊的;寫周期中,DQS與數(shù)據(jù)是中心對(duì)齊的。存儲(chǔ)器輸入的數(shù)據(jù)在DQS的兩個(gè)沿都觸發(fā).輸出的數(shù)據(jù)也是以DQS的兩個(gè)沿作為參考,同時(shí)還要以時(shí)鐘CLK的兩個(gè)沿作為參考。因此,由于接口在時(shí)鐘的兩個(gè)沿的觸發(fā)下工作,其數(shù)據(jù)寬度(n)是存儲(chǔ)器數(shù)據(jù)寬度(2n)的一半。圖2描述了DDRSDRAM的工作方式。
對(duì)DDRSDRAM的讀和寫操作是基于突發(fā)的:從一個(gè)選定的地址單元開始,連續(xù)存取設(shè)置好長(zhǎng)度的地址單元。該長(zhǎng)度就是所謂的突發(fā)長(zhǎng)度。DDRSDRAM提供的可編程的讀或?qū)懙耐话l(fā)長(zhǎng)度為2,4或8。數(shù)據(jù)的存取以一個(gè)激活命令(ACTlVEcommand,RAS_nlow)開始,接著便是讀(CAS_nlow)或?qū)?CAS_nlowandWE_nlow)命令。與激活命令一起被觸發(fā)的地址位用來選擇將要存取的區(qū)(bank)和頁(yè)(或行)}與讀或?qū)懨钜黄鹩|發(fā)的地址位用來選擇突發(fā)存取的起始列單元。使用控制器讀取DDRSDRAM的仿真波形示意圖如圖2所示。讀命令被觸發(fā)后,數(shù)據(jù)將在1.5~3個(gè)時(shí)鐘周期之后出現(xiàn)在數(shù)據(jù)總線上。這個(gè)延遲就是所謂的CAS潛伏期(CASlatency),即從DRAM內(nèi)核讀出數(shù)據(jù)到數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線上所需要的時(shí)間。CAS潛伏期的大小與SDRAM的速度和存儲(chǔ)器的時(shí)鐘頻率有關(guān)。當(dāng)要存取一個(gè)不同行的地址單元時(shí),需要通過一個(gè)預(yù)充電(PRECHARGE)操作關(guān)閉當(dāng)前行。自動(dòng)刷新(AUTO-REFRESH)命令用來周期性地刷新DDRSDRAM,以保持其內(nèi)部的數(shù)據(jù)不丟失。3DDRSDRAM控制器的設(shè)計(jì)
DDRSDRAM控制器的功能就是初始化DDRSDRAM;將DDRSDRAM復(fù)雜的讀寫時(shí)序轉(zhuǎn)化為用戶方簡(jiǎn)單的讀寫時(shí)序,以及將DDRSDRAM接口的雙時(shí)鐘沿?cái)?shù)據(jù)轉(zhuǎn)換為用戶方的單時(shí)鐘沿?cái)?shù)據(jù),使用戶像操作普通的RAM一樣控制DDRSDRAM;同時(shí),控制器還要產(chǎn)生周期性的刷新命令來維持DDRSDRAM內(nèi)的數(shù)據(jù)而不需要用戶的干預(yù)。
3.1DDRSDRAM控制器的控制流程
DDRSDRAM提供了多種命令,整個(gè)控制狀態(tài)機(jī)非常復(fù)雜。但很多應(yīng)用場(chǎng)合中,并不需要用到所有的命令,因
此為了簡(jiǎn)化設(shè)計(jì),但同時(shí)又兼顧盡可能多的應(yīng)用場(chǎng)合,在控制器的設(shè)計(jì)中制定了如下幾種功能:DDRSDRAM的初始化,可變長(zhǎng)度的突發(fā)讀寫,自動(dòng)刷新功能,預(yù)充電以及模式寄存器的重置(reload)。圖3是控制器整個(gè)狀態(tài)轉(zhuǎn)移圖。
系統(tǒng)上電后,DDRSDRAM處于空閑狀態(tài)(Idle),在對(duì)存儲(chǔ)器進(jìn)行讀寫操作之前,需要先對(duì)其進(jìn)行初始化。初始化的過程中,將設(shè)置突發(fā)長(zhǎng)度,突發(fā)類型,CAS潛伏期等參數(shù)。DDRSDRAM的初始化有一個(gè)固定的步驟,錯(cuò)誤的操作將導(dǎo)致DDRSDRAM進(jìn)入不確定狀態(tài)。在控制器中使用了一個(gè)專門的初始化狀態(tài)機(jī)來對(duì)DDRSDRAM進(jìn)行初始化。
初始化完之后便可對(duì)DDRSDRAM進(jìn)行讀、寫或其他操作。在執(zhí)行讀(寫)命令之前,先要激活(Ac—tive)將要讀(寫)的行,之后便可對(duì)該行進(jìn)行突發(fā)讀(寫)。在控制器的設(shè)計(jì)中,所有的讀寫命令都是不帶預(yù)充電的,因此,某一行被激活之后將一直處于激活狀態(tài),直到用戶發(fā)送突發(fā)終止命令,此時(shí)控制器將自動(dòng)產(chǎn)生一個(gè)預(yù)充電命令來關(guān)閉當(dāng)前行。這樣,某一行被激活之后用戶便可進(jìn)行連續(xù)的突發(fā)讀(寫)操作,從而節(jié)省了每次突發(fā)讀寫所需要的激活時(shí)間,提高了系統(tǒng)的數(shù)據(jù)吞吐率。
控制器同時(shí)提供了一個(gè)自動(dòng)刷新(autorefresh)計(jì)數(shù)器,每隔一定的時(shí)間間隔(即DDRSDRAM的刷新周期,根據(jù)所使用的存儲(chǔ)器而定,可在控制器中設(shè)定),便會(huì)產(chǎn)生一個(gè)刷新請(qǐng)求。如果此時(shí)DlDRSDRAM處于空閑狀態(tài),控制器便會(huì)發(fā)出一個(gè)自動(dòng)刷新命令來對(duì)DDRSDRAM進(jìn)行刷新;如果此時(shí)DDRSDRAM正在進(jìn)行讀(寫)操作,控制器將會(huì)等到當(dāng)前的讀(寫)操作完成之后再發(fā)送刷新命令。在刷新過程中,用戶如果有讀(寫)請(qǐng)求,控制器將在當(dāng)前刷新周期完成之后再響應(yīng)用戶的請(qǐng)求。
正常的操作過程中,當(dāng)DDRSDRAM處于空閑狀態(tài)時(shí),用戶還可以根據(jù)實(shí)際的需要來重置存儲(chǔ)器的控制寄存器,重新設(shè)定存儲(chǔ)器的突發(fā)長(zhǎng)度、突發(fā)類型、CAS潛伏期等參數(shù)。
3.2.1DQS相位延遲電路
在讀周期中,DDRSDRAM輸出的DQ和DQS信號(hào)是邊沿對(duì)齊的。為了使用DQS作為選通信號(hào)來捕獲DQ,DQS信號(hào)需要在FPGA內(nèi)部相對(duì)于DQ信號(hào)作90°的相位延遲。但是這個(gè)延遲不能使用鎖相環(huán)(PLL)來完成,因?yàn)镈QS信號(hào)不具有時(shí)鐘的特性。因此,需要在DQS和讀數(shù)據(jù)時(shí)鐘之間加一個(gè)延遲鏈(delaychain),如圖4中所示。
前面提到過,Cyclone系列FPGA在其DQS輸入引腳上有一個(gè)專用的延遲單元,用來使DQS相對(duì)于DQ信號(hào)產(chǎn)生一個(gè)90°的相移。因此,可以使用該硬核資源來完成對(duì)DQS的相移,而不必通過內(nèi)部的邏輯來搭建這樣一個(gè)延遲電路。從而可以獲得更好的時(shí)序性能。
3.2.2再同步
讀周期中,從DDRSDRAM來的數(shù)據(jù)信號(hào)首先通過延遲后的DQS鎖存到DDR觸發(fā)器中。為了在FPGA內(nèi)部能夠使用該數(shù)據(jù),還要將其同步到FPGA內(nèi)部的時(shí)鐘域上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 古詩(shī)詞誦讀《登岳陽(yáng)樓》教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版高中語文必修下冊(cè)
- 遼寧省縣級(jí)重點(diǎn)高中協(xié)作體2023-2024學(xué)年高三上學(xué)期末考試地理試題(解析版)
- 江蘇省蘇州市2023-2024學(xué)年高二上學(xué)期期中考試地理試題(解析版)
- 2025至2030年中國(guó)新型建筑材料數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年廣東省廣州市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)必考題
- 機(jī)械制造技術(shù)基礎(chǔ) 機(jī)械制造工程基礎(chǔ)練習(xí)題學(xué)習(xí)課件
- 2024年二級(jí)建造師繼續(xù)教育考核題及答案
- 2025至2030年中國(guó)快速集中熔解爐數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 人教版歷史與社會(huì)七年級(jí)下冊(cè)第七單元第二課《傳媒的行程》教學(xué)設(shè)計(jì)
- 二零二五年度環(huán)境污染和解賠款協(xié)議
- ASTM標(biāo)準(zhǔn)全部目錄(中文版)
- 《汽車電氣設(shè)備構(gòu)造與維修》 第4版 課件 第3、4章 電源系統(tǒng)、發(fā)動(dòng)機(jī)電器
- 遼海版小學(xué)美術(shù)六年級(jí)下冊(cè)全冊(cè)教案
- 2023年南京市鼓樓區(qū)建寧路街道安監(jiān)辦招聘專職安全員考試真題及答案
- 2024陜西延長(zhǎng)石油集團(tuán)礦業(yè)公司所屬單位招聘筆試參考題庫(kù)附帶答案詳解
- 鄉(xiāng)鎮(zhèn)精神衛(wèi)生工作總結(jié)
- 井工煤礦中長(zhǎng)期防治水規(guī)劃編制細(xì)則
- 2024年湘中幼兒師范高等專科學(xué)校高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫(kù)含答案解析
- 設(shè)備使用手冊(cè)(范例模板)
- 上海房屋修繕工程培訓(xùn)課件
- 醫(yī)院電梯安全操作培訓(xùn)記錄
評(píng)論
0/150
提交評(píng)論