在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于SDRAM控制器軟核的Verilog設計

FPGA設計論壇 ? 來源:西安郵電學院學報 ? 作者:劉宇,陳文藝,李新 ? 2021-06-30 09:16 ? 次閱讀

目前,在很多通信芯片及系統的開發中,常常需要用到存儲容量大、讀寫速度高的存儲器。在各種隨機存儲器件中,SDRAM 的價格低、體積小、速度快、容量大,是比較理想的器件。但是,與SRAM相比較,SDRAM的控制邏輯復雜,使用很不方便。

為了解決這個矛盾,需要設計專用的SDRAM控制器,使系統用戶象使用SRAM一樣方便的使用SDRAM是十分必要的。考慮到控制器的通用性,本文提出了一種通用的SDRAM控制器的 Verilog設計,并給出了實現結果。

1 SDRAM的工作原理

通常一個SDRAM中包含2個或4個BANK,每個BANK的存儲單元是按行和列尋址的。由于這種特殊的存儲結構,與SRAM比較而言,SDRAM在工作的原理上有以下幾個特點:

第一,SDRAM在上電100us-200us 后,必須由一個初始化過程來配置SDRAM的工作模式。初始化過程是由啟動指令流完成:首先由一個Precharge all bank指令完成對所有BANK的預充,然后是兩個或多個Auto Refresh指令,最后在模式配置指令下完成SDRAM內部模式設置寄存器的配置。模式寄存器的值控制著SDRAM的工作方式,詳細描述如表1所示。

SDRAM模式寄存器:

第二,SDRAM行列地址采用復用的方式減少了地址總線的密度。這樣以來,SDRAM在每次讀寫操作時,行列地址要鎖存。具體的,由ACTIVE命令激活要讀寫BANK,并鎖存行地址,然后在讀寫指令有效時鎖存列地址。

第三,SDRAM的操作是通過0aaff49e-d919-11eb-9e57-12bb97331649.png AP信號的組合指令字完成的。由于特殊的存儲結構,SDRAM操作指令比較多,不像SRAM一樣只有簡單的讀寫,其主要的指令字見表2。

2 通用SDRAM控制器的設計

2.1 總體設計框圖

SDRAM控制器的內部結構,包括控制寄存器、初始化請求產生、刷新請求產生、指令仲裁器、指令譯碼、數據通路六個模塊。控制寄存器控制SDRAM的各種工作模式,其值可以通過MCU接口配置。

指令仲裁器對系統的讀寫請求信號sdram*rd*n、sdram*wr*n及初始化請求和刷新請求進行仲裁。仲裁的結果由指令譯碼器譯碼產生 SDRAM的操作指令字。用Sdram*busy信號指示SDRAM總線的閑忙,sdramready為SDRAM控制器對系統讀寫請求的響應指示,指示對數據有效的讀寫操作。

2.2 各模塊的設計

2.2.1 控制寄存器模塊

包含控制工作模式的各種寄存器。系統用戶可以根據實際需要配置SDRA的工作模式。可以通過MCU接口來配置,也可以省去MCU接口而通過預設參數來配置。寄存器主要包括兩類:一是初始化模式控制寄存器,用于控制SDRAM初始化指令流的產生方式;二是SDRAM模式控制寄存器,用于SDRAM的刷新及其它操作指令參數的控制。

2.2.2 初始化請求產生模塊

上電后初始化請求信號的產生延遲控制。由于系統上電100us-200us 后時鐘才能穩定,之后,SDRAM才可以開始初始化操作。為防止譯碼毛刺的出現,采用格雷碼計數器來實現這一延遲的控制。系統復位結束后,啟動計數器,當計數器計到設定的值后計數值保持,同時譯碼產生初始化的請求信號,在SDRAM初始化完成后請求變為無效。

2.2.3 刷新請求產生模塊

根據模式寄存器的配置的頻率產生SDRAM的刷新請求信號。這部分電路也是采用格雷碼計數器實現的。計數器計到設定的值后產生刷新請求信號,同時返回到初值繼續計數。

2.2.4 指令仲裁器模塊

對初始化請求、刷新請求和系統的讀寫請求進行優先級仲裁,產生初始化響應initial*hold、刷新響應ref*hold和讀寫響應sdram*wr*hold。初始化操作只在上電時進行一次,它是SDRAM正常工作的基礎,所以它的優先級最高。刷新請求的優先級次高,讀寫請求的優先級最低。當某一種操作正在執行時不會響應后來的請求。

2.2.5 指令譯碼器模塊

根據指令仲裁器的結果和SDRAM控制器模式寄存器對工作模式參數的設置,分別對初始化指令、刷新指令、讀寫指令進行譯碼。譯碼的結果就是輸出的控制指令字。當initial*hold=1時,譯碼產生SDRAM的初始化指令流;

當ref*hold=1時,譯碼產生刷新指令;當sdram*wr*hold=1并且讀有效(Sdram*rd*n=0)或寫有效 (Sdram*wr*n=0)時,根據寄存器設置的指令參數譯碼輸出BANK激活指令、讀指令及預充指令。

此外,在SDRAM執行任何一種操作時,都用 sdram*busy=1來指示SDRAM忙;用sdram*busy=0來指示SDRAM空閑。用sdram*ready=1指示系統對SDRAM數據有效的讀寫操作。譯碼模塊采用Verilog結合狀態機的設計方法,直觀清晰,提高了電路的設計周期。

SDRAM控制器軟核設計的狀態機實現原理如圖2所示,包含了10個狀態,其中從Power on到Mode reg set為上電后SDRAM的初始化過程。其余狀態為SDRAM的正常讀寫及刷新操作過程。

2.2.6 數據通路模塊

是根據寄存器的設置及指令譯碼的結果對把系統非復用的地址處理為SDRAM復用的地址,使得SDRAM的地址及數據和相應的操作指令在時序上同步。

3接口時序

3.1寫時序(Burst=1)

3.2 讀時序(CAS=3,Burst=1)

4 實現及應用

本設計用Candence公司的 Ncverilog仿真工具進行了功能仿真。在仿真過程中,外部的SDRAM采用了Micron公司網上提供的1M×16、2M×2、4M×2的仿真模型,結果正確。

最后,該控制器軟核作為SDRAM的接口電路嵌在了西安深亞公司EOS0121芯片設計中,采用Actel公司的Designer R1-2002工具進行了綜合布線,在ProASIC A500K180 208Pin的FPGA上得到了實現。目前該芯片已被多家公司采用,反映良好。從而也說明了該SDRAM控制器軟核性能可靠,工作穩定。

由于采用了IP核的設計思想,只要修改少量的參數配置就可以支持多個廠家多種型號的SDRAM器件。對特定容量的SDRAM的特定工作模式而言,只要根據其器件參數進行設定,控制器就可以適用特定SDRAM的特定工作模式。

5 結束語

Verilog硬件描述語言已越來越廣泛地應用于EDA領域,大多數EDA設計工程師都用它來進行ASIC設計和FPGA開發。用高級語言進行電路設計,可以靈活的修改參數,增加了電路設計的通用性和可移植性。

最后,需要指出的是采用IP核的方法設計電路,既可以單獨使用,也可以嵌入到ASIC或FPGA的電路設計中去,大大縮短了產品開發周期,應該大力推廣。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    17026

    瀏覽量

    183305
  • SDRAM
    +關注

    關注

    7

    文章

    441

    瀏覽量

    56117
  • 寄存器
    +關注

    關注

    31

    文章

    5427

    瀏覽量

    123714
  • AP
    AP
    +關注

    關注

    0

    文章

    109

    瀏覽量

    49689

原文標題:SDRAM控制器軟核的Verilog設計

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    工程機械控制器廠家 控制器國產替代 #國產控制器#控制器廠家#控制器品牌

    控制器
    長沙碩博電子科技股份有限公司
    發布于 :2025年04月29日 14:15:05

    工程機械控制器如何選型?控制器選型指南 #控制器 #車載控制器 #整車控制器 #控制器選型

    控制器
    長沙碩博電子科技股份有限公司
    發布于 :2025年03月14日 10:54:24

    SDRAM控制器的設計——Sdram_Control.v代碼解析(異步FIFO讀寫模塊、讀寫SDRAM過程)

    前言 SDRAM控制器里面包含5個主要的模塊,分別是PLL模塊,異步FIFO 寫模塊,異步FIFO讀模塊,SDRAM接口控制模塊,SDRAM
    的頭像 發表于 03-04 10:49 ?1431次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的設計——<b class='flag-5'>Sdram</b>_Control.v代碼解析(異步FIFO讀寫模塊、讀寫<b class='flag-5'>SDRAM</b>過程)

    SDRAM控制器設計之異步FIFO的調用

    的原理,要讀取 SDRAM 中的數據來處理時, FPGA 端的控制架構中一定要有相當于水塔功能的“讀出數據緩沖”,在數據的處理上才會流暢。
    的頭像 發表于 02-26 15:27 ?1228次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設計之異步FIFO的調用

    SDRAM控制器設計之command.v代碼解析

    command.v文件對應圖中SDRAM指令執行模塊,它會從SDRAM接口控制模塊接收指令,然后產生控制信號直接輸出到SDRAM器件來完成所
    的頭像 發表于 02-25 10:32 ?455次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設計之command.v代碼解析

    SDRAM控制器功能模塊概述

    按鍵KEY1觸發寫,將計數產生的0到255的數據寫到FIFO寫模塊里面,繼而寫到SDRAM 器件里面。
    的頭像 發表于 02-07 09:33 ?510次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>功能模塊概述

    EE-178:ADSP-TS101S TigerSHARC片上SDRAM控制器

    電子發燒友網站提供《EE-178:ADSP-TS101S TigerSHARC片上SDRAM控制器.pdf》資料免費下載
    發表于 01-14 15:00 ?0次下載
    EE-178:ADSP-TS101S TigerSHARC片上<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>

    EE-127:ADSP-21065L片內SDRAM控制器

    電子發燒友網站提供《EE-127:ADSP-21065L片內SDRAM控制器.pdf》資料免費下載
    發表于 01-06 15:45 ?0次下載
    EE-127:ADSP-21065L片內<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>

    ADSP-21161 SHARC片內SDRAM控制器

    電子發燒友網站提供《ADSP-21161 SHARC片內SDRAM控制器.pdf》資料免費下載
    發表于 01-03 15:04 ?0次下載
    ADSP-21161 SHARC片內<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>

    MicroBlaze V處理的功能特性

    本指南提供了有關 AMD Vivado Design Suite 中包含的 32 位和 64 位 MicroBlaze V 處理的信息。該文檔旨在用作為處理硬件架構的指南,隨附
    的頭像 發表于 10-16 09:17 ?988次閱讀
    MicroBlaze V<b class='flag-5'>軟</b><b class='flag-5'>核</b>處理<b class='flag-5'>器</b>的功能特性

    DDR4 SDRAM控制器的主要特點

    DDR4 SDRAM(Double Data Rate Fourth Synchronous Dynamic Random Access Memory)控制器作為現代計算系統中的重要組成部分,其
    的頭像 發表于 09-04 12:55 ?1232次閱讀

    車載智能控制器 工程機械控制器 CAN總線控制器 碩博電子 #控制器 #can總線 #國產化替代

    控制器總線
    長沙碩博電子科技股份有限公司
    發布于 :2024年08月29日 10:43:57

    AI邊緣控制器

    運動控制器或者PLC強大的運動控制功能,可滿足運動控制領域高速高精的需求,具備自動化行業所必須的高速DI/DO、脈沖控制以及手輪控制等功能。
    的頭像 發表于 08-26 15:12 ?599次閱讀
    AI邊緣<b class='flag-5'>控制器</b>

    TMS320F28377D-EP雙Delfino?微控制器數據表

    電子發燒友網站提供《TMS320F28377D-EP雙Delfino?微控制器數據表.pdf》資料免費下載
    發表于 08-08 09:30 ?1次下載
    TMS320F28377D-EP雙<b class='flag-5'>核</b>Delfino?微<b class='flag-5'>控制器</b>數據表

    TMS320F2837xD雙控制器數據表

    電子發燒友網站提供《TMS320F2837xD雙控制器數據表.pdf》資料免費下載
    發表于 08-01 12:59 ?7次下載
    TMS320F2837xD雙<b class='flag-5'>核</b>微<b class='flag-5'>控制器</b>數據表
    主站蜘蛛池模板: 欧美伦理一区 | 久久天天躁狠狠躁夜夜免费观看 | 午夜视频在线观看完整高清在线 | 天天干天天操天天操 | 中国成人免费视频 | 99久久免费午夜国产精品 | 91中文在线 | 亚洲综合成人在线 | 久久婷婷激情综合色综合也去 | 精品国产成人三级在线观看 | a毛片免费观看完整 | 久久综合九色综合欧洲色 | 黄黄的网站在线观看 | 午夜欧美福利 | 五月六月伊人狠狠丁香网 | 又粗又大的机巴好爽欧美 | 日韩亚洲人成在线综合 | 免费精品99久久国产综合精品 | 男操女免费视频 | 六月婷婷在线视频 | 最好看的2019中文字幕1 | 欧美激情综合亚洲五月蜜桃 | 国产裸体美女视频全黄 | 午夜毛片免费观看视频 | bt天堂在线观看 | 91极品女神私人尤物在线播放 | 99插插| 碰免费人人人视频 | 狠狠操天天操夜夜操 | 噜噜噜色噜噜噜久久 | 99久久国产免费福利 | 黄色网页在线观看 | 主人扒开腿揉捏花蒂调教cfh | 色播丁香 | 香蕉久久影院 | 亚洲激情婷婷 | 看日本黄大片在线观看 | 天天摸天天舔天天操 | bt天堂资源在线种子 | 成人国产精品一级毛片视频 | 免费国产黄网站在线观看视频 |