DuoqiangLiu的个人博客分享 http://blog.sciencenet.cn/u/DuoqiangLiu

博文

基于SD-FEC实现5G通信系统LDPC编解码使用方法总结

已有 2750 次阅读 2021-8-8 09:14 |系统分类:科研笔记

SD-FEC硬核LDPC编解码使用方法


概述


本文主要描述如何应用Xilinx的SD-FEC集成块硬核资源,进行5G-NR 通信系统PDSCH和PUSCH信道编解码开发。主要从SD-FEC集成块硬核特性、配置流程和注意事项等进行说明。由于在实际项目开发过程中,涉及大量技术细节,在此文中将不展开详细讨论。


1如何获取SD-FEC集成块硬核IP资料?


当你在学习或工作中,可能会使用Xilinx公司的Zynq UltraScale+ RFSoC系列芯片进行项目开发,在某些芯片型号中,自身带有SD-FEC硬核资源,具体查询方式,可在Xilinx官方网站检索DS889手册。


SD-FEC集成块硬核资料可在Xilinx网站下载,PG256便是该IP产品手册,如下图中所示。


image.png


也许细心的你,已经发现了上图中的论坛问答,有我本人的问答记录。这也将载入SD-FEC硬核应用史册,方便全球的5G工程师从中学得一些经验。基于这样的目的,我将这些零碎的心得体会,发布在我个人微信公众号上。


当我们从网站下载了IP手册后,需要结合实际需要进行阅读,并尝试进行开发。


众所周知,5G与4G的一大不同,就是信道编解码技术完全不同,以及可配置的子载波间隔有了更多选项,带宽得到大幅度提高,同时考虑应用到更多新型场景。


在进行开发时,虽然SD-FEC硬核已经集成到芯片中,但依然需要对应的IP license。这一点,也可通过在Xilinx官方网站申请获取。申请需要用户注册,如果您已购买相关的license,或者通过申请获取,需要注意将本地PC主机的MAC地址修改与IP license一致,校验通过方可使用。


2.SD-FEC IP 介绍


当你下载获得该IP的产品手册后,便可进行阅读,获取相关信息,进行相应的开发了。


事实上,当你第一次使用时,有一种懵懵哒的感觉,因为你不知道,怎样在短时间内很好的用起来。


Xilinx的PG256产品手册提供中英文版,看英文比较费力的朋友(不过笔者相信,作为《科学文化人》的读者,英文功底肯定不错),可以尝试去读中文版,或者中英结合。


下面,重点针对IP的特性、应用等进行简单的说明。

image.png

上图中,包含了非常丰富的信息,当然你也可能说,每一个字我都认识,但是连起来我却一无所知。如果想深入了解,不妨在夜深人静的时候,找笔者交流一下学习心得。


看到这些特性,实质上你应该知道,该IP支撑支持LTE中的Turbo解码以及5G-NR中的LDPC编解码,当然还有更多应用。


本文比较关心LDPC编解码,因此,其余的配置和使用不在讨论之列。


我选取了关于LDPC编解码部分,贴出来,与大家一起讨论。

image.png

如果你想看懂上图中的叙述,建议先看看手册,以及5G-NR标准技术报告,了解LDPC码在5G标准中的应用情况。


字越少,事越大,并且也重要。


image.png

image.png

这里面涉及到端口的具体使用,因此,还是建议仔细看文档。


image.png


整个SD-FEC硬核的架构如下图所示。

image.png

上图中,包含的信息也是极为丰富,如果你用FPGA实现了该IP,我想年薪百万不是梦。


上图中给出了IP 的接口和数据流向,整个硬核的框架,十分清晰。重点在于这副牌在你手里,怎么去打。


image.png


3.如何应用SD-FEC进行LDPC编解码开发


当你拿到手册后,读完一遍,长舒一口气,说简单也简单,说不简单,也不简单。


在此,我只提醒两点,敲黑板:

image.png

image.png

只需要注意这两点,足够解决大部分问题,其他当然也很重要,限于篇幅,此处省略5千字。


接下来,我们打开Vivado设计环境,把SD-FEC调出来,看看是不是足够英俊潇洒。


建立一个新工程,选择RFSOC系列器件的芯片,在IP目录里找到Soft-Decision FEC。

image.png


接下来,你可以按照手册中的说明,一步步往下配置。比如,选择5G标准,LDPC Decode模式。

image.png

配置接口,这里我用Initialized,具体差异,自行体会。配置通道数,根据自己的喜好,萝卜青菜,各有所爱。

image.png

接下来,默认,不想去设置它。

image.png

接下来,时最后一项,假如你想使用例程进行开发,就勾选带处理器。如果你觉得例程不好用,想自己实战一次,施展自己的才华,那么就不勾选例程,自己动手,丰衣足食。

image.png

一顿猛操作后,我们把IP实例文件拷贝到工程中,接下来,就任由你发挥了。

image.png

当你幸幸苦苦写完代码,进行仿真验证,并且解决掉无数个bug后,你终于露出了甜美的笑容。


于是,你迫不及待地想上板调试,证明自己是一个王者,而不是青铜。


这里还是提醒一下,这个硬核的物理位置约束。如果你只是用了一个或两个硬核资源做LDPC编解码,Vivavo会自动去布局,一般情况下,也能得到较好的时序效果。


但是,最怕的就是但是这一转折性语句。但是,Xilinx说了,如下总结。image.png


具体位置怎么约束呢?Xilinx给出了一张表。

image.png

于是,你照着做了,跑出了完美的bit,就等上板见证奇迹的时刻。


是不是很简单,看到这里,你觉得不过如此嘛,值得你打这么多字,熬那么深的夜?


人穷怪屋基,人笨怪自己。


这里,在多说几句,关于CTRL和status端口。


对于LDPC解码,其CTRL如下:

image.png

对于LDPC编码,其CTRL如下:

image.png

端口用的好,可节约开发难度和开发周期。


对于status端口,作为输出端,还是有必要关注一下。

image.png

image.png

也许你会问:这端口描述在手册里有,你还啰嗦什么呢?


笔者担心你没看明白啊,万一没用好,你还得来找笔者交流,那我可要收费了。


俗话说,帮忙修改一行代码,10元;技术指导,一次50元。


知识有时候挺廉价的,有时候却也是救命的。


最终,详细设计就靠自己了,等你调试成功了,记得来报喜。


一分耕耘,一分收获。记得玩转FPGA,千万别从入门到放弃。


今天的SD-FEC技术分享到此结束了,欢迎大家留言,说说你的FPGA开发心得。






https://blog.sciencenet.cn/blog-3373917-1298826.html

上一篇:5G标准难理解?试试去ShareTechnote网站看看
下一篇:半夜谈:国家实验室的使命
收藏 IP: 223.87.231.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-5 04:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部