從《黑客帝國(guó)》深入工程師世界,我們可以發(fā)現(xiàn)這些工程師其實(shí)都是愛(ài)做夢(mèng)的孩子。他們?cè)诳苹玫碾娮邮澜缋铩皺?quán)傾一方”,像孩子一樣打造著自己想要的美夢(mèng)。今天,我們就來(lái)向這些長(zhǎng)不大的孩子學(xué)習(xí)學(xué)習(xí),如何在Arria10中Get刷新技能!
一般來(lái)說(shuō),定期刷新內(nèi)存內(nèi)容的要求通常是由內(nèi)存控制器處理。然而,在Arria10中的用戶控制刷新項(xiàng)還能夠支持指定內(nèi)存刷新的時(shí)間。因此,如果能夠借助流量模式方面的特定知識(shí),那么我們就可以指定刷新操作時(shí)間,從而避免打斷讀/寫操作、提升效率。
在基于UNIPHY的內(nèi)存控制器中,我們可以通過(guò)專用的用戶控制刷新接口發(fā)送用戶控制刷新請(qǐng)求。但由于該接口不支持Arria 10硬內(nèi)存控制器,因此為了實(shí)現(xiàn)用戶控制刷新,需要通過(guò)內(nèi)存映射配置和狀態(tài)寄存器接口(簡(jiǎn)稱MMR接口)來(lái)發(fā)送請(qǐng)求。
那么該如何通過(guò)內(nèi)存映射配置和狀態(tài)寄存器接口(簡(jiǎn)稱MMR接口)來(lái)發(fā)送請(qǐng)求呢?為此,我們得掌握如何在內(nèi)存IP參數(shù)化過(guò)程中啟用用戶控制刷新選項(xiàng)。首先,需要在“一般”選項(xiàng)卡中選擇硬PHY和硬控制器配置。
Attention: 只有DDR3、DDR4和LPDDR3協(xié)議支持該配置。
剩下的,就只是一些簡(jiǎn)單的程序操作,其目的就是正常實(shí)施內(nèi)存IP的參數(shù)化。(詳情步驟請(qǐng)參觀前文視頻。)
以上設(shè)置將為MMR接口開放附加端口,創(chuàng)建用于與這些端口通信的用戶邏輯。(但此時(shí)的MMR接口并不支持空發(fā)讀取/寫入。)然后再將這些信號(hào)與GND進(jìn)行綁定。不過(guò)由于該接口并不支持背壓,因此“waitrequest”始終處于較低電平。只有在成功完成校準(zhǔn)后,用戶才能夠訪問(wèn)MMR接口。
用于啟動(dòng)用戶控制刷新的寄存器
Attention:地址以十六進(jìn)制值列出。
將cfg_usr_rfsh_en字段設(shè)置為1來(lái)啟用刷新。該字段對(duì)應(yīng)地址19h的位數(shù)4。
mmr_refresh_req字段寬4位,每位對(duì)應(yīng)每個(gè)隊(duì)列接收的刷新請(qǐng)求。
我們可讀取mmr_refresh_ack字段,了解刷新操作是否在進(jìn)行中。該字段對(duì)應(yīng)地址32h的位數(shù)0。
成功完成校準(zhǔn)后向隊(duì)列0發(fā)送刷新請(qǐng)求的預(yù)期時(shí)間圖
如上圖所示:將數(shù)據(jù)0x0000_0010寫入cfg_usr_rfsh_en字段,是用于啟用用戶刷新。然后將數(shù)據(jù)0x0000_0001寫入mmr_refresh_request字段,向隊(duì)列0發(fā)送刷新請(qǐng)求。在32個(gè)時(shí)鐘周期后,讀取mmr_refresh_ack字段,直至顯示readdatavalid信號(hào)。
若讀取數(shù)據(jù)為1b’1,則表示刷新正在進(jìn)行。而我們只能在看到確認(rèn)信號(hào)后,才能再發(fā)出下一個(gè)刷新請(qǐng)求。當(dāng)然,如果想要禁用刷新,則將數(shù)據(jù)0x0000_0000寫入mmr_refresh_req字段即可。怎么樣,這些操作還是挺簡(jiǎn)單的吧?
本期主題更多的是如何通過(guò)內(nèi)存映射配置和狀態(tài)寄存器接口(簡(jiǎn)稱MMR接口)來(lái)發(fā)送請(qǐng)求。作為一名優(yōu)秀的攻城獅,相信您掌握此方法自然很容易。但您是否還有其它更好的方法Get Arria10中的刷新技能呢?
-
控制器
+關(guān)注
關(guān)注
114文章
17098瀏覽量
184193 -
寄存器
+關(guān)注
關(guān)注
31文章
5433瀏覽量
124418 -
Arria
+關(guān)注
關(guān)注
0文章
10瀏覽量
9573
原文標(biāo)題:“權(quán)傾一方”的工程師,教你如何在Arria10中掌控刷新技能!
文章出處:【微信號(hào):FPGAer_Club,微信公眾號(hào):FPGAer俱樂(lè)部】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
藍(lán)牙智能入門套件,新技能瞬間Get!
藍(lán)牙智能入門套件,新技能瞬間Get!
關(guān)于電動(dòng)灰斗車的這些新技能,你get到了嗎?
Intel arria10 FPGA芯片&開發(fā)板
關(guān)于alterra 公司Arria10系列萬(wàn)兆網(wǎng)程序移植的問(wèn)題,請(qǐng)?jiān)O(shè)計(jì)過(guò)萬(wàn)兆網(wǎng)的大俠指點(diǎn)
接入HarmonyOS需要學(xué)習(xí)什么新技能?
老司機(jī)開車了,《VR女友》新技能GET
在 Arria 10 中實(shí)現(xiàn) I/O 鎖相環(huán)動(dòng)態(tài)相移的方法

評(píng)論