概述
本文主要描述如何應(yīng)用Xilinx的SD-FEC集成塊硬核資源,進(jìn)行5G-NR 通信系統(tǒng)PDSCH和PUSCH信道編解碼開發(fā)。主要從SD-FEC集成塊硬核特性、配置流程和注意事項等進(jìn)行說明。由于在實際項目開發(fā)過程中,涉及大量技術(shù)細(xì)節(jié),在此文中將不展開詳細(xì)討論。
如何獲取SD-FEC集成塊硬核IP資料?
當(dāng)你在學(xué)習(xí)或工作中,可能會使用Xilinx公司的Zynq UltraScale+ RFSoC系列芯片進(jìn)行項目開發(fā),在某些芯片型號中,自身帶有SD-FEC硬核資源,具體查詢方式,可在Xilinx官方網(wǎng)站檢索DS889手冊。
SD-FEC集成塊硬核資料可在Xilinx網(wǎng)站下載,PG256便是該IP產(chǎn)品手冊,如下圖中所示。
也許細(xì)心的你,已經(jīng)發(fā)現(xiàn)了上圖中的論壇問答,有我本人的問答記錄。這也將載入SD-FEC硬核應(yīng)用史冊,方便全球的5G工程師從中學(xué)得一些經(jīng)驗?;谶@樣的目的,我將這些零碎的心得體會,發(fā)布在我個人微信公眾號上。
當(dāng)我們從網(wǎng)站下載了IP手冊后,需要結(jié)合實際需要進(jìn)行閱讀,并嘗試進(jìn)行開發(fā)。
眾所周知,5G與4G的一大不同,就是信道編解碼技術(shù)完全不同,以及可配置的子載波間隔有了更多選項,帶寬得到大幅度提高,同時考慮應(yīng)用到更多新型場景。
在進(jìn)行開發(fā)時,雖然SD-FEC硬核已經(jīng)集成到芯片中,但依然需要對應(yīng)的IP license。這一點,也可通過在Xilinx官方網(wǎng)站申請獲取。申請需要用戶注冊,如果您已購買相關(guān)的license,或者通過申請獲取,需要注意將本地PC主機的MAC地址修改與IP license一致,校驗通過方可使用。
SD-FEC IP 介紹
當(dāng)你下載獲得該IP的產(chǎn)品手冊后,便可進(jìn)行閱讀,獲取相關(guān)信息,進(jìn)行相應(yīng)的開發(fā)了。
事實上,當(dāng)你第一次使用時,有一種懵懵噠的感覺,因為你不知道,怎樣在短時間內(nèi)很好的用起來。
Xilinx的PG256產(chǎn)品手冊提供中英文版,看英文比較費力的朋友(不過筆者相信,作為《科學(xué)文化人》的讀者,英文功底肯定不錯),可以嘗試去讀中文版,或者中英結(jié)合。
下面,重點針對IP的特性、應(yīng)用等進(jìn)行簡單的說明。
上圖中,包含了非常豐富的信息,當(dāng)然你也可能說,每一個字我都認(rèn)識,但是連起來我卻一無所知。如果想深入了解,不妨在夜深人靜的時候,找筆者交流一下學(xué)習(xí)心得。
看到這些特性,實質(zhì)上你應(yīng)該知道,該IP支撐支持LTE中的Turbo解碼以及5G-NR中的LDPC編解碼,當(dāng)然還有更多應(yīng)用。
本文比較關(guān)心LDPC編解碼,因此,其余的配置和使用不在討論之列。
我選取了關(guān)于LDPC編解碼部分,貼出來,與大家一起討論。
如果你想看懂上圖中的敘述,建議先看看手冊,以及5G-NR標(biāo)準(zhǔn)技術(shù)報告,了解LDPC碼在5G標(biāo)準(zhǔn)中的應(yīng)用情況。
字越少,事越大,并且也重要。
這里面涉及到端口的具體使用,因此,還是建議仔細(xì)看文檔。
整個SD-FEC硬核的架構(gòu)如下圖所示。
上圖中,包含的信息也是極為豐富,如果你用FPGA實現(xiàn)了該IP,我想年薪百萬不是夢。
上圖中給出了IP 的接口和數(shù)據(jù)流向,整個硬核的框架,十分清晰。重點在于這副牌在你手里,怎么去打。
如何應(yīng)用SD-FEC進(jìn)行LDPC編解碼開發(fā)
當(dāng)你拿到手冊后,讀完一遍,長舒一口氣,說簡單也簡單,說不簡單,也不簡單。
在此,我只提醒兩點,敲黑板:
只需要注意這兩點,足夠解決大部分問題,其他當(dāng)然也很重要,限于篇幅,此處省略5千字。
接下來,我們打開Vivado設(shè)計環(huán)境,把SD-FEC調(diào)出來,看看是不是足夠英俊瀟灑。
建立一個新工程,選擇RFSOC系列器件的芯片,在IP目錄里找到Soft-Decision FEC。
接下來,你可以按照手冊中的說明,一步步往下配置。比如,選擇5G標(biāo)準(zhǔn),LDPC Decode模式。
配置接口,這里我用Initialized,具體差異,自行體會。配置通道數(shù),根據(jù)自己的喜好,蘿卜青菜,各有所愛。
接下來,默認(rèn),不想去設(shè)置它。
接下來,是最后一項,假如你想使用例程進(jìn)行開發(fā),就勾選帶處理器。如果你覺得例程不好用,想自己實戰(zhàn)一次,施展自己的才華,那么就不勾選例程,自己動手,豐衣足食。
一頓猛操作后,我們把IP實例文件拷貝到工程中,接下來,就任由你發(fā)揮了。
當(dāng)你幸幸苦苦寫完代碼,進(jìn)行仿真驗證,并且解決掉無數(shù)個bug后,你終于露出了甜美的笑容。
于是,你迫不及待地想上板調(diào)試,證明自己是一個王者,而不是青銅。
這里還是提醒一下,這個硬核的物理位置約束。如果你只是用了一個或兩個硬核資源做LDPC編解碼,Vivado會自動去布局,一般情況下,也能得到較好的時序效果。
但是,最怕的就是但是這一轉(zhuǎn)折性語句。但是,Xilinx說了,如下總結(jié)。
具體位置怎么約束呢?Xilinx給出了一張表。
于是,你照著做了,跑出了完美的bit,就等上板見證奇跡的時刻。
是不是很簡單,看到這里,你覺得不過如此嘛,值得你打這么多字,熬那么深的夜?
人窮怪屋基,人笨怪自己。
這里,在多說幾句,關(guān)于CTRL和status端口。
對于LDPC解碼,其CTRL如下:
對于LDPC編碼,其CTRL如下:
端口用的好,可節(jié)約開發(fā)難度和開發(fā)周期。
對于status端口,作為輸出端,還是有必要關(guān)注一下。
也許你會問:這端口描述在手冊里有,你還啰嗦什么呢?
筆者擔(dān)心你沒看明白啊,萬一沒用好,你還得來找筆者交流,那我可要收費了。
俗話說,幫忙修改一行代碼,10元;技術(shù)指導(dǎo),一次50元。
知識有時候挺廉價的,有時候卻也是救命的。
最終,詳細(xì)設(shè)計就靠自己了,等你調(diào)試成功了,記得來報喜。
一分耕耘,一分收獲。記得玩轉(zhuǎn)FPGA,千萬別從入門到放棄。
今天的SD-FEC技術(shù)分享到此結(jié)束了,歡迎大家留言,說說你的FPGA開發(fā)心得。
審核編輯:湯梓紅
-
通信
+關(guān)注
關(guān)注
18文章
5947瀏覽量
135770 -
Xilinx
+關(guān)注
關(guān)注
71文章
2155瀏覽量
120835 -
5G
+關(guān)注
關(guān)注
1352文章
48314瀏覽量
562881
發(fā)布評論請先 登錄
相關(guān)推薦
評論