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