91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 模擬技術

使用Verilog實現基于FPGA的SDRAM控制器

發布時間:2008/5/26 0:00:00 訪問次數:2117

        

    

    作者:電子科技大學電子工程學院曹華鄧彬

    

    摘要:介紹了sdram的特點和工作原理,提出了一種基于fpga的sdram控制器的設計方法,使用該方法實現的控制器可非常方便地對sdram進行控制。

    

    關鍵詞:sdram;控制器;verilog;狀態機

    

    引言

    

    在基于fpga的圖象采集顯示系統中,常常需要用到大容量、高速度的存儲器。而在各種隨機存儲器件中,sdram的價格低、體積小、速度快、容量大,是比較理想的器件。但sdram的控制邏輯比較復雜,對時序要求也十分嚴格,使用很不方便,這就要求有一個專門的控制器,使系統用戶能很方便地操作sdram。為此,本文提出了一種基于fpga的sdram控制器的設計方法,并用verilog給于實現,仿真結果表明通過該方法設計實現的控制器可以在fpga芯片內組成如圖1所示的sdram接口,從而使得系統用戶對sdram的操作非常方便。

    

    sdram簡介

    

    sdram器件的管腳分為控制信號、地址和數據三類。通常一個sdram中包含幾個bank,每個bank的存儲單元是按行和列尋址的。由于這種特殊的存儲結構,sdram有以下幾個工作特性。

    

    ●sdram的初始化

    

    sdram在上電100~200μs后,必須由一個初始化進程來配置sdram的模式寄存器,模式寄存器的值決定著sdram的工作模式。

    

    ●訪問存儲單元

    

    為減少i/o引腳數量,sdram復用地址線,所以在讀寫sdram時,先由active命令激活要讀寫的bank,并鎖存行地址,然后在讀寫指令有效時鎖存列地址。一旦bank被激活后只有執行一次預充命令后才能再次激活同一bank。

    

    ●刷新和預充

    

    sdram的存儲單元可以理解為一個電容,總是傾向于放電,因此必須有定時的刷新周期以避免數據丟失。刷新周期可由(最小刷新周期÷時鐘周期)計算獲得。對bank預充電或者關閉已激活的bank,可預充特定bank也可同時作用于所有bank,a10、ba0和ba1用于選擇bank。

    

    ●操作控制

    

    sdram的具體控制命令由一些專用控制引腳和地址線輔助完成。cs、ras、cas和wr在時鐘上升沿的狀態決定具體操作動作,地址線和bank選擇控制線在部分操作動作中作為輔助參數輸入。由于特殊的存儲結構,sdram操作指令比較多,不像sram一樣只有簡單的讀寫。

    

    sdram控制器的設計實現

    

    ●總體設計框圖和外部接口信號

    

    

    

    此主題相關圖片如下:

    

    sdram控制器與外部的接口示意圖由圖1給出,控制器右端接口信號均為直接與sdram對應管腳相連的信號,此處不做介紹。控制器左端的接口信號為與fpga相連的系統控制接口信號,其中,clk133為系統時鐘信號,reset_n為復位信號,addr為系統給出的sdram地址信號,dain是系統用于寫入sdram的數據信號,fpga_rd和fpga_wr為系統讀、寫請求信號(1為有效,0為無效),sdram_free是sdram的空閑狀態標示信號(0為空閑,1為忙碌),fdata_enable是控制器給系統的數據收發指示信號(為0時,無法對sdram進行數據收發;為1時,若是系統讀操作,則系統此時可從daout接收sdram的數據,若是寫操作,則系統此時可以通過dain發送數據給sdram)。

    

    此主題相關圖片如下:

    

    

    

    sdram控制器的結構組成如圖2所示,包括系統控制接口模塊、cmd命令解析模塊、命令響應模塊、數據通路模塊共四個模塊。系統控制接口模塊用于接收系統的控制信號,進而產生不同的cmd命令組合;cmd命令解析模塊用于接收cmd命令并解碼成

        

    

    作者:電子科技大學電子工程學院曹華鄧彬

    

    摘要:介紹了sdram的特點和工作原理,提出了一種基于fpga的sdram控制器的設計方法,使用該方法實現的控制器可非常方便地對sdram進行控制。

    

    關鍵詞:sdram;控制器;verilog;狀態機

    

    引言

    

    在基于fpga的圖象采集顯示系統中,常常需要用到大容量、高速度的存儲器。而在各種隨機存儲器件中,sdram的價格低、體積小、速度快、容量大,是比較理想的器件。但sdram的控制邏輯比較復雜,對時序要求也十分嚴格,使用很不方便,這就要求有一個專門的控制器,使系統用戶能很方便地操作sdram。為此,本文提出了一種基于fpga的sdram控制器的設計方法,并用verilog給于實現,仿真結果表明通過該方法設計實現的控制器可以在fpga芯片內組成如圖1所示的sdram接口,從而使得系統用戶對sdram的操作非常方便。

    

    sdram簡介

    

    sdram器件的管腳分為控制信號、地址和數據三類。通常一個sdram中包含幾個bank,每個bank的存儲單元是按行和列尋址的。由于這種特殊的存儲結構,sdram有以下幾個工作特性。

    

    ●sdram的初始化

    

    sdram在上電100~200μs后,必須由一個初始化進程來配置sdram的模式寄存器,模式寄存器的值決定著sdram的工作模式。

    

    ●訪問存儲單元

    

    為減少i/o引腳數量,sdram復用地址線,所以在讀寫sdram時,先由active命令激活要讀寫的bank,并鎖存行地址,然后在讀寫指令有效時鎖存列地址。一旦bank被激活后只有執行一次預充命令后才能再次激活同一bank。

    

    ●刷新和預充

    

    sdram的存儲單元可以理解為一個電容,總是傾向于放電,因此必須有定時的刷新周期以避免數據丟失。刷新周期可由(最小刷新周期÷時鐘周期)計算獲得。對bank預充電或者關閉已激活的bank,可預充特定bank也可同時作用于所有bank,a10、ba0和ba1用于選擇bank。

    

    ●操作控制

    

    sdram的具體控制命令由一些專用控制引腳和地址線輔助完成。cs、ras、cas和wr在時鐘上升沿的狀態決定具體操作動作,地址線和bank選擇控制線在部分操作動作中作為輔助參數輸入。由于特殊的存儲結構,sdram操作指令比較多,不像sram一樣只有簡單的讀寫。

    

    sdram控制器的設計實現

    

    ●總體設計框圖和外部接口信號

    

    

    

    此主題相關圖片如下:

    

    sdram控制器與外部的接口示意圖由圖1給出,控制器右端接口信號均為直接與sdram對應管腳相連的信號,此處不做介紹。控制器左端的接口信號為與fpga相連的系統控制接口信號,其中,clk133為系統時鐘信號,reset_n為復位信號,addr為系統給出的sdram地址信號,dain是系統用于寫入sdram的數據信號,fpga_rd和fpga_wr為系統讀、寫請求信號(1為有效,0為無效),sdram_free是sdram的空閑狀態標示信號(0為空閑,1為忙碌),fdata_enable是控制器給系統的數據收發指示信號(為0時,無法對sdram進行數據收發;為1時,若是系統讀操作,則系統此時可從daout接收sdram的數據,若是寫操作,則系統此時可以通過dain發送數據給sdram)。

    

    此主題相關圖片如下:

    

    

    

    sdram控制器的結構組成如圖2所示,包括系統控制接口模塊、cmd命令解析模塊、命令響應模塊、數據通路模塊共四個模塊。系統控制接口模塊用于接收系統的控制信號,進而產生不同的cmd命令組合;cmd命令解析模塊用于接收cmd命令并解碼成

相關IC型號

熱門點擊

 

推薦技術資料

泰克新發布的DSA830
   泰克新發布的DSA8300在一臺儀器中同時實現時域和頻域分析,DS... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
灵台县| 临沂市| 五大连池市| 巨野县| 蚌埠市| 尉犁县| 张家界市| 商南县| 苗栗县| 定日县| 盱眙县| 大埔县| 广德县| 独山县| 锦屏县| 拉萨市| 广南县| 姜堰市| 昌黎县| 洪江市| 育儿| 漠河县| 潮安县| 隆林| 崇文区| 将乐县| 永定县| 长汀县| 青田县| 三门县| 河北区| 策勒县| 米脂县| 什邡市| 资中县| 肇源县| 定日县| 彭泽县| 青海省| 南乐县| 永寿县|