日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀] 今天我們來(lái)講的是SDRAM的架構(gòu)以及設(shè)計(jì),這也是小墨第一次接觸架構(gòu),也談不上給大家講,就是把我理解的當(dāng)做一個(gè)筆記分享給大家,我也試著做了一個(gè)SDRAM 的架構(gòu)word文檔,在文章的后面,喜歡的朋友可以下載下來(lái)看一下

 今天我們來(lái)講的是SDRAM的架構(gòu)以及設(shè)計(jì),這也是小墨第一次接觸架構(gòu),也談不上給大家講,就是把我理解的當(dāng)做一個(gè)筆記分享給大家,我也試著做了一個(gè)SDRAM 的架構(gòu)word文檔,在文章的后面,喜歡的朋友可以下載下來(lái)看一下,有什么錯(cuò)誤也請(qǐng)積極指正,畢竟我也是沒(méi)有老師教,也是自己摸索的,難免有些不合理的地方。

一、SDRAM 工作部分

1、上電初始化

我們先來(lái)看第一部分,上電初始化。上電初始化我們知道,上電之后我們需要等待200us的穩(wěn)定期,這段時(shí)間我們可以用一個(gè)定時(shí)器來(lái)計(jì)數(shù),這沒(méi)什么問(wèn)題,然后進(jìn)入的是預(yù)充電部分,這個(gè)時(shí)候,預(yù)充電的時(shí)候,sdram_cmd模塊會(huì)檢測(cè)此時(shí)的初始化狀態(tài)機(jī)的狀態(tài),若處于預(yù)充電狀態(tài),那么sdram_cmd模塊向SDRAM發(fā)命令,具體命令sdram的datasheet里面有,發(fā)的是一個(gè)precharge,即預(yù)充電,發(fā)完命令之后,需要等待一段時(shí)間,來(lái)確保這個(gè)命令被SDRAM捕獲,這等待的時(shí)間,特權(quán)老師用的方式我覺(jué)得很好

用一個(gè)宏定義,當(dāng)計(jì)數(shù)器計(jì)數(shù)到相應(yīng)的時(shí)間后,預(yù)充電完成參數(shù)置位 即end_trp 置位,下面的用法也是一樣,即當(dāng)初始化狀態(tài)機(jī)進(jìn)入預(yù)充電狀態(tài)i_pre時(shí),計(jì)數(shù)器開(kāi)啟,開(kāi)始計(jì)數(shù),計(jì)數(shù)完成,也就是預(yù)充電結(jié)束的時(shí)候,計(jì)數(shù)器復(fù)位,這個(gè)復(fù)位的控制,可以用case語(yǔ)句來(lái)檢測(cè)初始化狀態(tài)機(jī)的狀態(tài),在相應(yīng)的狀態(tài)給予相應(yīng)的復(fù)位與置位

接下來(lái)是8個(gè)自刷新,操作和預(yù)充電一樣

到了模式寄存器的配置階段,我們需要選定L_bank,以及SDRAM工作模式的配置,當(dāng)sdram_cmd模塊檢測(cè)到初始化狀態(tài)機(jī)到達(dá)模式寄存器配置階段時(shí),我們的給SDRAM的sdram_bank端口賦相應(yīng)的值,并且設(shè)置地址總線

當(dāng)初始化結(jié)束的時(shí)候,標(biāo)志位init_done置位,告訴工作狀態(tài)機(jī),初始化狀態(tài)機(jī)已經(jīng)結(jié)束,進(jìn)入工作狀態(tài)。下面是我用word做的上電初始化的狀態(tài)轉(zhuǎn)移圖

2、自刷新

初始化結(jié)束之后,SDRAM為了防止數(shù)據(jù)丟失,要進(jìn)行自刷新,上一篇文章已經(jīng)講過(guò)了,刷新2^12行需要64ms,也就是每15us刷新一行,也就是我們需要每15us發(fā)送一次自刷新請(qǐng)求給SDRAM工作狀態(tài)機(jī),狀態(tài)機(jī)一旦檢測(cè)到自刷新請(qǐng)求信號(hào),就告訴sdram工作模塊,然后工作模塊就向SDRAM發(fā)送自刷新命令,即CMD_A_PEF

下面是自刷新的狀態(tài)轉(zhuǎn)移圖

3、讀寫(xiě)狀態(tài)

初始化結(jié)束以后,SDRAM就處于工作狀態(tài),每15us進(jìn)行一次自刷新,這個(gè)時(shí)候,如果想要讀或?qū)憯?shù)據(jù)的話,即向工作狀態(tài)機(jī)sdram_work_FSM發(fā)送讀寫(xiě)請(qǐng)求,如果是讀請(qǐng)求,那么工作狀態(tài)機(jī)進(jìn)入行有效狀態(tài),也即激活狀態(tài)w_active,此時(shí),sdram_cmd模塊會(huì)發(fā)送行有效命令,即CMD_ACTIVEA

同時(shí),我們需要將我們的12位行地址送給我們的sdram地址總線sdram_addr,然后便是一個(gè)等待時(shí)間段,TRCD,這個(gè)時(shí)間段里我們是不需要做什么工作的,只需等待TRCD結(jié)束

TRCD結(jié)束的時(shí)候,工作狀態(tài)機(jī)進(jìn)入讀狀態(tài),此時(shí),我們需要發(fā)送列地址選中我們的存儲(chǔ)單元,并告訴sdram_cmd模塊發(fā)送讀命令,這個(gè)過(guò)程是讀命令和列地址同時(shí)發(fā)送的。我們知道,讀命令發(fā)出之后,會(huì)進(jìn)入潛伏期TCL。

這個(gè)狀態(tài)我們也不需要做什么,因?yàn)槲覀冊(cè)谀J郊拇嫫髋渲秒A段已經(jīng)將各種參數(shù)配置好了,包括什么潛伏期長(zhǎng),突發(fā)讀寫(xiě)長(zhǎng)度之類(lèi)的,等到潛伏期結(jié)束之后,SDRAM會(huì)自動(dòng)進(jìn)行讀數(shù)據(jù),而且讀的數(shù)據(jù)長(zhǎng)度會(huì)跟我們之前設(shè)置的一樣長(zhǎng),這個(gè)讀數(shù)據(jù)的狀態(tài)需要時(shí)間,即我們的工作狀態(tài)機(jī)工作在w_rd狀態(tài),等待8個(gè)時(shí)鐘周期之后,所有的數(shù)據(jù)都已經(jīng)被送到數(shù)據(jù)總線。

這個(gè)時(shí)候我們需要等一會(huì),因?yàn)槲覀冊(cè)诎l(fā)送讀命令的時(shí)候,A10是置1的,也就是說(shuō),每次讀寫(xiě)完之后要自動(dòng)進(jìn)行預(yù)充電,從而才可以打開(kāi)新的工作行,這時(shí),我們的工作狀態(tài)機(jī)即進(jìn)入了w_rwait狀態(tài),等到預(yù)充電結(jié)束,才完成一次讀操作,返回初始狀態(tài),等待下一個(gè)請(qǐng)求的到來(lái)

下面是讀寫(xiě)狀態(tài)轉(zhuǎn)移圖,由于寫(xiě)狀態(tài)只是沒(méi)有潛伏期,寫(xiě)完之后有一個(gè)寫(xiě)回延時(shí),其他地方與讀狀態(tài)相同,我就不再介紹了

二、模擬信號(hào)產(chǎn)生部分

我們先來(lái)想一下我們的要想測(cè)試我們的SDRAM控制器是否正確,都需要什么測(cè)試參數(shù)吧

1、 首先我們需要發(fā)送讀寫(xiě)地址對(duì)吧,但是我們需要有一個(gè)間隔,即每隔一段時(shí)間發(fā)送一次寫(xiě)地址,為什么呢?因?yàn)槲覀冎霸谀J郊拇嫫髋渲玫臅r(shí)候,定義了突發(fā)讀寫(xiě)的長(zhǎng)度為8,也就是我們發(fā)送一個(gè)地址,那么sdram會(huì)在連續(xù)的8個(gè)地址中連續(xù)寫(xiě)8次數(shù),我們?nèi)绻侔l(fā)送地址,需要等到這8次地址寫(xiě)完之后再發(fā)送下一個(gè)地址這個(gè)延時(shí)大概為640ns,也就是計(jì)數(shù)器為什么要計(jì)到3f的原因,下一個(gè)地址的發(fā)送就需要比之前的地址大8了,比如第一次我發(fā)送的是0地址,那,隔一段時(shí)間之后,我就需要發(fā)送8地址了。

讀地址也一樣,當(dāng)寫(xiě)地址寫(xiě)滿了之后,讓地址清零,從零地址讀起即可

還有再解釋一下,特權(quán)老師為什么定義22位的模擬地址,22位的模擬地址包括2位的L_BANK的地址,12位行地址和8位列地址。有人會(huì)問(wèn),為什么是行地址和列地址分開(kāi)呢,不是行列地址共用嗎?注意這里只是模擬地址,到時(shí)候我們給地址總線賦值的時(shí)候是分開(kāi)賦值的

2、然后我們需要產(chǎn)生遞增數(shù)據(jù),每640ns產(chǎn)生8個(gè)數(shù)即可

3、在發(fā)送遞增數(shù)據(jù)之前,我們需要發(fā)送寫(xiě)請(qǐng)求信號(hào),這個(gè)寫(xiě)請(qǐng)求信號(hào)是要發(fā)送到我們接下來(lái)要講的FIFO里面,發(fā)送寫(xiě)請(qǐng)求之后,數(shù)據(jù)進(jìn)入FIFO,注意,這里的寫(xiě)請(qǐng)求是發(fā)送給FIFO的,不是發(fā)送到SDRAM的,SDRAM的寫(xiě)請(qǐng)求是由FIFO發(fā)出去的

有人會(huì)問(wèn),寫(xiě)請(qǐng)求有了,是不是還該有讀請(qǐng)求,要知道,我們的數(shù)據(jù)是先寫(xiě)到FIFO里面,再有SDRAM對(duì)FIFO進(jìn)行讀操作,將寫(xiě)進(jìn)FIFO的數(shù)據(jù)再送到SDRAM,而我們從SDRAM中讀回的數(shù)據(jù),同樣要寫(xiě)到FIFO里面,然后我們?cè)購(gòu)腇IFO里面讀。是不是有人會(huì)問(wèn),這不是多此一舉嗎?其實(shí)不然,要知道我們的SDRAM是工作在100M的時(shí)鐘頻率下,而且是有相位偏移的,對(duì)我們FPGA來(lái)說(shuō)是一個(gè)異步時(shí)鐘,如果我們不采用FIFO的形式,那很容易發(fā)生亞穩(wěn)態(tài)問(wèn)題,導(dǎo)致系統(tǒng)不穩(wěn)定

三、數(shù)據(jù)緩存部分

1、寫(xiě)FIFO

我來(lái)解釋一下,寫(xiě)入時(shí)鐘,也就是我們FPGA的時(shí)鐘,50MHZ,在這個(gè)時(shí)鐘頻率下,我們需要給FIFO發(fā)送寫(xiě)請(qǐng)求和遞增數(shù)據(jù),wrusedw反映了我寫(xiě)入FIFO的占用量,當(dāng)sdram工作狀態(tài)機(jī)檢測(cè)到寫(xiě)請(qǐng)求之后(FIFO發(fā)出的寫(xiě)請(qǐng)求),會(huì)產(chǎn)生一個(gè)響應(yīng),告訴FIFO要讀數(shù)據(jù)了,這個(gè)響應(yīng)作為FIFO的讀信號(hào),在100MHZ的時(shí)鐘頻率下,將我們寫(xiě)入的數(shù)據(jù)讀走,送到SDRAM數(shù)據(jù)總線上

2、讀FIFO

讀FIFO跟寫(xiě)FIFO相反,寫(xiě)FIFO時(shí)鐘為100MHZ,在這個(gè)時(shí)鐘頻率下,我們將從SDRAM中讀回的數(shù)據(jù)寫(xiě)到FIFO里面,注意這里我們還用了wrusedw,來(lái)反應(yīng)寫(xiě)FIFO的占用量,也就是我們從SDRAM里讀了多少數(shù)據(jù),然后在50MHZ的時(shí)鐘下,將從SDRAM讀回的數(shù)據(jù)采集下來(lái),送到顯示模塊來(lái)驗(yàn)證是否是遞增數(shù)據(jù),這個(gè)顯示模塊我們用數(shù)碼管來(lái)顯示,比較方便,為了觀察清楚,我們可以在數(shù)碼管顯示模塊,每隔1S種發(fā)送一次讀FIFO請(qǐng)求,這樣在數(shù)碼管上,會(huì)每隔1秒鐘顯示一個(gè)遞增的數(shù)據(jù)了

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

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動(dòng)創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來(lái)一場(chǎng)聚焦FPGA技術(shù)與產(chǎn)業(yè)應(yīng)用的盛會(huì)——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來(lái) 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開(kāi)發(fā)板

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)憑借其開(kāi)發(fā)時(shí)間短、成本效益高以及靈活的現(xiàn)場(chǎng)重配置與升級(jí)等諸多優(yōu)點(diǎn),被廣泛應(yīng)用于各種產(chǎn)品領(lǐng)域。從通信設(shè)備到工業(yè)控制,從汽車(chē)電子到航空航天,F(xiàn)PGA 的身影無(wú)處不在。為了充分發(fā)揮...

關(guān)鍵字: 可編程門(mén)陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開(kāi)售Altera?的Agilex? 3 FPGA C系列開(kāi)發(fā)套件。此開(kāi)...

關(guān)鍵字: FPGA 邊緣計(jì)算 嵌入式應(yīng)用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進(jìn)入體內(nèi),并對(duì)體內(nèi)器官或結(jié)構(gòu)進(jìn)行直接觀察和對(duì)疾病進(jìn)行診斷的醫(yī)療設(shè)備,一般由光學(xué)鏡頭、冷光源、光導(dǎo)纖維、圖像傳感器以及機(jī)械裝置等構(gòu)成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關(guān)鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運(yùn)用單片機(jī)和FPGA芯片作為主控制器件 , 單片機(jī)接收從PC機(jī)上傳過(guò)來(lái)的顯示內(nèi)容和顯示控制命令 , 通過(guò)命令解釋和數(shù)據(jù)轉(zhuǎn)換 , 生成LED顯示屏所需要的數(shù)據(jù)信號(hào)和同步的控制信號(hào)— 數(shù)據(jù)、時(shí)鐘、行同步和面同步 。FPGA芯...

關(guān)鍵字: 單片機(jī) FPGA LED顯示屏

在異構(gòu)計(jì)算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計(jì)算的關(guān)鍵架構(gòu)。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時(shí)鐘頻率下實(shí)現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關(guān)鍵字: ARM FPGA FSPI

在全球FPGA市場(chǎng)被Xilinx(AMD)與Intel壟斷的格局下,國(guó)產(chǎn)FPGA廠商高云半導(dǎo)體通過(guò)構(gòu)建自主IP核生態(tài)與智能時(shí)序約束引擎,走出差異化高端化路徑。本文深入解析高云半導(dǎo)體FPGA工具鏈的兩大核心技術(shù)——全棧IP...

關(guān)鍵字: FPGA 高云半導(dǎo)體

2025年6月12日,由安路科技主辦的2025 FPGA技術(shù)沙龍?jiān)谀暇┱秸匍_(kāi),深圳市米爾電子有限公司(簡(jiǎn)稱(chēng):米爾電子)作為國(guó)產(chǎn)FPGA的代表企業(yè)出席此次活動(dòng)。米爾電子發(fā)表演講,并展出米爾基于安路飛龍派的核心板和解決方案...

關(guān)鍵字: FPGA 核心板 開(kāi)發(fā)板

高 I/O、低功耗及先進(jìn)的安全功能,適用于成本敏感型邊緣應(yīng)用

關(guān)鍵字: FPGA I/O 機(jī)器視覺(jué)

本文討論如何為特定應(yīng)用選擇合適的溫度傳感器。我們將介紹不同類(lèi)型的溫度傳感器及其優(yōu)缺點(diǎn)。最后,我們將探討遠(yuǎn)程和本地檢測(cè)技術(shù)的最新進(jìn)展如何推動(dòng)科技進(jìn)步,從而創(chuàng)造出更多更先進(jìn)的溫度傳感器。

關(guān)鍵字: 溫度傳感器 CPU FPGA
關(guān)閉