999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA SDRAM的AXIS_SDRAM接口設計與實現

2020-07-14 18:27:26李浩申偉
科技創新導報 2020年11期

李浩 申偉

摘? ?要:由于FPGA片內存儲資源有限,擴展外部存儲空間是必要的,然而眾多存儲芯片總線結構復雜,控制繁瑣。為此,本文以賽靈思的FPGA為平臺,設計一種以常用而快捷的axi_stream的形式訪問SDRAM的接口。

關鍵詞:FPGA? SDRAM? AXIS? FIFO? BRAM

隨著芯片的不斷更新換代,集成ARM核的FPGA芯片得到了廣泛的應用[1]。axi的總線協議在FPGA里面應用也越來越廣。axi_stream協議為axi的一種總線標準。本文將采用axi_stream的時序以fifo與bram的形式訪問SDRAM的設計與實現方法。

1? axis_sdram接口

本文將axis_sdram接口分為兩種,不帶地址的axis_fifo_sdram(下文簡稱axis_fifo)和帶地址的axis_bram_sdram(下文簡稱axis_bram)接口。兩種接口均采用axis_stream的時序。axis_bram接口為一個地址對應一幀數據,可重復讀取數據。與axis_fifo的區別在于axis_bram寫指定存儲空間,當用戶需要讀寫數據時,需要同時給出讀寫地址總線地址數據。

axis_fifo和bram接口的讀寫數據共同點在于,當ready與valid兩根信號線同時有效(高電平)時,數據總線上的數據才有效。此外,axis_bram中,當用戶寫完一幀數據后,等待監測m_axis_tlast3信號線拉高,可以開始寫第二幀數據,具體時序見圖 1。讀用戶監測到m_axis_tlast3信號拉高時,說明底層sdram已經存儲好寫用戶的一幀數據,此時讀用戶將讀地址使能信號拉高一段時間,同時給出讀地址總線數據,后讀地址使能信號拉低,至此,用戶監測到讀數據側的axis_last拉高,完成一幀數據讀寫。

2? sdram接口

此sdram存儲空間為256Mb,數據位寬為32位,速率等級有-5、-6、-7三個等級,最高時鐘頻率為200MHz。Bank數量為4,行地址位寬為12bit,列地址復用行地址的低位9bit。控制邏輯采樣狀態機的形式,首先狀態機設置為初始化狀態,初始化主要是芯片上電后首先執行的操作。首先執行空操作,再延時100us,進行預充電操作,緊接著兩次自刷新操作,進入模式寄存器配置,初始化完成。模式寄存器配置過程中,首先cmd給模式寄存器配置指令,通過給12bit地址總線信號設置操作模式、突發模式、潛伏期、突發傳輸方式以及全頁突發設置。

初始化完成后,狀態機進入刷新、預充電狀態,給寫指令進入寫數據狀態機,給讀指令進入讀數據狀態機。

3? axis與sdram底層接口

將sdram四個bank分成兩個存儲空間,bank0、bank1作為axis_fifo的存儲空間,bank2、bank3作為axis_bram的存儲空間。由于axis_fifo與axis_bram兩種接口訪問同一塊物理存儲芯片,所以邏輯設置優先級與新增標志信號控制時序。

此部分控制邏輯采用狀態機循環監測標志信號狀態以判斷對底層sdram的操作。狀態機流程見圖2,首先,狀態機檢測axis_fifo緩沖器里面是否有數據,如果有數據,狀態機檢測sdram存儲是否寫滿,如果沒有,狀態機將狀態設置為axis_fifo向sdram寫數據狀態。如果axis_fifo里面沒有數據或者sdram的剩余存儲空間不足以寫一幀數據,那么狀態機將進入中斷axis_fifo寫狀態,進入等待狀態,底層sdram會進入中斷等待定時刷新狀態。

當狀態機檢測到axis_fifo緩沖器數據last信號后,識別為一幀數據傳輸結束,狀態機也將跳到中斷等待狀態,狀態機會依次監測axis_fifo寫使能、axis_fifo讀使能,axis_bram寫使能、axis_bram讀使能。檢測到其中一個使能信號將進入對應狀態機操作,執行對sdram進一步控制。

此部分涉及到last信號傳遞、讀寫數據sdram地址數據的記憶以及時序邏輯采樣延時導致信號時序不同步的問題。sdram地址記憶采用fifo ip和單口bram ip存儲寫數據時最后一幀數據last信號的地址,地址采用bank+row+column的形式。當讀取sdram的數據時,檢測到讀數據的地址與fifo ip或者bram ip數據總線上的數據一致時,則判斷為一幀數據的結束,底層sdram接口產生讀數據端的last信號。由于axis的使能信號采用時序邏輯采樣傳遞到底層sdram接口,會有兩個時鐘周期的延遲,因此,axis接口的數據采用D觸發器延遲兩拍傳遞到sdram,為更快的更新信號狀態,ready信號采用組合邏輯。

4? 接口測試

測試方法分別向兩種接口下發測試數據,再讀取數據進行效驗(見圖3、圖4)。測試數據通過編寫測試邏輯產生。向axis_fifo_sdram接口下發1、2、3…10000,10000個寄存器數據,數據拆分為9幀數據,后通過axis_fifo接口讀回來效驗。向axis_bram接口固定地址寫一幀數據,讀回來效驗。效驗方法為,定義一個出錯數據寄存器(cnt_erro_fifo、cnt_erro_bram),如果數據出錯,cnt_erro_fifo或者cnt_erro_bram會進行累加。

測試結果:錯誤數據計數器為0,last信號正確傳遞。

5? 結語

隨著科技的發展,知識體系越來越龐大。在FPGA應用設計中,利用IP CORE可以大大節約FPGA工程師開發的周期。對于沒有IP CORE資源的,用戶進行自定義IP設計是必要的。本文主要進行了一種物理存儲芯片SDRAM的二次封裝,以更簡潔更實用的方式建立用戶接口,以便用戶快速訪問外部SDRAM存儲器。

參考文獻

[1] 齊佳碩,王洪巖.基于FPGA的SDRAM接口設計及實現[J].電子測量技術,2018(19):141-144.

主站蜘蛛池模板: 国产大片黄在线观看| 欧美亚洲一二三区 | 国产欧美在线观看精品一区污| 中文字幕在线观| av一区二区三区在线观看 | 九九久久精品免费观看| 狠狠色噜噜狠狠狠狠奇米777| 毛片网站观看| 激情亚洲天堂| 国产在线视频欧美亚综合| 好紧太爽了视频免费无码| 亚洲精品亚洲人成在线| 欧美成人午夜视频免看| 欧美性天天| 久99久热只有精品国产15| 天天综合网色| 成人一区专区在线观看| 亚洲区一区| 美女国产在线| 毛片在线播放a| 成人亚洲国产| а∨天堂一区中文字幕| 欧美成人看片一区二区三区| 亚洲精品少妇熟女| 国产人人射| 久一在线视频| 国产真实乱子伦视频播放| 亚洲aaa视频| av尤物免费在线观看| 欧美精品亚洲二区| 内射人妻无码色AV天堂| 在线观看视频一区二区| 正在播放久久| 2020久久国产综合精品swag| 992tv国产人成在线观看| 国产亚洲欧美日韩在线一区| 波多野结衣久久精品| 57pao国产成视频免费播放| 欧美精品v欧洲精品| 亚洲无码37.| 日本www在线视频| 97视频在线精品国自产拍| 欧美亚洲国产一区| 国产一区二区精品福利| 久久黄色影院| 午夜无码一区二区三区| igao国产精品| 欧美无遮挡国产欧美另类| 亚洲国产精品日韩欧美一区| 亚洲成A人V欧美综合天堂| 日韩av资源在线| aⅴ免费在线观看| 亚洲成年人网| 国产午夜看片| 久久公开视频| 国产女人爽到高潮的免费视频| 国产精品区视频中文字幕| 国产三级a| 精品国产福利在线| 国产打屁股免费区网站| 亚洲美女视频一区| 麻豆精品在线播放| 国产一区二区三区免费| 中国特黄美女一级视频| 天天躁日日躁狠狠躁中文字幕| 国产亚洲欧美在线中文bt天堂| 欧美一区二区丝袜高跟鞋| 无码精油按摩潮喷在线播放 | a免费毛片在线播放| 亚洲va视频| 亚洲三级电影在线播放| 国产簧片免费在线播放| 91成人在线免费观看| 91精品aⅴ无码中文字字幕蜜桃 | 午夜在线不卡| 亚洲天堂伊人| 欧亚日韩Av| 婷婷综合缴情亚洲五月伊| 国产福利不卡视频| 免费久久一级欧美特大黄| 在线观看国产网址你懂的| 国模视频一区二区|