日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于MIG控制器的DDR3读写控制详解

發(fā)布時(shí)間:2024/10/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于MIG控制器的DDR3读写控制详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基于MIG控制器的DDR3讀寫控制詳解

目的:詳細(xì)介紹FPGA中基于MIG IP核控制的DDR3詳細(xì)控制及內(nèi)部邏輯
平臺:AX7350-Xilinx
軟件:Vivado 2017.4

1.MIG IP 核介紹
1.1 IP核架構(gòu)
由下圖我們可以看到MIG這個(gè)IP核的架構(gòu)如下,直觀可以看出,MIG主要有面向用戶端口和面向DDR端口,用戶通過使用MIG能夠通過用戶端口的信號,來完成對DDR SDRAM的訪問,達(dá)到簡化操作的目的。

1.2 IP核用戶端控制命令
首先我們需要了解與用戶命令相關(guān)的信號,并且了解命令能夠被正確接收的時(shí)序。在下面的接口列表中信號的I/O方向均是相對MIG IP核而言的。

1.3 仲裁模塊
本模塊的目的是為了來避免讀寫沖突的,在ddr進(jìn)行寫操作的同時(shí),也有可能有讀操作需要處理,這時(shí)候就會發(fā)生讀寫沖突,為了避免讀寫操作同時(shí)發(fā)生創(chuàng)建一個(gè)仲裁模塊,模塊的結(jié)構(gòu)和信號列表如下:

這里簡單介紹以下本模塊的工作方式,本模塊的狀態(tài)跳轉(zhuǎn)入下圖所示,在仲裁狀態(tài)ARBIT下若接收到讀請求,則進(jìn)入讀狀態(tài),若接收到寫請求,則進(jìn)入寫狀態(tài)。若讀寫請求同時(shí)出現(xiàn)則優(yōu)先響應(yīng)寫請求進(jìn)入寫狀態(tài),當(dāng)在讀寫狀態(tài)中接收到讀寫結(jié)束信號wr_done或者rd_done時(shí),狀態(tài)將回到仲裁狀態(tài)。

1.4 時(shí)鐘帶寬

在使用MIG IP控制DDR3讀寫數(shù)據(jù)的時(shí)候總會遇到關(guān)于MIG控制器的時(shí)鐘問題,幾個(gè)時(shí)鐘總是搞得人暈頭轉(zhuǎn)向,為了進(jìn)一步說明清楚其之間的相互關(guān)系,繪制了上圖所示的時(shí)鐘模塊圖(其中各時(shí)鐘具體參數(shù)是根據(jù)黑金AX7350(XILINX 7035)系列FPGA開發(fā)板配置,不同的硬件平臺其具體參數(shù)不同,但是時(shí)鐘結(jié)構(gòu)類似)。

如上圖所示,MIG控制器一共可以分為三個(gè)部分:第一個(gè)是USER模塊,在這里可以理解為top模塊;第二個(gè)是MIG控制器,由于DDR3控制過程過去繁瑣,xilinx提供了一個(gè)可以讀寫DDR3的核,這個(gè)核也就是MIG控制器;第三個(gè)模塊也就是DDR3物理存儲芯片。

首先DDR3作為物理存儲介質(zhì),一定是需要時(shí)鐘的,所以MIG給了DDR3一個(gè)時(shí)鐘,也就是圖中的clk_ddr3。那么MIG也不可能平白無故的能產(chǎn)生時(shí)鐘,所以它也需要一個(gè)外部輸入時(shí)鐘,也就是圖中的clk_input,是由用戶端輸送給MIG控制器內(nèi)部的時(shí)鐘分頻模塊。MIG內(nèi)部的時(shí)鐘模塊將輸入的時(shí)鐘分成兩路輸出,一路clk_ddr3接到物理DDR3芯片中,另一路clk_user輸送到user模塊中的DDR_CTRL中。一般情況下,clk_ddr3:clk_user=4:1,如圖中所示,clk_ddr3取值為800M,那么clk_user的值為200M。

關(guān)于DDR3的帶寬計(jì)算
如上圖時(shí)鐘模塊可知,clk_ddr3=800M,DDR3的物理接口為32bit,按照4:1的比例計(jì)算的話,用戶端的接口寬度2432=256bit,其中2指的是時(shí)鐘上下沿雙沿讀取數(shù)據(jù),4指的是4:1的比例。
所以:
DDR3帶寬=1600M*32bit

仿真
每次涉及到仿真官方提供的IP時(shí),都要詬病一下Altera做的多難用,Xilinx做的多人性化。Xilinx針對IP的仿真,只需要在生成IP后,點(diǎn)擊個(gè)Open Example Design即可,而腦殘的Altera非要給你整得特別復(fù)雜,非得你運(yùn)行個(gè)tcl腳本(這還算簡單的呢),才能啟動仿真,不能和Xilinx學(xué)學(xué)嗎?
對于ZYNQ 7035的MIG IP核,啟動仿真后,初始化完成大約在55us左右,要耐心等待啊,初始化完成是第一步,初始化完成了,才能有后續(xù),不然的話,老老實(shí)實(shí)先讓初始化拉高再說吧。

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的基于MIG控制器的DDR3读写控制详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。