色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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控制器IP核對(duì)SDRAM進(jìn)行讀寫(xiě)操作

NXAf_fpg ? 來(lái)源:CSDN博客 ? 作者:CSDN博客 ? 2020-09-01 10:40 ? 次閱讀

SDRAM是一種RAM類型的易失性存儲(chǔ)器件,因其具有較大的容量和相對(duì)較低的價(jià)格在嵌入式系統(tǒng)中應(yīng)用廣泛。然而應(yīng)用SDRAM需要實(shí)現(xiàn)刷新操作、行列管理、不同延遲和命令序列等邏輯,控制復(fù)雜,而Qsys提供的SDRAM控制器IP核接口極大的方便了SDRAM的使用,本文我們實(shí)現(xiàn)使用SDRAM控制器IP核對(duì)SDRAM進(jìn)行讀寫(xiě)操作。

理論部分簡(jiǎn)介

SDRAM控制器IP核能夠處理所有的SDRAM協(xié)議要求,包括上電初始化、地址復(fù)用、刷新、讀寫(xiě)時(shí)序等,極大的方便了SDRAM的使用。下面我們先來(lái)看看SDRAM控制器IP核和SDRAM芯片的連接框圖,如下所示:

從上面的這個(gè)結(jié)構(gòu)框圖中,我們可以看到SDRAM控制器IP核產(chǎn)生于FPGA內(nèi)部,它帶有接口引腳、控制邏輯、以及Avalon從機(jī)接口。接口引腳用來(lái)連接外部SDRAM芯片管腳,這些接口引腳通過(guò)Altera FPGA上的I/O引腳連接到SDRAM芯片管腳上??刂七壿嬘脕?lái)實(shí)現(xiàn)SDRAM的操作,比如,SDRAM初始化,自刷新,突發(fā)讀寫(xiě)等,這些全都是控制邏輯來(lái)完成的,控制邏輯不需要我們編寫(xiě),當(dāng)我們生成SDRAM控制器IP核之后,它會(huì)自動(dòng)生成。

Avalon從機(jī)接口用來(lái)連接我們的CPU,Avalon從機(jī)接口是SDRAM控制器IP核中僅為用戶可見(jiàn)的部分。從控制器端口提供一個(gè)如SDRAM芯片一樣大的平滑、線性存儲(chǔ)器空間。當(dāng)訪問(wèn)從控制器端口時(shí),SDRAM協(xié)議的細(xì)節(jié)完全透明。Avalon接口作為一個(gè)簡(jiǎn)單的存儲(chǔ)器接口操作,沒(méi)有存儲(chǔ)器映射的配置寄存器。這里我們需要注意的是:SDRAM芯片必須和Avalone接口一樣以相同的時(shí)鐘來(lái)驅(qū)動(dòng)。

我們可以看到圖中的片內(nèi)鎖相環(huán)(PLL),它就是用來(lái)調(diào)整SDRAM控制器與SDRAM芯片之間的時(shí)鐘相位差。在較低的時(shí)鐘頻率下,可能不需要PLL。在較高的時(shí)鐘頻率下,當(dāng)信號(hào)在引腳上有效時(shí),需要PLL來(lái)調(diào)整SDRAM時(shí)鐘。PLL并沒(méi)有包括在SDRAM控制器內(nèi)。如果需要PLL,設(shè)計(jì)者必須在生成Qsys系統(tǒng)模塊以外手動(dòng)添加PLL。Altera FPGA和SDRAM芯片的不同組合將要求不同PLL的設(shè)置。

還有一點(diǎn)我們需要說(shuō)明的是fmax性能取決于整個(gè)硬件設(shè)計(jì)。Qsys系統(tǒng)模塊的主控制器時(shí)鐘驅(qū)動(dòng)SDRAM控制器和SDRAM芯片。因此,整個(gè)系統(tǒng)模塊的性能決定SDRAM控制器的性能。例如,為了實(shí)現(xiàn)100MHz的fmax性能,系統(tǒng)模塊必須設(shè)計(jì)為100MHz時(shí)鐘率,且QuartusII軟件的時(shí)序分析必須檢驗(yàn)硬件設(shè)計(jì)是否能夠進(jìn)行100MHz的操作。說(shuō)完了SDRAM的綜述之后下面我們就總結(jié)給出SDRAM控制器IP核的功能特性:

(1)SDRAM控制器IP核具有不同數(shù)據(jù)寬度(8、16、32或64位)、不同內(nèi)存容量和多片選擇等設(shè)置。

(2)SDRAM控制器IP核可以全面支持符合PC100標(biāo)準(zhǔn)的SDRAM芯片。 (PC100,表明時(shí)鐘信號(hào)為100,數(shù)據(jù)讀寫(xiě)速率也為100)

(3)SDRAM控制器IP核可選擇與其他的片外Avalon三態(tài)器件共用地址和數(shù)據(jù)總線,該特性在I/O引腳資源緊張的系統(tǒng)中很有用。我們可以在Qsys中使用SDRAM IP核的配置向?qū)?lái)指定硬件特性和仿真特性。SDRAMIP核配置向?qū)в袃蓚€(gè)選項(xiàng)卡:Memory Profile和Timing,如下圖所示。

為了使用方便,Presets列表提供幾個(gè)預(yù)定義的SDRAM配置。如果實(shí)際使用的SDRAM芯片型號(hào)與列表中的一致,可直接選用而不用設(shè)置其他選項(xiàng)。選擇不同的預(yù)配置,SDRAM IP核將自動(dòng)改變Memory Profile和Timing選項(xiàng)卡上的值來(lái)匹配指定的配置。如果實(shí)際使用的SDRAM芯片與列表中的不相同,則需要設(shè)計(jì)者根據(jù)SDRAM芯片數(shù)據(jù)手冊(cè)的參數(shù)來(lái)設(shè)置Memory Profile和Timing標(biāo)簽上的值,改變?nèi)魏芜x項(xiàng)卡上的配置設(shè)置轉(zhuǎn)變Preset值為custom。

當(dāng)然我們也可以將我們配置好的SDRAM參數(shù)添加到預(yù)定義的SDRAM配置,在今后的使用過(guò)程中我們就直接選擇我們添加的預(yù)定義的SDRAM配置。接下來(lái)我們就來(lái)簡(jiǎn)單的介紹一下Memory Profile和Timing。

(1) Memory Profile選項(xiàng)卡

Memory Profile選項(xiàng)卡允許設(shè)計(jì)者指定SDRAM的結(jié)構(gòu),例如地址和數(shù)據(jù)總線寬度、片選信號(hào)的數(shù)目和區(qū)的數(shù)目等。Memory Profile選項(xiàng)卡設(shè)置項(xiàng)如下表所示。

這些參數(shù)值可參照使用的SDRAM手冊(cè)來(lái)設(shè)置。通過(guò)Memory Profile選項(xiàng)卡上的設(shè)置后,消息框以兆字節(jié)、兆bit位以及可尋址的字長(zhǎng)顯示SDRAM預(yù)期的內(nèi)存容量。將這些預(yù)期值與選擇的SDRAM的實(shí)際大小相比較可以檢驗(yàn)設(shè)置是否正確。說(shuō)完了Memory Profile選項(xiàng)卡,接下來(lái)我們看看Timing選項(xiàng)卡。

(2) Timing選項(xiàng)卡

Timing選項(xiàng)卡允許設(shè)計(jì)者設(shè)置SDRAM芯片的時(shí)序規(guī)范。正確值在SDRAM芯片數(shù)據(jù)手冊(cè)中提供。Timing選項(xiàng)卡上可用的設(shè)置如下表所示。

我們需要注意的是無(wú)論我們輸入的精確時(shí)序值如何,每個(gè)參數(shù)實(shí)現(xiàn)的實(shí)際時(shí)序?qū)锳valon時(shí)鐘的整數(shù)倍。對(duì)于每隔一段時(shí)間執(zhí)行一個(gè)刷新命令的參數(shù),實(shí)際時(shí)序?qū)⒉怀瞿繕?biāo)值,而其他所有參數(shù),實(shí)際時(shí)序?qū)⒋笥诨虻扔谀繕?biāo)值。

操作任務(wù)

利用官方SDRAM ControllerIP核實(shí)現(xiàn)對(duì)SDRAM的讀寫(xiě)操作。

硬件設(shè)計(jì)

實(shí)驗(yàn)的硬件框架如下圖所示:

圖中,我們要把clk IP 核的時(shí)鐘頻率設(shè)置為 100MHz。

另外需要注意的是,Nios II IP 核需要將復(fù)位向量 Reset Vector 和異常向量 Exception Vector 都設(shè)置為 SDRAM,如下圖所示:

現(xiàn)在我們主要來(lái)介紹一下新添加的SDRAM IP 核,按照使用的 SDRAM 型號(hào)為

W9825G6KH的datasheet,配置如下圖所示。

為了方便大家以后的使用,下面我們就簡(jiǎn)單為大家講解一下如何將自己的SDRAM配置添加至Library中。當(dāng)我們配置好SDRAM以后,我們可以在窗口的右下方找到【New】按鈕并點(diǎn)擊,彈出如下圖所示頁(yè)面。

在該頁(yè)面中,我們將Preset name和Preset description填寫(xiě)好以后,我們就可以點(diǎn)擊【Save】按鈕,彈出如下圖所示提示窗口。

在該提示窗口中我們選擇是,這時(shí)我們就可以在Library中看到我們添加的SDRAM配置了。然后我們重新打開(kāi)Qsys軟件,這時(shí),我們就可以在SDRAM的Library中看到我們添加的W9825G6KH。最后我們?cè)傺a(bǔ)充說(shuō)明一點(diǎn),SDRAM為動(dòng)態(tài)存儲(chǔ)器對(duì)時(shí)序要求比較高,由于FPGA內(nèi)部有延遲,所以PLL輸出100Mhz時(shí)鐘頻率給SDRAM_SCLK時(shí),PLL時(shí)鐘需要設(shè)置相位偏移,

相位偏移我們?cè)O(shè)置為-75deg。

頂層代碼如下:

從頂層代碼可以看到,我們主要例化PLL和SDRAM控制器,PLL生成兩個(gè)100MHz的時(shí)鐘,其中一個(gè)偏移-75度用于驅(qū)動(dòng)SDRAM芯片。

軟件設(shè)計(jì)

本實(shí)驗(yàn)的軟件工程代碼如下:

在代碼中,首先定義了一個(gè)aut_u8型的指針ram指向SDRAM的基地址+0x10000,之后我們改變或讀取指針指向的地址(SDRAM基地址+偏移地址)的值,就改變了SDRAM相應(yīng)地址(偏移地址/2)的值。在主函數(shù)中,我們通過(guò)memset函數(shù)將從ram指向地址開(kāi)始的100個(gè)地址的值全部清0,再通過(guò)一個(gè)for循環(huán)向從ram指向地址開(kāi)始的100個(gè)地址的賦相應(yīng)的值,最后再將這100個(gè)值逆向讀取打印出來(lái),這樣就完成了SDRAM的讀寫(xiě)操作??梢钥闯?,通過(guò)SDRAM控制器的使用,對(duì)SDRAM的讀寫(xiě)操作變得非常簡(jiǎn)單。

之所以對(duì)SDRAM的讀寫(xiě)要偏移0x10000,是因?yàn)镃PU程序的運(yùn)行占用了從SDRAM基地址開(kāi)始的部分內(nèi)存,如果我們不做偏移直接從基地址開(kāi)始讀寫(xiě),則很有可能破壞程序正常運(yùn)行,0x10000這個(gè)值并不固定,只要?jiǎng)e占用程序運(yùn)行的內(nèi)存就可以了。

下載驗(yàn)證

首先我們需要在Quartus II軟件中將qsys_sdram.sof文件下載到開(kāi)發(fā)板中;然后在Eclipse軟件中將qsys_sdram_rw.elf文件下載進(jìn)去。

qsys_sdram_rw.elf下載完成以后,我們的C程序會(huì)自動(dòng)運(yùn)行,同時(shí)在Nios II Console界面會(huì)顯示程序的打印信息。圖中可以看到從SDRAM中讀出的數(shù)據(jù)為99到0,與我們寫(xiě)入的數(shù)據(jù)一致,說(shuō)明本次實(shí)驗(yàn)下載驗(yàn)證成功。

如果大家在下載elf文件的過(guò)程中工具提示錯(cuò)誤,如下圖所示:

我們留意到在下載過(guò)程中,Console 會(huì)提示如下圖所示的信息,說(shuō)地址“0x2000020”到 “0x200D757”之間驗(yàn)證錯(cuò)誤。

錯(cuò)誤的這段地址并不固定,但它們?cè)赒sys 系統(tǒng)中剛好處于 SDRAM 的地址范圍內(nèi)。此時(shí),我們可以通過(guò)以下方式解決下載報(bào)錯(cuò)的問(wèn)題。

在Eclipse 中右擊應(yīng)用工程“qsys_sdram_rw”,在彈出的菜單中選擇“Run As”

—>“Run Configurations”,會(huì)彈出“Run Configurations”配置頁(yè)面,如下圖所示:

在上圖所示頁(yè)面中的“Target Connection”標(biāo)簽頁(yè)最下方,勾選“Reset the selected

target system”。在上圖中,我們同時(shí)勾選了“Ignore mismatched system ID”以及“Ignore mismatched system timestamp”。設(shè)置完成后,點(diǎn)擊“Apply”,最后點(diǎn)擊“Run”來(lái)重新下載elf文件,這樣在下載的過(guò)程中就不會(huì)報(bào)錯(cuò)了。

聲明:本文內(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)投訴
  • SDRAM
    +關(guān)注

    關(guān)注

    7

    文章

    428

    瀏覽量

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

    關(guān)注

    0

    文章

    28

    瀏覽量

    8173

原文標(biāo)題:NIOS II處理器系統(tǒng)設(shè)計(jì)之SDRAM IP核應(yīng)用

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的SDRAM控制器的設(shè)計(jì)_SDRAM設(shè)計(jì)源碼_明德?lián)P資料

    純邏輯實(shí)現(xiàn)SDARM控制器工程說(shuō)明本項(xiàng)目展示如何用“至簡(jiǎn)設(shè)計(jì)法”設(shè)計(jì)SDARM,具體功能要求如下:1)讀寫(xiě)仲裁機(jī)制:當(dāng)同時(shí)出現(xiàn)讀寫(xiě)請(qǐng)求時(shí),如果上次執(zhí)行了讀操作,則此次執(zhí)行寫(xiě)
    發(fā)表于 08-02 17:43

    SDRAM的基本工作原理是什么?怎么實(shí)現(xiàn)SDRAM控制器

    SDRAM的基本工作原理是什么SDRAM的基本讀寫(xiě)操作步驟是什么一種簡(jiǎn)單的通用SDRAM控制器
    發(fā)表于 05-10 06:26

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

    本次發(fā)布三例 SDRAM 控制器參考設(shè)計(jì)及 IP Core Generator 支持調(diào)用SDRAM 控制器
    發(fā)表于 10-08 07:59

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

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

    圖像處理系統(tǒng)中SDRAM控制器的FPGA實(shí)現(xiàn)

    簡(jiǎn)要介紹了SDRAM工作原理并認(rèn)真研究了Altera提供的SDRAM控制器,根據(jù)實(shí)際系統(tǒng)使用需要加以修改簡(jiǎn)化,設(shè)計(jì)了對(duì)修改后控制器進(jìn)行
    發(fā)表于 12-26 17:02 ?70次下載

    SDRAM控制器的設(shè)備與VHDL實(shí)現(xiàn)

    摘要: 介紹了SDRAM的存儲(chǔ)體結(jié)構(gòu)、主要控制時(shí)序和基本操作命令,并且結(jié)合實(shí)際系統(tǒng),給出了一種用FPGA實(shí)現(xiàn)的通用SDRAM控制器的方案。
    發(fā)表于 06-20 12:51 ?924次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的設(shè)備與VHDL實(shí)現(xiàn)

    使用Verilog實(shí)現(xiàn)基于FPGA的SDRAM控制器

    摘 要:介紹了SDRAM的特點(diǎn)和工作原理,提出了一種基于FPGA的SDRAM控制器的設(shè)計(jì)方法,使用該方法實(shí)現(xiàn)的控制器可非常方便地對(duì)SDRAM
    發(fā)表于 06-20 13:04 ?2196次閱讀

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

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

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

    SDRAM存儲(chǔ)芯片擁有快速讀寫(xiě)的性能,可以應(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>簡(jiǎn)易化設(shè)計(jì)

    DDR2SDRAM控制器IP功能測(cè)試與FPGA驗(yàn)證_陳平

    DDR2SDRAM控制器IP功能測(cè)試與FPGA驗(yàn)證_陳平
    發(fā)表于 01-07 21:45 ?3次下載

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

    EPM1240的SDRAM控制器的設(shè)計(jì)
    發(fā)表于 10-31 08:24 ?21次下載
    EPM1240的<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的設(shè)計(jì)

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

    在很多通信芯片及系統(tǒng)的開(kāi)發(fā)中,常常需要用到存儲(chǔ)容量大、讀寫(xiě)速度快的存儲(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讀寫(xiě)SDRAM的實(shí)例和SDRAM的相關(guān)文章及一些SDRAM控制器設(shè)計(jì)論文

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA讀寫(xiě)SDRAM的實(shí)例和SDRAM的相關(guān)文章及一些SDRAM控制器設(shè)計(jì)論文主要包括了:FPGA
    發(fā)表于 12-25 08:00 ?56次下載
    FPGA<b class='flag-5'>讀寫(xiě)</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 操作繁瑣的問(wèn)題,在對(duì)SDRAM 存儲(chǔ)和全頁(yè)突發(fā)式操作進(jìn)行研究的基礎(chǔ)上,提出一種
    發(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 ?2719次閱讀
    基于<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>軟核的Verilog設(shè)計(jì)
    主站蜘蛛池模板: 动漫女生的逼| 妹妹好色网| 国产综合欧美区在线| 精品含羞草免费视频观看| 麻豆无人区乱码| 羞羞漫画视频| caoporn 免费视频| 好硬好湿好爽再深一点视频 | 春药按摩人妻中文字幕| 扒开黑女人p大荫蒂老女人| 草草久久久无码国产专区全集观看| 超级乱淫片午夜电影网99| 国产不卡一卡2卡三卡4卡网站| 國產麻豆AVMDXMDX| 久久久精品久久久久特色影视| 久色乳综合思思在线视频| 琪琪伦伦影院理论片| 午夜免费福利| 亚洲伊人色| 在线看片av以及毛片| bl高h肉文| 精品免费在线视频| 热思思| 亚洲色视在线观看视频| qvod播放电影| 久久精品免费观看久久| 日日操夜夜摸| 中文字幕久久熟女人妻AV免费| 动漫美女禁区图| 男人到天堂a在538线| 亚洲风情无码免费视频| 99久久国产宗和精品1上映| 国外成人电台| 日韩熟女精品一区二区三区| 中国少妇内射XXXX狠干| 国产啪精品视频网免费| 青柠在线视频| 99久久99久久免费精品蜜桃| 久久精品动漫99精品动漫| 无码日韩人妻精品久久蜜桃免费 | 欧美性类s0x|