999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的頁快速命中的SDRAM控制器的設計

2015-04-12 00:00:00陳瑞斌等
現代電子技術 2015年13期

摘 要: 深入探討SDRAM的工作原理和工作時序,通過SDRAM三種常用尋址方式的對比,設計一種基于FPGA的頁快速命中尋址的16位SDRAM控制器。軟件仿真、硬件測試及實物調試結果表明:該控制器能極大地縮短尋址時間,并具有良好的實時性、高效性和模塊重用性;同時也節省了FPGA的內部資源,縮短了研發周期。

關鍵詞: 頁快速命中; FPGA; SDRAM控制器; 尋址方式

中圖分類號: TN919.3?34 文獻標識碼: A 文章編號: 1004?373X(2015)13?0063?04

Abstract: In this paper, working principle and time sequence analysis of SDRAM are discussed deeply. By comparing three common addressing modes, a 16?bit SDRAM controller of page fast hitting based on FPGA was designed. Results of software simulation, hardware test and practical debug show that the controller can shorten addressing time greatly. The controller has good real?time performance, high efficiency and module reusability. It also can save internal resources in FPGA and reduce development cycle.

Keywords: page fast hitting; FPGA; SDRAM controller; addressing mode

0 引 言

隨著現代通信及實時圖像處理的發展,大容量、高速度的儲存器越來越顯得重要。SDRAM即同步動態隨機存貯器[1],由于價格低廉及儲存量大的優點,被廣泛地應用于高速數據采集、處理的領域。但本身也具備一定缺點,如控制復雜,對時序要求高,無一不對應用推廣有著反效果。FPGA即現場可編程門陣列,以并行運算為主,在速度和性能上是MCU無法比擬的。本文針對其復雜的邏輯控制、嚴格的時序要求,利用頁快速命中尋址方式,設計出一種能有效消除行尋址到列尋址之間間隔([tRCD])所帶來延遲的通用SDRAM控制器,并利用ALTERA公司的FPGA芯片EP2C35F484C8N[2]和三星公司的SDRAM芯片K4S641632K[3]作為硬件平臺,對該SDRAM控制器進行了實物調試與驗證。

1 SDRAM的工作方式和時序分析

1.1 SDRAM的內部結構

SDRAM的內部是一個存儲陣列。陣列就像一個表格,檢索方式與表格一樣,首先指定一個行,然后再指定一個列,就能精確地找到指定的單元格,這就是內存芯片尋址的基本原理[4]。對于內存、單元格就是列存儲單元,也是SDRAM的基本存儲單元,則這個表格就是邏輯Bank(Logical Bank,L_Bank)。相應地,指定行的操作就是行尋址或行有效;指定列的操作是列尋址,列尋址時都伴隨著讀或寫命令,故又稱為列讀取或列寫入操作。

1.2 SDRAM的工作時序分析

SDRAM的效率體現在內存尋址的速度;而SDRAM的基本工作是寫入和讀取數據,但在執行這些工作時,并不是每一時刻都處于數據傳輸狀態。由于非數據傳輸時產生了各種延遲與潛伏期,導致SDRAM的效率沒有達到百分之百。以讀取操作為例,主要影響SDRAM工作效率的參數[5]有:行有效命令與列讀/寫命令的間隔([tRCD]);列讀取命令發出到第一批數據輸出的間隔([tCL]);預充電有效周期([tRP])。

圖1為典型的SDRAM讀取操作時序,通過行有效來打開相應的工作行,之后發送列讀取命令在已打開的行中選擇某一列進行讀取。經過[tCL]延遲后,依次讀取選中的對應突發長度[6]的列單元數據,最后依靠預充電來關閉工作行。在關閉工作行的同時,其對應行的列單元數據將被鎖存起來。

當反復進行讀取操作時,從上一次數據讀取的結束到本次數據讀取的開始,其間歷經了預充電、行有效和列讀取命令三個執行流程,總耗費時間為:

[T=tRCD+tCL+tRP] (1)

因此,根據SDRAM的讀取時間和尋址方式的不同,SDRAM的尋址方式可分為以下三種方式:

1.2.1 頁命中尋址方式[7]

頁命中的工作行和L_Bank是空閑的,也就是說該 L_Bank 的所有行是關閉的,此時可直接發送行有效命令。頁命中尋址方式的時間為:

[T1=tRCD+tCL] (2)

1.2.2 頁錯失尋址方式[7]

頁錯失尋址方式即上一次工作行沒有關閉,并且本次讀取的工作行需要換行。這種現象也稱為尋址沖突,需要通過預充電來關閉上一次的工作行,再執行新一行的行有效命令,因此這種尋址方式所用的時間為:

[T2=tRCD+tCL+tRP] (3)

1.2.3 頁快速命中尋址方式[7]

頁快速命中亦稱為背靠背(Back To Back)尋址,即要尋址的行正好是前一個操作的工作行,此時可直接發送列讀/寫命令。這種尋址方式的時間僅為:

[T3=tCL] (4)

可見,三種尋址方式中尋址時間最短的是頁快速命中尋址方式。為了提高SDRAM的工作效率,本文設計一種基于FPGA的頁快速命中SDRAM控制器,使SDRAM的尋址方式始終為頁快速命中尋址方式。

2 基于FPGA的頁快速命中SDRAM控制器的

設計

2.1 SDRAM控制器在FPGA上的具體方案

SDRAM控制器的RTL層視圖如圖2所示,其主要分為3個模塊:鎖相環模塊(PLL),初始化模塊(sdram_Init)和數據讀/寫模塊(sdram_wr_data)。3個模塊共同組成SDRAM控制器的底層驅動,相應的輸入/輸出端口主要分為兩類:一類是FPGA內部控制接口,包括控制類型的復位信號(areset),SDRAM使能信號(sd_active)與讀/寫控制信號(rw),數據通信類型的地址信號(address),寫入數據信號(indata)和讀取數據信號(outdata);另一類是SDRAM控制接口,與外部SDRAM芯片K4S641632K引腳相連,包括了起數據通信作用的雙向通信數據口(SDRAM_DATA)和SDRAM命令輸出的信號行有效(RAS_N)、列有效(CAS_N)等。

2.1.1 PLL模塊

系統的輸入時鐘為50 MHz,而SDRAM芯片和SDRAM控制器的工作時鐘頻率設定為100 MHz。需要通過調用FPGA的內部IP核[8]鎖相環模塊(PLL)來實現SDRAM和SDRAM控制器的工作頻率和時鐘相移。

2.1.2 sdram_init模塊

初始化模塊(sdram_init)的作用是實現SDRAM芯片的初始化和SDRAM控制指令輸出。主要由兩個有限狀態機[9]實現,一個是初始化狀態機,另一個是工作狀態機。初始化狀態機屬于摩爾型狀態機,即輸出的SDRAM控制命令信號僅隨著狀態的更改而變化。當完成初始化后,SDRAM控制器進入工作狀態;工作狀態機根據頁快速命中的工作方式,在輸入地址和當前工作狀態的共同作用下,輸出SDRAM的控制命令和地址。上電復位后,兩個狀態機同時進入復位狀態,直至PLL輸出時鐘穩定為止。當PLL穩定后,sdram_init模塊首先進入初始化狀態機,狀態機如圖3所示。初始化時先后經歷了200 μs的穩定期,所有L?Bank的預充電, 8個周期自動刷新,模式寄存器的設置(MRS)。當初始化進入結束狀態時,初始化狀態機結束,模塊進入工作狀態機。

工作狀態機主要由空閑、行有效、讀取、寫入和自動刷新5個狀態組成。默認狀態為空閑,優先判斷是否需要進入自動刷新狀態。通過判斷SDRAM使能信號(sd_active)決定是否需要進入行有效狀態,讀/寫控制信號(rw)選擇進入讀取還是寫入狀態。K4S641632K需要在64 ms內完成8 192個自動刷新周期,即每7.8 μs進入自動刷新狀態1次。

2.1.3 sdram_wr_data模塊

數據讀/寫模塊(sdram_wr_data)負責SDRAM控制器的16位數據傳輸。主要端口有寫入數據信號(indata)、讀取數據信號(outdata)、SDRAM雙向通信數據口(SDRAM_DATA)、讀取有效信號(read_valid)和寫入有效信號(write_valid)。其中indata和outdata屬于SDRAM控制器FPGA內部使用接口,與SDRAM上層驅動連接;read_valid和write_valid屬于數據傳輸輔助端口,與內部模塊sdram_init相連;Sdram_Data是SDRAM控制器的底層雙通道數據接口,直接與外部的SDRAM芯片的數據端口相連。

2.2 SDRAM控制器的Modelsim仿真

本設計是基于Quartusii 9.1環境下通過編寫Verilog語言的testbench文件,并利用第三方軟件modelsim協助下的波形仿真。如圖4所示,SDRAM控制器處于連續寫工作狀態,每個列寫入命令都伴隨著4個16位位寬的數據。由于仿真的目的在于驗證輸出命令與數據的正確性,故寫入數據信號(data)采用每工作周期自增1的連續數據。在突發長度期間,輸出命令主要為空命令(NOP),即行有效(RAS)、列有效(CAS)、地址線(A)和L_Bank地址線(BA)都輸出高;空命令實際就是無操作,等待下一次操作命令的到來,仿真時序處于行有效范圍內且尚未自動刷新,故無需發送行有效命令。

2.3 SDRAM控制器的硬件測試與驗證

為了進一步驗證SDRAM控制器的實用性和準確性,實物驗證時添加了通信模塊uart,并且把FPGA與PC機相連,通過軟件串口調試助手進行收發驗證。由于SDRAM工作時,輸入與輸出部分的工作時鐘一般與SDRAM異步。故此,在輸入與輸出部分需要設置16位異步FIFO[10]作為輸入和輸出緩存器。SDRAM控制器的實物驗證方案圖如圖5所示,主要包括輸入緩存器FIFOin,SDRAM控制器SDRAM_CONTROLLER,SDRAM邏輯控制器SDRAM_LOGIC,輸出緩存器FIFOout和串口通信模塊UART。

邏輯控制器SDRAM_LOGIC實現了SDRAM工作時的邏輯狀態跳轉。如圖6所示,SDRAM_LOGIC默認狀態為邏輯空閑,當輸入FIFOin寫滿或寫入結束時,邏輯狀態由邏輯空閑狀態跳轉到邏輯寫狀態。在所有數據寫入SDRAM后,邏輯狀態將從邏輯寫狀態跳轉到邏輯讀狀態,相應地讀出數據,并與原來寫入的數據比較來驗證SDRAM控制器的正確性。

圖7為串口調試助手的驗證圖,通過串口調試助手發送一連串的數據到FPGA開發板上,uart模塊把接收的數據傳輸到SDRAM控制模塊上,控制模塊通過頁快速命中尋址方式把數據依次寫入到SDRAM芯片上。寫入結束后,SDRAM控制器又把數據從 SDRAM芯片上依次讀取并傳輸到UART模塊,并通過UART把數據發送回串口調試助手。最后對比串口調試助手的寫入數據與讀出數據可知SDRAM控制器能精準地完成數據在SDRAM芯片上的寫入與讀出。

3 結 論

本文采用FPGA芯片EP2C35F484C8N實現了基于頁快速命中的SDRAM控制器,并利用串口通信驗證了該控制器的可靠性。雙端口輸入/輸出緩存器FIFO使其適應于異步時鐘下的數據交換。相對于頁命中和頁錯失尋址,頁快速命中更加合理、有效、快速地實現了SDRAM的寫入和讀取操作。同時結合了FPGA的高速、并行等優勢,使SDRAM控制器具有良好的實時性、高效率和模塊重用性。

參考文獻

[1] 張林,何春.高速SDRAM控制器設計的FPGA實現[J].電子科技大學學報,2008,37(z1):109?112.

[2] Altera Corporation. EP2C35F484C8 datasheet [EB/OL]. [2008?02?18]. http://www.altera.com.cn/literature/hb/cyc2/cyc2_cii5v1_01.pdf.

[3] Samsung Electronics. K4S641632K specification [R]. [S.l.]: Samsung Electronics, 2006.

[4] 楊映輝.基于FPGA的SDRAM控制器設計及應用[D].蘭州:蘭州大學,2007.

[5] 武文杰,劉浩.基于FPGA的SDRAM控制器設計[J].電子工程師,2005,30(10):23?27.

[6] 程方敏,黃啟俊.基于FPGA的高速SDRAM控制器的視頻應用[J].電子技術,2009,36(7):22?24.

[7] 趙效民.高手進階:終極內存技術指南[EB/OL].[2002?12?17].http://wenku.baidu.com/link?url=HukJk977h3XyB3gRcKe8JxTPFva2PjYQ3z2_Y0d15npo_3SaKiV_bB3TwQ49FaKN2Y3HdpE?

4mqBbg49CbuTs89nt7gCWqKVfv0F05VqHohe.

[8] 夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2008.

[9] MINNS P, ELLIOTT I. FSM?based digital design using verilog HDL [M]. New York: Wiley Blackwell, 2008.

[10] 于海,樊曉椏.基于FPGA異步FIFO的研究與實現[J].微電子學與計算機,2007,24(3):210?216.

主站蜘蛛池模板: 精品无码国产一区二区三区AV| 国产精品亚洲欧美日韩久久| 亚洲人成网站日本片| 夜夜操狠狠操| 亚洲精品视频免费| 国产精品刺激对白在线| 国产人碰人摸人爱免费视频| 亚洲视频免费在线| 久久久波多野结衣av一区二区| 免费国产好深啊好涨好硬视频| 欧美亚洲一二三区| 激情乱人伦| 在线亚洲精品自拍| 欧洲欧美人成免费全部视频| 免费人成在线观看视频色| 国产网站一区二区三区| 无码人中文字幕| 精品国产www| 国产导航在线| 一本久道久久综合多人| 91成人在线免费观看| 97免费在线观看视频| 毛片基地美国正在播放亚洲 | 91在线一9|永久视频在线| 国产一区二区三区精品久久呦| 国产一区二区精品福利| 黄色片中文字幕| 专干老肥熟女视频网站| 久久国产黑丝袜视频| 亚洲人成在线精品| 亚洲看片网| 91在线日韩在线播放| 国产香蕉在线| 99这里只有精品在线| 国产精品免费p区| 亚洲成a人在线播放www| 亚洲欧美极品| 第一区免费在线观看| a在线亚洲男人的天堂试看| 欧美成人h精品网站| 国产99视频精品免费观看9e| 天天色天天综合| 尤物亚洲最大AV无码网站| 丝袜亚洲综合| 国产va在线观看| 欧美精品亚洲精品日韩专区| 亚洲国产中文综合专区在| 久久精品中文字幕免费| 国产精品区网红主播在线观看| 大乳丰满人妻中文字幕日本| 欧美中文一区| 国产乱子伦视频在线播放| 99er精品视频| 91精品情国产情侣高潮对白蜜| 国产亚洲精品资源在线26u| 免费看美女自慰的网站| 欧美激情第一欧美在线| 亚洲综合精品第一页| 国产成人精品视频一区视频二区| 456亚洲人成高清在线| 国产成人精品视频一区视频二区| 黄色三级毛片网站| 在线观看免费人成视频色快速| 国产99在线| 超薄丝袜足j国产在线视频| 国产91无毒不卡在线观看| 四虎影院国产| 91啦中文字幕| 亚洲欧美不卡| 亚洲第一成年人网站| 亚洲AV无码久久精品色欲 | 国产三级国产精品国产普男人| 国产超碰一区二区三区| 日韩精品专区免费无码aⅴ| 国产亚洲高清在线精品99| 夜夜操狠狠操| 国产精品亚洲天堂| 亚洲国产精品久久久久秋霞影院| 国产91成人| 国产91在线|中文| 亚洲男人天堂网址| 99热这里只有精品国产99|