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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

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

友晶FPGA ? 來源:友晶FPGA ? 2025-03-04 10:49 ? 次閱讀

前言

SDRAM控制器里面包含5個(gè)主要的模塊,分別是PLL模塊,異步FIFO 寫模塊,異步FIFO讀模塊,SDRAM接口控制模塊,SDRAM指令執(zhí)行模塊。

4fe50166-f897-11ef-9310-92fbcf53809c.png

其中異步FIFO模塊解讀參考:05-SDRAM控制器的設(shè)計(jì)——異步FIFO的調(diào)用;

http://www.xsypw.cn/d/6468023.html

SDRAM接口控制模塊解讀參考:03-SDRAM控制器的設(shè)計(jì)——control_interface.v代碼解析;
http://www.xsypw.cn/d/6458523.html

SDRAM指令執(zhí)行模塊解讀參考:04-SDRAM控制器的設(shè)計(jì)——command.v代碼解析

http://www.xsypw.cn/d/6466276.html

PLL時(shí)鐘模塊

SDRAM控制器模塊里面的PLL將27MHz時(shí)鐘倍頻出2個(gè)100MHz時(shí)鐘,其中一個(gè)100MHz時(shí)鐘給SDRAM里面的模塊使用;另外一個(gè)100MHz時(shí)鐘相移-109.8°以后輸出給SDRAM器件。(相移-109.8°是這個(gè)SDRAM器件在DE10-Standard開發(fā)板上的時(shí)序約束經(jīng)驗(yàn)值)

502118b8-f897-11ef-9310-92fbcf53809c.png

PLL參數(shù)設(shè)置如下:

5038e718-f897-11ef-9310-92fbcf53809c.png

關(guān)于Sdram_Control.v模塊時(shí)鐘分布請(qǐng)參考下圖的藍(lán)色走線:

504ee306-f897-11ef-9310-92fbcf53809c.png

其實(shí)也可以直接從FPGA 的50MHz時(shí)鐘經(jīng)過PLL得到100M時(shí)鐘傳遞給工程里其他模塊工作,這里設(shè)置27M是為了讓大家看看FIFO跨時(shí)鐘域的一個(gè)工作情況。

數(shù)據(jù)路徑控制

SDRAM的數(shù)據(jù)口是一個(gè)inout接口,要做成三態(tài)門控制,控制電路代碼如下:

50901d12-f897-11ef-9310-92fbcf53809c.png

從command.v傳過來的oe信號(hào)為高時(shí),將數(shù)據(jù)送到DQ端口,此為SDRAM的寫入操作;當(dāng)oe信號(hào)為低時(shí),DQ輸入為高阻,三態(tài)門截止,DQ端口的數(shù)據(jù)送出給讀fifo模塊進(jìn)行緩存,此為SDRAM的讀操作。(關(guān)于oe信號(hào)的控制請(qǐng)參考04-SDRAM控制器的設(shè)計(jì)——command.v代碼解析)

自動(dòng)且連續(xù)的讀寫操作

接下來是設(shè)置完成連續(xù)讀寫(64個(gè)數(shù)據(jù))以及進(jìn)行突發(fā)中斷的操作。

command.v模塊里面已經(jīng)設(shè)置突發(fā)長度為整頁(整頁可讀寫數(shù)據(jù)量為1024),所以每次讀寫64個(gè)數(shù)據(jù)后需要提前中斷突發(fā)操作。根據(jù)IS42R16320D手冊(cè)可知下發(fā)突發(fā)中斷命令或者預(yù)充電命令可提前結(jié)束突發(fā)操作。

50cb2042-f897-11ef-9310-92fbcf53809c.png

該案例選擇預(yù)充電命令來結(jié)束突發(fā)操作。參考前面的章節(jié)可知預(yù)充電命令是RAS_N, CAS_N,WE_N組合為010。

50df1d2c-f897-11ef-9310-92fbcf53809c.png

為了拉出相關(guān)信號(hào)查看其波形,先要暫時(shí)把這些信號(hào)輸出,不然這些信號(hào)會(huì)被Quartus在綜合操作時(shí)優(yōu)化掉。

50f57f4a-f897-11ef-9310-92fbcf53809c.png

從波形圖可以看到,確實(shí)在每次讀或者寫64個(gè)數(shù)據(jù)后,都會(huì)跟著出現(xiàn)一個(gè)預(yù)充電命令來結(jié)束全頁突發(fā)操作。

5120268c-f897-11ef-9310-92fbcf53809c.png

如果上面總體的圖縮小看不清,可以參考下面放大的圖:

51376838-f897-11ef-9310-92fbcf53809c.png

可能大家會(huì)疑惑為什么不直接寫256個(gè)數(shù)據(jù),然后讀256個(gè)數(shù)據(jù)?這里設(shè)置64個(gè)數(shù)據(jù)長度是為了讓大家看到多次讀和寫是如何進(jìn)行的。

如果想設(shè)置256個(gè)數(shù)據(jù)也是可以的,這時(shí)就把自動(dòng)讀設(shè)計(jì)成寫完256個(gè)數(shù)據(jù)后自動(dòng)進(jìn)行。

5162007a-f897-11ef-9310-92fbcf53809c.png

此時(shí)的波形圖如圖所示(一次性寫完256個(gè)數(shù)據(jù),一次性讀完256個(gè)數(shù)據(jù)):

5176bc22-f897-11ef-9310-92fbcf53809c.png

指令的產(chǎn)生

讀過程通過Pre_RD和mRD信號(hào)的組合標(biāo)志出連續(xù)讀的起始時(shí)間,通過Read信號(hào)標(biāo)志出連續(xù)讀的過程。

寫過程通過Pre_WR和mWR信號(hào)的組合標(biāo)志出連續(xù)寫的起始時(shí)間,通過Write信號(hào)標(biāo)志出連續(xù)寫的過程。

當(dāng)FIFO讀模塊中的數(shù)據(jù)量低于一次需要讀取的數(shù)據(jù)量時(shí),mRD置1;直到連續(xù)讀完成時(shí),mRD才會(huì)清零。即mRD保持為0或1的狀態(tài)都會(huì)持續(xù)多個(gè)周期,因此我們無法通過電平狀態(tài)來判斷是否產(chǎn)生開始讀信號(hào)Read,所以這里采取用寄存器保存mRD的前一狀態(tài),并與當(dāng)前狀態(tài)進(jìn)行比較,當(dāng)前一狀態(tài)為0,當(dāng)前狀態(tài)為1,即產(chǎn)生上升沿時(shí),開始讀信號(hào)Read信號(hào)置1。寫信號(hào)同理。

51b458c0-f897-11ef-9310-92fbcf53809c.png

提前一個(gè)時(shí)鐘送出異步FIFO寫模塊的讀出使能信號(hào)是因?yàn)閷憯?shù)據(jù)沒有延遲,寫命令發(fā)出的當(dāng)拍要準(zhǔn)備好數(shù)據(jù),所以讀使能信號(hào)提前一拍給出。

51cb8662-f897-11ef-9310-92fbcf53809c.png

51e8774a-f897-11ef-9310-92fbcf53809c.png

52026e52-f897-11ef-9310-92fbcf53809c.png

寫入地址和讀出地址

256個(gè)數(shù)據(jù)寫入節(jié)奏是這樣的:

當(dāng)KEY1被按下,觸發(fā)了counter產(chǎn)生數(shù)據(jù)0~255,這個(gè)數(shù)據(jù)同步傳遞給異步FIFO寫模塊進(jìn)行緩存。當(dāng)系統(tǒng)檢測(cè)到write_side_fifo_rusedw1值大于64時(shí),異步FIFO寫模塊的讀出端口會(huì)把FIFO里面的數(shù)據(jù)讀出,傳遞給SDRAM器件進(jìn)行儲(chǔ)存。FIFO一次讀出64個(gè)數(shù)據(jù)。總共會(huì)讀出4次。

52410504-f897-11ef-9310-92fbcf53809c.png

從top文件傳遞過來的地址0開始寫SDRAM,一次寫64個(gè)數(shù)據(jù),寫第二筆64個(gè)數(shù)據(jù)時(shí)初始地址是0+64,寫第三筆64個(gè)數(shù)據(jù)時(shí)初始地址是64+64=128,寫第四筆64個(gè)數(shù)據(jù)時(shí)初始地址是128+64=192。

5255a900-f897-11ef-9310-92fbcf53809c.png

526e0414-f897-11ef-9310-92fbcf53809c.png

256個(gè)數(shù)據(jù)讀出節(jié)奏是這樣的:

異步FIFO讀模塊從離開初始化狀態(tài)且離開復(fù)位狀態(tài)且檢測(cè)到read_side_fifo_wusedw1小于64時(shí)開始讀取SDRAM器件的數(shù)據(jù)。

5284a462-f897-11ef-9310-92fbcf53809c.png

其復(fù)位狀態(tài)的離開主要看KEY0信號(hào)和wr_latch信號(hào):

52972024-f897-11ef-9310-92fbcf53809c.png

第一筆64個(gè)數(shù)據(jù)(0~63)是等異步FIFO寫模塊已經(jīng)完成256個(gè)字節(jié)的緩存操作(其中的192個(gè)數(shù)據(jù)已寫入到SDRAM器件了)以后讀出。此時(shí)讀SDRAM的地址送出是0。

第二筆64個(gè)數(shù)據(jù)(64~127)是等異步FIFO讀模塊讀出第一個(gè)數(shù)據(jù)0的下一個(gè)時(shí)鐘節(jié)拍讀出,因?yàn)榇藭r(shí)read_side_fifo_wusedw1的值64-1等于63又小于64。此時(shí)讀SDRAM的地址送出是64。

第三筆64個(gè)數(shù)據(jù)(128~191)是等到異步FIFO讀模塊數(shù)據(jù)又只剩63個(gè)數(shù)據(jù)時(shí)讀出,此時(shí)地址送出是128。

第四筆64個(gè)數(shù)據(jù)(192~255)同樣是等到異步FIFO讀模塊數(shù)據(jù)又只剩63個(gè)數(shù)據(jù)時(shí)讀出,此時(shí)地址送出是192。

52ab620a-f897-11ef-9310-92fbcf53809c.png

無論是SDRAM寫操作還是讀操作,在讀寫完256個(gè)數(shù)據(jù)后又會(huì)從地址0開始重復(fù)讀寫:

52d63e08-f897-11ef-9310-92fbcf53809c.png

拿SDRAM讀操作來說,當(dāng)讀完256個(gè)數(shù)據(jù)還繼續(xù)觸發(fā)讀操作時(shí)抓取波形圖可以看到:

52ed8f68-f897-11ef-9310-92fbcf53809c.png

可能讀者會(huì)有疑惑,當(dāng)異步FIFO寫模塊第四次累計(jì)了64個(gè)數(shù)據(jù)時(shí),為什么沒有馬上寫入SDRAM器件,而是先從SDRAM器件里面讀出64個(gè)數(shù)據(jù)緩存到異步FIFO讀模塊,等這64個(gè)數(shù)據(jù)讀完以后再繼續(xù)往SDRAM里面寫最后的64個(gè)數(shù)據(jù)(192~255)。這里是因?yàn)閕f語句存在優(yōu)先級(jí),電路是先判斷有沒有讀指令,當(dāng)有讀命令時(shí)就先處理讀操作。當(dāng)異步FIFO寫模塊寫入了第四個(gè)64個(gè)數(shù)據(jù)后,異步FIFO讀模塊就離開了復(fù)位狀態(tài),系統(tǒng)會(huì)自動(dòng)發(fā)送讀命令,此時(shí)就開始SDRAM器件數(shù)據(jù)的讀取操作。

530fc63c-f897-11ef-9310-92fbcf53809c.png

PS

本文的Signaltap波形圖文件對(duì)應(yīng):~sdramcontroloutput_filesSdram_Control.stp

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

    關(guān)注

    3

    文章

    394

    瀏覽量

    44168
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4859

    瀏覽量

    69649
  • SDRAM控制器
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    8246

原文標(biāo)題:07-SDRAM控制器的設(shè)計(jì)——Sdram_Control.v代碼解析

文章出處:【微信號(hào):友晶FPGA,微信公眾號(hào):友晶FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    【開源騷客】《輕松設(shè)計(jì)SDRAM控制器》第九講—解密讀寫FIFO

    終于到第九講了,第九講是這套《輕松設(shè)計(jì)SDRAM控制器》的最后一講。相信大家也是非常的期待這套教程的終結(jié),在前面的8講內(nèi)容,我們已經(jīng)介紹完了SDRAM控制器、串口部分和命令
    發(fā)表于 05-08 22:38

    多路讀寫SDRAM接口設(shè)計(jì)

    摘要:介紹SDRAM的主要控制信號(hào)和基本命令時(shí)序,提出一種應(yīng)用于解復(fù)用的支持多路讀寫SDRAM接口設(shè)計(jì),為需要大容量存儲(chǔ)的電路設(shè)計(jì)提供了
    發(fā)表于 12-03 15:20

    【每周FPGA案例】至簡設(shè)計(jì)系列- SDRAM讀寫控制器

    第1節(jié) SDRAM讀寫控制器--作者:小黑同學(xué)本文為明德?lián)P原創(chuàng)及錄用文章,轉(zhuǎn)載請(qǐng)注明出處!1.1 總體設(shè)計(jì)1.1.1 概述同步動(dòng)態(tài)隨機(jī)存取內(nèi)存(synchronousdynamic
    發(fā)表于 10-15 15:16

    具有時(shí)間隱藏特性的數(shù)據(jù)塊讀寫SDRAM控制器

    針對(duì)SDRAM 控制器讀寫數(shù)據(jù)塊訪問延時(shí)長、速度慢的問題,提出時(shí)間隱藏技術(shù),將其應(yīng)用于SDRAM 控制器的設(shè)計(jì),采用FPGA實(shí)現(xiàn)。實(shí)驗(yàn)結(jié)果表
    發(fā)表于 03-25 09:00 ?15次下載

    基于FPGA的高速SDRAM控制器的視頻應(yīng)用

    基于FPGA的高速SDRAM控制器的視頻應(yīng)用 0 引言    SDRAM(同步動(dòng)態(tài)存儲(chǔ))是一種應(yīng)用廣泛的存儲(chǔ)
    發(fā)表于 11-04 09:56 ?958次閱讀

    SDRAM控制器簡易化設(shè)計(jì)

    SDRAM存儲(chǔ)芯片擁有快速讀寫的性能,可以應(yīng)用以回波模擬系統(tǒng)作為數(shù)據(jù)高速緩存SDRAM芯片是由SDRAM
    發(fā)表于 10-24 15:08 ?0次下載
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>簡易化設(shè)計(jì)

    NiosII的奇幻漂流-Chap09-SDRAM-v1.0

    介紹在 Nios II 中利用 SDRAM 控制模塊實(shí)現(xiàn)對(duì) SDRAM 存儲(chǔ)芯片—— K4M561633G 的讀寫,通過本章,你能學(xué)到
    發(fā)表于 12-14 15:40 ?0次下載

    DDR SDRAM控制器參考設(shè)計(jì)VHDL代碼

    Xilinx FPGA工程例子源碼:DDR SDRAM控制器參考設(shè)計(jì)VHDL代碼
    發(fā)表于 06-07 11:44 ?19次下載

    DDR SDRAM控制器verilog代碼

    Xilinx FPGA工程例子源碼:DDR SDRAM控制器verilog代碼
    發(fā)表于 06-07 14:13 ?38次下載

    華清遠(yuǎn)見FPGA代碼-SDRAM讀寫控制的實(shí)現(xiàn)與Modelsim

    華清遠(yuǎn)見FPGA代碼-SDRAM讀寫控制的實(shí)現(xiàn)與Modelsim仿真
    發(fā)表于 10-27 18:07 ?26次下載

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

    在很多通信芯片及系統(tǒng)的開發(fā)中,常常需要用到存儲(chǔ)容量大、讀寫速度快的存儲(chǔ)。在各種隨機(jī)存儲(chǔ)器件中,SDRAM的價(jià)格低、體積小、速度快、容量大,是比較理想的器件。但是,與SRAM相比較,SDRAM
    發(fā)表于 11-28 19:51 ?5次下載
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的設(shè)計(jì)

    FPGA讀寫SDRAM的實(shí)例和SDRAM的相關(guān)文章及一些SDRAM控制器設(shè)計(jì)論文

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA讀寫SDRAM的實(shí)例和SDRAM的相關(guān)文章及一些SDRAM控制器設(shè)計(jì)論文主要包括了:FPGA
    發(fā)表于 12-25 08:00 ?56次下載
    FPGA<b class='flag-5'>讀寫</b><b class='flag-5'>SDRAM</b>的實(shí)例和<b class='flag-5'>SDRAM</b>的相關(guān)文章及一些<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設(shè)計(jì)論文

    如何使用FPGA設(shè)計(jì)SDRAM控制器

    針對(duì)SDRAM 操作繁瑣的問題,在對(duì)SDRAM 存儲(chǔ)和全頁突發(fā)式操作進(jìn)行研究的基礎(chǔ)上,提出一種簡易SDRAM 控制器的設(shè)計(jì)方法。該設(shè)計(jì)方法
    發(fā)表于 12-18 16:13 ?6次下載
    如何使用FPGA設(shè)計(jì)<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>

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

    SDRAM控制邏輯復(fù)雜,使用很不方便。 為了解決這個(gè)矛盾,需要設(shè)計(jì)專用的SDRAM控制器,使系統(tǒng)用戶象使用SRAM一樣方便的使用SDRAM
    的頭像 發(fā)表于 06-30 09:16 ?2820次閱讀
    基于<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>軟核的Verilog設(shè)計(jì)

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

    command.v文件對(duì)應(yīng)圖中SDRAM指令執(zhí)行模塊,它會(huì)從SDRAM接口控制模塊接收指令,然后
    的頭像 發(fā)表于 02-25 10:32 ?220次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設(shè)計(jì)之command.<b class='flag-5'>v</b><b class='flag-5'>代碼</b><b class='flag-5'>解析</b>
    主站蜘蛛池模板: aaaaaaaaa在线观看 | 手机成人在线视频 | 国产妇女在线 | 日本bbxx| 天天综合色天天综合色sb | 热久在线| 欧美潘金莲一级风流片a级 欧美片欧美日韩国产综合片 | 男女网站在线观看 | 老师下面好紧 | 亚洲特黄大黄一级毛片 | 色播在线永久免费视频网站 | 一级在线观看 | 特黄特黄视频 | 99久久婷婷免费国产综合精品 | 青娱乐啪啪| 免费在线观看大片影视大全 | 久久看片网 | 欧美日韩一区在线观看 | 青青操久久 | 天天色影 | 看黄a大片 免费 | 视频一区视频二区在线观看 | 免费一级欧美在线观看视频片 | 天天看片天天操 | 我要看一级大片 | 国产精品单位女同事在线 | 欧美成人看片一区二区三区 | 亚洲天堂视频在线观看免费 | 自拍偷自拍亚洲精品被多人伦好爽 | 三级视频网站在线观看 | 一区一精品 | 免费国产h视频在线观看 | 直接观看黄网站免费视频 | 国产成人乱码一区二区三区 | 亚洲天天看 | 天天综合天天看夜夜添狠狠玩 | 婷婷开心激情网 | 1024免费永久福利视频 | 999伊人| 亚欧成人中文字幕一区 | 午夜看黄网站免费 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品