來源:老劉記事兒
最近有客戶反映國產(chǎn)FPGA京微齊力P2器件內(nèi)部合封的pSRAM控制器讀寫效率很高,能達80%以上,而且合封了4片8bit位寬pSRAM芯片,按250MHz主頻DDR雙沿讀寫算下來80%效率能跑出12.8Gbps的極限帶寬,即使考慮工程布局布線的限制影響因素,按210MHz主頻也應(yīng)能跑出10.5Gbps讀寫帶寬。
如果真是這樣,這意味著FPGA + SDRAM架構(gòu)方案的市場應(yīng)用生態(tài)位面臨著挑戰(zhàn),因為即使采用200MHz主頻的單顆DDR SDRAM也需要32bit位寬才能在理論上達到100%效率時(不可能實現(xiàn))的12.8Gbps極限帶寬,而SDRAM控制器設(shè)計復(fù)雜度導(dǎo)致的邏輯資源消耗、SDRAM芯片較高的功耗特性、外掛SDRAM芯片的成本考量等因素會使FPGA + SDRAM架構(gòu)方案劣于京微齊力的FPGA內(nèi)部合封4片pSRAM方案。
那么真實情況如何呢?客戶的傳言是確切的么?
帶著疑問,我要來了京微齊力P2器件的pSRAM讀寫例程,進行核實分析。
根據(jù)說明,該例程系統(tǒng)框圖如下:
其中,soc_system_v1模塊是指P2器件中自帶的ARM Cortex-M3硬核,在例程中起到對pSRAM的寄存器初始化和Clock Training作用。Clock Training是上電啟動階段指對psram_clk、psram_clk_90和psram_clk_rd這三個時鐘的相位關(guān)系進行初始化校準(zhǔn)。這三個時鐘的功能可參閱原廠手冊說明(見下圖),在此我們不作更多推敲討論。
不過顯然可以看出,將pSRAM初始化和Clock Training機制放進FPGA自帶的ARM硬核中,對于節(jié)省FPGA邏輯資源占用肯定是很有好處的,而且在ARM硬核中實現(xiàn)對pSRAM寄存器狀態(tài)和Training結(jié)果的打印監(jiān)測也是十分方便的。原廠例程中就利用了這一點,下圖為例程中ARM硬核控制pSRAM執(zhí)行初始化和Clock Training階段串口打印的部分信息,顯示了Clock Training的時鐘窗口掃描結(jié)果。
例程提供的pSRAM控制器可允許對4片pSRAM予以分別不同的寄存器初始化配置,使其分別獨立工作在不同的工作狀態(tài)下。這為客戶提供了靈活操控的可能性,在必要的應(yīng)用場合可以靈活搭配形成乒乓操作,譬如4片pSRAM可以配置成同時1寫3讀或3寫1讀,也可以4片統(tǒng)一同步操作讀寫。
例程配套有仿真工程,可以直接從仿真波形中得到pSRAM讀寫效率信息。
仿真例程先是對4片pSRAM分別作了初始化配置動作,而后循環(huán)進行Burst 1~128次*2Byte的交替讀寫循環(huán)測試。
每次Burst寫入pSRAM的數(shù)據(jù)會同步存入雙端口RAM中,再將RAM中的數(shù)據(jù)取出與從pSRAM中相應(yīng)地址讀出的數(shù)據(jù)作一致性比對,如果讀寫比對無誤則psram_cmp_flag信號保持為0,否則一旦發(fā)生錯誤就會拉高相應(yīng)pSRAM的psram_cmp_flag信號。
對交替讀寫循環(huán)測試的波形放大可以看到,pSRAM的讀寫過程各有快慢兩種響應(yīng)速度,姑且稱之為 “快寫”、“慢寫”、“快讀”、“慢讀”。
pSRAM寫操作相關(guān)的FPGA端用戶接口信號時序抓取波形示例如下:
pSRAM讀操作相關(guān)的FPGA端用戶接口信號時序抓取波形示例如下:
各路信號的含義和時序關(guān)系說明詳情可參見官方應(yīng)用手冊,此處不作贅述。
我們只關(guān)心讀寫效率的評估,那么把握重點:
psram_wr_reqin和psram_rd_reqin分別是寫請求和讀請求信號;
wr_req_ack和rd_req_ack分別是寫響應(yīng)和讀響應(yīng)信號,其中wr_req_ack的高電平比psram_wdata寫有效數(shù)據(jù)前移了一拍,而rd_req_ack的高電平與psram_rdata讀有效數(shù)據(jù)是時序?qū)R的;
讀寫B(tài)urst長度分別由rd_burst_len和wr_burst_len決定,實際Burst拍數(shù)分別為rd_burst_len+1 和wr_burst_len+1。
對照仿真波形可以確認,例程中的pSRAM讀寫循環(huán)是無縫切換的,沒有冗余間隔,因此psram_wr_reqin和psram_rd_reqin的高電平寬度分別就是寫等待和讀等待時長,即除有效讀/寫操作之外被“浪費”的時間。寫等待和讀等待時長所占用的時鐘周期數(shù)分別稱為寫等待拍數(shù)和讀等待拍數(shù)。
“快寫”、“慢寫”、“快讀”、“慢讀”分別的等待拍數(shù)見下表:
讀寫狀態(tài) | 快寫 | 慢寫 | 快讀 | 慢讀 |
等待拍數(shù) | 11 | 18 | 19 | 26 |
“快寫”狀態(tài)下,從發(fā)起寫請求到第一個有效數(shù)據(jù)開始寫入,寫等待占用了11個時鐘周期。因此,當(dāng)Burst為256字節(jié)(128拍)時寫效率最高,為:
128/(11+128) =92%
對應(yīng)P2器件工作在210MHz主頻下的“快寫”帶寬為:
92%×210MHz×2×4片 ×8 bits =12.08 Gbps
“慢寫”狀態(tài)下,從發(fā)起寫請求到第一個有效數(shù)據(jù)開始寫入,寫等待占用了18個時鐘周期。因此,當(dāng)Burst為2字節(jié)(1拍)時寫效率最低,為:
1/(18+1) = 5.26%
當(dāng)Burst為256字節(jié)(128拍)時,“慢寫”效率為:
128/(18+128) = 87.6%
對應(yīng)P2器件工作在210MHz主頻下的“慢寫”帶寬為:
87.6%×210MHz×2×4片 ×8 bits
=11.5 Gbps
“快讀”狀態(tài)下,從發(fā)起讀請求到第一個有效數(shù)據(jù)開始讀入,讀等待占用了19個時鐘周期。因此,當(dāng)Burst為256字節(jié)(128拍)時讀效率最高,為:
128/(19+128) =87%
對應(yīng)P2器件工作在210MHz主頻下的“快讀”帶寬為:
87%×210MHz×2×4片 ×8 bits
=11.42 Gbps
“慢讀”狀態(tài)下,從發(fā)起讀請求到第一個有效數(shù)據(jù)開始讀入,讀等待占用了26個時鐘周期。因此,當(dāng)Burst為2字節(jié)(1拍)時讀效率最低,為:
1/(26+1) = 3.7%
當(dāng)Burst為256字節(jié)(128拍)時,“慢讀”效率為:
128/(26+128) = 83.1%
對應(yīng)P2器件工作在210MHz主頻下的“慢讀”帶寬為:
83.1%×210MHz×2×4片 ×8 bits
=10.9 Gbps
這樣情況就明了了。也就是說:
京微齊力P2器件的pSRAM寫操作在Burst長度為256字節(jié)(128拍)的條件下效率最高,為87.6%至92%之間。
保守估計,按210MHz的大型項目(邏輯資源占用80%以上)真實可用主頻估算,在Burst長度為256字節(jié)(128拍)的條件下,其寫帶寬可達11.5 Gbps至12.08 Gbps之間。
京微齊力P2器件的pSRAM讀操作在Burst長度為256字節(jié)(128拍)的條件下效率最高,為83.1%至87%之間。
保守估計,按210MHz的大型項目(邏輯資源占用80%以上)真實可用主頻估算,在Burst長度為256字節(jié)(128拍)的條件下,其讀帶寬可達10.9 Gbps至11.42 Gbps之間。
當(dāng)然,需要特別注意的是,由于存在內(nèi)部自刷新過程,和SDRAM一樣,pSRAM在Burst長度較低時,讀寫效率不高。但Burst突發(fā)讀寫長度越長,其讀寫效率越高,速度優(yōu)勢越明顯。
總體而言,京微齊力FPGA的pSRAM讀寫效率,超出預(yù)期!
附P2器件(合封4片pSRAM)在不同Burst長度下的讀寫效率列表以供查閱(注意1拍對應(yīng)2字節(jié)):
附在P2器件(合封4片pSRAM)在pSRAM主頻210MHz條件下核算的不同Burst長度下的讀寫速率列表以供查閱(注意1拍對應(yīng)2字節(jié)):
不過這里可以再引出一個問題:
快寫/慢寫(快讀/慢讀)的比例是多少,有何規(guī)律?
此處暫且不表,筆者搬磚之余時間有限,且聽下回分解。
-
FPGA
+關(guān)注
關(guān)注
1644文章
22009瀏覽量
616562 -
SDRAM
+關(guān)注
關(guān)注
7文章
441瀏覽量
56175 -
京微齊力
+關(guān)注
關(guān)注
0文章
30瀏覽量
5902
原文標(biāo)題:老劉記事兒京微齊力FPGA系列之P2器件內(nèi)部合封pSRAM性能探究(一)
文章出處:【微信號:HME-FPGA,微信公眾號:HME京微齊力】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
京微齊力:國產(chǎn)FPGA老樹開新花,務(wù)實做好消費市場再沖高端
國產(chǎn)FPGA簡介
京微齊力HME-P1P60 FPGA榮獲年度最佳處理器/FPGA獎項
京微齊力再次榮獲“IC獨角獸”稱號
京微齊力推出大力神H系列新一代產(chǎn)品H3C08芯片
基于京微齊力HME-M7和國產(chǎn)舜銘存儲鐵電存儲器PB85RS2MC的PLC解決方案

基于FPGA的PLC解決方案

京微齊力采用Imagination AI加速器打造新型智能芯片
京微齊力異構(gòu)FPGA產(chǎn)品幫助行業(yè)客戶實現(xiàn)應(yīng)用創(chuàng)新和性能突破
國芯思辰|京微齊力FPGA HME-HR02PN3Q32在會議音箱系統(tǒng)中的應(yīng)用

京微齊力助力國內(nèi)半導(dǎo)體產(chǎn)業(yè)高質(zhì)量發(fā)展貢獻核心力量
京微齊力亮相2024慕尼黑上海電子展

評論