www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]0 引言 SDRAM(同步動(dòng)態(tài)存儲(chǔ)器)是一種應(yīng)用廣泛的存儲(chǔ)器,具有容量大、數(shù)據(jù)讀寫速度快、價(jià)格低廉等優(yōu)點(diǎn),特別適合那些需要海量存儲(chǔ)器的應(yīng)用領(lǐng)域,例如視頻方面。 這里有一個(gè)視頻項(xiàng)目要求將非標(biāo)準(zhǔn)的ITU-R BT.

0 引言
    SDRAM(同步動(dòng)態(tài)存儲(chǔ)器)是一種應(yīng)用廣泛的存儲(chǔ)器,具有容量大、數(shù)據(jù)讀寫速度快、價(jià)格低廉等優(yōu)點(diǎn),特別適合那些需要海量存儲(chǔ)器的應(yīng)用領(lǐng)域,例如視頻方面。
    這里有一個(gè)視頻項(xiàng)目要求將非標(biāo)準(zhǔn)的ITU-R BT.656視頻格式的數(shù)據(jù)轉(zhuǎn)換成VGA格式,直接用于顯示器顯示。如圖1,輸入的視頻格式是非標(biāo)準(zhǔn)的ITU-R BT.656格式,圖像分辨率是1280×1024,幀速是15幀/秒,每一個(gè)像素點(diǎn)是24bit;輸出的視頻格式是VGA格式,圖像分辨率是1280× 1024,幀速是60幀/秒,每一個(gè)像素點(diǎn)還是24bit。

    本項(xiàng)目使用SDRAM來存儲(chǔ)視頻數(shù)據(jù)。在設(shè)計(jì)中,要求能夠?qū)⒁环暾膱D像(1280×1024×24bit)存儲(chǔ)在SDRAM中。并且要求讀寫突發(fā)長(zhǎng)度是1280,即一行視頻數(shù)據(jù)(1280×24bit)。SDRAM突發(fā)長(zhǎng)度最高只能達(dá)到256(即SDRAM芯片的一列的長(zhǎng)度),為此需要使用FPGA專門實(shí)現(xiàn)一個(gè)SDRAM控制器。在控制器的設(shè)計(jì)中通過采用切換bank操作、自動(dòng)預(yù)沖、集中刷新等技術(shù)實(shí)現(xiàn)了這種超長(zhǎng)突發(fā)長(zhǎng)度的數(shù)據(jù)讀寫。同樣通過適當(dāng)?shù)匦薷拇丝刂破鳎梢詫?shí)現(xiàn)任意突發(fā)長(zhǎng)度的數(shù)據(jù)讀寫。

1 SDRAM基本特性
    本設(shè)計(jì)中采用的SDRAM芯片的型號(hào)是MT48LC2M3282-7。SDRAM的主要操作包括初始化、讀寫和刷新操作。SDRAM的初始化操作過程如下:上電后等待100 μs;然后依次完成預(yù)沖,兩次刷新操作;接下來就可以配置寄存器了。至此整個(gè)初始化工作結(jié)束,SDRAM進(jìn)入正常工作狀態(tài)。SDRAM進(jìn)入正常工作狀態(tài)后,就可以根據(jù)命令來工作。這些命令包括:預(yù)沖(Precharge)和自動(dòng)預(yù)沖(AutoPrecharge)、激活(Active)、讀 (read)、寫(write)、自動(dòng)刷新(Auto Refresh)和自刷新(Self Refresh)等。根據(jù)本設(shè)計(jì)的需要,這里詳細(xì)介紹設(shè)計(jì)中相關(guān)的命令:自動(dòng)預(yù)沖、激活、讀寫、自動(dòng)刷新。自動(dòng)預(yù)沖命令是SDRAM芯片在一次突發(fā)讀/寫結(jié)束后自動(dòng)發(fā)出預(yù)沖命令,將讀寫的行關(guān)閉。它與預(yù)沖命令有著相同的功能,但是發(fā)起命令的方式不一樣。預(yù)沖命令是SDRAM控制器發(fā)起的命令,它需要占據(jù) SDRAM的總線,在這段時(shí)間不能讀寫數(shù)據(jù)。而自動(dòng)預(yù)沖命令是SDRAM自動(dòng)的行為,不需要占據(jù)SDRAM的總線。這個(gè)命令是在發(fā)起讀寫命令時(shí)設(shè)置的。
    激活命令是對(duì)SDRAM的某一行激活,這樣才能對(duì)這一行數(shù)據(jù)發(fā)起讀寫操作。讀寫命令是對(duì)某一激活的行進(jìn)行突發(fā)讀寫操作。具體的突發(fā)讀寫的數(shù)據(jù)長(zhǎng)度在初始化時(shí)配置寄存器時(shí)設(shè)置了。
    刷新命令是對(duì)SDRAM內(nèi)的數(shù)據(jù)完成再生的操作,因?yàn)镾DRAM采用電容存儲(chǔ)數(shù)據(jù),而電容存在漏電的現(xiàn)象,因此需要隔一段時(shí)間對(duì)電容作一次刷新(即重新充電),一般來說要求64ms內(nèi)將SDRAM的所有行都刷一遍。SDRAM有兩種刷新命令:自動(dòng)刷新和自刷新。自刷新是在芯片處于低功耗狀態(tài)下時(shí)才使用的方式,芯片內(nèi)部自動(dòng)完成刷新操作。自動(dòng)刷新是控制器發(fā)起的刷新操作,它必須在SDRAM沒有激活行時(shí)才能進(jìn)行刷新操作,而且需要占用一定的時(shí)間(大約 60~70ns)??刂破骺梢愿鶕?jù)需要選擇在何時(shí)刷新,即定時(shí)刷新,或集中刷新。定時(shí)刷新是隔一段時(shí)間就刷新一次;集中刷新是在某一段空閑時(shí)間內(nèi)連續(xù)刷新若干次。這個(gè)只要保證在64 ms內(nèi)將所有的行都刷一遍即可,具體的刷新方式可以根據(jù)自己的應(yīng)用需要來設(shè)計(jì)。

2 SDRAM控制器的設(shè)計(jì)
2.1 SDRAM控制器的設(shè)計(jì)思路
    SDRAM芯片完成一次讀寫操作由三個(gè)命令組成:激活、讀/寫、預(yù)沖。讀寫數(shù)據(jù)的突發(fā)長(zhǎng)度往往是有限制的,在SDRAM芯片本身提供的突發(fā)長(zhǎng)度最大只能達(dá)到一行的容量(256,即全頁(yè)突發(fā)模式)。這樣當(dāng)一次讀寫突發(fā)長(zhǎng)度結(jié)束后,如果需要發(fā)起下一次讀寫,就需要發(fā)預(yù)沖命令結(jié)束這一行,然后發(fā)激活命令開啟下一行。這樣才能開始寫下一次數(shù)據(jù)。因此,如果想要連續(xù)的數(shù)據(jù)讀寫,就必須想辦法節(jié)省激活和預(yù)沖命令。
    激活命令通過切換Bank操作來完成。SDRAM有4個(gè)獨(dú)立的bank,每一個(gè)bank可以同時(shí)允許有一行激活,彼此并不會(huì)相互干擾。這樣的話,在同一時(shí)刻最多可以有4個(gè)行處于激活狀態(tài)。這就為節(jié)約激活時(shí)間提供了解決方案:在突發(fā)讀寫一個(gè)bank下的某一行時(shí),可以在突發(fā)長(zhǎng)度結(jié)束之前提前激活另一個(gè) bank下的某一行。這樣當(dāng)這個(gè)突發(fā)長(zhǎng)度結(jié)束時(shí)就可以直接讀寫另一bank中被激活的行。預(yù)沖可以采用自動(dòng)預(yù)沖方式來完成,不需要額外的預(yù)沖命令。
    通過上述兩種操作方式可以完全實(shí)現(xiàn)超長(zhǎng)突發(fā)長(zhǎng)度的數(shù)據(jù)讀寫,本設(shè)計(jì)將SDRAM設(shè)置成突發(fā)長(zhǎng)度為8,突發(fā)長(zhǎng)度結(jié)束后采用自動(dòng)預(yù)沖方式完成此行的預(yù)沖操作,具體設(shè)想如下:
    在寫SDRAM時(shí),先激活Bank0的第一行;發(fā)出帶自動(dòng)預(yù)沖模式的寫操作;數(shù)據(jù)開始寫入這一行內(nèi);一段時(shí)間后(在突發(fā)長(zhǎng)度結(jié)束之前)將Bank1的第一行激活;在Bank0的寫突發(fā)長(zhǎng)度結(jié)束的同時(shí),發(fā)出寫B(tài)ank1的命令,這樣接下來的數(shù)據(jù)就寫入Bank1的第一行中;而由于在寫SDRAM的Bank0 時(shí)設(shè)置成自動(dòng)預(yù)沖模式,所以SDRAM會(huì)在Bank0的寫操作結(jié)束后自動(dòng)預(yù)沖,經(jīng)過tRP(預(yù)沖時(shí)間)后,這一Bank自動(dòng)回到idle狀態(tài)。同樣 Bank1處于寫突發(fā)長(zhǎng)度時(shí)將Bank2的第一行激活,在Bank1的寫突發(fā)長(zhǎng)度結(jié)束的同時(shí)發(fā)出寫B(tài)ank2的命令……如此四個(gè)bank輪流工作,將數(shù)據(jù)均勻地分配到4個(gè)bank中。
    對(duì)于這種超長(zhǎng)的數(shù)據(jù)突發(fā)讀寫,完成一次讀寫操作所花費(fèi)的時(shí)間比較多,例如讀寫時(shí)鐘是108MHz時(shí),一次突發(fā)長(zhǎng)度是1280的寫操作所花費(fèi)的時(shí)間是11. 6 μs,即在這段時(shí)間內(nèi)SDRAM的數(shù)據(jù)總線是不能被中斷的。因此采用集中刷新是最好的解決辦法。在突發(fā)讀寫結(jié)束后,會(huì)有一段比較長(zhǎng)的空閑期(具體時(shí)間長(zhǎng)度根據(jù)視頻數(shù)據(jù)的視頻中行消隱數(shù)據(jù)個(gè)數(shù)和讀寫時(shí)鐘決定),在這段時(shí)問內(nèi)可以集中連續(xù)發(fā)出多個(gè)刷新命令,只需要保證在64ms內(nèi)總的刷新次數(shù)達(dá)到了要求即可。
2.2 SDRAM控制器的實(shí)現(xiàn)
    本設(shè)計(jì)中將SDRAM控制器分成4個(gè)子模塊:sdr_master主控模塊、sdr_ctrl命令模塊、sdr_sig譯碼模塊、sdr_data數(shù)據(jù)通路模塊,見圖2。sdr_master主控模塊根據(jù)外部的讀寫請(qǐng)求向sdr_ctrl命令模塊提供各種讀寫控制信號(hào);sdr_ctrl命令模塊內(nèi)部的控制狀態(tài)機(jī)會(huì)依此發(fā)出各種SDRAM讀寫控制命令;sdr_sig譯碼模塊會(huì)把sdr_ctrl輸出的控制命令譯碼成符合SDRAM接口的信號(hào)。此SDRAM 控制器的設(shè)計(jì),最復(fù)雜的部分在于如何設(shè)計(jì)SDRAM的工作時(shí)序,即SDRAM何時(shí)激活,何時(shí)讀/寫,何時(shí)預(yù)沖,何時(shí)刷新。這些控制除了滿足SDRAM的工作特性外,還要滿足設(shè)計(jì)要求。因此,鑒于SDRAM控制的復(fù)雜性,一般都采用狀態(tài)機(jī)來控制。本設(shè)計(jì)中sdr_ctrl命令模塊包括兩個(gè)狀態(tài)機(jī):初始化狀態(tài)機(jī)完成SDRAM的初始化;控制狀態(tài)機(jī)完成SDRAM的正常工作控制。下面分別詳述這兩個(gè)狀態(tài)機(jī)的設(shè)計(jì)。

    初始化狀態(tài)機(jī)的結(jié)構(gòu)見圖3。系統(tǒng)在上電(復(fù)位)后,處于i NOP狀態(tài);當(dāng)?shù)却?00 μs后,狀態(tài)跳轉(zhuǎn)到i PRE,發(fā)出預(yù)沖命令;接著跳轉(zhuǎn)到i tRP等待;經(jīng)過tRP時(shí)間后,狀態(tài)跳轉(zhuǎn)到i_AR1,發(fā)第一次刷新命令,然后在i_tRFC1等待tRFC時(shí)間后發(fā)第二次刷新命令,再等待tRFC;接下來轉(zhuǎn)到狀態(tài)i MRS,發(fā)裝載模式字命令,然后等待tMRD時(shí)間后初始化完成,進(jìn)入i_ready狀態(tài)。至此初始化完成,SDRAM芯片就可以正常工作了。

    控制狀態(tài)機(jī)的狀態(tài)跳變見圖4。此狀態(tài)機(jī)是為了滿足超長(zhǎng)數(shù)據(jù)的連讀或連寫而特殊設(shè)計(jì)的。上電后處于c_idle狀態(tài),當(dāng)初始化完成后,控制狀態(tài)機(jī)才能開始正常工作。當(dāng)外部要求進(jìn)行讀寫操作時(shí),會(huì)正式地啟動(dòng)狀態(tài)機(jī)。此時(shí)狀態(tài)機(jī)跳變到c_ACT狀態(tài),使SDRAM控制器發(fā)出激活命令;接下來兩個(gè)狀態(tài) c_tRCD1、c_tRCD2是激活等待時(shí)間tRCD;然后狀態(tài)機(jī)根據(jù)外部是讀請(qǐng)求還是寫請(qǐng)求,來決定下一個(gè)狀態(tài)是發(fā)讀命令還是寫命令。下面以寫數(shù)據(jù)為例進(jìn)行說明,讀數(shù)據(jù)的工作過程是一樣的。
    當(dāng)要求寫SDRAM時(shí),控制狀態(tài)機(jī)的狀態(tài)由c_tRCD2跳變到c_WR狀態(tài),發(fā)出寫命令。SDRAM控制器會(huì)在發(fā)寫命令的同時(shí)將本次突發(fā)數(shù)據(jù)的第一個(gè)數(shù)據(jù)送到總線上,接著是三個(gè)周期的狀態(tài):c_tDAL1、c_DAL2、c_tDAL3,之后回到c_idle狀態(tài)。這樣完成了寫數(shù)據(jù)的一次循環(huán),剛好需要 8個(gè)周期。在回到c_idle狀態(tài)后即可啟動(dòng)下一次寫數(shù)據(jù)傳輸,這時(shí)狀態(tài)機(jī)跳到c_ACT狀態(tài),發(fā)出激活另一個(gè)bank的某一行的命令,然后經(jīng)過兩個(gè)周期后,此時(shí)上一次寫操作的數(shù)據(jù)突發(fā)長(zhǎng)度剛好結(jié)束。下一個(gè)周期狀態(tài)變成c_WR,發(fā)下一次的寫命令,同時(shí)將這一次突發(fā)長(zhǎng)度的第一個(gè)數(shù)據(jù)放到SDRAM數(shù)據(jù)總線上……如此循環(huán),可以完成長(zhǎng)度是1280的連續(xù)數(shù)據(jù)的寫入。這個(gè)循環(huán)如何結(jié)束呢?當(dāng)發(fā)了最后一個(gè)突發(fā)寫命令后,狀態(tài)機(jī)回到c_idle時(shí),即可停止循環(huán),不再進(jìn)入激活狀態(tài)。總之通過控制這個(gè)狀態(tài)機(jī)可以完成長(zhǎng)度是8的倍數(shù)的連續(xù)數(shù)據(jù)讀寫??刂茽顟B(tài)機(jī)還有實(shí)現(xiàn)刷新操作的功能,當(dāng)要求對(duì)SDRAM進(jìn)行刷新操作時(shí),控制狀態(tài)機(jī)的狀態(tài)會(huì)跳變到c_AR,SDRAM控制器會(huì)依此發(fā)出刷新命令。然后狀態(tài)機(jī)跳變到c_tRFC狀態(tài)等待刷新操作的結(jié)束。當(dāng)刷新操作結(jié)束后,狀態(tài)機(jī)將恢復(fù)到c_idle。這樣就完成了一次刷新操作。如果需要多次刷新,就可以連續(xù)進(jìn)行多次這樣的循環(huán)。
2.3 SDRAM控制器的綜合
    本設(shè)計(jì)使用的SDRAM芯片是MT48LC2M3282,FPGA芯片是cyclone的EP1C6Q240C6。綜合工具是QuartusII 6.0。綜合的結(jié)果是邏輯單元使用了170個(gè),占總資源的3%;工作頻率最高可以達(dá)到240.10 MHz,滿足項(xiàng)目要求。

3 代碼的仿真測(cè)試
    本設(shè)計(jì)的仿真工具是Modelsim6.1f,部分仿真測(cè)試波形見圖5。圖中描述了讀一行數(shù)據(jù)的時(shí)序圖,在開始突發(fā)寫數(shù)據(jù)后,SDRAM的數(shù)據(jù)總線sdr_DQ上的數(shù)據(jù)沒有被中斷。這個(gè)表示整個(gè)設(shè)計(jì)達(dá)到了能夠支持超長(zhǎng)數(shù)據(jù)突發(fā)讀寫功能,能滿足設(shè)計(jì)要求。

4 結(jié)束語(yǔ)
    本文介紹了一種實(shí)現(xiàn)超長(zhǎng)數(shù)據(jù)突發(fā)讀寫的設(shè)計(jì)。此設(shè)計(jì)采用切換Bank操作節(jié)約了激活命令所花費(fèi)的時(shí)間;采用自動(dòng)預(yù)沖命令節(jié)約了預(yù)沖命令所花費(fèi)的時(shí)間;采用集中刷新完成了足夠的刷新操作。通過對(duì)上面操作的組合設(shè)計(jì),能夠很好地完成超長(zhǎng)數(shù)據(jù)的突發(fā)讀寫。在設(shè)計(jì)中,成功地實(shí)現(xiàn)了突發(fā)長(zhǎng)度是1280的數(shù)據(jù)讀寫,滿足了項(xiàng)目需求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

世界上最大的兩家資產(chǎn)管理公司貝萊德(BlackRock)和先鋒(Vanguard)等金融機(jī)構(gòu)已在英國(guó)一項(xiàng)問詢中表示,它們將繼續(xù)投資化石燃料,并且不認(rèn)同氣候變化計(jì)劃要求停止新的煤炭、石油和天然氣投資的觀點(diǎn)。貝萊德是試圖采取...

關(guān)鍵字: CK 天然氣 AN AC

高盛集團(tuán)(Goldman Sachs Group)周二證實(shí)了一項(xiàng)全面重組計(jì)劃,這是該公司歷史上最大的改革舉措之一。高盛將把其交易和投行業(yè)務(wù)合并為一個(gè)部門,使該行從四個(gè)部門縮減至三個(gè)部門,縮減進(jìn)軍零售銀行業(yè)務(wù)的努力,專注于...

關(guān)鍵字: DMA GROUP GO AN

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

電子設(shè)計(jì)自動(dòng)化

21191 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉