一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于SDRAM控制器軟核的Verilog設(shè)計(jì)

FPGA設(shè)計(jì)論壇 ? 來(lái)源:西安郵電學(xué)院學(xué)報(bào) ? 作者:劉宇,陳文藝,李新 ? 2021-06-30 09:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目前,在很多通信芯片及系統(tǒng)的開(kāi)發(fā)中,常常需要用到存儲(chǔ)容量大、讀寫(xiě)速度高的存儲(chǔ)器。在各種隨機(jī)存儲(chǔ)器件中,SDRAM 的價(jià)格低、體積小、速度快、容量大,是比較理想的器件。但是,與SRAM相比較,SDRAM的控制邏輯復(fù)雜,使用很不方便。

為了解決這個(gè)矛盾,需要設(shè)計(jì)專(zhuān)用的SDRAM控制器,使系統(tǒng)用戶象使用SRAM一樣方便的使用SDRAM是十分必要的。考慮到控制器的通用性,本文提出了一種通用的SDRAM控制器的 Verilog設(shè)計(jì),并給出了實(shí)現(xiàn)結(jié)果。

1 SDRAM的工作原理

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

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

SDRAM模式寄存器:

第二,SDRAM行列地址采用復(fù)用的方式減少了地址總線的密度。這樣以來(lái),SDRAM在每次讀寫(xiě)操作時(shí),行列地址要鎖存。具體的,由ACTIVE命令激活要讀寫(xiě)B(tài)ANK,并鎖存行地址,然后在讀寫(xiě)指令有效時(shí)鎖存列地址。

第三,SDRAM的操作是通過(guò)0aaff49e-d919-11eb-9e57-12bb97331649.png AP信號(hào)的組合指令字完成的。由于特殊的存儲(chǔ)結(jié)構(gòu),SDRAM操作指令比較多,不像SRAM一樣只有簡(jiǎn)單的讀寫(xiě),其主要的指令字見(jiàn)表2。

2 通用SDRAM控制器的設(shè)計(jì)

2.1 總體設(shè)計(jì)框圖

SDRAM控制器的內(nèi)部結(jié)構(gòu),包括控制寄存器、初始化請(qǐng)求產(chǎn)生、刷新請(qǐng)求產(chǎn)生、指令仲裁器、指令譯碼、數(shù)據(jù)通路六個(gè)模塊??刂萍拇嫫骺刂芐DRAM的各種工作模式,其值可以通過(guò)MCU接口配置。

指令仲裁器對(duì)系統(tǒng)的讀寫(xiě)請(qǐng)求信號(hào)sdram*rd*n、sdram*wr*n及初始化請(qǐng)求和刷新請(qǐng)求進(jìn)行仲裁。仲裁的結(jié)果由指令譯碼器譯碼產(chǎn)生 SDRAM的操作指令字。用Sdram*busy信號(hào)指示SDRAM總線的閑忙,sdramready為SDRAM控制器對(duì)系統(tǒng)讀寫(xiě)請(qǐng)求的響應(yīng)指示,指示對(duì)數(shù)據(jù)有效的讀寫(xiě)操作。

2.2 各模塊的設(shè)計(jì)

2.2.1 控制寄存器模塊

包含控制工作模式的各種寄存器。系統(tǒng)用戶可以根據(jù)實(shí)際需要配置SDRA的工作模式。可以通過(guò)MCU接口來(lái)配置,也可以省去MCU接口而通過(guò)預(yù)設(shè)參數(shù)來(lái)配置。寄存器主要包括兩類(lèi):一是初始化模式控制寄存器,用于控制SDRAM初始化指令流的產(chǎn)生方式;二是SDRAM模式控制寄存器,用于SDRAM的刷新及其它操作指令參數(shù)的控制。

2.2.2 初始化請(qǐng)求產(chǎn)生模塊

上電后初始化請(qǐng)求信號(hào)的產(chǎn)生延遲控制。由于系統(tǒng)上電100us-200us 后時(shí)鐘才能穩(wěn)定,之后,SDRAM才可以開(kāi)始初始化操作。為防止譯碼毛刺的出現(xiàn),采用格雷碼計(jì)數(shù)器來(lái)實(shí)現(xiàn)這一延遲的控制。系統(tǒng)復(fù)位結(jié)束后,啟動(dòng)計(jì)數(shù)器,當(dāng)計(jì)數(shù)器計(jì)到設(shè)定的值后計(jì)數(shù)值保持,同時(shí)譯碼產(chǎn)生初始化的請(qǐng)求信號(hào),在SDRAM初始化完成后請(qǐng)求變?yōu)闊o(wú)效。

2.2.3 刷新請(qǐng)求產(chǎn)生模塊

根據(jù)模式寄存器的配置的頻率產(chǎn)生SDRAM的刷新請(qǐng)求信號(hào)。這部分電路也是采用格雷碼計(jì)數(shù)器實(shí)現(xiàn)的。計(jì)數(shù)器計(jì)到設(shè)定的值后產(chǎn)生刷新請(qǐng)求信號(hào),同時(shí)返回到初值繼續(xù)計(jì)數(shù)。

2.2.4 指令仲裁器模塊

對(duì)初始化請(qǐng)求、刷新請(qǐng)求和系統(tǒng)的讀寫(xiě)請(qǐng)求進(jìn)行優(yōu)先級(jí)仲裁,產(chǎn)生初始化響應(yīng)initial*hold、刷新響應(yīng)ref*hold和讀寫(xiě)響應(yīng)sdram*wr*hold。初始化操作只在上電時(shí)進(jìn)行一次,它是SDRAM正常工作的基礎(chǔ),所以它的優(yōu)先級(jí)最高。刷新請(qǐng)求的優(yōu)先級(jí)次高,讀寫(xiě)請(qǐng)求的優(yōu)先級(jí)最低。當(dāng)某一種操作正在執(zhí)行時(shí)不會(huì)響應(yīng)后來(lái)的請(qǐng)求。

2.2.5 指令譯碼器模塊

根據(jù)指令仲裁器的結(jié)果和SDRAM控制器模式寄存器對(duì)工作模式參數(shù)的設(shè)置,分別對(duì)初始化指令、刷新指令、讀寫(xiě)指令進(jìn)行譯碼。譯碼的結(jié)果就是輸出的控制指令字。當(dāng)initial*hold=1時(shí),譯碼產(chǎn)生SDRAM的初始化指令流;

當(dāng)ref*hold=1時(shí),譯碼產(chǎn)生刷新指令;當(dāng)sdram*wr*hold=1并且讀有效(Sdram*rd*n=0)或?qū)懹行?(Sdram*wr*n=0)時(shí),根據(jù)寄存器設(shè)置的指令參數(shù)譯碼輸出BANK激活指令、讀指令及預(yù)充指令。

此外,在SDRAM執(zhí)行任何一種操作時(shí),都用 sdram*busy=1來(lái)指示SDRAM忙;用sdram*busy=0來(lái)指示SDRAM空閑。用sdram*ready=1指示系統(tǒng)對(duì)SDRAM數(shù)據(jù)有效的讀寫(xiě)操作。譯碼模塊采用Verilog結(jié)合狀態(tài)機(jī)的設(shè)計(jì)方法,直觀清晰,提高了電路的設(shè)計(jì)周期。

SDRAM控制器軟核設(shè)計(jì)的狀態(tài)機(jī)實(shí)現(xiàn)原理如圖2所示,包含了10個(gè)狀態(tài),其中從Power on到Mode reg set為上電后SDRAM的初始化過(guò)程。其余狀態(tài)為SDRAM的正常讀寫(xiě)及刷新操作過(guò)程。

2.2.6 數(shù)據(jù)通路模塊

是根據(jù)寄存器的設(shè)置及指令譯碼的結(jié)果對(duì)把系統(tǒng)非復(fù)用的地址處理為SDRAM復(fù)用的地址,使得SDRAM的地址及數(shù)據(jù)和相應(yīng)的操作指令在時(shí)序上同步。

3接口時(shí)序

3.1寫(xiě)時(shí)序(Burst=1)

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

4 實(shí)現(xiàn)及應(yīng)用

本設(shè)計(jì)用Candence公司的 Ncverilog仿真工具進(jìn)行了功能仿真。在仿真過(guò)程中,外部的SDRAM采用了Micron公司網(wǎng)上提供的1M×16、2M×2、4M×2的仿真模型,結(jié)果正確。

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

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

5 結(jié)束語(yǔ)

Verilog硬件描述語(yǔ)言已越來(lái)越廣泛地應(yīng)用于EDA領(lǐng)域,大多數(shù)EDA設(shè)計(jì)工程師都用它來(lái)進(jìn)行ASIC設(shè)計(jì)和FPGA開(kāi)發(fā)。用高級(jí)語(yǔ)言進(jìn)行電路設(shè)計(jì),可以靈活的修改參數(shù),增加了電路設(shè)計(jì)的通用性和可移植性。

最后,需要指出的是采用IP核的方法設(shè)計(jì)電路,既可以單獨(dú)使用,也可以嵌入到ASIC或FPGA的電路設(shè)計(jì)中去,大大縮短了產(chǎn)品開(kāi)發(fā)周期,應(yīng)該大力推廣。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17116

    瀏覽量

    184439
  • SDRAM
    +關(guān)注

    關(guān)注

    7

    文章

    443

    瀏覽量

    56336
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5435

    瀏覽量

    124601
  • AP
    AP
    +關(guān)注

    關(guān)注

    0

    文章

    110

    瀏覽量

    50090

原文標(biāo)題:SDRAM控制器軟核的Verilog設(shè)計(jì)

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    工程機(jī)械控制器廠家 控制器國(guó)產(chǎn)替代 #國(guó)產(chǎn)控制器#控制器廠家#控制器品牌

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

    工程機(jī)械控制器如何選型?控制器選型指南 #控制器 #車(chē)載控制器 #整車(chē)控制器 #控制器選型

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

    SDRAM控制器的設(shè)計(jì)——Sdram_Control.v代碼解析(異步FIFO讀寫(xiě)模塊、讀寫(xiě)SDRAM過(guò)程)

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

    SDRAM控制器設(shè)計(jì)之異步FIFO的調(diào)用

    的原理,要讀取 SDRAM 中的數(shù)據(jù)來(lái)處理時(shí), FPGA 端的控制架構(gòu)中一定要有相當(dāng)于水塔功能的“讀出數(shù)據(jù)緩沖”,在數(shù)據(jù)的處理上才會(huì)流暢。
    的頭像 發(fā)表于 02-26 15:27 ?1315次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設(shè)計(jì)之異步FIFO的調(diào)用

    SDRAM控制器設(shè)計(jì)之command.v代碼解析

    command.v文件對(duì)應(yīng)圖中SDRAM指令執(zhí)行模塊,它會(huì)從SDRAM接口控制模塊接收指令,然后產(chǎn)生控制信號(hào)直接輸出到SDRAM器件來(lái)完成所
    的頭像 發(fā)表于 02-25 10:32 ?525次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設(shè)計(jì)之command.v代碼解析

    SDRAM控制器功能模塊概述

    按鍵KEY1觸發(fā)寫(xiě),將計(jì)數(shù)產(chǎn)生的0到255的數(shù)據(jù)寫(xiě)到FIFO寫(xiě)模塊里面,繼而寫(xiě)到SDRAM 器件里面。
    的頭像 發(fā)表于 02-07 09:33 ?567次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>功能模塊概述

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

    電子發(fā)燒友網(wǎng)站提供《EE-178:ADSP-TS101S TigerSHARC片上SDRAM控制器.pdf》資料免費(fèi)下載
    發(fā)表于 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片內(nèi)SDRAM控制器

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

    ADSP-21161 SHARC片內(nèi)SDRAM控制器

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

    MicroBlaze V處理的功能特性

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

    DDR4 SDRAM控制器的主要特點(diǎn)

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

    車(chē)載智能控制器 工程機(jī)械控制器 CAN總線控制器 碩博電子 #控制器 #can總線 #國(guó)產(chǎn)化替代

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

    AI邊緣控制器

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

    TMS320F28377D-EP雙Delfino?微控制器數(shù)據(jù)表

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

    TMS320F2837xD雙控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320F2837xD雙控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-01 12:59 ?7次下載
    TMS320F2837xD雙<b class='flag-5'>核</b>微<b class='flag-5'>控制器</b>數(shù)據(jù)表