101
Soſt-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1) 2018 12 5 条款中英文版本如有歧义,概以英文本为准。

Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

Soft-Decision FEC IntegratedBlock

LogiCORE IP 产品指南Vivado Design Suite

PG256 (v1.1) 2018 年 12 月 5 日

条款中英文版本如有歧义,概以英文本为准。

Page 2: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

目录第 1 章: IP 相关信息................................................................................................................................................4特性..................................................................................................................................................................................4IP 相关信息......................................................................................................................................................................6

第 2 章: 简介................................................................................................................................................................. 7应用..................................................................................................................................................................................7许可和订购.......................................................................................................................................................................7

第 3 章: 产品规格...................................................................................................................................................... 8运作模式.......................................................................................................................................................................... 9标准................................................................................................................................................................................10性能................................................................................................................................................................................10端口描述........................................................................................................................................................................ 10寄存器空间.....................................................................................................................................................................14AXI4-Stream接口定义..................................................................................................................................................28

第 4 章: 用核设计.................................................................................................................................................... 42时钟................................................................................................................................................................................42复位................................................................................................................................................................................42中断................................................................................................................................................................................42接口 FIFO.......................................................................................................................................................................43接口依赖性.....................................................................................................................................................................44参数管理........................................................................................................................................................................ 45LDCP 码支持..................................................................................................................................................................45LDPC 码存储器错误的检测与纠错................................................................................................................................ 52接口协议........................................................................................................................................................................ 53接口的吞吐量限制......................................................................................................................................................... 54

第 5 章: 设计流程步骤..........................................................................................................................................55自定义和生成核............................................................................................................................................................. 55核的约束........................................................................................................................................................................ 64仿真................................................................................................................................................................................65综合和实现.....................................................................................................................................................................66

第 6 章: C 模型.......................................................................................................................................................... 68解压解包及模型相关内容.............................................................................................................................................. 68安装................................................................................................................................................................................69C 模型接口.....................................................................................................................................................................70

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 2

Send Feedback

Page 3: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

MATLAB 接口................................................................................................................................................................ 75

第 7 章: 示例设计.................................................................................................................................................... 77仅仿真示例设计............................................................................................................................................................. 77基于处理器的示例设计..................................................................................................................................................78

附录 A: 升级................................................................................................................................................................ 85

附录 B: 调试................................................................................................................................................................ 86在 Xilinx.com 上寻求帮助............................................................................................................................................. 86调试工具........................................................................................................................................................................ 86仿真调试........................................................................................................................................................................ 87硬件调试........................................................................................................................................................................ 89接口调试........................................................................................................................................................................ 89

附录 C: SD-FEC 底层裸机驱动....................................................................................................................... 91简介................................................................................................................................................................................91数据结构........................................................................................................................................................................ 92用户 API.........................................................................................................................................................................93中断处理........................................................................................................................................................................ 97示例................................................................................................................................................................................97

附录 D: 附加资源与法律提示..........................................................................................................................99赛灵思资源.....................................................................................................................................................................99Documentation Navigator 与设计中心...................................................................................................................... 99参考资料........................................................................................................................................................................ 99修订历史...................................................................................................................................................................... 100请阅读:重要法律提示................................................................................................................................................100

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 3

Send Feedback

Page 4: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

第 1 章

IP 相关信息Soft-Decision Forward Error Correction (SD-FEC) Integrated Block支持低密度奇偶校验 (LDPC) 解码和编码以及 Turbo码解码。 使用的 LDPC 码是高度可配置的,并且可以在逐码块的基础上指定特定的码字。SD-FEC Integrated Block IP核非常灵活,允许使用许多独特的定制 LDPC 码。

特性SD-FEC核是一种高度灵活的软判决 FEC 解码器和 LDPC 编码器,具有以下特性:• 可在以下任一之间配置功能:

○ 对客户指定的标准和定制的准循环(QC)码进行 LDPC 解码或编码,或○ 对 LTE 使用的代码进行 Turbo 解码

• 命令的峰值吞吐量:○ 1.78 Gb/s Turbo 解码 @ 6 次迭代○ 2.84 Gb/s LDPC 解码 @ 8 次迭代○ 19.82 Gb/s(用于 LDPC 编码)

• 可扩展的实现○ 器件上的多个实例化(请参阅 SD-FEC IP 核的放置位置指南)

• 高带宽 AXI4-Stream 接口注释: 吞吐量取决于代码及其混合方式以及器件上的实际时钟频率。有关详细信息,请参阅时钟。相关信息SD-FEC IP 核的布局位置指南时钟

LDPC 解码/编码• 高度可配置的代码

○ 可以在 AXI4-Lite 接口上配置一系列准循环码○ 码参数存储器最多可以共享 128 个代码○ 可以逐块选择代码○ 编码器可以重复使用合适的解码器代码

第 1 章: IP 相关信息

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 4

Send Feedback

Page 5: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

• 标准化最小和解码算法○ 标准化因子可针对各层进行编程(以 0.0625 的步长从 0.0625 - 1)

• 1 和 63 之间的迭代次数○ 使用 AXI4-Stream 控制接口为每个块进行指定

• 提前终止○ 将每个块指定为无、1 或以下两者:

- 奇偶校验通过- 自上次迭代后,硬信息或奇偶校验位没有变化

• 软输出或硬输出○ 针对每个块进行指定,以包含信息及可选奇偶性○ 6 位软对数似然比 (LLR) 输入(8 位接口、两个小数位,在输入到对称范围 -7.75 到 +7.75 之前达到外部饱和)

和 8 位输出• 块的有序或无序执行,用户指定的 ID 域可确定块• 编码器和解码器变体,当子矩阵尺寸较小时,可选择支持提高吞吐量• 可选择最终奇偶校验检查以更新最终输出的奇偶校验通过/失败• 可选择从器件配置初始化代码,避免使用 AXI4-Lite 接口进行下载

○ 5G NR 的支持逻辑在运行时和初始化期间提供代码生成和下载到 SD-FEC 内部存储器○ 非 5G 的支持逻辑在初始化期间提供代码生成和下载到 SDFEC 内部存储器

Turbo 解码• Max、Max Scale(比例因子可编程为 0.0625 的倍数)或 Max Star

• 1 和 63 之间的迭代次数○ 使用 AXI4-Stream 控制接口针对每个块进行指定

• 提前终止○ 将每个块指定为无、1 或以下两者:

- 自上次迭代以来,硬决策没有变化- CRC 通过

• 软输出或硬输出○ 针对每个块指定以包含系统的、可选的奇偶校验 0 和奇偶校验 1

○ 输入和输出为 8 位软 LLR(8 位接口、两个小数位、在输入到对称范围 -31.75 到 + 31.75 之前达到外部饱和)

接口• 为了便于集成,每个接口上的时钟都是独立的• 可配置位宽的数据接口,可以把输入和输出配置为 1、2 或者 4 个 lane

• 能够以逐块或基于传输的方式指定每个 lane 上的输入和输出数量

第 1 章: IP 相关信息

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 5

Send Feedback

Page 6: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

• 用于指定控制参数并逐块接收状态输出的独立输入

IP 相关信息LogiCORE IP 相关信息表

核指定参数支持的器件系列 1 Zynq® UltraScale+™ RFSoC

支持的用户接口 AXI4-Lite、AXI4-Stream

资源 性能和资源利用率网页提供核

设计文件 加密 RTL

示例设计 IP 集成器原理图测试平台 Verilog:约束文件 赛灵思 设计约束 (XDC)

仿真模型 System Verilog SecureIP 模型和 C 数值模型支持的 S/W 驱动程序 2 独立的

Linux

经过测试的设计流程 3

设计入门 Vivado® Design Suite

仿真 有关支持的模拟器,请参阅赛灵思设计工具:发行说明指南合成 Vivado

支持由赛灵思提供(请参阅赛灵思支持网页)

注释:1. 有关所支持器件的完整列表,请参阅 Vivado IP 目录。2. 有关独立驱动方面的详情,请参阅软件开发工具包 (SDK) 目录 (<install_directory>/SDK/ <release>/data/

embeddedsw/doc/xilinx_drivers.htm)。• Linux:有关 Linux 操作系统和驱动程序方面的支持信息,请参阅 Linux SD-FEC 驱动程序页面。• Bare Metal:有关 bare-metal 相关文档,请参阅附录 C: SD-FEC 底层裸机驱动。

3. 有关支持的工具版本,请参阅赛灵思设计工具:发行说明指南。

第 1 章: IP 相关信息

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 6

Send Feedback

Page 7: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

第 2 章

简介低密度奇偶校验 (LDPC) 码和 Turbo 码等前向纠错 (FEC) 码可提供一种控制错误的方法,对不可靠或有噪声的通信信道上的数据传输错误进行控制。SD-FEC Integrated Block 可为这类码的软判决解码提供一个最优化的块。系统直接支持固定的 Turbo 码(LTE 使用该码),也可以通过 AXI4-Lite 总线或使用基于可选的可编程逻辑 (PL) 的支持逻辑来指定奇偶校验矩阵,从而达到支持定制化和标准化的 LDPC 码的目的。

应用SD-FEC Integrated Block 该应用设计来用于需要 LTE turbo 解码或使用基于 QC 码的 LDPC 编码/解码的应用,例如5G 无线、DOCSIS 3.1 电缆调制解调器、回程以及采用诸如回程这类定制 QC 码的其他任何应用。• 《3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR; Multiplexing and

channel coding (Release 15)》 (3GPP Std TS 38.212 V15.0.0)

• 《Data-Over-Cable Service Interface Specifications DOCSIS 3.1, Physical Layer Specification》 (DOCSIS 3.1)

相关信息LDPC 码简介

许可和订购根据赛灵思最终用户许可条款,此赛灵思 LogiCORE™ IP 模块随附赛灵思 Vivado® Design Suite 免费提供。需要注册才能获得许可。有关其他赛灵思 LogiCORE™ IP 模块的信息,请访问赛灵思知识产权页面。有关其他赛灵思 LogiCORE IP 模块和工具的信息,请联系您所在当地的赛灵思销售代表。法国电信为其本身和某些其他方提出了某些涉及 Turbo 码技术的知识产权申明,并决定根据被称作 Turbo 码授权许可计划的授权许可计划对这些权利进行授权。提供此 IP 核不表示已授予许可,也不意味着有权使用法国电信、TDF 或GET 拥有的任何 Turbo 码专利。请联系法国电信以获取有关其 Turbo 码授权许可计划方面的信息。地址如下:FranceTelecom R&D, VAT/TURBOCODES, 38, rue du Général Leclerc, 92794 Issy Moulineaux, Cedex 9, France

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 7

Send Feedback

Page 8: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

第 3 章

产品规格SD-FEC Integrated Block 的框图如下图所示(其中包括高速时钟 (667 MHz) 域和时钟域交汇 (CDC) 块)。通过在 SD-FEC 块周围提供可选的支持逻辑来进行设置;对于 5G NR,可选逻辑为初始化和运行时设置提供支持,对于非 5GNR,它仅为初始化提供支持。可使用 Vivado® 集成设计环境生成可选的支持逻辑。可选的支持逻辑和 SD-FEC 块称为SD-FEC 核。

图 1: SD-FEC 核接口

Optional Support LogicSD-FEC Block

CDC

CDC

CDC

AXI MM Interface

I/PInterface

LDPC Decoder/Encoder

Configurable Shared Memory

Sub-systemI/P

BufferWorking

MemoriesO/P

Buffer

Turbo Decoder

CDC

CDC

CDC

CTRL32b/40b 32b

DIN_ WORDS 32b 8b

DIN512b 128b

32b

8b

128b

O/P Interface

STATUS

DOUT_ WORDS

DOUT

32b/40b

32b

512b

CDC

32b AXI4-Lite Slave

AXI4-Lite Parameter Bus

(PARAM)

Turbo/LDPC ModeInterfaces On/OffLDPC Code Description

Up to 16 LLRs per cycle @ 667 MHz

For Turbo up to 12 LLRs per cycle @ 667 MHz

High Speed Clock Domain

CDC

CDC1x, 2x, 4x Width Conversion & Clock Domain crossing

Clock Domain Crossing

AXI4-Stream (per sample)AXI4-Stream (per block)AXI4-LiteInternal Memory Bus(arrow shows direction of data flow)

Key:

Parameters

X17336-112718

SD-FEC 核提供:

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 8

Send Feedback

Page 9: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

• LTE 的 Turbo 解码• 用于多种用户定义代码的 LDPC 解码• 用于多种用户定义代码的 LDPC 解码该核使用的是 AXI4 接口。单个 AXI4-Lite 存储器映射总线用于参数(例如 LDPC 码定义,可持续用于多个块),而AXI4-Stream 接口则在逐个样本的基础上提供数据(例如,DIN),或在逐个块的基础上(例如,CTRL)提供数据。除数据外,这些接口还提供握手信号。AXI4-Stream 接口部分提供有更多详细信息。数据输入和输出缓存通过编码器/解码器操作提供了一些重叠输入和输出的范围。如上图所示,SD-FEC 核的内部操作采用高速时钟,而接口则有自己的时钟,便于集成。所有接口都提供时钟域交汇(CDC) 块,数据接口包括宽度转换,以保持较高的带宽和较低的接口时钟频率。具体来说,高速时钟域有 128 位数据接口,每个核的时钟周期能够承载多达 16 个 8 位 LLR,但块有 512 位数据接口,允许最多 4 个 128 位样本被时分复用到核接口上。此编号可设置为 1、2 或 4(使用 AXI4-Lite 接口),如果设置为 4,则在保持最大带宽的同时,允许接口的时钟速率相对于核时钟减少四倍。注释: DIN_WORDS 和 DOUT_WORDS 的操作模式更高级,在此模式下可为 DIN 或 DOUT 上的每次传输指定元素数量。宽度转换支持此功能。相关信息AXI4-Stream 接口

运作模式SD-FEC IP 核以两种模式运行(5G 新无线电 (NR) 和非 5G NR)。

5G 新无线电在 5G NR 模式中,SD-FEC IP 核支持逻辑在内部会对 LDPC 码和共享的 LDPC 码参数进行运行时配置处理。在通过AXI4-Stream 控制接口接收特定代码定义时,支持逻辑为给定 LDPC 码生成 LDPC 码和共享 LDPC 码参数,然后将其下载到 SD-FEC 内部存储器。在此模式下,请勿通过 AXI4-Lite 写入 LDPC 码和共享的 LDPC 核参数,因为任何写入都会使得行为无法预测。注释: 如果使用此模式,请确保 AXIS_ENABLE 寄存器中的 CTRL(位 0 和 STATUS(位 3)位都设置为 1。将任何其他值写入 CTRL (位 0) 会使行为无法预测。

非 5G 无线电这进一步分为初始化和运行时设置模式。

运行时设置的非 5G 新无线电模式在此模式下,在运行时使用 AXI4-Lite 参数接口和 AXI4-Stream 控制接口来设置核,以进行 Turbo 解码、LDPC 编码或解码。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 9

Send Feedback

Page 10: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

初始化的非 5G 新无线电模式在此模式下,核支持逻辑在启动时根据 Vivado® IDE 中设置的各个选项生成初始化和设置参数,以进行 Turbo 解码、LDPC 编码或解码。在此模式下,对于 LDPC,请勿通过 AXI4-Lite 写入 LDPC 码和共享的 LDPC 码参数,因为任何写入都可能会覆盖初始化代码并使行为无法预测。

标准• LTE 标准要求的 Turbo 解码定义如下:

○ 《3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved UniversalTerrestrial Radio Access (E-UTRA); Multiplexing and channel coding (Release 15)》 (3GPP Std TS 36.212V15.0.1)

• 以下标准所需的 LDPC 码由核提供:○ 《IEEE Standard for Information technology - Local and Metropolitan area Network Standards》 (IEEE Std

802.11)

○ 《Data-Over-Cable Service Interface Specifications DOCSIS 3.1, Physical Layer Specification》 (DOCSIS 3.1)

○ 《3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR; Multiplexingand channel coding (Release 15)》 (3GPP Std TS 38.212 V15.0.0)

性能如需了解有关器件支持的时钟频率和资源利用率的详情,请访问“性能和资源利用率”网页。

吞吐量和时延要查看 5G 新无线电、WiFi 802.11ac 和 DOCSIS 3.1 的吞吐量和时延图(用于 LDPC 编码和解码)以及 Turbo 解码图,请访问“吞吐量和时延”网页。

BER 性能要查看用于 LDPC 编码和解码的 5G 新无线电、WiFi 802.11ac、DOCSIS 3.1 的 BER 图,以及用于 Turbo 解码的 BER图,请访问 BER 性能网页。

端口描述下表将显示核管脚。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 10

Send Feedback

Page 11: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

全局的核端口表 1: 全局的核端口

信号 I/O 时钟域 描述reset_n I 无 主异步复位core_clk I core_clk 用于处理核的主处理时钟interrupt1 O s_axi_aclk 表示错误情况。行为由中断控制寄存器控制。注释:1. 如果 S_AXI 参数接口未设置为 Initialized,或使能了任何中断源,则会显示中断引脚。

数据输入端口 (DIN)数据输入总线 (DIN) 是一个 AXI4-Stream 从接口,使用 s_axis_din_aclk 时钟。表 2: 数据输入端口

端口 I/O

s_axis_din_aclk I

s_axis_din_tvalid I

s_axis_din_tready O

s_axis_din_tlast I

s_axis_din_tdata[128*(LANE_NUM_IN)1] I

注释:1. LANE_NUM_IN 是使用 AXIS_WIDTH.DIN 设置的通道数。

相关信息数据输入 (DIN)接口的吞吐量限制

数据输入控制端口 (DIN_WORDS)数据输入控制总线 (DIN_WORDS) 控制数据输入总线 (DIN) 上的 word 数,它是一个 AXI4-Stream 从接口,使用s_axis_din_words_aclk 时钟。如果 DIN_Interface 被设置为 Unconfigured,或 DIN_Interface 被设置为 Pre-Configured,且 DIN_Words_Configuration 被设置为 Per_Block 或 Per_Transaction(即接口未固定),则系统会显示与 DIN_WORDS 接口关联的端口。表 3: 数据输入控制端口

端口 I/O

s_axis_din_words_aclk I

s_axis_din_words_tvalid I

s_axis_din_words_tready O

s_axis_din_words_tlast I

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 11

Send Feedback

Page 12: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 3: 数据输入控制端口 (续)

端口 I/O

s_axis_din_words_tdata[8*(LANE_NUM_IN)12] I

注释:1. 当 word 被设置为“Per Block”时,宽度为 8 位。2. LANE_NUM_IN 是使用 AXIS_WIDTH.DIN 设置的通道数。

相关信息数据输入控制 (DIN_WORDS)

数据输出端口 (DOUT)数据输出总线 (DOUT) 是一个 AXI4-Stream 主接口,使用 m_axis_dout_aclk 时钟。表 4: 数据输出端口

端口 I/O

m_axis_dout_aclk I

m_axis_dout_tvalid O

m_axis_dout_tready I

m_axis_dout_tlast O

m_axis_dout_tdata[128*(LANE_NUM_OUT)1] O

注释:1. LANE_NUM_OUT 是使用 AXIS_WIDTH.DOUT 设置的通道数量。

相关信息数据输出 (DOUT)接口的吞吐量限制

数据输出控制端口 (DOUT_WORDS)数据输出控制端口总线 (DOUT_WORDS) 控制数据输出总线上的 word 数,是一个 AXI4-Stream 从接口,使用s_axis_dout_words_aclk 时钟。如果 DOUT_Interface 被设置为 Unconfigured,或 DOUT_Interface 被设置为Pre-Configured,且 DOUT_Words_Configuration 被设置为 Per_Block 或 Per_Transaction(即接口未固定),则系统会显示与 DOUT_WORDS 接口关联的端口。表 5: 数据输出控制端口

端口 I/O

s_axis_dout_words_aclk I

s_axis_dout_words_tvalid I

s_axis_dout_words_tready O

s_axis_dout_words_tlast I

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 12

Send Feedback

Page 13: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 5: 数据输出控制端口 (续)

端口 I/O

s_axis_dout_words_tdata[8*(LANE_NUM_OUT)12] I

注释:1. 当 word 被设置为“Per Block”时,宽度为 8 位。2. LANE_NUM_OUT 是使用 AXIS_WIDTH.DOUT 设置的通道数量。

相关信息数据输出控制 (DOUT_WORDS)

控制输入端口 (CTRL)控制输入总线 (CTRL) 是一个 AXI4-Stream 从接口,使用 s_axis_ctrl_aclk 时钟。控制输入可提供特定于每个块的信息。其定义取决于是否在 Vivado® IDE 中选择了 5G NR 标准支持。表 6: 控制输入端口

端口 I/O

s_axis_ctrl_aclk I

s_axis_ctrl_tvalid I

s_axis_ctrl_tready O

s_axis_ctrl_tdata[32/40]1 I

注释:1. 如果 Standard 设置为 5G,则为 40 位,否则为 32 位。

相关信息控制输入 (CTRL)

状态输出端口 (STATUS)状态输出总线 (STATUS) 是一个 AXI4-Stream 主接口,使用 m_axis_status_aclk 时钟。状态输出提供特定于每个块的信息。其定义取决于是否在 Vivado® IDE 中选择了 5G NR 标准支持。表 7: 状态输出端口

端口 I/O

m_axis_status_aclk I

m_axis_status_tvalid O

m_axis_status_tready I

m_axis_status_tdata[32/40]1 O

注释:1. 如果 Standard 设置为 5G,则为 40 位,否则为 32 位。

相关信息状态输出 (STATUS)

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 13

Send Feedback

Page 14: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

参数端口 (PARAM)参数总线是 AXI4-Lite 存储器映射的从接口,使用 s_axi_aclk 时钟。当 AXI4-Lite Parameter_Interface 未设置为Initialized 时,该接口会显示存在。参数总线允许写入接口上有两个待处理的数据传输,允许读取接口上有一个待处理的数据传输。写入接口的待处理数据传输越多,写入下载的吞吐量就越高,从而使 LDPC 码的更新速度更快。表 8: 参数端口

端口 I/O

s_axi_aclk I

s_axi_awaddr[18:0] I

s_axi_awvalid I

s_axi_awready O

s_axi_wdata[32:0] I

s_axi_wvalid I

s_axi_wready O

s_axi_bready I

s_axi_bvalid O

s_axi_araddr[18:0] I

s_axi_arvalid I

s_axi_arready O

s_axi_rready I

s_axi_rdata[32:0] O

s_axi_rvalid O

寄存器空间重要提示! 应通过器件的驱动程序对寄存器进行编程(这样就可以从 LDPC 码的简单定义生成正确的值)。此驱动程序由赛灵思提供:寄存器映射包含以下类型的参数:• 核参数(所有码通用)• Turbo 码参数• LDPC 码参数• 共享 LDPC 码参数所有寄存器都从 32 位的 word 对齐的地址开始。假设读取地址和写入地址的两个 LSB 为零。以下部分总结了寄存器读取访问和写入访问限制。参数管理下提供了有关如何管理码参数的更多详细信息。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 14

Send Feedback

Page 15: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 9: 寄存器空间地址(十六进制) 寄存器名称

核参数0x00 AXI_WR_PROTECT 寄存器0x04 CODE_WR_PROTECT 寄存器0x08 ACTIVE 寄存器0x0C AXIS_WIDTH 寄存器0x10 AXIS_ENABLE 寄存器0x14 FEC_CODE 寄存器0x18 ORDER 寄存器0x1C 中断状态寄存器 (ISR)

0x20 中断使能寄存器 (IER)

0x24 中断禁用寄存器 (IDR)

0x28 中断掩码寄存器 (ISR)

0x2C ECC 中断状态寄存器0x30 ECC 中断使能寄存器0x34 ECC 中断禁用寄存器0x38 ECC 中断掩码寄存器0x3C BYPASS 寄存器

Turbo 码参数0x100 Turbo 码寄存器

LDPC 码参数0x2000+CODE*0x10 REG0 寄存器0x2004+CODE*0x10 REG1 寄存器0x2008+CODE*0x10 REG2 寄存器0x200C+CODE*0x10 REG3 寄存器

共享 LDPC 码参数0x10000–0x103FC SC_TABLE 寄存器0x18000–0x18FFC LA_TABLE 寄存器0x20000–0x27FFC QC_TABLE 寄存器

相关信息参数管理

核参数当核没有复位时,可以随时读取可读取的核参数。注释: 与何时可以写入核参数相关的所有限制均以脚注的形式提供在相关参数表中。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 15

Send Feedback

Page 16: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

AXI_WR_PROTECT 寄存器 (0x00)

表 10: AXI_WR_PROTECT 寄存器比特 默认值 访问型 描述

0 0 R/W 防止写入所有其他寄存器。0:允许写入1:写入被保护

注释:1. 要使 5G 模式正常工作,必须将此寄存器设置为 0:在应用第一个 CTRL word 之前允许写入(如果尚未由 Vivado® IDE 设置

的话)。

AXI_WR_PROTECT 寄存器 (0x04)

表 11: CODE_WR_PROTECT 寄存器比特 默认值 访问型 描述

0 0 R/W 防止写入 Turbo 码和 LDPC 码寄存器以及共享 LDPC 码表。。CODE_WR_PROTECT 和 AXI_WR_PROTECT 皆须为 0 才能启用写入操作。

0:允许写入1:写入被保护

注释:1. 要使 5G 模式正常工作,必须将此寄存器设置为 0:在应用第一个 CTRL word 之前允许写入(如果尚未由 Vivado® IDE 设置

的话)。

ACTIVE 寄存器 (0x08)

表 12: ACTIVE 寄存器比特 默认值 访问型 描述

0 0 RO 解码器的活动。0:核中没有待处理的块1:核正在处理一个块

AXIS_WIDTH 寄存器 (0x0C)

表 13: AXIS_WIDTH 寄存器比特 默认值 访问类型 描述

5 0 R/W DOUT_WORDS0:TDOUT_WORDS 输入是基于块的。在 DOUT_WORDS 上每个块只输入一个值,用来指定一个完整块的每个 128 位通道中的 LLR 数(例如,DOUT_WORDS 上的值 16 表示应使用 DOUT 的每个通道中的所有 128位)。1:为 DOUT 上的每个 AXI 数据传输提供 DOUT_WORDS 输入。对应DOUT 上的每个 AXI 数据传输,DOUT_WORDS 上必须有相应的数据传输。如 LLR 输出 word (DOUT_WORDS) 中的表中所示,如果DOUT_WIDTH 设置为使用多个通道,则 DOUT_WORDS 必须为每个 128位通道提供一个值。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 16

Send Feedback

Page 17: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 13: AXIS_WIDTH 寄存器 (续)

比特 默认值 访问类型 描述4:3 0 R/W DOUT:应用于 DOUT 和 DOUT_WORDS 数据的宽度转换

0:1x128b1:2x128b2:4x128b3:保留

2 0 R/W DIN_WORDS0:DIN_WORDS 输入是基于块的。DIN_WORDS 上每个块仅输入一个值,用来指定一个完整块的 128 位通道中每一个通道的 LLR 数(例如,DIN_WORDS 上的值 16 表示应使用 DIN 的每个通道的所有 128 位)。1:DIN_WORDS 输入是针对 DIN 上的每个 AXI 数据传输提供的。对于DIN 上的每个 AXI 数据传输,DIN_WORDS 上一定有一个相应的数据传输。如数据输入控制 AXI4-Stream 从 (DIN_WORDS) 表中所示,如果DIN_WIDTH 设置为使用多个通道,则 DIN_WORDS 必须为每个 128 位通道提供一个值。

1:0 0 R/W DIN:应用于 DIN and DIN_WORDS 数据的宽度转换0:128b1:2x128b2:4x128b3:保留

注释:1. 只有在禁用接口时复位后才能更改该寄存器。

相关信息数据输出控制 (DOUT_WORDS)数据输入控制 (DIN_WORDS)

AXIS_ENABLE 寄存器 (0x10)

表 14: AXIS_ENABLE 寄存器比特 默认值 访问类型 描述

5 0 R/W DOUT_WORDS:撤销输出就绪的断言,并在 DOUT_WORDS 内部有效以禁用输入。0:禁用1:启用

4 0 R/W DOUT:撤销有效输出的断言,并在 DOUT 内部就绪以禁用输出。0:禁用1:启用

3 0 R/W STATUS1:撤销输出有效的断言,并在 STATU 内部就绪以禁用输出。0:禁用1:启用

2 0 R/W DOUT_WORDS:撤销输出就绪的断言,并在 DIN_WORDS 内部有效以禁用输入。0:禁用1:启用

1 0 R/W DIN:撤销输出就绪的断言,并在 DIN 内部有效以禁用输入。0:禁用1:启用

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 17

Send Feedback

Page 18: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 14: AXIS_ENABLE 寄存器 (续)

比特 默认值 访问类型 描述0 0 R/W CTRL2:撤销输出就绪的断言,并在 CTRL 内部有效以禁用输入。

0:禁用1:启用

注释:1. 要使 5G 模式正常工作,在应用第一个 CTRL word 之前,必须将 STATUS 设置为 Enabled(如果尚未由 Vivado® IDE 设置的

话)。2. 要使 5G 模式正常工作,在应用第一个 CTRL word 之前,必须必须将 CTRL 设置为 Enabled(如果尚未由 Vivado IDE 设置的

话)。

FEC_CODE 寄存器 (0x14)

表 15: FEC_CODE 寄存器比特 默认值 访问型 描述

0 0 R/W 要使用的 FEC 代码0:Turbo 码1:LDPC 码

注释:1. 只有在核未激活时(ACTIVE 为 0)才能更改该寄存器。

ORDER 寄存器 (0x18)

表 16: ORDER 寄存器比特 默认值 访问类型 描述

0 0 R/W 指定块的顺序是否可以从输入更改为输出0:维持订单1:无序

注释:1. 只有在核未激活时(ACTIVE 为 0)才能更改该寄存器。

中断状态寄存器 (ISR) (0x1C)

表 17: 中断状态寄存器比特 1 默认值 访问型 描述

5 0 R/W DOUT_WORDS tlast 意外4 0 R/W DOUT_WORDS tlast 缺失3 0 R/W DIN_WORDS tlast 意外2 0 R/W DOUT_WORDS tlast 缺失1 0 R/W DIN tlast 意外

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 18

Send Feedback

Page 19: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 17: 中断状态寄存器 (续)

比特 1 默认值 访问型 描述0 0 R/W DIN tlast 缺失

注释:1. 通过将 1 写入相应的位来清除。2. 该寄存器反映原始中断状态,不会被 IMR 屏蔽。

中断使能寄存器 (IER) (0x20)

表 18: 中断使能寄存器比特 1 默认值 访问型 描述

5 0 WO DOUT_WORDS tlast 意外4 0 WO DOUT_WORDS tlast 缺失3 0 WO DIN_WORDS tlast 意外2 0 WO DOUT_WORDS tlast 缺失1 0 WO DIN tlast 意外0 0 WO DIN tlast 缺失

注释:1. 读取 0。将 1 写入相应位以使能中断(IMR 的相应位设置为 1)。写入 0 被忽略。

中断禁用寄存器 (IDR) (0x24)

表 19: 中断禁用寄存器比特 1 默认值 访问型 描述

5 0 WO DOUT_WORDS tlast 意外4 0 WO DOUT_WORDS tlast 缺失3 0 WO DIN_WORDS tlast 意外2 0 WO DOUT_WORDS tlast 缺失1 0 WO DIN tlast 意外0 0 WO DIN tlast 缺失

注释:1. 读取 0。将 1 写入相应位以禁用中断(IMR 的相应位设置为 1)。写入 0 被忽略。

中断掩码寄存器 (IMR) (0x28)

表 20: 中断掩码寄存器比特 默认值 访问型 描述

5 1 RO DOUT_WORDS tlast 意外4 1 RO DOUT_WORDS tlast 缺失3 1 RO DIN_WORDS tlast 意外2 1 RO DOUT_WORDS tlast 缺失

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 19

Send Feedback

Page 20: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 20: 中断掩码寄存器 (续)

比特 默认值 访问型 描述1 1 RO DIN tlast 意外0 1 RO DIN tlast 缺失

注释:1. 如果设置了屏蔽位,则中断会被屏蔽,也就是说,它不会使中断引脚变为高电平。

ECC 中断状态寄存器 (0x2C)

表 21: ECC 中断状态寄存器比特 1 默认值 访问类型 描述 2

29 0 R/W LDPC REF NM_NMQC 表 ECC 两位错误(5G NR 模式)/LDPC CODEREG ECC 两位错误(初始化的非 5G 模式)3,4

28 0 R/W LDPC REF QC 表 ECC 两位错误 3,4

27 0 R/W LDPC REF QC 表 ECC 两位错误 3,4

26 0 R/W LDPC REF QC 表 ECC 两位错误 3,4

25 0 R/W LDPC REF NM_NMQC 表 ECC 事件(5G NR 模式)/LDPC CODE REGECC 事件(初始化的非 5G 模式)3,5

24 0 R/W LDPC REF QC 表 ECC 事件 3

23 0 R/W LDPC REF LA 表 ECC 事件 3

22 0 R/W LDPC REF SC 表 ECC 事件 3

21 0 R/W LDPC 最终奇偶校验计算存储器 ECC 两位错误 4

20 0 R/W LDPC QC_TABLE 存储器 3 ECC 两位错误 4

19 0 R/W LDPC QC_TABLE 存储器 2 ECC 两位错误 4

18 0 R/W LDPC QC_TABLE 存储器 1 ECC 两位错误 4

17 0 R/W LDPC QC_TABLE 存储器 0 ECC 两位错误 4

16 0 R/W LDPC LA_TABLE 存储器 ECC 两位错误 4

15 0 R/W LDPC SC_TABLE 存储器 ECC 两位错误 4

14 0 R/W LDPC 码 REG3 存储器 ECC 两位错误 4

13 0 R/W LDPC 码 REG2 存储器 ECC 两位错误 4

12 0 R/W LDPC 码 REG1 存储器 ECC 两位错误 4

11 0 R/W LDPC 码 REG0 存储器 ECC 两位错误 4

10 0 R/W LDPC 最终奇偶校验计算存储器 ECC 事件 5

9 0 R/W LDPC QC_TABLE 存储器 3 ECC 事件8 0 R/W LDPC QC_TABLE 存储器 2 ECC 事件7 0 R/W LDPC QC_TABLE 存储器 1 ECC 事件6 0 R/W LDPC QC_TABLE 存储器 0 ECC 事件5 0 R/W LDPC LA_TABLE 存储器 ECC 事件4 0 R/W LDPC SC_TABLE 存储器 ECC 事件3 0 R/W LDPC 码 REG3 存储器 ECC 事件2 0 R/W LDPC 码 REG2 存储器 ECC 事件1 0 R/W LDPC 码 REG1 存储器 ECC 事件

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 20

Send Feedback

Page 21: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 21: ECC 中断状态寄存器 (续)

比特 1 默认值 访问类型 描述 2

0 0 R/W LDPC 码 REG0 存储器 ECC 事件注释:1. 通过将 1 写入相应的位来清除。2. 该寄存器反映原始中断状态,不会被 IMR 屏蔽。3. 这些存储器存在于 5G NR 中的 SD-FEC 支持逻辑和初始化的非 5G 模式中。4. 当从相应存储器读取的 word 中检测到两个错误时,ECC 两位错误寄存器即会被设置。也可以在一个 word 中的错误数大于 2

时设置 - 但这无法保证。未纠正的多位错误可能导致不正确的核行为。5. ECC 事件是在从相应存储器读取的 word 中检测到一个或多个错误。如果没有发现 ECC 两位错误,则仅检测到一个已经纠正

的错误。

ECC 中断使能寄存器 (0x30)

表 22: ECC 中断使能寄存器比特 1 默认值 访问类型 描述

29 0 WO LDPC REF NM_NMQC 表 ECC 两位错误(5G NR 模式)/LDPC CODEREG ECC 两位错误(初始化的非 5G 模式)2,3

28 0 WO LDPC REF QC 表 ECC 两位错误 2,3

27 0 WO LDPC REF QC 表 ECC 两位错误 2,3

26 0 WO LDPC REF QC 表 ECC 两位错误 2,3

25 0 WO LDPC REF NM_NMQC 表 ECC 事件(5G NR 模式)/LDPC CODE REGECC 事件(初始化的非 5G 模式)2,3

24 0 WO LDPC REF QC 表 ECC 事件 2

23 0 WO LDPC REF LA 表 ECC 事件 2

22 0 WO LDPC REF SC 表 ECC 事件 2

21 0 WO LDPC 最终奇偶校验计算存储器 ECC 两位错误 3

20 0 WO LDPC QC_TABLE 存储器 3 ECC 两位错误 3

19 0 WO LDPC QC_TABLE 存储器 2 ECC 两位错误 3

18 0 WO LDPC QC_TABLE 存储器 1 ECC 两位错误 3

17 0 WO LDPC QC_TABLE 存储器 0 ECC 两位错误 3

16 0 WO LDPC LA_TABLE 存储器 ECC 两位错误 3

15 0 WO LDPC SC_TABLE 存储器 ECC 两位错误 3

14 0 WO LDPC 码 REG3 存储器 ECC 两位错误 3

13 0 WO LDPC 码 REG2 存储器 ECC 两位错误 3

12 0 WO LDPC 码 REG1 存储器 ECC 两位错误 3

11 0 WO LDPC 码 REG0 存储器 ECC 两位错误 3

10 0 WO LDPC 最终奇偶校验计算存储器 ECC 事件 4

9 0 WO LDPC QC_TABLE 存储器 3 ECC 事件8 0 WO LDPC QC_TABLE 存储器 2 ECC 事件7 0 WO LDPC QC_TABLE 存储器 1 ECC 事件6 0 WO LDPC QC_TABLE 存储器 0 ECC 事件5 0 WO LDPC LA_TABLE 存储器 ECC 事件

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 21

Send Feedback

Page 22: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 22: ECC 中断使能寄存器 (续)

比特 1 默认值 访问类型 描述4 0 WO LDPC SC_TABLE 存储器 ECC 事件3 0 WO LDPC 码 REG3 存储器 ECC 事件2 0 WO LDPC 码 REG2 存储器 ECC 事件1 0 WO LDPC 码 REG1 存储器 ECC 事件0 0 WO LDPC 码 REG0 存储器 ECC 事件

注释:1. 读取 0。将 1 写入相应位以启用中断(ECC 中断掩码寄存器的相应位设置为 0)。写入 0 被忽略。2. 这些存储器存在于 5G NR 中的 SD-FEC 支持逻辑和初始化的非 5G 模式中。3. 当从相应存储器读取的 word 中检测到两个错误时,ECC 两位错误寄存器即会被设置。也可以在一个 word 中的错误数大于 2

时设置 - 但这无法保证。未纠正的多位错误可能导致不正确的核行为。建议进行核复位,然后对 LDPC 码参数进行重新编程。4. ECC 事件是在从相应存储器读取的 word 中检测到一个或多个错误。如果没有发现 ECC 两位错误,则仅检测到一个已经纠正

的错误。为了避免这种情况以后成为无法纠正的两位错误的可能性,应该刷新存储器的内容。

ECC 中断禁用寄存器 (0x34)

表 23: ECC 中断禁用寄存器比特 1 默认值 访问类型 描述

29 0 WO LDPC REF NM_NMQC 表 ECC 两位错误(5G NR 模式)/LDPC CODEREG ECC 两位错误(初始化的非 5G 模式)2,3

28 0 WO LDPC REF QC 表 ECC 两位错误 2,3

27 0 WO LDPC REF QC 表 ECC 两位错误 2,3

26 0 WO LDPC REF QC 表 ECC 两位错误 2,3

25 0 WO LDPC REF NM_NMQC 表 ECC 事件(5G NR 模式)/LDPC CODE REGECC 事件(初始化的非 5G 模式)2,4

24 0 WO LDPC REF QC 表 ECC 事件 2

23 0 WO LDPC REF LA 表 ECC 事件 2

22 0 WO LDPC REF SC 表 ECC 事件 2

21 0 WO LDPC 最终奇偶校验计算存储器 ECC 两位错误 3

20 0 WO LDPC QC_TABLE 存储器 3 ECC 两位错误 3

19 0 WO LDPC QC_TABLE 存储器 2 ECC 两位错误 3

18 0 WO LDPC QC_TABLE 存储器 1 ECC 两位错误 3

17 0 WO LDPC QC_TABLE 存储器 0 ECC 两位错误 3

16 0 WO LDPC LA_TABLE 存储器 ECC 两位错误 3

15 0 WO LDPC SC_TABLE 存储器 ECC 两位错误 3

14 0 WO LDPC 码 REG3 存储器 ECC 两位错误 3

13 0 WO LDPC 码 REG2 存储器 ECC 两位错误 3

12 0 WO LDPC 码 REG1 存储器 ECC 两位错误 3

11 0 WO LDPC 码 REG0 存储器 ECC 两位错误 3

10 0 WO LDPC 最终奇偶校验计算存储器 ECC 事件 4

9 0 WO LDPC QC_TABLE 存储器 3 ECC 事件8 0 WO LDPC QC_TABLE 存储器 2 ECC 事件

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 22

Send Feedback

Page 23: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 23: ECC 中断禁用寄存器 (续)

比特 1 默认值 访问类型 描述7 0 WO LDPC QC_TABLE 存储器 1 ECC 事件6 0 WO LDPC QC_TABLE 存储器 0 ECC 事件5 0 WO LDPC LA_TABLE 存储器 ECC 事件4 0 WO LDPC SC_TABLE 存储器 ECC 事件3 0 WO LDPC 码 REG3 存储器 ECC 事件2 0 WO LDPC 码 REG2 存储器 ECC 事件1 0 WO LDPC 码 REG1 存储器 ECC 事件0 0 WO LDPC 码 REG0 存储器 ECC 事件

注释:1. 读取 0。将 1 写入相应位以禁用中断(ECC 中断掩码寄存器的相应位设置为 1)。写入 0 被忽略。2. 这些存储器存在于 5G NR 中的 SD-FEC 支持逻辑和初始化的非 5G 模式中。3. 当从相应存储器读取的 word 中检测到两个错误时,ECC 两位错误寄存器即会被设置。也可以在一个 word 中的错误数大于 2

时设置 - 但这无法保证。未纠正的多位错误可能导致不正确的核行为。建议进行核复位,然后对 LDPC 码参数进行重新编程。4. ECC 事件是在从相应存储器读取的 word 中检测到一个或多个错误。如果没有发现 ECC 两位错误,则仅检测到一个已经纠正

的错误。为了避免这种情况以后成为无法纠正的两位错误的可能性,应该刷新存储器的内容。

ECC 中断掩码寄存器 (0x38)

表 24: ECC 中断掩码寄存器比特 1 默认值 访问类型 描述

29 0 RO LDPC REF NM_NMQC 表 ECC 两位错误(5G NR 模式)/LDPC CODEREG ECC 两位错误(初始化的非 5G 模式)2,3

28 0 RO LDPC REF QC 表 ECC 两位错误 2,3

27 0 RO LDPC REF QC 表 ECC 两位错误 2,3

26 0 RO LDPC REF QC 表 ECC 两位错误 2,3

25 0 RO LDPC REF NM_NMQC 表 ECC 事件(5G NR 模式)/LDPC CODE REGECC 事件(初始化的非 5G 模式)2,4

24 0 RO LDPC REF QC 表 ECC 事件 2

23 0 RO LDPC REF LA 表 ECC 事件 2

22 0 RO LDPC REF SC 表 ECC 事件 2

21 1 RO LDPC 最终奇偶校验计算存储器 ECC 两位错误 3

20 1 RO LDPC QC_TABLE 存储器 3 ECC 两位错误 3

19 1 RO LDPC QC_TABLE 存储器 2 ECC 两位错误 3

18 1 RO LDPC QC_TABLE 存储器 1 ECC 两位错误 3

17 1 RO LDPC QC_TABLE 存储器 0 ECC 两位错误 3

16 1 RO LDPC LA_TABLE 存储器 ECC 两位错误 3

15 1 RO LDPC SC_TABLE 存储器 ECC 两位错误 3

14 1 RO LDPC 码 REG3 存储器 ECC 两位错误 3

13 1 RO LDPC 码 REG2 存储器 ECC 两位错误 3

12 1 RO LDPC 码 REG1 存储器 ECC 两位错误 3

11 1 RO LDPC 码 REG0 存储器 ECC 两位错误 3

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 23

Send Feedback

Page 24: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 24: ECC 中断掩码寄存器 (续)

比特 1 默认值 访问类型 描述10 1 RO LDPC 最终奇偶校验计算存储器 ECC 事件 4

9 1 RO LDPC QC_TABLE 存储器 3 ECC 事件8 1 RO LDPC QC_TABLE 存储器 2 ECC 事件7 1 RO LDPC QC_TABLE 存储器 1 ECC 事件6 1 RO LDPC QC_TABLE 存储器 0 ECC 事件5 1 RO LDPC LA_TABLE 存储器 ECC 事件4 1 RO LDPC SC_TABLE 存储器 ECC 事件3 1 RO LDPC 码 REG3 存储器 ECC 事件2 1 RO LDPC 码 REG2 存储器 ECC 事件1 1 RO LDPC 码 REG1 存储器 ECC 事件0 1 RO LDPC 码 REG0 存储器 ECC 事件

注释:1. 如果设置了屏蔽位,则中断会被屏蔽,也就是说,它不会使中断引脚变为高电平。2. 这些存储器存在于 5G NR 中的 SD-FEC 支持逻辑和初始化的非 5G 模式中。3. 当从相应存储器读取的 word 中检测到两个错误时,ECC 两位错误寄存器即会被设置。也可以在一个 word 中的错误数大于 2

时设置 - 但这无法保证。未纠正的多位错误可能导致不正确的核行为。建议进行核复位,然后对 LDPC 码参数进行重新编程。4. ECC 事件是在从相应存储器读取的 word 中检测到一个或多个错误。如果没有发现 ECC 两位错误,则仅检测到一个已经纠正

的错误。为了避免这种情况以后成为无法纠正的两位错误的可能性,应该刷新存储器的内容。

BYPASS 寄存器 (0x3C)

表 25: BYPASS 寄存器比特 默认值 访问类型 描述

0 0 R/W 执行具有给定迭代次数的函数(不支持提前终止,因此在设置 BYPASS时,CTRL 输入中必须将关联的终止位设置为零),但输出与输入(减去Turbo 解码的尾部位数)相同,导致所有软到硬的转换。奇偶校验传递/CRC 标志基于下列输入值:

0:一般操作1:输出与输入相同

注释:1. 只有在核未激活时(ACTIVE 为 0)才能更改该寄存器。

Turbo 码参数寄存器 (0x100)如果核未复位,则可以随时读取 Turbo 码参数。只有在核未激活时(ACTIVE 为 0)才能更新 Turbo 码参数。表 26: Turbo 码寄存器

比特 默认值 访问型 描述11:8 0xC R/W SCALE_FACTOR

0:比例 = 11 - 15:比例 = 0.0625*SCALE_FACTOR

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 24

Send Feedback

Page 25: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 26: Turbo 码寄存器 (续)

比特 默认值 访问型 描述0 0 R/W ALG:Turbo 解码算法

0:Max_scale1:Max star

LDPC 码参数重要提示! 请勿在 5G 模式下更新 LDPC 码参数。

LDPC 码参数可以随时写入;不应该写入与引擎正在处理的代码相关联的寄存器(否则行为将不可预测,并且可能会因导致锁定而需要复位)。LDPC 码参数只能在核处于非活动状态 (ACTIVE=0) 时才能读取,否则返回 0。对于特定代码定义,Vivado® IDE 核设置中提供了 LDPC 码参数和共享表的设置。必须为使用 CODE 导出代码寄存器的每个码提供寄存器,其值为 0 - 127。要使用的代码定义是通过 CTRL 接口为块提供的。

REG0 寄存器 (0x2000+REG_SET*0x10)

表 27: REG0 寄存器比特 访问类型 描述30:16 R/W K:信息的位数。

K 的取值范围是 2 ≤ K ≤ 32766,并且 K 是 P 的整数倍。另外 K ≤ 256 × P。15:0 R/W N:码字的位数。

N 的取值范围是 4 ≤ N ≤ 32768,并且 N 是 P 的整数倍。另外 N ≤ 256 × P 并且 N>K。注释:1. 请参阅用于 LDPC 解码和 CODE 定义编码的非 5G 控制接口定义。2. 设置无效参数值会导致中断或其他未定义的行为,需要复位才能恢复。3. 默认值未定义。

相关信息针对 LDPC 解码的非 5G NR 控制接口定义LDPC 编码的非 5G NR 控制接口定义

REG1 寄存器 (0x2004+REG_SET*0x10)

表 28: REG1 寄存器比特 访问型 描述19:11 R/W NM:指定码字的内部软数据存储器要求。Vivado® IDE 为给定代码定义设置的参数。

10 R/W NO_PACKING:确定是否应在同一时钟周期内执行多个 QC 操作。0:P 允许时打包多个 QC 操作。1:不打包多个 QC 操作。如果在 Vivado IDE 中未启用 Packing,则NO_PACKING 将在内部被覆盖为 1。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 25

Send Feedback

Page 26: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 28: REG1 寄存器 (续)

比特 访问型 描述9:0 R/W P:子矩阵的大小

范围:2 ≤ P ≤ 512

注释:1. 请参阅用于 LDPC 解码和 CODE 定义编码的非 5G 控制接口定义。2. 设置无效的参数值会导致操作不正确,需要复位才能恢复。3. 默认值未定义。

相关信息针对 LDPC 解码的非 5G NR 控制接口定义LDPC 编码的非 5G NR 控制接口定义

REG2 寄存器 (0x2008+REG_SET*0x10)

表 29: REG2 寄存器比特 访问类型 描述23:24 R/W MAX_SCHEDULE:只有在 LDPC 编码器或解码器中存在的块少于 MAX_SCHEDULE 中的块,且有足够存储器的情况下才会调度块。

如果设置为 0,则调度的块数由内部算法来确定,该算法旨在最大化吞吐量,同时最小化交织的块数。范围:0 ≤ MAX_SCHEDULE ≤ 3

22 R/W NO_FINAL_PARITY_CHECK:对于解码,可以在达到指定的最大迭代时对结果执行奇偶校验,以确定最终迭代是通过还是失败。为状态输出添加一些时延(一旦解码完成就可以获得数据输出)。0:执行最终奇偶校验1:不执行最终奇偶校验。如果在 Vivado IDE 中禁用了输出奇偶校验,则NO_FINAL_PARITY_CHECK 将在内部被覆盖为 0。

21 R/W SPECIAL_QC:在解码操作中循环权重大于 1 时需要。Vivado IDE 为给定代码定义设置的参数。20 R/W NORM_TYPE:需要归一化

0:按 1 归一化1:行归一化欲知详情,请参阅 LDPC 码支持。

19:9 R/W NMQC:指定码字的内部软数据存储器要求。Vivado® IDE 为给定代码定义设置的参数。8:0 R/W NLAYERS:代码中的层数

范围:1 ≤ NLAYERS ≤ 256

注释:1. 请参阅用于 LDPC 解码和 CODE 定义编码的非 5G 控制接口定义。2. 设置无效的参数值会导致操作不正确,需要复位才能恢复。3. 默认值未定义。

相关信息LDCP 码支持针对 LDPC 解码的非 5G NR 控制接口定义LDPC 编码的非 5G NR 控制接口定义

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 26

Send Feedback

Page 27: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

REG3 寄存器 (0x200C+REG_SET*0x10)

表 30: REG3 寄存器比特 访问类型 描述26:16 R/W QC_OFF:QC_TABLE 条目偏移。QC_TABLE 偏移地址 = QC_OFF*16。15:8 R/W LA_OFF:LA_TABLE 条目偏移。LA_TABLE 偏移地址 = LA_OFF*16。7:0 R/W SC_OFF:SC_TABLE 条目偏移。SC_TABLE 偏移字节地址 = SC_OFF*4。

注释:1. 请参阅用于 LDPC 解码和 CODE 定义编码的非 5G 控制接口定义。2. 设置无效的参数值会导致操作不正确,需要复位才能恢复。3. 默认值未定义。

相关信息针对 LDPC 解码的非 5G NR 控制接口定义LDPC 编码的非 5G NR 控制接口定义

共享 LDPC 码参数重要提示! 请勿在 5G 模式下更新共享的 LDPC 码参数。

SC_TABLE、LA_TABLE 和 QC_TABLE 寄存器在 LDPC 码之间共享。在每个码参数下定义的偏移指针提供所需 LDPC 码信息的起始地址。代码所需的表中的条目数取决于其他每个码参数。该表解决了换行问题(即,代码可以从表的顶部开始并在每个表的起始地址处继续)。可以写入代码未使用的共享 LDPC 码参数。写入正在使用的参数可能会导致不可预测的行为(例如锁定,需要复位才能恢复)。共享 LDPC 码参数只能在核处于非活动状态 (ACTIVE=0) 时才能读取,否则会返回 0。

SC_TABLE 寄存器 (0x10000-0x103FC)下表显示了 LDPC 码的归一化因子。表 31: SC_TABLE 寄存器

比特 访问型 描述15:0 R/W 四个为一包的 4 位比例因子 - 每层一个。

欲知详情,请参阅 LDPC 码支持。注释:1. 核处于非活动状态时可以为只读 (ACTIVE=0)。2. 默认值未定义。

相关信息LDCP 码支持

LA_TABLE 寄存器 (0x18000–0x18FFC)下表显示的是与每个代码层相关的参数。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 27

Send Feedback

Page 28: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 32: LA_TABLE 寄存器比特 访问型 描述15:8 R/W 在层启动时等待以强制执行数据依赖的周期数。Vivado® IDE 为给定代码定义设置的参数。

7 R/W 在解码操作中当循环权重大于 1 时使用。Vivado IDE 为给定代码定义设置的参数。6:0 R/W 每层的循环次数减去 1。Vivado IDE 为给定代码定义设置的参数。取决于打包因素(以及相关的 PSIZE)。

注释:1. 核处于非活动状态时可以为只读 (ACTIVE=0)。2. 默认值未定义。

QC_TABLE 寄存器 (0x20000–0x29FFC)下表显示了保存有基本矩阵的 LDPC 循环的参数表。表 33: QC_TABLE 寄存器

比特 访问类型 描述18:18 R/W 用于显示操作适用于奇偶校验位的标志(由编码器使用)17:17 R/W 用于指示首次使用关联列的标志

PSIZE > 128 比特 PSIZE ≤ 128 (假设 NO_PACKING 为 0)16:8 R/W 旋转 16 表示打包时无操作。

15 如果编码:在层中的最后一次操作。如果解码:在子矩阵中最后循环。(仅在 SPECIAL_QC 为 1 时使用)14:8 旋转

7:0 R/W 基矩阵列注释:1. 核处于非活动状态时可以为只读 (ACTIVE=0)。2. 默认值未定义。

AXI4-Stream接口定义DIN 和 DOUT 的软值表示对于 Turbo 和 LDPC 解码,软值对数似然比定义为:

因此,负 LLR 值被解读为硬二进制值 0。正值(和 0)被解读为硬二进制值 1。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 28

Send Feedback

Page 29: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

数据输入 (DIN)• DIN 数据输入流由四个 128 位通道组成。使用的通道数取决于 AXIS_WIDTH.DIN 参数的设置。• 软值 LLR(解码操作)的字节或硬比特的字节(编码操作)通过 DIN 传输。• 块从一个或多个周期传输,从最低位的 LLR 或硬比特开始。• 每个周期通过 DIN 传输的字节数(LLR 或硬比特)取决于 DIN_WORDS 输入。如需了解有关如何使用

DIN_WORDS 的详情,请参见数据输入控制 AXI4-Stream 从 (DIN_WORDS)。例如,如果符号解映射器正在生成与特定调制级别相关联的多个 LLR 值,则可以调整输入以适应这种情况。通过确保每个通道以类似方式被控制,它允许每个通道能容纳并行符号解映射器。

• 数据 word 在每个 DIN 通道的最低有效字节中传输。例如,如果 DIN_WORDS 指定在通道 0 中传输两个字节,则这些字节是 llr(0) 和 llr(1) (位 7:0 和 15:8)。

• 每次传输只能包含一个区块;一个块必须在下一个块开始之前完成。这可能需要块的最终传输将一个或多个较高的通道尺寸设置为 0 或减小通道的值。核在内部强制执行此操作,覆盖 DIN_WORDS 输入以确保块能完成数据传输,以便下一个块输入可以在下一个数据传输的通道 0 上 AXI4-Stream 启动。

相关信息数据输入控制 (DIN_WORDS)

LDPC 和 Turbo 解码的软值输入如下表所述,如果操作是解码,则 DIN 输入流上的信息为软值 LLR。注释: 假设用于 LDPC 解码的 LLR 输入在外部对称饱和到 6 位(对于 Turbo 解码而言不是 8 位)。如果不这样做,可能会导致性能显着下降。如需了解有关 LDPC 解码缩放的详情,请参阅归一化。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 29

Send Feedback

Page 30: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 34: 软值 LLR 输入 AXI4-Stream 从(DIN)接口定义每个 AXIS_WIDTH.DIN 设置的位宽 字段 比特 内容 范围 1 描述2 (4x) 1 (2x) 0 (1x)

512b 256b 128b llr(0) 7:0 TURBO -31.75 - 31.75 系统的 LLR、两个小数位,外部饱和到给定范围。LDPC -7.75 - 7.75 LLR、两个小数位,外部饱和到给定范围。

llr(1) 15:8 TURBO -31.75 - 31.75 奇偶校验 LLR、两个小数位。LDPC -7.75 - 7.75 LLR、两个小数位,外部饱和到给定范围。

llr(2) 23:16 TURBO -31.75 - 31.75 奇偶校验交织的 LLR、两个小数位。LDPC -7.75 - 7.75 LLR、两个小数位,外部饱和到给定范围。

llr(3) 31:24 TURBO -31.75 - 31.75 系统的 LLR、两个小数位。LDPC -7.75 - 7.75 LLR、两个小数位,外部饱和到给定范围。

llr(4) 39:32 TURBO -31.75 - 31.75 奇偶校验 LLR、两个小数位。LDPC -7.75 - 7.75 LLR、两个小数位,外部饱和到给定范围。

llr(5) 47:40 TURBO -31.75 - 31.75 奇偶校验交织的 LLR、两个小数位。LDPC -7.75 - 7.75 LLR、两个小数位,外部饱和到给定范围。

...

llr(15) 127:120

未使用 llr(16) 135:128

llr(31) 255:248

未使用 llr(32) 263:256

llr(63) 511:504

注释:1. LLR 范围取决于输入前应用于 LLR 的缩放比例。可以调整此范围以在系统内提供改进的性能,并且应将两个小数位仅视为默认

值。如需了解更多与执行 LDPC 解码时的缩放相关的信息,请参阅归一化。

相关信息归一化LDPC 解码输入的软值映射示例下表提供的示例显示了 LDPC 解码器如何将 5 位整数范围的输入映射到软值(即,没有小数位)。请注意,超出范围的输入已做饱和处理(对称地)。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 30

Send Feedback

Page 31: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 35: LDPC 解码输入的软值映射示例原始值 原始的 5 位二进制补码整数表示 DIN 值 DIN 输入 评述+15.0 01111 +7.75 00011111 符号位扩展和饱和处理

...

+8.0 01000 +7.75 00011111 符号位扩展和饱和处理+7.0 00111 +7.0 00011100 符号位扩展+6.0 00110 +6.0 00011000 符号位扩展

...

0.0 00000 0.0 00000000 符号位扩展...

-6.0 11010 -6.0 11101000 符号位扩展

-7.0 11001 -7.0 11100100 符号位扩展-8.0 11000 -7.75 11100001 符号位扩展和饱和处理(对称地)

...

-15.0 10001 -7.75 11100001 符号位扩展和饱和处理(对称地)

请注意,上表中的值假定在不进行缩放的情况下直接映射。通过将输入缩放为小于 1 的值来减少或完全避免饱和,可以实现更好的性能。应执行系统仿真以确定特定码、通道和符号映射的最佳使用输入范围。此外,调整归一化因子可能会提高性能(其中 0.75 是一个很好的起点)。如下表所示,当 LLR 输入用于 Turbo 解码时,系统的、奇偶校验和奇偶校验交织的 LLR 为 K 输入提供交织,后面跟着12 个尾位。表 36: Turbo 解码 LLR 尾位

项目 值0 Systematic LLR (0)

1 Parity LLR (0)

2 Parity Interleaved LLR (0)

... ...

3K-3 Systematic LLR (K-1)

3K-2 Parity LLR (K-1)

3K-1 Parity Interleaved LLR (K-1)

3K Systematic (K)

3K+1 Parity LLR LLR (K)

3K+2 Systematic LLR (K+1)

3K+3 Parity LLR (K+1)

3K+4 Systematic LLR (K+2)

3K+5 Parity LLR (K+2)

3K+6 Systematic Interleaved LLR (K)

3K+7 Parity Interleaved LLR (K)

3K+8 Systematic Interleaved LLR (K+1)

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 31

Send Feedback

Page 32: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 36: Turbo 解码 LLR 尾位 (续)

项目 值3K+9 Parity Interleaved LLR (K+1)

3K+10 Systematic Interleaved LLR (K+2)

3K+11 Parity Interleaved LLR (K+2)

LDPC 编码的硬输入编码时,仅硬数据为输入。该输入以字节为单位,每个周期最多传输 64 个字节,具体取决于 AXIS_WIDTH.DIN 参数的设置。表 37: 用于硬比特的 LLR 输入 AXI4-Stream 从 (DIN) 接口定义每个 AXIS_WIDTH.DIN 设置的位宽 字段 比特 描述

4x 2x 1x

512b 256b 128b hbyte(0) 7:0 要编码的位 m(7:0)

...

hbyte(15) 127:120 要编码的位 m(127:120)

未使用 hbyte(31:16) 255:128 要编码的位 m(255:128)

未使用 hbyte(63:32) 511:256 要编码的位 m(511:256)

只能提供信息位(由 K 位组成)。为了帮助集成,此接口的 TLAST 输入应使用 1 驱动,以便于最后一次传输块。此输入不用于输入的同步,但系统会检查该输入,并且可以通过中断来显示信号不一致。

数据输入控制 (DIN_WORDS)如果 DIN_WORDS 的 AXIS_WIDTH 寄存器设置为 0,则 DIN_WORDS 输入每块占用一个值,这就指定了在 DIN 输入的所有通道中传输的 LLR 值的数量(只有一个值适用于所有通道)。如果每次传输的 AXIS_WIDTH 寄存器设置为 1,则 DIN 上每个周期传输的字节数由 DIN_WORDS 来指定。为了帮助集成,此接口的 TLAST 输入应使用 1 驱动,以便于最后一次传输块。此输入不用于同步输入,但系统会检查该输入,并可以通过中断来显示信号不一致。注释: 如果 DIN_WORDS 为 0,则每个块只有一次传输,因此预计 TLAST 在此流上每次传输时都会被驱动为高电平。如果数据输入接口被设置为软输入(即正在执行解码操作),则 LLR 输入 word (DIN_WORDS) 流将指定在相应的输入通道中的 LLR 值的数量。如果 DIN 被设置为硬输入(即,正在执行 LDPC 编码操作),那么 DIN_WORDS 将指定每个周期传输的硬比特的字节数。在这两种情况下,DIN 通道中的数据字节始终位于 DIN 通道的最低有效字节中,例如,如果在通道 0 中提供两个字节的软位或硬位,则它们位为位 7:0 和 15:8。DIN_WORDS 在内部被覆盖以确保多个块不跨越 DIN 上的数据传输,而且必要时可以通过减少传输的字节来缩短最终的数据传输所需的时间。例如,如果 AXIS_WIDTH.DIN_WORDS 设置为 0,则在整个块上使用单个值,如果该块不是DIN_WORDS 值的倍数,则减少最后一次传输以匹配实际块大小。同理,如果使用了四个通道,并且通道 0 - 3 上的DIN_WORDS 分别是 8、4、2、1,而且还剩余 13 个 word,则在通道 0 和 1 上传输 8 和 4 个 word,在通道 2 上传输1 个 word、在通道 3 上传输 0 个 word。因此,即使块长度不是 DIN_WORDS 的倍数,也可以使 DIN_WORDS 在块上保持恒定。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 32

Send Feedback

Page 33: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 38: LLR 输入 AXI4-Stream 从 (DIN_WORDS) 接口定义AXIS_WIDTH.DIN_W

ORDS 设置每个 AXIS_WIDTH.DIN 设置的位宽 字段 比特 范围 描述

4x 2x 1x

0 8b 8b 8b word 数 7:0 0 - 16 din(127...0) 中输入数据的word 数

未使用 din(255...128) 中输入数据的word 数

未使用 din(383...256) 中输入数据的word 数din(511...384) 中输入数据的word 数

1 32b 16b 8b words(0) 7:0 0 - 16 din(127...0) 中输入数据的word 数

未使用 words(1) 15:8 0 - 16 din(255...128) 中输入数据的word 数

未使用 words(2) 23:16 0 - 16 din(383...256) 中输入数据的word 数

words(3) 31:24 0 - 16 din(511...384) 中输入数据的word 数

相关信息AXIS_WIDTH 寄存器 (0x0C)

数据输出 (DOUT)• DOUT 数据输出流由四个 128 位通道组成。通道数取决于 AXIS_WIDTH.DOUT 参数的设置。• 解码时,LLR 的字节或硬比特的字节通过 DOUT 行传输,具体取决于相关块的 CTRL 输入中的 hard_op 设置。编码

时,只有硬数据通过 DOUT 传输,输入 CTRL 中没有 hard_op 设置。• 块从一个或多个周期传输,从最低位的 LLR 或硬比特开始。• 每个周期在 DOUT 上传输的字节数取决于 DOUT_WORDS 输入流。如需了解有关如何使用 DOUT_WORDS 的详情,请参见 LLR 输出 word (DOUT_WORDS) 。

• 数据字节在每个 DOUT 通道的最低有效字节中传输。例如,如果 DOUT_WORDS 指定在通道 0 中传输两个字节,则这些字节在 llr(0) 和 llr(1) (位 7:0 和位 15:8)。

• 每次传输只能包含一个区块;一个块必须在下一个块开始之前完成。对于多通道传输,这可能需要最终传输将一个或多个较高通道尺寸设置为零或将一个通道的值减小。核在输出内部强制执行此操作,以便块在下一个数据传输的通道 0 上 AXI4-Stream 启动。

相关信息数据输出控制 (DOUT_WORDS)

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 33

Send Feedback

Page 34: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

LDPC 和 Turbo 解码的软输出表 39: LLR 输出 AXI4-Stream 主 (DOUT) 的 TDATA 接口定义每个 AXIS_WIDTH.DOUT 设置的位宽 字段 比特 内容 范围 描述2 (4x) 1 (2x) 0 (1x)

512b 256b 128b llr(0) 7:0 TURBO -31.75 - 31.75 系统的 LLR、两个小数位LDPC -31.75 - 31.75 LLR、两个小数位

llr(1) 15:8 TURBO -31.75 - 31.75 奇偶校验 LLR、两个小数位LDPC -31.75 - 31.75 LLR、两个小数位

llr(2) 23:16 TURBO -31.75 - 31.75 奇偶校验交织的 LLR、两个小数位LDPC -31.75 - 31.75 LLR、两个小数位

...

llr(15) 127:120

未使用 llr(16) 135:128

llr(31) 255:248

未使用 llr(32) 263:256

llr(63) 511:504

LDPC 和 Turbo 解码和 LDPC 编码的硬输出当 hard_op 位为 1 时,则仅输出硬比特。如下表所示,这是以字节为单位提供的,每个周期最多传输 64 个字节,具体取决于 AXIS_WIDTH.DOUT 参数的设置。表 40: 针对硬件位设置 LLR 输出 AXI4-Stream 从 (DOUT) 接口定义

每个 AXIS_WIDTH.DOUT 设置的位宽 字段 比特 描述4x 2x 1x

512b 256b 128b hbyte(0) 7:0 比特 m(7:0)

...

hbyte(15) 127:120 比特 m(127:120)

未使用 hbyte(31:16) 255:128 比特 m(255:128)

未使用 hbyte(63:32) 511:256 比特 m(511:256)

数据输出控制 (DOUT_WORDS)如果 DOUT_WORDS 的 AXIS_WIDTH 参数设置为 0,则 DOUT_WORDS 输入每块占用一个值,这就指定了 DOUT 的所有道中传输的 LLR 值的数量。如果 DOUT_WORDS 字段的 AXIS_WIDTH 参数设置为 1,DOUT 上每个周期传输的字节数则由 DOUT_WORDS 在逐个传输的基础上指定。为了方便集成,此接口的 TLAST 输入应在最后一次块传输时使用 1 驱动。此输入不用于同步输出,但系统会检查此输入,并可以通过中断来显示信号不一致。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 34

Send Feedback

Page 35: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

注释: 如果 DOUT_WORDS 为 0,则每个块只有一次传输,因此预计 TLAST 在此流上的每次传输时都会被驱动为高电平。如果数据接口设置来用于软输出(即,正在执行解码操作并且 hard_op 为 0),则 DOUT_WORDS 流将指定相应通道输出中的 LLR 值的数量。如果 DOUT 是针对硬输出设置的,则 DOUT_WORDS 指定每个周期传输的硬输出的字节数(只能指定 8 位的倍数)。在这两种情况下,DOUT 通道中的数据 word 始终位于 DOUT 通道最低位的有效字节中,例如,如果在通道 0 中提供两个word,则它们在位 7:0 和 15:8 中。DOUT_WORDS 在内部被覆盖以确保多个块不跨越 DOUT 上的数据传输(必要时最终数据传输的时间会被缩短,与对数据输入控制 AXI4-Stream 从中的 DIN_WORDS 描述一样 (DIN_WORDS))。因此,可以 DOUT_WORDS 在块上保持恒定(即使块长度不是 DOUT_WORDS 的倍数)。如果在 AXIS_WIDTH.DOUT_WORDS = 1 和混合块长度的情况下无序运行,则 STATUS 输出可用于确定输出数量,以设置 TLAST (如果使用)。如果在逐块的基础上更改 DOUT_WORDS,则 STATUS 输出也可用于设置DOUT_WORDS。如果未使用 TLAST,则可以在此接口上屏蔽 TLAST 中断,以避免不必要的中断(请参阅中断掩码寄存器)。表 41: LLR 输出 word AXI4-Stream 从 (DOUT_WORDS) 接口定义

AXIS_WIDTH。DOUT_WORDS 设置

每个 AXIS_WIDTH.DOUT 设置的位宽 字段 比特 范围 描述4x 2x 1x

0 8b 8b 8b word 数 7:0 0 - 16 dout(127...0) 中输出数据的word 数

未使用 dout(255...128) 中输出数据的 word 数未使用 dout(383...256) 中输出数据的 word 数

dout(511...384) 中输出数据的 word 数1 32b 16b 8b words(0) 7:0 0 - 16 dout(127...0) 中输出数据的

word 数未使用 words(1) 15:8 0 - 16 dout(255...128) 中输出数据的 word 数

未使用 words(2) 23:16 0 - 16 dout(383...256) 中输出数据的 word 数words(3) 31:24 0 - 16 dout(511...384) 中输出数据的 word 数

相关信息数据输入控制 (DIN_WORDS)中断掩码寄存器 (IMR) (0x28)

控制输入 (CTRL)

LDPC 解码的 5G NR 控制接口定义当支持 5G NR 标准时,控制数据接口为 40 位,下表中显示的字段用于 LDPC 解码。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 35

Send Feedback

Page 36: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 42: LDPC 解码的 5G NR 控制接口定义字段 比特 范围 描述

max_schedule 39:38 0 - 3 如果解码器阶段中现有的块少于 max_schedule 的块,且有足够的内存,则仅以层交织的方式对块进行解码。如果设置为 0,则调度的块数由内部算法来确定,该算法旨在最大化吞吐量,同时最小化交织的块数。

mb 37:32 4 - 46 奇偶校验位的位数是 Z (Z*mb) 的倍数,用来控制码率。id 31:24 0 - 255 要传递到状态输出的外部块标识符max_iterations 23:18 1 - 63 最大迭代次数term_on_no_change 17 0 - 1 0:如果迭代之间的整个块(信息和奇偶校验)的硬比特没有变化,则不提前终止。

1:如果迭代之间的整个块(信息和奇偶校验)的硬比特没有变化,则提前终止。term_on_pass 16 0 - 1 0:通过奇偶校验检查不提前终止

1:因通过奇偶校验检查而提前终止include_parity_op 15 0 - 1 0:仅输出的系统值

1:输出的系统值和奇偶校验hard_op 14 0 - 1 0:软输出 1:硬输出

13 - 保留sc_idx 12:9 0 - 15 要用于块的归一化值。bg 8:6 0 - 4 Base graph

z_set 5:3 0 - 7 Base graph cyclic shift set

z_j 2:0 0 - 7 Lifting factor (Z) j component1

注释:1. Lifting factor 由 Z = a * 2z_j 给出,其中 a 在 Lifting Factor Component (a) 中定义。

相关信息Base Graph (bg)Lifting Factor Component (a)

Base Graph (bg)

表 43: Base Graph (bg) 定义bg 描述 Kb 支持 mb 支持 Z

0 Base Graph 1 22 4≤mb≤46 2≤Z≤384

1 Base graph 2 with number of information bitcolumns

10 4≤mb≤42 2≤Z≤384

2 Base graph 2 with number of information bitcolumns

9 4≤mb≤42 2≤Z≤128

3 Base graph 2 with number of information bitcolumns

8 4≤mb≤42 2≤Z≤128

4 Base graph 2 with number of information bitcolumns

6 4≤mb≤42 2≤Z≤128

注释:1. 给定范围外的 Kb、mb 和 Z 值为非法值,如果在 5G 模式下应用到核,则行为未定义。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 36

Send Feedback

Page 37: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

Lifting Factor Component (a)

表 44: Lifting Factor Component (a) 定义z_set (=Set Index iLS)1 a

0 2

1 3

2 5

3 7

4 9

5 11

6 13

7 15

注释:1. 如 5G 新无线电标准中所定义。

LDPC 编码的非 5G NR 状态接口定义当支持 5G NR 标准时,控制数据接口为 40 位,下表中显示的字段用于 LDPC 编码。表 45: LDPC 编码的非 5G NR 状态接口定义

字段 比特 范围 描述max_schedule 39:38 0 - 3 如果编码器阶段中现有的块少于 max_schedule 的块,且有足够的内存,则仅以层交织的方式对块进行编码。

如果设置为 0,则隔行扫描的最大块数为 4(但前提是要有足够的内存)。mb 37:32 4 - 46 作为 Z (Z*mb) 的倍数的奇偶校验位的位数,用以控制码率。id 31:24 0 - 255 要传递到状态输出的外部块标识符。

23:9 - 保留bg 8:6 0 - 4 Base graph

z_set 5:3 0 - 7 Base graph cyclic shift set

z_j 2:0 0 - 7 Lifting factor (Z) j component

相关信息Base Graph (bg)Lifting Factor Component (a)

针对 LDPC 解码的非 5G NR 控制接口定义当支持的标准不是 5G NR 时,控制数据接口为 32 位,下表中显示的字段用于 LDPC 解码。表 46: 针对 LDPC 解码的非 5G NR 控制接口定义

字段 比特 范围 描述id 31:24 0 - 255 要传递到状态输出的外部块标识符

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 37

Send Feedback

Page 38: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 46: 针对 LDPC 解码的非 5G NR 控制接口定义 (续)

字段 比特 范围 描述max_iterations 23:18 1 - 63 最大迭代次数term_on_no_change 17 0、1 0:如果迭代之间的整个块(信息和奇偶校验)的硬比特没有变化,则不提前终止

1:如果迭代之间的整个块(信息和奇偶校验)的硬比特没有变化,则提前终止term_on_pass 16 0、1 0:通过奇偶校验检查不提前终止

1:因通过奇偶校验检查而提前终止include_parity_op 15 0 - 1 0:仅输出的系统值

1:输出的系统值和奇偶校验hard_op 14 0 - 1 1:软输出

1:硬输出- 13:7 - 保留code 6:0 0 - 127 码号 (CODE) 用于指定要在块上使用哪组 LDPC 码参数

LDPC 编码的非 5G NR 控制接口定义当支持的标准不是 5G NR 时,控制数据接口为 32 位,下表中显示的字段用于 LDPC 编码。表 47: LDPC 编码的非 5G NR 控制接口定义

字段 比特 范围 描述id 31:24 0 - 255 要传递到状态输出的外部块标识符

23:7 - 保留code 6:0 0 - 127 码号 (CODE) 用于指定要在块上使用哪组 LDPC 码参数

Turbo 解码的控制接口定义表 48: Turbo 解码的控制接口定义

字段 比特 范围 描述id 31:24 0 - 255 要传递到状态输出的外部块标识符max_iterations 23:18 1 - 63 最大迭代次数term_on_no_change 17 0、1 0:如果迭代之间的块的硬系统位没有变化,则不提前终止

1:如果迭代之间的硬系统位没有变化,则提前终止term_on_pass 16 0、1 0:如果 CRC 通过,不提前终止

1:如果 CRC 通过,则提前终止include_parity_op 15 0 - 1 0:仅输出的系统值

1:输出的系统值和奇偶校验hard_op 14 0 - 1 1:软输出

1:硬输出crc_type 13 0 - 1 0:CRC24B

1:CRC24A这些类型的 CRC 定义于 3GPP TS 38.212 V15.0.0 多路复用和信道编码中

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 38

Send Feedback

Page 39: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 48: Turbo 解码的控制接口定义 (续)

字段 比特 范围 描述code_block_size 12:0 40 - 6144 Turbo 码块大小 (K);编码块大小 N=3*K+12

状态输出 (STATUS)

LDPC 解码的非 5G NR 状态接口定义当支持 5G NR 标准时,状态数据接口为 40 位,下表中显示的字段用于 LDPC 解码。表 49: LDPC 解码的非 5G NR 状态接口定义

字段 比特 范围 描述39:38 - 保留

mb 37:32 4 - 46 作为 Z (Z*mb) 的倍数的奇偶校验位的位数,用以控制码率。id 31:24 0 - 255 通过控制输入提供外部块标识符dec_iter 23:18 1 - 63 解码输出(成功或失败)所需的迭代次数term_no_change 17 0 - 1 0:因迭代之间整个块(信息和奇偶校验)的硬比特没有变化而没有提前终止。

1:因迭代之间整个块(信息和奇偶校验)的硬比特没有变化而提前终止了。term_pass 16 0 - 1 0:因通过奇偶校验检查而未终止

1:因通过奇偶校验检查而提前终止pass 15 0 - 1 0:未通过奇偶校验

1:通过了奇偶校验hard_op 14 0 - 1 1:软输出

1:硬输出op 13 0 解码操作(固定值)

12:9 - 保留bg 8:6 0 - 4 Base graph

z_set 5:3 0 - 7 Base graph cyclic shift set

z_j 2:0 0 - 7 Lifting factor (Z) j component1

注释:1. Lifting Factor 由 Z = a * 2z_j 给出,其中 a 在 Lifting Factor Component (a) 中定义。

相关信息Base Graph (bg)Lifting Factor Component (a)

LDPC 编码的 5G NR 状态接口定义当支持的标准是 5G NR 时,状态数据接口为 40 位,下表中显示的字段用于 LDPC 编码。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 39

Send Feedback

Page 40: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 50: LDPC 编码的 5G NR 状态接口定义字段 比特 范围 描述

39:38 - 保留mb 37:32 4 - 46 奇偶校验位的位数是 Z (Z*mb) 的倍数,用来控制码率。id 31:24 0 - 255 通过输入提供外部块标识符

23:15 - 保留hard_op 14 1 硬输出(固定值)op 13 1 编码操作(固定值)

12:9 - 保留bg 8:6 0 - 4 Base graph

z_set 5:3 0 - 7 Base graph cyclic shift set

z_j 2:0 0 - 7 Lifting factor (Z) j component

相关信息Base Graph (bg)Lifting Factor Component (a)

LDPC 解码的非 5G NR 状态接口定义当支持的标准不是 5G NR 时,状态数据接口为 32 位,下表中显示的字段用于 LDPC 解码。表 51: LDPC 解码的非 5G NR 状态接口定义

字段 比特 范围 描述id 31:24 0 - 255 通过控制输入提供外部块标识符。dec_iter 23:18 1 - 63 解码输出(成功或失败)所需的迭代次数term_no_change 17 0 - 1 0:因迭代之间整个块(信息和奇偶校验)的硬比特没有变化而没有提前终止。

1:因迭代之间整个块(信息和奇偶校验)的硬比特没有变化而提前终止了。term_pass 16 0 - 1 0:沒有因通过奇偶校验检查而终止。

1:因通过奇偶校验检查而提前终止。pass 15 0 - 1 0:未通过奇偶校验。

1:通过了奇偶校验。hard_op 14 0 - 1 1:软输出

1:硬输出op 13 0 解码操作(固定值)

12:7 - 保留code 6:0 0 - 127 码号 (CODE),指定用于对块进行解码的 LDPC 码参数

LDPC 编码的非 5G NR 状态接口定义当支持的标准不是 5G NR 时,状态数据接口为 32 位,下表中显示的字段用于 LDPC 编码。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 40

Send Feedback

Page 41: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 52: LDPC 编码的非 5G NR 状态接口定义字段 比特 范围 描述

id 31:24 0 - 255 通过控制输入提供外部块标识符。23:15 - 保留

hard_op 14 1 硬输出(固定值)。op 13 1 编码操作(固定值)。

12:7 - 保留code 6:0 0 - 127 码号 (CODE),指定用于对块进行编码的 LDPC 码参数。

Turbo 解码的状态接口定义表 53: Turbo 解码的状态接口定义

字段 比特 范围 描述id 31:24 0 - 255 通过控制输入提供外部块标识符。dec_iter 23:18 1 - 63 解码输出(成功或失败)所需的迭代次数。term_no_change 17 0 - 1 0:没有因迭代之间整个块(信息和奇偶校验)的硬系统位未变化而提前终止。

1:因迭代之间整个块(信息和奇偶校验)的硬比特未变化而提前终止。term_pass 16 0 - 1 0:没有因通过 CRC 校验而提前终止。

1:因通过 CRC 校验而提前终止。pass 15 0 - 1 0:未通过 CRC 校验。

1:通过了 CRC 校验。hard_op 14 0 - 1 0:软输出。

1:硬输出。crc_type 13 0 - 1 0:码块

1:传输块code_block_size 12:0 40 - 6144 Turbo 码块的大小 (K)。编码块大小 N=3*K+12。

第 3 章: 产品规格

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 41

Send Feedback

Page 42: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

第 4 章

用核设计本章包括有助于用核进行设计的指南和其他信息。

时钟SD-FEC Integrated Block 从单独的时钟运行到可编程逻辑 (PL),允许核以更高的频率运行。每个接口都有自己的时钟和时钟域交汇电路,以便通过接口传输数据。某些接口还具有宽度转换功能,以允许以较低的接口时钟频率来维持数据带宽。请查阅 《Zynq UltraScale+ RFSoC 数据手册:简介》 (DS889) 以了解核和接口时钟的最大频率。可以使用较低的频率。如果吞吐量和时延受到核内部处理的限制(而不是受到输入/输出的限制),则吞吐量与核时钟频率成比例。因此,如果核时钟速率降低超过最大值,则吞吐量成比例减少,而相对于可实现的最大值,时延会增加。例如,如果使用 650MHz 时钟而不是 667 MHz 时钟,那么频率为 650 MHz 时的吞吐量相对于频率为 667 MHz 时的峰值是峰值吞吐量的650/667 = 0.975 倍。因此,如果频率为 667 MHz 时的峰值吞吐量为 1 Gb/s,那么频率为 650 MHz 时的吞吐量为0.975 Gb/s。

复位单个低电平有效复位信号,reset_n,用于对核及其接口进行复位。复位是异步的,内部同步器可确保在每个时钟域中同步释放复位。上电启动后需要进行复位。复位操作将导致核参数和 Turbo 核参数寄存器获取其复位值(LDPC 和共享 LDPC 码参数未定义)。未完成的块被丢弃,核状态会变为非活动状态,而接口同步会进入禁用状态(AXIS_ENABLE 为零)。核从复位状态出来后,AXI4-Stream 接口是禁用的,允许在操作开始之前更改接口宽度并在 AXI4-Lite 接口上写入码参数。最后的写入可以使接口开始操作。

相关信息核参数Turbo 码参数寄存器 (0x100)

中断单个中断输出信号表示一些错误条件。这些条件是由中断和 ECC 中断寄存器来定义的。错误条件包括:• 主接口上缺少 tlast:这是在与块有关的最后一次传输中未声明 tlast 输入的地方。

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 42

Send Feedback

Page 43: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

• tlast 意外:这出现在 tlast 输入被意外置位的情况下(块中的最后一次传输除外)。这些条件在 AXI4-Stream 接口部分做了进一步描述。如果发生这些错误,则必须对 SD-FEC 核和连接电路进行复位以重新同步块传输。对 SD-FEC 核进行复位会导致核参数寄存器被复位(包括禁用接口),并且必须重新加载这些寄存器(同时会产生少量周期)。

• 当通过 AXI4-Lite 接口读取 word 时,在 ECC 保护下的存储器中会检测到错误,或者,当 LDPC 解码器处于活动状态时,LDPC 解码器会检测到错误。标记可校正的单比特错误和不可纠正的双比特错误(后者可能还包括存在两个以上错误的情况,但仅保证能检测到双比特错误)。

相关信息AXI4-Stream 接口

中断响应摘要下表中对潜在的中断响应进行了总结。表 54: 错误检测/更正和报告

模式PL 初始化逻辑 SD-FEC

ECC 1-位(如果启用) ECC 2-位 ECC 1-位(如果启用) ECC 2-位 Tlast 错误初始化保留 I/F(LDPC 码初始化且AXI4-Lite 接口存在) 检查 ECC ISR,位 22 - 29 - 忽略或重新配置 PL

检查 ECC ISR,位 26 - 29 - 重新配置 PL

检查 ECC ISR,位 0 - 21 - 忽略或复位检查 ECC ISR,位 11 - 21 - 复位 检查 ISR - 复位

初始化 (LDPC 码初始化且 AXI4-Lite 接口不存在) 重新配置 PL 重新配置 PL 重新配置 PL 重新配置 PL 重新配置 PL

运行时间已设置(LDPC 码未初始化且 AXI4-Lite 接口存在) 不适用 不适用 检查 ECC ISR,位 0 - 21 - 非活动时忽略或重新编码

检查 ECC ISR 位11 - 21 - 复位并重新编码

检查 ISR - 复位并重新编码

接口 FIFOSD-FEC Integrated Block 集成块上的所有接口都具有时钟域交汇 (CDC) FIFO。下表中给出了 FIFO 深度。虽然内核强制执行 DIN/DOUT_WORDS 依赖性,但 FIFO 仍可以被填充,这样在因 DIN_WORDS 上缺乏传输而被阻止之前,仍有一些传输能到达 DIN (这些传输的个数最多可以等于 FIFO 的深度)。特别应该注意的是,如果由于某种原因接口被禁用,FIFO 中的数据仍会被处理。表 55: 接口 CDC FIFO 的深度

通道 FIFO 深度(用于给定的接口宽度设置)1 个通道 2 个通道 4 个通道

DIN、DIN_WORDS、DOUT、DOUT_WORDS

25 个传输 13 个传输 7 个传输

CTRL、STATUS 在 5G 模式下传输 13 次,否则传输 6 次

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 43

Send Feedback

Page 44: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

接口依赖性每个块在多个周期内通过数据输入接口 (DIN) 输入。每个周期传输的数据量由单个数据流 (DIN_WORDS) 来设置,系统会在 DIN 上为每个数据传输指定一个值。如果不需要对此进行更改,则可以选择在 Vivado® IDE 中将其锁定。输出在DOUT 输出流上以类似的方式生成,同理,传输的数据量在输入数据流 DOUT_WORDS 上指定。如果 word 数是固定的,则核可选支持逻辑会将此输入锁定。对于每个数据块,控件 (CTRL) 输入流上都需要单个输入,指定出特定于块的关键参数(例如块大小)。每个数据块需要一个控制 word (数据传输),数据输入会停止,直到相关控制 word 可用。当已解码(或在 LDPC 的情况下编码)时,输出数据在 DOUT,状态 word 在 (STATUS) 接口上同时提供。所有 AXI4-Stream 接口都包含 valid 和 ready 的握手,从而可以对流量进行控制。阻止任一输出(通过拉低ready)最终会停止解码,而且当输入缓存已满时,系统会阻止进一步输入。下图对 SD-FEC 核的数据依赖性进行总结。这表明 DIN 上的数据输入取决于 CTRL 和 DIN_WORDS,而 DOUT 上的输出取决于 DOUT_WORDS。但请注意,在CTRL 的输入与 DIN_WORDS 的相关输入及正被接受的 DIN 输入之间存在时延(以周期为单位)。时延取决于 SD-FEC核运行的模式。在 5G 模式下,如果尚未下载代码,“Download Latency”表中会显示时钟周期时延。这些时钟周期是由支持逻辑用来生成码参数并将其下载到 SD-FEC 核的内部存储器所需的时间;但是,如果码参数已经驻留在 SD-FEC 核中,则周期数很少,确切的周期数会因 s_axi_aclk 和 s_axis_ctrl_aclk 之间的时钟速度的差异而变化。在其他模式中,当要从外部下载码参数时,在代码下载完成后应用 CTRL。在这些模式下,CTRL 与相关 DIN/DIN_WORDS 之间的时延仅为少量的几个循环周期。同样,DIN_WORDS 和 DIN 之间会出现少量的时延 周期。如果要使 DIN 上的时延最小化,则应提前提供 CTRL 和DIN_WORDS 的输入。同样,在输出上,应尽快驱动 DOUT_WORDS (如果需要)以避免 DOUT 上的任何时延。此外,如下图所示,接口上有浅缓存,允许在 DIN 和 DOUT_WORDS 上输入少量数据(需在 CTRL 上提供相关的块控制之前)。在核可用之前,SD-FEC 核不会处理此数据。这些缓存器的另一个含义是 DIN 输入可以在应用 CTRL 和DIN_WORDS 的同时启动。使用 SD-FEC 核时,一种最大化吞吐量的简单方法是在 AXI4-Stream 接口握手允许的情况下尽快给出所有输入,并在准备就绪后立即接受输出。或者,如果要控制吞吐量,那么只有 CTRL 输入可以被调节到正确的数据块吞吐率,而其他接口如前所述地进行操作 - 也就是说,它们由 SD-FEC 核本身来进行调节。

图 2: SD-FEC 核接口依赖性概述

CTRL

DIN

DIN_WORDS

STATUS

DOUT

DOUT_WORDS

DIN input is dependent on availability of CTRL and DIN_WORDS

DOUT output is dependent on internal decoder output and DOUT_WORDS

STATUS is dependent on internal decoder output, (and might be delayed by output parity check for large blocks)

Time

Decoder/encoderLatency

First-in-to-first-out latency

X17337-110218

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 44

Send Feedback

Page 45: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

相关信息Download Latency

参数管理由于 SD-FEC 核支持各种各样的模式,应谨慎管理参数。对于 5G NR 和初始化的非 5G 而言,支持逻辑将控制共享的LDPC 码参数;因此,在任何情况下,这些参数都不得从提供的 AXI4-Lite 接口写入。对于 5G NR,支持逻辑还假定AXI_WR_PROTECT 和 CODE_WR_PROTECT 寄存器是可写入的,并且在 AXI_ENABLE 寄存器中启用了 CTRL 和STATUS 接口。如果在第一个 CTRL 数据后禁用了接口,则行为是不可预测的。所有其他接口都是在复位后禁用的,并应在使用核之前启用。在所有其他模式中,所有 SD-FEC 核接口复位均被禁用。这允许在启用接口之前设置参数(例如 LDPC 码)。然后可以启用 WR_PROTECT 以防止在操作期间更改寄存器。如果在操作期间需要更改代码,建议通过外部电路来防止更改正在使用的代码,因为在这种情况下核的行为是不确定的。也可以通过禁用 CTRL 接口和监视 ACTIVE 寄存器来停止解码器的操作。然后可以更改代码而不会有任何使用风险。代码下载完成后,就可以重新启用 CTRL 接口了。重要提示! 不应更新使用中的代码。如果修改了使用中的代码,结果将无法预料。

LDCP 码支持LDPC 码简介LDPC 码可通过 AXI4-Lite 接口进行编程。系统支持一类准循环 (QC) 码。下图详细说明了码参数化,而下表对其灵活性进行了总结。

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 45

Send Feedback

Page 46: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

图 3: LDPC 准循环 (QC) 码结构

00000010

00000001

10000000

01000000

00100000

00010000

00001000

00000100

0

111

1

1

11

1

1

11

1

11

1

1

1

1

11

1

1

1

1

1

111

11

11

111

1

11

11

1

11

11

11

1

111

1

1

1

1

1

1

11

1

1

InformationK/P

Parity(N-K)/P

N/P

Sub-Matrix:

Rotation

One or more superimposed identity

matrices (circulant weight W)

P = size of sub-matrix

Layers

1's in column of H matrix = variable node degree for column* (for example, dv=4).

1's in row of H matrix check node degree for layer*(for example, dc = 9).

Code base matrix:

X17333-120518

检查节点度 (DC) 和变量节点度 (DV) 分别是 H 矩阵的每行和每列中 1 的数量计数。对于相应的基础矩阵,如果子矩阵的循环权重大于 1,则 DC 和 DV 分别是层或列中的循环总数的计数。表 56: LDPC 码的灵活性

参数 范围 评述码数 128 个代码 可编程(与允许更新运行时代码的操作同时进行)。与循环 (QC) 相关的代码基本矩阵定义 所有代码共有 8,192 个条目 任意分配代码。可用于 32 个代码,

P=128,N=8,192 且 DV=4 (每个代码的条目=DV*N/P=256)。检查节点度,DC 2 ≤ DC ≤ 128 每层代码均可编程。变量节点度,DV 1 ≤ DV 每个代码(间接设置)均可编程。层数,NLAYERS 1 ≤ NLAYERS ≤ 256 每个代码均可编程。子矩阵大小,P 2 ≤ P ≤ 512 每个代码均可编程。循环权重,W W ≤ 4 每个子矩阵均可编程。

当 W> 1 或配置为编码器时,Vivado® IDE对代码施加进一步的约束。码字长度,N1 4 ≤ N ≤ 32768、N ≤ 256 × P 且 N>K 每个代码可编程,P 的整数倍。奇偶长度,N-K 2 ≤ N-K ≤ 327661 且 N-K ≤ 256 × P 每个代码可编程,P 的整数倍(范围源于最小值 (P) 和最大值 (N) - 最小值 (P))。注释:1. 当 P 不是 128 的整数倍和其他参数组合时(例如,当 W> 1 时),可以进一步限制码字长度 N 和奇偶校验比特数 N-K。

Vivado IDE 应该用来检查代码是否受支持。

底层硬件可以在一个时钟周期内处理每个循环的 128 个元素。因此,当 P>128,每个循环都是在 MV = ceil (P/128) 个周期内处理的 (MV=1、2、3 或 4)。当 P≤64 时,受到与代码相关的存储器访问冲突的影响,底层硬件可以在一个周期内处理多个循环。代码限制(特别是最大值 DC)取决于打包操作。Vivado 集成设计环境 (IDE) 会尽可能地自动执行打包,并检查定制代码定义的合法性。SD-FEC C 模型也这样做。

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 46

Send Feedback

Page 47: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

重要提示! 建议在任何代码设计进程中尽早执行这些检查。

内部内存限制会有以下限制:• DC × MV ≤ 256

• NLAYERS × MV ≤ 256

• sum(DC) × MV ≤ 1024 (用于解码)• sum(DC) ≤ 2044 (用于编码)• (N ⁄ PSIZE) × MV ≤ 256 (用于编码)使用归一化的最小和算法,并且可以使用 LDPC 码定义文件来指定应用于每个层的归一化因子及其他码参数。

相关信息自定义和生成核LDPC 码定义文件LDPC 解码器支持 (当 W> 1 时)LDPC 编码

LDPC 解码LDPC 解码器支持 (当 W> 1 时)当 W> 1 时,仅对 P 值 ≤128 的代码提供解码器支持。当有任何代码涉及 W> 1 时,可以用它调度的所有代码都会被限制为 DC/PF×MV ≤ 64(无论它们是否使用 W> 1)。PF 是 PSIZE < 128 时使用的填充因子(在这种情况下 MV 始终为 1)。PF 是每个周期执行的子矩阵的数量,可以取值1、2 或 4,具体取决于 PSIZE。因此,如果 NO_PACKING 不会禁用它,DC 的限制变为:PSIZE ≤ 32 允许 PF=4,且 DC ≤ 256

PSIZE ≤ 64 允许 PF=2,且 DC ≤ 128

PSIZE ≤ 128 允许 PF=1,且 DCxMV ≤ 64

使用打包时,DC 必须兼容任何所需的填充。当 W> 1 时,代码的存储器占用量根据循环的数量而增加。这就会减少可以支持的块大小 N。例如,如果 PSIZE =128,且代码在三个子矩阵中有两个循环,则有效块大小会变为 N + 3*128。Vivado® IDE 和 C 模型都会为特定代码生成必要的操作序列,并确保满足这些约束条件。应在设计进程的早期对此进行检查,以确保支持此代码。

相关信息C 模型

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 47

Send Feedback

Page 48: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

归一化LDPC 解码器实现归一化的最小和算法,其中每个层对软输出的贡献是通过比例因子对数据进行归一化的。在 5G 模式下,可以在 CTRL 的 sc_idx 字段上为每个块指定归一化因子。在非 5G NR 模式下,可以使用 SC_TABLE 寄存器为每个代码层指定比例因子。默认比例因子 0.75 是由 Vivado® IDE 来设置的;但最佳比例因子取决于 LDPC 码,这应该建立在系统的上下文中。这对于具有高变量节点度的低速率代码而言尤其重要。假设 LLR 输入已经对称饱和到 6 位,如“Soft Value Input”表(链接在下方)中所总结的那样。如果不这样做,可能会导致性能显着下降。在该表中,还建议将 LLR 缩放为两个小数位。但是,LLR 缩放对性能至关重要,应在系统环境中进行调整,以实现最佳性能。

相关信息SC_TABLE 寄存器 (0x10000-0x103FC)LDPC 和 Turbo 解码的软值输入

输出奇偶校验 (OPC)解码器实现在线奇偶校验,以允许提前终止(如果启用)。Vivado® IDE 中还有一个选项(即包括输出奇偶校验),用于实现与解码器分开的最终奇偶校验块。在 Vivado IDE 启用时,这将确定在最后一次迭代时产生的输出是否在提前终止未发生或未启用时通过奇偶校验(否则该值是由前一次迭代的在线电路计算的值)。在可能的情况下,检查与 DOUT上的数据输出并行执行,否则,在更新的通过标志出现之前,只有被延迟的状态输出。此操作需要的时间与解码器的一次迭代所需的时间相似。OPC 仅支持基本矩阵条目的总数(包括打包时所有起填充作用的数字 (sum(packed(DC))) 在内)小于或等于 1024 的码;如果指定了不支持的码,那么核会自动禁用 OPC。Vivado IDE 也报告了这种情况。如果涉及到大的块,它还可以降低峰值吞吐量(尽管当较小的块与较大的块混合时,该量也可能会有所减轻)。。此外,对于每次迭代具有大量循环的代码,可以减少交织的最大块数,从而增加停止周期并降低吞吐量。打包可以增加有效循环的次数。为了避免吞吐量减少,可以通过将 NO_FINAL_PARITY_CHECK 设置为 1 来关闭最终奇偶校验。如果通过 CRC 来确定信息位是否正确,则最终奇偶校验的取值范围很有限,而且不需要最终奇偶校验。请注意,在禁用最终奇偶校验时,仍然可以通过传递奇偶校验执行提前终止。如果采用的是 5G NR 标准,OPC 会被禁用,这是因为信息位是否正确是通过对解码器输出进行 CRC 校验来确定的(奇偶校验通道仍可用于提前终止)。

LDPC 编码LDPC 编码是通过奇偶校验矩阵来执行的。编码器支持具有下三角奇偶校验部分的矩阵(其中对角线的循环权重为1)。它还支持一组具有 WiFi 码 (《IEEE Standard for Information technology - Local and Metropolitan area NetworkStandards》 (IEEE Std 802.11))所采用的双对角线的约束矩阵,和由 5G 无线采用的双对角线奇偶校验(后跟单个对角线)的混合矩阵 (《3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR;Multiplexing and channel coding (Release 15)》 (3GPP Std TS 38.212 V15.0.0))。下图中显示的是支持的矩阵示例。深灰色的基本矩阵元素包含单个循环且具有零旋转值。矩阵的图案化区域可以在每个子矩阵中包含多个循环和任意旋转值。

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 48

Send Feedback

Page 49: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

图 4: 具有单对角线的奇偶校验矩阵

X19562-120618

图 5: 具有双对角线的奇偶校验矩阵

X19563-120618

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 49

Send Feedback

Page 50: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

图 6: 奇偶校验矩阵(5G 无线图 1)

0

1 0

00

0

0

0

0

0

1

X19564-120618

如图 1 所示,下三角矩阵的第一层包含第一奇偶校验列中的单个循环,每个新层仅向相邻列中的矩阵的奇偶校验部分添加一个新的循环。其他循环可以包含在该层的信息和奇偶校验部分,但必须位于新的奇偶循环的左侧。对于这样的矩阵,可以通过从第一层到最后一层逐层进行处理来计算奇偶校验,从而求解单个未知奇偶校验列的奇偶校验方程。如图 2 所示,当矩阵是双对角线时,第一层在前两个奇偶校验列中包含两个奇偶校验循环,后面的层包含另外两个奇偶校验循环(向右偏移 1)。对于这样的矩阵,第一层中有两个未知的奇偶校验列,并且不可能直接求解。然而,在很多情况下,可以通过添加行来将双对角矩阵变换为单个对角矩阵的方法来消除额外的奇偶校验列。例如,将第二个数字的最后一行添加到倒数第二行会导致取消倒数第二行中最右侧的不需要的循环。然后,可以将得到的倒数第二行添加到倒数第三行,以取消不需要的最右侧的循环,并且同样该过程重复行,以最终获得第一个数字的矩阵。然后,该矩阵即适合于编码了。该方法的主要缺点在于,当行组合有不同的旋转且因此不取消时,它可能导致信息部分中和奇偶校验部分的三角形部分下的附加操作。虽然上述方法更普遍适用,但对于一些双对角矩阵而言,则可能会实现操作步骤较少的矩阵。这就利用了矩阵的如下属性:奇偶校验矩阵中所有层的总和给出了仅包含第一个奇偶校验列的校验方程。也就是说,当校验矩阵的奇偶校验部分的每列中的所有循环被求和时,对于除了第一行(在这里它是单个循环)之外的所有循环,其总和为 0。这个新的校验方程可以用来求解第一个奇偶校验位,以及现有的校验方程(奇偶校验矩阵的层),为剩余的奇偶校验位提供解决方案。例如,图 3 显示的是 5G 无线图 1 奇偶校验矩阵的一部分。仅详细示出了奇偶校验部分。值得一提的是,循环旋转在子矩阵中显示为数字。前四个层可以相加以提供第一个奇偶校验位的等式。也就是说,奇偶校验列的总和包括三个循环的、对 2 取模的加法,其中包括旋转 1、0 和 1。旋转 1 的两个循环会取消,留下旋转 0 的循环。其他列包含两个旋转0 的循环,同样,它们会取消,只留下第一个奇偶校验列中的循环。图 3 还显示了双对角矩阵和对角矩阵的混合矩阵。在导出第一个奇偶校验列后,可以计算剩余的奇偶校验,因为每个新的层仅添加一个新的奇偶校验列。具有所描述属性的双对角矩阵由 Vivado® IDE 直接支持。在实现的重用层产品的解决方案中应用了进一步的最优化,因此,除了奇偶校验矩阵之外的额外操作相对较少。

LDPC 峰值吞吐量注释: 编码器计算与解码器计算相同,Niter 被设置为 1。吞吐量因码不同而不同,并取决于许多因素(包括码中的数据依赖性在内)。但是,对于 P = 128 而言,LDPC 解码器的峰值吞吐量(在输出处测量的信息位)由下式给出:

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 50

Send Feedback

Page 51: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

Peak Throughput = 128avg(DV)N iter

× Rate × f core_clk

• fcore_clk 指的是核时钟频率。• Niter 指的是执行迭代的次数。• avg(DV)是代码的平均变量节点度(奇偶校验矩阵中的循环总数除以列数;即码字的每位循环数)。给定等式中的因子 128 与 SD-FEC 核中实现的并行度相关联(实现了 128 个校验节点和变量节点处理器)。给定的吞吐量方程假定没有代码产生的数据依赖性,并且 P 是 128 的整数倍。如果 P 不是 128 的整数倍,则解码器处

理资源的利用率不足,并且吞吐量会降低 P/(128×MV) 因子,这里 。例如,如果 P = 360,那么

360128 ×MV = 360

128 ×3 = 360384

因此,实际吞吐量=峰值吞吐量 × 360/384。输入、解码和输出都是一条流水线的,如果是小的块,则有足够的内存来容纳多个块。当可用的内存足够时,核在编码/解码期间会交织多个块以隐藏数据依赖性。对于 W> 1 的代码,在 W> 1 的子矩阵中为每个循环添加操作,因此会降低吞吐量。(例如,对于有两个子矩阵的一个码字,每个子矩阵包含两个循环,需要四个附加操作)。还有一些其他的数据依赖性,这可能需要更大程度的码字交织才能隐藏(在存储器允许的地方)。如果是大的块,吞吐量还可能会受限制,因为存储限制会减少与 I/O 重叠解码的机会。

LDPC 码基矩阵的重用可以通过以下方式重用单个基本矩阵以支持不同的码率和不同的码字大小:1. 更改子矩阵的大小以支持速率相同、大小不同的码字。对于每个代码,指定不同的 PSIZE、N 和 K (如 REG0 到

REG2 中定义的那样),同时将共享代码定义表中的偏移参数保持不变(即 REG3 中的 SC_OFF、LA_OFF 和QC_OFF)。

2. 仅重用基础矩阵的一部分来支持大小和速率不同(但具有相同的 K)的码字。如果基本矩阵采用的是下图所示的形式(更具体地说,最右边的非零子矩阵的列随着层数的变化而单调增加),可以通过减少代码定义中的层数、NLAYERS 和 N 来减少基本矩阵中的列数,同时让共享代码定义表中的偏移参数保持不变(即 SC_OFF、LA_OFF和 QC_OFF)。速率随着奇偶校验位数和码字大小的减少而增加。

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 51

Send Feedback

Page 52: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

图 7: 通过调整 NLAYERS 更改基本矩阵中的列数

K

N

R=1/2

R=3/4

0 (no entry inQC table for this

empty region)

Rate increases as number of layers

(NLAYERS) is reduced. K stays the

same, N reduces.

This region of base matrix results in

entries in QC_TABLE

X19308-120618

就方法 1 而言,如果 PSIZE≤64,则执行打包(除非在代码定义寄存器中设置了 NO_PACKING 字段)。在这种情况下,QC_TABLE 条目各不相同。因此,要支持所有 PSIZE,至少需要三组 QC_TABLE(即,一组适用于 PSIZE ≤ 32 的情况,一组适用于 32 < PSIZE ≤ 64 的情况,一组适用于 PSIZE > 64 的情况)。此外,尽管这也许可以通过对最大值使用适当的减少操作来完成,例如,modulo(ROTATION、PSIZE),但还是需要有一种方法能将旋转减少到小于PSIZE。如果此操作导致两个代码的旋转值之间有差异,则 QC_TABLE 中需要一组单独的条目。例如,如果两个代码的 PSIZE为 33 和 64,并且旋转值为 48,那么,由于 48 大于 33,因此需要为 PSIZE=33 指定一个减小的值,结果,需要单独对每个代码的 QC_TABLE 条目进行定义。如果所有旋转值都小于 33,那么在 QC_TABLE 中只需要为两个代码定义一组条目。就方法 2 而言,LA_TABLE 中的停止参数可能随着层数的变化而变化。对变化的分析可以通过以下操作来进行:将不同层数的码经由核的 API 来传递并生成指令表。变化量取决于代码,但变体的数量可能会显著减少到每个码字大小少于一个 LA_TABLE。通过将停止值设置为 API 生成的最大值也可能会进一步减少表的数量。也就是说,使用大于 API 提供的 STALL 值是安全的,尽管可能会影响到吞吐量。无论使用哪种方法,都必须为每个代码变量提供码参数(即 REG0-3)。有 128 个寄存器组可用来支持此功能。共享码参数 SC_TABLE、LA_TABLE、QC_TABLE 可以根据需要在唯一代码之间进行分配,并通过特定代码定义的码参数以任意方式进行组合。如果这些参数要重新写入,也许应该将表细分为多个大小相等的分区,以便能够独立地写入每个分区。方法 1 和 2 可以同时使用以获得更大的灵活性。

相关信息LDPC 运行时间设置

LDPC 码存储器错误的检测与纠错LDPC 码参数、REF 和共享表均存储在含纠错码 (ECC) 的存储器中。该存储器能够检测两个错误,还能纠正一个错误。对于每个存储器,生成两个错误标志,并通过中断服务寄存器使其可用来监控错误:

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 52

Send Feedback

Page 53: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

• ECC 错误:通常为 0,当从相应存储器读取的 word 中检测到一个或更多错误时设置为 1。• ECC 两位错误:通常为 0,当从相应存储器读取的 word 中检测到 2 个错误时设置为 1。当一个 word 中的错误数

大于 2 时,也许也可以进行设置;但这无法保证。

接口协议AXI4-Stream 接口AXI4-Stream 接口是点对点链路,在此链路上发送器被称为主控制器,接收器被称为从设备。如需了解有关 AXI4-Stream 接口的详情,请参阅 《AMBA AXI4-Stream Protocol Specification》 (ARM IHI 0051A) 和《Vivado DesignSuite:AXI 参考指南》 (UG1037)。

基本握手下图显示了 AXI4-Stream 通道中的数据传输。tvalid 信号由通道的源端(主控制器)驱动,而 tready 由目标端(从设备)驱动。tvalid 信号表示有效荷载字段(tdata 和 tlast)中的值有效。tready 表示从设备已准备好接受数据。当 tvalid 和 tready 在同一时钟周期皆被置位时,传输就会发生。tvalid 或 tready High 或 Low 的顺序并不重要;只有当 tvalid 和 tready 皆为 High 时,才会传输数据。

图 8: AXI4-Stream 通道中的数据传输

TLAST 的使用核通常是在所有输出通道上产生 tlast 信号的;但输入数据包的大小通常要么是固定的,要么使用相关的控制信息明确给出。因此,输入通道上的 tlast 实际上是多余的;要求源提供合适的 tlast 可能会妨碍互操作性。因此,核被专门设计成忽略用于数据包描述的 tlast 输入,而是使用内部数据包大小的知识。在上述所有情况下,核还会产生两个事件信号,一个用来表示 tlast 被意外置位(tlast 意外事件),另一个用来表示 (tlast 被意外地取消置位。在所有情况下核都继续运行,如同正确地应用了 tlast 一样,并且事件可以根据需要来解读。预知如何处理赛灵思 IP 中的tlast 方面的详情,请参阅《Vivado Design Suite:AXI 参考指南》 (UG1037)。注释: 当数据包由单个数据传输组成时,tlast 是冗余的,应该被锁定为 1。

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 53

Send Feedback

Page 54: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

AXI4-Lite 接口预知有关 AXI4-Lite 接口的详情,请参阅 《AMBA AXI and ACE Protocol Specification》 (ARM IHI0022E) 和《VivadoDesign Suite:AXI 参考指南》 (UG1037)。

接口的吞吐量限制虽然数据接口支持宽传输宽度,但在内部,输入和输出接口的吞吐量被限制为下列最大值:• Turbo 解码:12 个 LLR @f(core_clk)

• LDPC 解码:16 个 LLR 或 16 个硬字节 @f(core_clk)

• LDPC 解码:16 个硬字节 @f(core_clk)

Turbo 解码器接口的吞吐量限制对于 Turbo 解码,内部接口吞吐量限制是每个 core_clk 周期 12 个 LLR,由四组值组成,每组三个 8 位值(系统、奇偶校验、奇偶校验交织)。如果输出不需要奇偶校验,那么限制是每个 core_clk 周期四个系统的 LLR 值。如果需要硬输出,那么限制仍然是每个 core_clk 周期四个系统值,但这四个值现在是硬比特。

LDPC 解码器接口的吞吐量限制对于解码器,如果 LDPC 子矩阵大小 P 不是 16 的整数倍,则并非所有传输到内部输入存储器的内部数据传输都是 16个 LLR。传输是 P 组,最后一组传输是 (P, 16),平均 I/O 吞吐量会被减少到:

例如,如果 P=27,则峰值 I/O B/W 为:

LDPC 编码器接口的吞吐量限制对于编码器,传输最多为 16 个字节或 128 位。如果 P<128,则每个周期在接口和存储器之间最多传输 P 位,平均 I/O

吞吐量变为:

例如,如果 P=360,则峰值硬比特 I/O B/W 为:

这些限制对少量迭代可能增加的吞吐量提供了下限。

第 4 章: 用核设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 54

Send Feedback

Page 55: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

第 5 章

设计流程步骤本节介绍如何自定义和生成核、约束核,并对特定于此 IP 核的仿真、综合及实现步骤进行介绍。有关 Vivado® 标准设计流程和 IP 集成器方面的详情,请参阅以下 Vivado Design Suite 用户指南:• 《Vivado Design Suite 用户指南:采用 IP 集成器设计 IP 子系统》 (UG994)

• 《Vivado Design Suite 用户指南:采用 IP 进行设计》 (UG896)

• 《Vivado Design Suite 用户指南:着手设计》 (UG910)

• 《Vivado Design Suite 用户指南:逻辑仿真》 (UG900)

自定义和生成核本节包含有关如何使用赛灵思工具在 Vivado® Design Suite 中自定义和生成核的信息。如果要在 Vivado IP 集成器中自定义和生成核,请参阅《Vivado Design Suite 用户指南:采用 IP 集成器设计 IP 子系统》 (UG994) 了解详情。验证或生成设计时,IP 集成商可能会自动计算某些配置值。要查看配置值是否会更改,请参阅本章中与参数有关的说明。要查看参数值,请在 Tcl 控制台中运行 validate_bd_design 命令。您可以遵循以下步骤通过指定与 IP 核关联的各种参数值来自定义设计中使用的 IP:1. 从 IP 目录选择 IP。2. 双击所选 IP、右键单击菜单或从工具栏中选择“Customize IP”命令。欲知详情,请参阅《Vivado Design Suite 用户指南:采用 IP 进行设计》 (UG896) 和《Vivado Design Suite 用户指南:着手设计》 (UG910)。Vivado IDE 中的 SD-FEC 核配置屏幕由四个配置标签和四个信息标签组成。

“IP Symbol”标签此标签显示核的引脚分配。

“Interface Summary”标签此标签显示核的 AXI4-Stream 接口的字段类型、宽度和位置。

“LDPC Code Analysis”标签此标签显示在处理指定的 LDPC 码时生成的所有消息,例如,解码器/编码器的兼容性以所使用默认值的警告。

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 55

Send Feedback

Page 56: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

“LDPC Table Usage”标签当核配置为进行 LDPC 解码或编码时,此标签会报告所指定 LDPC 码的共享 LDPC 码参数的总使用量。此外,它还会报告每个码的相对使用情况。

相关信息共享 LDPC 码参数

“Function”标签此标签用于指定 FEC 模式和配置。注释: 单个 IP 实例只能被配置来进行 Turbo 解码或 LDPC 操作。当配置来进行 LDPC 编码时,控制流的操作位是固定的以便于编码。相关信息控制输入端口 (CTRL)

ConfigurationStandard:指定支持的标准:• 5G: 《3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal

Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding (Release 15)》 (3GPP Std TS 36.212 V15.0.1)

• LTE: 《3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR; Multiplexingand channel coding (Release 15)》 (3GPP Std TS 38.212 V15.0.0)

• WiFi 802.11: 《IEEE Standard for Information technology - Local and Metropolitan area Network Standards》(IEEE Std 802.11)

• DOCSIS 3.1: 《Data-Over-Cable Service Interface Specifications DOCSIS 3.1, Physical Layer Specification》(DOCSIS 3.1)

• Custom: 定制 DPC 码定义

Turbo Decode Code Parameters

Turbo 解码码参数• Turbo Decode: 选择 Turbo 解码 FEC 模式。• Algorithm: 指定要使用的 Turbo 解码算法:• MAX Scale: 带有外部缩放的 Max Log-Map 算法。当缩放比例设置为 1 时,这相当于 Max Log-Map 算法。• MAX Star: Log-Map 算法。

• Scale: 用来指定当选择 Max Scale 算法时将应用的外部缩放。比例定义为 0.0625-1,增量为 0.0625,默认值为0.75。

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 56

Send Feedback

Page 57: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

LDPC Decode Code Parameters• LDPC Decode: 选择 LDPC 解码 FEC 模式。• Support W>1: 指定是否支持 W> 1 的代码。这会导致系统对解码器上运行的所有代码进行额外检查。• Code Definition: LDPC 码的定义文件。这是一个 YAML 文件 (http://yaml.org),用来指定用于 IP 实例的定制 LDPC

码定义。重要提示! 代码定义文件必须带 .txt 扩展名。

• Enable Overrides: 启用以下参数覆盖功能:• No Final Parity Check: 禁用输出奇偶校验逻辑。增加大代码的吞吐量。• Scale: 层的缩放因子。如果在 YAML 文件中未定义,则核会使用默认值 0.75。比例定义为 0.0625-1,增量为

0.0625。默认值为 0.75。• Max. Schedule: 设置最大数量的代码块交错。注释: 选择 5G 标准后,覆盖功能不可用。注释: Vivado® IDE 中设置的值将覆盖在所指定 YAML 文件或标准中定义的值。

相关信息LDPC 解码器支持 (当 W> 1 时)LDPC 码定义文件输出奇偶校验 (OPC)REG2 寄存器 (0x2008+REG_SET*0x10)

LDPC Encode Code Parameters注释: 一些适合解码的 LDPC 码不适合编码 - 系统会报告错误,并详细描述任何不兼容性。请参阅 LDPC 编码部分。• LDPC Encode: 选择 LDPC 编码 FEC 模式。该选择与 LDPC 解码兼容。• Code Definition: LDPC 码的定义文件。这是一个 YAML 文件 (http://yaml.org),用来指定用于 IP 实例的定制 LDPC

码定义。重要提示! 该代码定义文件必须带有 .txt 扩展名。

相关信息LDPC 编码LDPC 码定义文件

“Interface”标签此标签用于配置接口设置。

S_AXI• Interface: 用于指定 S_AXI 参数接口配置。

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 57

Send Feedback

Page 58: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

• Runtime-Configured: S_AXI 参数接口暴露在外,并且核和 LDPC 参数必须由外部源配置。IP 核生成配置参数(这些参数会被写入文件并导出到 SDK 中的独立驱动中)。

• Initialized retain I/F: 码参数在器件配置时或复位后自动初始化,也可以使用相应的核配置屏幕参数来指定核参数的初始化值。

• Initialized: 从 IP 核中删除 S_AXI 参数接口,并设置 Enable I/Fs 核参数。• Core Parameters: 当“Interface”设置为“Initialized retain I/F”或“Initialized”时,指定以下核参数的初始化

值。• Enable I/Fs: 设置 AXIS_ENABLE 寄存器中的所有接口的使能位。• Out of Order: 设置 ORDER 寄存器中的顺序。• Interrupts: 清除“Interrupt Mask”寄存器的所有位,从而启用中断。• ECC Interrupts: “None”、“Both”或“Multi-bit Only”。• Both: ECC 中断掩码寄存器的所有位都被清零,从而启用所有 ECC 中断。• Multi-bit Only: 仅清除两位 ECC 错误位,仅启用两位 ECC 中断。

• Bypass: 设置 BYPASS 寄存器。• AXI WR Protect: 设置 AXI_WR_Protect 寄存器。• Code WR Protect: 设置 CORE_WR_PROTECT 寄存器。

相关信息LDPC 运行时间设置寄存器空间

DIN有关接口配置选项的完整详情,请参阅数据接口。这些选项用于配置 AXIS_WIDTH 寄存器。• Interface: 用于指定 DIN 和 DIN_WORDS 接口配置。如端口描述中所述,取消配置时,系统会显示完整接口。预配置时,系统会根据 Vivado® IDE 设置来简化接口。

• Lanes: 指定 IP 实例(1、2 或 4)上显示的 DIN 通道数。• Words configuration: 指定 DIN_WORDS 配置:“Fixed”、“Per Block”、或“Per Transaction”。如果选择“Fixed”,DIN_WORDS AXI4-Stream 接口将从 IP 实例中删除,并以指定的 word 数来指定。如果选择“Per Block”或“Per Transaction”,系统会显示 DIN_WORDS 接口:• “Per Block”: 将 IP 实例配置为每个输入代码块一个 DIN_WORDS 值。• “Per Transaction”: 在 DIN 接口上将 IP 实例配置为每个输入数据传输一个 DIN_WORDS 值。

• Number of words: 指定 DIN 接口上每个数据传输预期的固定 word 数,用于 word 配置设置为“Fixed”时。

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 58

Send Feedback

Page 59: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

相关信息AXI4-Stream接口定义AXIS_WIDTH 寄存器 (0x0C)端口描述

DOUT• Interface: 用于指定 DOUT 和 DOUT_WORDS 接口配置。如端口描述中所述,取消配置时,系统会显示完整接口。预

配置时,系统会根据 Vivado® IDE 设置来简化接口。• Lanes: 指定 IP 实例(1、2 或 4)上公开的 DOUT 通道数。• Words configuration: 指定 DOUT_WORDS 设置要按“Fixed”、还是按“Per Block”或“Per Transaction”的 word数来指定。如果选择“Fixed”,DOUT_WORDS AXI4-Stream 接口将从 IP 实例中删除,并以指定的 word 数来指定。DOUTAXI4-Stream 接口以指定的 word 数来进行传输。如果选择的是“Per Block”或“Per Transaction”,系统会显示 DOUT_WORDS AXI4-Stream 接口:• “Per Block”将 IP 实例配置为每个输出代码块需要一个 DOUT_WORDS 值。• 将 IP 实例配置为每个输出数据传输一个 DOUT_WORDS 值(在 DOUT AXI4-Stream 接口上)。

• Number of words: 指定 DOUT 接口上每个数据传输预期的固定 word 数,用于 word 配置设置为“Fixed”时。相关信息端口描述

“Runtime Loading”标签此标签用于设置运行时间活动。实际利用率和吞吐量利用率值用于通过定义预期的运行时间活动来确定 IP 实例的功耗估计。实际利用率值是通过所指定代码的特征自动计算而来的。• Physical Utilization: 定义 SD-FEC 功能块的利用率。参数值根据指定的代码配置自动计算而来。• Throughput Utilization: 指定实例吞吐量方面的活动,作为所用代码配置的最大吞吐量的百分比。例如,DOCSIS

v3.1 介质代码的最大吞吐量为 1.57 Gb/s,但如果块操以 1 Gb/s 运行,则活动数可以减少到 ~64%。请注意,交织不同代码时,最大吞吐量可以高于或低于各个代码的吞吐量。

注释: 以下运行时负载参数已被弃用,且不再可用(除非您从先前的 IP 版本升级,并且在先前的版本中,这些参数已被设置为非默认值)。• Percentage Loading: 可以选择“Automatic”或“Manual”进行操作。如果选择“Automatic”,系统会根据“Throughput Utilization”参数和特定的 Turbo 或 LDPC 码参数来更新相应的“Percentage Loading”参数。如果选择 “Manual”,则可以修改以下负载百分比的参数:• Turbo Decoder Percentage Loading: 指配置为用于 Turbo 解码时,此 IP 实例的最大活动负载百分比。• LDPC Dcoder Percentage Loading: 指配置为用于 LDPC 解码时,此 IP 实例的最大活动负载百分比。• LDPC Encode Percentage Loading: 指配置为用于 LDPC 编码时,此 IP 实例的最大活动负载百分比。

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 59

Send Feedback

Page 60: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

“Example Design”标签此标签用于设置示例设计参数。核始终会生成默认的仅仿真示例测试平台示例设计,也可以选择基于处理器的示例设计;此设计和默认的示例测试平台一起包含在示例设计中。• Generate processor-based example design: 在示例设计工程中选择生成基于处理器的示例设计。• Processor-based example design type: 选择 MicroBlaze™ 或 Zynq® UltraScale+™ RFSoC。• 选择 MicroBlaze 即会仿真完整的基于处理器的示例设计。• 选择 Zynq UltraScale+ RFSoC 即会通过处理器子系统 (PS) 来创建示例设计。

生成示例设计还可构建示例处理器应用。• Include Encoder instance: 如果选择此选项,生成的示例设计还包括配置来进行编码的 LDPC 编码器/解码器 IP 核的实例。此选项仅在选择了 LDPC 编码或解码且核能够确定与 LDPC 编码器兼容的 LDPC 码定义时才可用。

• 构建 SDK 工程: 尝试在示例设计生成期间创建和构建示例处理器应用(此为可选项)。此步骤需要赛灵思软件命令行工具 (XSCT) 可用才可执行。生成的 ELF 将被导入到示例设计中并与 MicroBlaze 处理器关联,从而可以仿真示例设计。

用户参数下表显示了 Vivado® IDE 中的字段与用户参数(可在 Tcl 控制台中查看)之间的关系。表 57: Vivado IDE 参数与用户参数之间的关系

Vivado IDE 参数/值 1 用户参数/值 1 默认值函数:配置Standard Standard LTE

函数:Turbo 解码码参数Algorithm Turbo_Decode_Algorithm MaxScale

Scale[1.0, 0.0625:0.0625:0.9375]

Turbo_Decode_Scale[0, 1:1:15]

12

函数:LDPC 解码码参数LDPC Decode LDPC_Decode False

Support W>1 Enable_Wgt1 False

Code Definition LDPC_Decode_Code_Definition no_file_loaded

Enable LDPC_Decode_Overrides False

No Final Parity Check LDPC_Decode_No_OPC False

Scale[1.0, 0.0625:0.0625:0.9375]

LDPC_Decode_Scale[0, 1:1:15]

12

Max. Schedule LDPC_Decode_Max_Schedule 0

函数:LDPC 编码码参数LDPC Encode LDPC_Encode False

Code Definition LDPC_Encode_Code_Definition no_file_loaded

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 60

Send Feedback

Page 61: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 57: Vivado IDE 参数与用户参数之间的关系 (续)

Vivado IDE 参数/值 1 用户参数/值 1 默认值接口:S_AXI

Interface Parameter_Interface Runtime-Configured

Enable I/Fs Enable_IFs False

Out of Order Out_of_Order False

Interrupts Interrupts False

ECC Interrupts ECC_Interrupts None

Bypass Bypass False

AXI WR Protect AXI_WR_Protect False

CODE WR Protect Code_WR_Protect False

接口:DIN

Interface DIN_Interface Pre-Configured

Lanes DIN_Lanes 1

Words configuration DIN_Words_Configuration Fixed

Number of words DIN_Words 16

接口:DOUT

Interface DOUT_Interface Pre-Configured

Lanes DOUT_Lanes 1

Words configuration DOUT_Words_Configuration Fixed

Number of words DOUT_Words 16

运行时负载Physical Utilization Physical_Utilization 100

Throughput Utilization Activity 100

Percentage Loading Percentage_Loading Automatic

Turbo Decoder Percentage Loading TD_PERCENT_LOAD 100

LDPC Dcoder Percentage Loading LD_PERCENT_LOAD 0

LDPC Encoder Percentage Loading LE_PERCENT_LOAD 0

示例设计Generate processor-based exampledesign

Include_PS_Example_Design False

Include Encoder instance Include_Encode False

Build SDK Project Build_SDK_Project False

注释:1. 参数值列在 Vivado IDE 参数值与用户参数值不同的表中。此表中的这类值缩进显示在相关参数的下面。

LDPC 码定义文件核使用 YAML 文件 (http://yaml.org/) 来指定奇偶校验矩阵。预知奇偶校验矩阵结构的详细信息,请参阅“LDPC 码支持”。Vivado® IDE 将代码定义文件转换为用于编程 LDPC 码参数和共享码参数的值。

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 61

Send Feedback

Page 62: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

码参数是使用 YAML 键值对定义的。定义文件包含单个代码定义或多个代码定义。如果是单个代码,参数键可以直接放置在顶层。如果是多个代码,每组码参数都放置在唯一的顶层标识符键下。例如,在“Decoder Example”中,重复代码定义块,但将顶层标识符键从 my_code1: 更改为其他内容,然后更新代码定义。重要提示! 定义文件必须带有 .txt 扩展名。

表 58: LDPC 码定义参数参数字段/密钥名称 有 支持值/范围 注意:

n 有 4 - 32768 块大小。k 有 2 - 32766 信息位。p 有 2 - 512 子矩阵大小。normalization 无 none、row 归一化类型:

none:归一化因子为 1row:用于检查节点消息缩放情况的变量节点。未定义时,将应用默认缩放 0.75 倍。

scale 无 0 - 15 归一化因子=scale * 0.0625。设置为 0 时,归一化因子为 1。比例可以定义为一个列表;每个基本矩阵一个。

enable_wgt1 无 true、false 表示码定义包含大于 1 的循环权重。no_packing 无 true、false 无论子矩阵的大小如何,都禁用 QC 操作的打包。encode 无 true、false 表示此码仅用于编码。特别是,失速计算是宽松的,并且循环重量限制是特定于编码的。no_final_parity 无 true、false 禁用此码的输出奇偶校验。max_schedule 无 1 - 4 处理此码时 LDPC 的最大数量的码字交织。

对于默认的调度行为,请省略字段或将其设置为 0。sm_array 有 基本矩阵定义。

行、列和移位(旋转)值列表。sm_array[x].row 有 指定被占用子矩阵行的整数值。sm_array[x].col 有 指定被占用子矩阵列的整数值。sm_array[x].shift 有 指定被占用子矩阵旋转(移位)的整数值。

当 W> 1 时,可以使用列表指定多个旋转。或者,可以在同一行和列中包含其他 sm_array 条目。

相关信息LDCP 码支持LDPC 码参数共享 LDPC 码参数解码器示例

解码器示例my_code1: n: 128 k: 104 p: 8 scale: [11,11,11] sm_array: - {row: 0, col: 0, shift: [1,6]} # defines multiple rotations (for W>1

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 62

Send Feedback

Page 63: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

codes) - {row: 0, col: 2, shift: 5} - {row: 0, col: 6, shift: 4} - {row: 0, col: 7, shift: 3} - {row: 0, col: 11, shift: 2} - {row: 0, col: 12, shift: 1} - {row: 0, col: 14, shift: 0} - {row: 0, col: 15, shift: 7} - {row: 1, col: 0, shift: 6} - {row: 1, col: 1, shift: 7} - {row: 1, col: 5, shift: 0} - {row: 1, col: 7, shift: 1} - {row: 1, col: 9, shift: 2} - {row: 1, col: 11, shift: 3} - {row: 1, col: 15, shift: 4} - {row: 2, col: 0, shift: 0} - {row: 2, col: 3, shift: 1} - {row: 2, col: 4, shift: 2} - {row: 2, col: 8, shift: 3} - {row: 2, col: 9, shift: 4} - {row: 2, col: 10, shift: 5} - {row: 2, col: 13, shift: 6}

编码器示例my_enc_code1: encode: true k: 280 n: 448 p: 56 sm_array: - {row: 0, col: 0, shift: [1,6]} # defines multiple rotations (for W>1 codes) - {row: 0, col: 2, shift: 34} - {row: 0, col: 3, shift: 7} - {row: 0, col: 4, shift: 46} - {row: 0, col: 5, shift: 10} - {row: 1, col: 0, shift: 2} - {row: 1, col: 1, shift: 23} - {row: 1, col: 2, shift: 0} - {row: 1, col: 3, shift: 51} - {row: 1, col: 5, shift: 49} - {row: 1, col: 6, shift: 20} - {row: 2, col: 0, shift: 19} - {row: 2, col: 1, shift: 18} - {row: 2, col: 2, shift: 52} - {row: 2, col: 4, shift: 37} - {row: 2, col: 6, shift: 34} - {row: 2, col: 7, shift: 39}

输出生成欲知详情,请参阅 《Vivado Design Suite 用户指南:采用 IP 进行设计》 (UG896)。

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 63

Send Feedback

Page 64: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

LDPC 运行时间设置Vivado® IDE 提供了两种生成代码配置参数的方法,要么在 IP 核生成期间生成,要么通过 Tcl 接口生成。当有必要生成各种代码时,后者特别有用,因为这个方法允许对参数配置进行分析,从而建立共性并使所需的参数存储量最小化。它还可以用于验证,看看是否所有定制参数生成方法都能因特定的代码要求而生成正确的参数。

IP 核生成在运行时配置 SD-FEC 核所需的 AXI4-Lite 数据传输是在 IP 生成期间生成的。Vivado IDE 中设置的选项由独立的软件驱动导入,并写入命令文件以用于基于可编程逻辑的控制器;<ipinst>_trans.log。“IP Sources”窗口会显示为IP 核生成的所有输出产品。默认的 IP 核输出产品目录包含在工程目录 <project_name>.srcs/sources_1/ip/<ipinst_name> 中。命令文件是文本文件,内含一个列有地址和十六进制数据对的列表。

Tcl 接口另一个 Tcl 脚本,<project_name>.srcs/sources_1/ip/<ipinst_name>/scripts/gen_ldpc_code_params.tcl 是在 IP 核生成期间输出的(其中包含一个辅助函数),gen_ldpc_code_params,可用来处理独立于 Vivado IDE 的 LDPC 码定义文件)。要让此函数在 Vivado Tcl shell 中可用,请输入以下命令:source <project_name>.srcs/sources_1/ip/<ipinst_name>/scripts/gen_ldpc_code_params.tcl

该函数需要代码定义文件的单个参数,并返回一个 Tcl dict 结构(该结构包含文件中所定义的每个 LDPC 码的 LDPC码参数和共享 LDPC 码参数)。Tcl dict 由代码定义文件中定义的每个代码的顶层密钥组成(在其下还定义了所有相应的参数)。要获得每个代码的配置参数,可以对 dict 结构进行查询,例如:set params [gen_ldpc_code_params <my_code_definition_file>]set all_code_ids [dict keys $params]set all_param_names [dict keys [dict get $params <my_code_id1>]]set n [dict get $params <my_code_id1> n]set k [dict get $params <my_code_id1> k]set qc_table [dict get $params <my_code_id1> qc_table]

相关信息LDPC 码定义文件LDPC 码参数共享 LDPC 码参数

核的约束本节包含与 Vivado® Design Suite 中核的约束有关的信息。

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 64

Send Feedback

Page 65: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

所需约束Vivado IDE 实现目前不支持用于 SD-FEC 实例的、自动时序驱动的布局。要获得最佳时序结果,必须对实例进行手动布局:set_property LOC FE_X<x>Y<y> [get_cells */<ipinst_name>/inst/FE_I]

注释: SD-FEC 实例组合会受限于 LDPC 或 Turbo 模式。在使用 SD-FEC 的多个实例时,请参阅 SD-FEC IP 核的布局位置指南 以进一步了解指南和布局位置。器件,封装和速度等级选择选择正如在 《Zynq UltraScale+ RFSoC 数据手册:简介》 (DS889) 中详述的那样,该核可以在 Zynq UltraScale+ RFSoC 器件中实现。

时钟频率请查阅《Zynq UltraScale+ RFSoC 数据手册:简介》 (DS889)。

时钟管理本节不适用于此 IP 核。本节不适用于此 IP 核。

时钟布局本节不适用于此 IP 核。

bank 分配本节不适用于此 IP 核。

收发器布局本节不适用于此 IP 核。

I/O 标准和布局本节不适用于此 IP 核。

仿真有关 Vivado® 仿真组件的全面信息,以及与如何使用支持的第三方工具相关的信息,请参阅《Vivado Design Suite 用户指南:逻辑仿真》 (UG900)。

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 65

Send Feedback

Page 66: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

综合和实现如需了解有关综合和实现方面的详情,请参阅《Vivado Design Suite 用户指南:采用 IP 进行设计》 (UG896)。

SD-FEC IP 核的布局位置指南必须使用 XDC 约束对所有的 SD-FEC 实例进行布局。如需了解更多信息,请参阅 所需约束。某些布局和使用指南取决于所选的 SD-FEC 模式。下表显示的是 Turbo、LDPC 编码器和 LDPC 解码器实例配置的布局选项;LDPC 编码器实例没有布局限制,但必须遵循 Turbo 和 LDPC 解码器的布局指南。支持以下 SD-FEC 配置:• 最多可以同时使用四个 Turbo 模式的 SD-FEC 实例。• 最多可同时使用 8 个 SD-FEC 实例,其中最多有 6 个可以用来执行 LDPC 解码。• Turbo 解码和 LDPC 解码和编码的混合模式最多还可以支持四个 SD-FEC 实例。此配置的布局准则与下表中 Turbo

模式的布局准则相同。如果未遵循下表中的组合,则 Vivado® 设计工具会发出错误。请参见下图中的器件图,参考 SD-FEC 块的位置。表 59: 布局指南

Turbo 模式 1 LDPC 模式 1FMAX (MHz)解码器 2 编码器

-2 速度等级(仅限 Vnom)X0Y7、X0Y5、X0Y3 和 X0Y1 None 无 667

X0Y7、X0Y6、X0Y1 和 X0Y0

无 X0Y7,X0Y6、X0Y5、X0Y2、X0Y1 和 X0Y0

X0Y4、X0Y3 667

无无 X0Y7、X0Y6、X0Y5、X0Y4、

X0Y3、X0Y2、X0Y1 和 X0Y0

-1 速度等级(仅限 Vnom)X0Y7、X0Y5、X0Y3 和 X0Y1 无 无 667

X0Y7、X0Y6、X0Y1 和 X0Y0

无 X0Y7,X0Y6、X0Y5、X0Y2、X0Y1 和 X0Y0

X0Y4、X0Y3 625

无无 X0Y7、X0Y6、X0Y5、X0Y4、

X0Y3、X0Y2、X0Y1 和 X0Y0

所有速度等级X0Y7、X0Y5、X0Y3 和 X0Y1 无 无 667

X0Y7、X0Y6、X0Y1 和 X0Y0

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 66

Send Feedback

Page 67: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 59: 布局指南 (续)

Turbo 模式 1 LDPC 模式 1FMAX (MHz)解码器 2 编码器

无 X0Y7、X0Y6、X0Y1 和 X0Y0 X0Y5、X0Y2 667

X0Y7、X0Y5、X0Y3 和 X0Y1 无无 X0Y7,X0Y6、X0Y5、X0Y2、

X0Y1 和 X0Y0

注释:1. 允许使用上述配置的子集;例如,只要 LDPC 解码器总是放置在指定的解码器站点上,则四个 LDPC 解码器和四个 LDPC 编码

器为有效设置。2. LDPC 编码器可以放置在任何有效的 LDPC 解码器站点中。

图 9: SD-FEC 列中 SD-FEC 的位置X0Y7X0Y6X0Y5X0Y4X0Y3X0Y2X0Y1X0Y0

X19907-120618

第 5 章: 设计流程步骤

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 67

Send Feedback

Page 68: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

第 6 章

C 模型本章详细介绍随核一起提供的 C 模型。位精确的 C 模型是一个独立的、可链接的共享库,可以以有限精确度模拟 SD-FEC 核的功能。该模型由一组驻留在共享库中的 C 函数组成。该模型是位准确、但不是周期精确的;它不会对核时延或其接口信号进行模拟。这里我们用示例 C 代码来演示这些函数是如何形成 C 模型的接口的。C 模型已经在 Linux 上使用 GCC 4.4.7 和 4.8.0 进行了测试,并在 Windows 上使用 Visual Studio 2012 和 MinGWGCC 4.9.0 进行了测试。MATLAB® R2013a 进行了测试。注释: 共享的对象和 DLL 与 libstdc++ 静态连接,确保它可以访问适合的版本。

解压解包及模型相关内容下表显示了用于 Linux 和 Windows C 模型的 zip 文件的内容。表 60: Linux 64 ZIP 文件内容

文件 描述标准报头文件sd_fec_v1_1_bitacc_cmodel.h 定义 C 模型 API 的报头文件xip_common_bitacc_cmodel.h 定义标准赛灵思 C 模型类型和宏的报头文件共享的对象libIp_sd_fec_v1_1_bitacc_cmodel.so 模型共享对象库MATLAB 封装sd_fec_v1_1_bitacc_mex.cpp MATLAB® MEX 函数源gen_ldpc_spec.m 非类封装函数gen_parity_check_mat.m

@sd_fec_v1_1_bitacc MATLAB MEX 函数类目录编译与冒烟测试run_bitacc_cmodel.c 用来调用 C 模型的示例程序make_run_bitacc_cmodel.csh 示例 C 程序的编译脚本make_sd_fec_v1_1_bitacc_mex.m MATLAB MEX 函数编译脚本run_sd_fec_v1_1_bitacc_mex.m MATLAB MEX 函数示例脚本数据文件test.mat 包含示例 LDPC 奇偶校验矩阵的 MATLAB MAT 文件。test.yml 示例 LDPC 奇偶校验矩阵规范文件(如模型所要求的那样)。

第 6 章: C 模型

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 68

Send Feedback

Page 69: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 61: Windows NT64 ZIP 件内容文件 描述

标准报头文件sd_fec_v1_1_bitacc_cmodel.h 定义 C 模型 API 的报头文件xip_common_bitacc_cmodel.h 定义标准赛灵思 C 模型类型和宏的报头文件DLL 和 Lib 对象libIp_sd_fec_v1_1_bitacc_cmodel.dll 模型 DLL

libIp_sd_fec_v1_1_bitacc_cmodel.lib 用于编译的模型 .lib 文件MATLAB 封装sd_fec_v1_1_bitacc_mex.cpp MATLAB® MEX 函数源gen_ldpc_spec.m 非类封装函数gen_parity_check_mat.m

@sd_fec_v1_1_bitacc MATLAB MEX 函数类目录编译与冒烟测试run_bitacc_cmodel.c 用来调用 C 模型的示例程序make_run_bitacc_cmodel.bat 示例 C 程序的编译脚本make_sd_fec_v1_1_bitacc_mex.m MATLAB MEX 函数编译脚本run_sd_fec_v1_1_bitacc_mex.m MATLAB MEX 函数示例脚本数据文件test.mat 包含示例 LDPC 奇偶校验矩阵的 MATLAB MAT 文件。test.yml 示例 LDPC 奇偶校验矩阵规范文件(如模型所要求的那样)。

安装Linux• 解包 zip 文件的内容。• 确保 libIp_sd_fec_v1_1_bitacc_cmodel.so 文件所在的目录包含在环境变量 LD_LIBRARY_PATH 的路径

中。

Windows• 解包 zip 文件的内容。• 确保 libIp_sd_fec_v1_1_bitacc_cmodel.dll 文件所在的目录:

○ 包含在环境变量 PATH 的路径或○ 运行调用 C 模型的可执行项的目录中。

第 6 章: C 模型

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 69

Send Feedback

Page 70: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

C 模型接口C 模型的应用编程接口 (API) 是在报头文件 sd_fec_v1_1_bitacc_cmodel.h 中定义的。如以下部分所述,该接口由规范文件、数据结构和函数组成。C 库中包含一个示例 C 文件 run_bitacc_cmodel.c。此文件演示如何调用 C 模型。run_bitacc_cmodel.c 和run_sd_fec_v1_1_bitacc_mex.m 包含可显示 C 模型基本操作的 LDPC 编码器、解码器和 Turbo 解码器的示例代码。

LDPC 奇偶校验矩阵规范文件LDPC 码定义是使用 YAML 格式文本文件来捕获的。C 模型 API 和 MATLAB 接口提供辅助函数,以便从奇偶校验矩阵转换为 YAML 规范文件并返回。该 zip 文件包含 test.yml,一个带注释的 LDPC 奇偶校验矩阵规范文件示例。预知文件格式的详情,请参阅 LDPC码定义文件。注释: C 模型每个 YAML 文件只能接受一个代码定义。选中后,核会为每个支持的标准代码生成单独的 YAML 文件。相关信息LDPC 码定义文件

常数下表提供一个已定义的有用常数列表(这些常数让您可以将参数设置为合法值)。表 62: C 模型常数

名称 值错误代码XIP_STATUS_OK 0

XIP_STATUS_ERROR 1

FEC 类型XIP_SD_FEC_v1_1_PARAM_FEC_LDPC 1

XIP_SD_FEC_v1_1_PARAM_FEC_TURBO 0

Turbo 算法类型XIP_SD_FEC_v1_1_PARAM_TURBO_ALG_MAX 0

XIP_SD_FEC_v1_1_PARAM_TURBO_ALG_MAXSTAR 1

标准XIP_SD_FEC_v1_1_STANDARD_OTHER 0

XIP_SD_FEC_v1_1_STANDARD_5G_DECODE 1

XIP_SD_FEC_v1_1_STANDARD_5G_ENCODE 2

XIP_SD_FEC_v1_1_STANDARD_WIFI_802_11_DECODE 3

XIP_SD_FEC_v1_1_STANDARD_WIFI_802_11_ENCODE 4

XIP_SD_FEC_v1_1_STANDARD_DOCSIS_3_1_DECODE 5

第 6 章: C 模型

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 70

Send Feedback

Page 71: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 62: C 模型常数 (续)

名称 值XIP_SD_FEC_v1_1_STANDARD_DOCSIS_3_1_ENCODE 6

操作类型XIP_SD_FEC_v1_1_CTRL_DECODE 0

XIP_SD_FEC_v1_1_CTRL_ENCODE 1

类型和结构表 63: C 模型类型和结构

名称 描述一般类型typedef double xip_real 标量类型的别名typedef unsigned integer xip_uint 整数类型的别名typedef unsigned char xip_bit 位类型的别名处理程序函数签名typedef void (*xip_msg_handler)(void* handle, int error,const char* msg)

消息处理程序函数的接口

结构typedef struct xip_sd_fec_v1_1_config 模型配置结构,字段:name:模型实例的字符串标识符。fec:要使用的 FEC 代码。0=LDPC、=Turbo。typedef struct xip_sd_fec_v1_1_imp xip_sd_fec_v1_1 引用模型实例的处理类型typedef xip_uint xip_sd_fec_v1_1_ldpc_sc_table 有关字段的详细信息,请参见 SC_TABLE 寄存器(链接如下)。typedef struct xip_sd_fec_v1_1_ldpc_la_table 有关字段的详细信息,请参见 LA_TABLE 寄存器(链接如下)。typedef struct xip_sd_fec_v1_1_ldpc_qc_table 有关字段的详细信息,请参见 QC_TABLE 寄存器(链接如下)。typedef struct xip_sd_fec_v1_1_ldpc_parameters 请参阅 LDPC 码参数(链接如下)。typedef struct xip_sd_fec_v1_1_td_parameters 有关字段的详细信息,请参见 Turbo 码参数(链接如下)。typedef struct xip_sd_fec_v1_1_ctrl_packet 有关字段的详细信息,请参阅 CTRL 总线端口位定义(链接如下)。typedef struct xip_sd_fec_v1_1_stat_packet 有关字段的详细信息,请参阅 CTRL 总线端口位定义(链接如下)。阵列类型typedef struct xip_array_real 动态数组,用于软值输入/输出typedef struct xip_array_bit 动态数组,用于硬输出

相关信息SC_TABLE 寄存器 (0x10000-0x103FC)LA_TABLE 寄存器 (0x18000–0x18FFC)QC_TABLE 寄存器 (0x20000–0x29FFC)LDPC 码参数控制输入端口 (CTRL)状态输出端口 (STATUS)

第 6 章: C 模型

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 71

Send Feedback

Page 72: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

动态数组C 模型使用多维动态数组表示输入和输出数据。xip_array_<type> 结构用于指定包含 xip_<type> 类型的元素的多维动态数组。这里提供了几个允许创建、分配和销毁数组实例的效用函数。对于每个数组类型,DECLARE_XIP_ARRAY(<type>)宏可用来声明结构和效用函数原型。C 模型的报头已包含 SD-FEC C 模型使用的 xip_array_real 和 xip_array_bit 数组类型的声明。

动态阵列结构xip_array_<type> 结构用于指定类型为<type>的多维阈值数组。相关内容在下表中进行了总结。表 64: C 模型动态阵列结构

字段名称 类型 描述data xip_<type>* 指向数据数组的指针data_size size_t 数据数组中的当前元素数data_capacity size_t 数据数组中的最大元素数dim size_t* 指向维数组的指针dim_size size_t 维度数组 dim 中的当前元素的个数dim_capacity size_t dim 组中的当前最大元素数owner unsigned int 所有权控制。值为 0 表示结构和相关内存(对于数据和调度字段而言)由 xip_array_ <type>

_ * 函数分配和拥有,在这种情况下,模型可以根据需要自动调整数组大小。任何其他值表示内存归用户所有,如果阵列容量不足,模型一定会报告错误。

动态数组函数创建数组xip_array_<type>*xip_array_<type>_create();

此函数分配并初始化一个空数组,用于保存<type>类型的值。该函数返回指向已创建结构的指针;如果无法创建结构,则返回 null。该结构字段全部初始化为零,表示字段为空数组,并且所有权与 xip_array_<type>_* 函数相关联。保留数据内存xip_statusxip_array_<type>_reserve_data(xip_array_<type>* p,size_t max_nels);

此函数确保数组 p 有足够的空间来存储多达 max_nels 个数据元素。如果当前 data_capacity 不足且当前所有者为零,那么该函数会尝试分配或重新分配空间以满足请求。如果现在有足够的阵列容量,该函数会返回 XIP_STATUS_OK;如果无法分配内存,则会返回 XIP_STATUS_ERROR。注释: 此功能不会以任何方式更改阵列中保存的数据或维度;调用函数后,数组的内容与调用函数之前的内容相同(即使重新分配了内存,也是如此)。此外,此功能永远不会减少内存分配;使用 xip_array_<type>_destroy 来释放内存。

第 6 章: C 模型

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 72

Send Feedback

Page 73: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

保留维度内存xip_statusxip_array_<type>_reserve_dim(xip_array_<type>* p,size_t max_nels);

此函数确保数组 p 有足够的空间存储多达 max_ndims 的维度。如果当前 dim_capacity 不足且当前所有者为零,则该函数尝试分配或重新分配空间以满足请求。如果现在有足够的阵列容量,该函数会返回 XIP_STATUS_OK;如果无法分配内存,则会返回 XIP_STATUS_ERROR。注释: 此功能不会以任何方式更改阵列中保存的数据或维度;调用函数后,数组的内容与调用函数之前的内容相同(即使重新分配了内存,也是如此)。此外,此功能永远不会减少内存分配;使用 xip_array_<type>_destroy 来释放内存。销毁阵列xip_array_<type>*xip_array_<type>_destroy(xip_array_<type>* p);

此函数尝试释放与数组 p 关联的所有内存。如果 owner 字段为零,则该函数释放与数据、dim 和 p 关联的内存,并返回 null 表示成功。如果 owner 为非零值,则函数返回 p,表示失败。

函数sd_fec_v1_1bitacc_cmodel.h 报头文件中提供了 C 模型函数的详细信息。下表对 C 模型函数进行了总结。表 65: C 模型函数

名称 描述xip_sd_fec_v1_1_get_version 获取 C 模型库的版本信息xip_sd_fec_v1_1_create 创建新的模型实例xip_sd_fec_v1_1_reset 复位模型实例xip_sd_fec_v1_1_set_config_params 设置/更改配置参数xip_sd_fec_v1_1_gen_ldpc_spec 从奇偶校验矩阵 (H) 生成 LDPC 规范文件。xip_sd_fec_v1_1_gen_parity_check_mat 从 LDPC 规范文件生成奇偶校验矩阵 (H)。xip_sd_fec_v1_1_gen_ldpc_params 根据码规范生成 LDPC 参数。xip_sd_fec_v1_1_add_ldpc_params 将 LDPC 码添加到模型实例。xip_sd_fec_v1_1_get_num_ldpc_codes 返回添加到模型实例的 LDPC 码数。xip_sd_fec_v1_1_get_ldpc_params 返回指定控制包的 LDPC 参数。xip_sd_fec_v1_1_set_turbo_params 在模型实例上设置 Turbo 参数。xip_sd_fec_v1_1_process 处理码字/块。

第 6 章: C 模型

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 73

Send Feedback

Page 74: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

编译编译用户代码需要访问 sd_fec_v1_1_bitacc_cmodel.h 和 xip_common_bitacc_cmodel.h 报头文件。应将报头文件复制到有编译器的位置。根据所选的位置,可能需要修改编译器的“include”搜索路径。sd_fec_v1_1_bitacc_cmodel.h 报头文件包含 xip_common_bitacc_cmodel.h 报头文件,因此不需要在使用C 模型的源代码中明确包含此文件。

连接要使用 C 模型,必须将用户可执行项连接到适当的目标平台库。

Linux

必须将可执行项连接到以下共享对象库:libIp_sd_fec_v1_1_bitacc_cmodel.so

使用 GCC,通常通过添加以下命令行选项来实现连接:-L. -Wl,-rpath,. -lIp_sd_fec_v1_1_bitacc_cmodel

这里我们假设共享的对象库在当前目录中。如果不是这种情况,则应通过更改 -L. 选项来指定要使用的库搜索路径。使用 GCC,可以使用以下命令来编译和连接提供的示例程序 run_bitacc_cmodel.c:gcc -x c++ -I. -L. -lIp_sd_fec_v1_1_bitacc_cmodel -Wl,-rpath,. -o run_bitacc_cmodel run_bitacc_cmodel.c

zip 文件中包含有示例编译脚本 make_run_bitacc_cmodel.csh。

Windows

必须将可执行项连接到以下动态链接库:libIp_sd_fec_v1_1_bitacc_cmodel.dll

根据编译器,可能还需要导入库:libIp_sd_fec_v1_1_bitacc_cmodel.lib

使用 Microsoft Visual Studio,通常可以通过将导入库添加到“Project Properties”的“Linker”部分的“AdditionalDependencies”条目来实现连接。zip 文件中包含有示例编译脚本 make_run_bitacc_cmodel.bat。

示例run_bitacc_cmodel.c 文件中包含有显示 C 模型基本操作的示例代码。

第 6 章: C 模型

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 74

Send Feedback

Page 75: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

MATLAB 接口MEX 函数和 MATLAB® 软件类用于简化与 MATLAB 的集成。MEX 函数围绕底层 C 模型提供了一个低层封装,而类文件为 MEX 函数提供了一个方便的接口。

编译可提供 MATLAB® MEX 函数的源代码。编译可以在 MATLAB 中通过更改到含此代码且运行make_sd_fec_v1_1_bitacc_mex.m 脚本的目录来完成。

安装要使用 MEX 功能,编译的 MEX 函数必须存在于 MATLAB® 搜索路径中。这可以通过以下任一方法来实现:1. 将编译的 MEX 函数所在的目录添加到 MATLAB 搜索路径(请参阅 MATLAB addpath 函数)。

或者2. 将文件复制到 MATLAB 搜索路径上已有的目录中。与 C 模型的所有用法一样,平台库搜索路径(PATH 或 LD_LIBRARY_PATH)上需要显示正确的 C 模型库。

MATLAB 非类接口下表对 MATLAB® 接口提供的非类函数进行了定义(这些函数不需要模型实例对象)。这类函数直接显示了相应的 C模型 API 函数。可以通过 MATLAB help 命令找到与函数参数相关的详细信息。表 66: C 模型 MATLAB 非类函数

名称 描述gen_ldpc_spec 从奇偶校验矩阵 (H) 生成 LDPC 规范文件。gen_parity_check_mat 从 LDPC 规范文件生成奇偶校验矩阵 (H)。

MATLAB 类接口@sd_fec_v1_1_bitacc 类处理 C 模型上的“create/destroy”语义。该类为每个数据、配置和控制结构提供对象,为 C 模型进行定义并在类型和结构中进行阐述。可以通过 MATLAB® help 命令找到与函数参数相关的详细信息。表 67: C 模型 MATLAB 类函数

名称 描述get_version 获取库的版本信息reset 复位模型set_config_params 设置/更改配置参数

第 6 章: C 模型

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 75

Send Feedback

Page 76: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

表 67: C 模型 MATLAB 类函数 (续)

名称 描述add_ldpc_params 将 LDPC 码添加到模型实例。set_turbo_params 在模型的实例上设置 Turbo 参数。process 处理码字/块。

第 6 章: C 模型

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 76

Send Feedback

Page 77: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

第 7 章

示例设计有两种可用的示例设计。默认情况下,SD-FEC 核生成一个包含有 IP 实例和示例测试平台的仅仿真示例设计。由于默认的示例设计仅包含 IP 实例,不应该应用于综合或实现。在 IP 定制期间可以选择基于可选处理器 (PS) 的示例设计。有关更多信息,请参见“Example Design”标签。PS 示例设计可用于生成比特流。生成后,要打开示例设计,右键单击工程管理器中的 IP 实例,然后单击“Open Example Design”。

相关信息“Example Design”标签

仅仿真示例设计IP 示例测试平台 <component_name>_tb,可通过激励来实例化 IP 实例和驱动每个 AXI4-Stream 接口。如果显示了AXI4-Lite 参数接口,则说明这是使用为 IP 实例指定的配置进行编程的。接口的数据流量是通过两个数据传输日志(一个用于 AXI4-Stream 接口,另一个用于 AXI4-Lite 参数接口)提供到测试平台的。数据传输日志在示例设计生成期间输出,包含特定于 IP 实例的激励。这些日志会被添加到示例设计工程中。AXI4-Stream 数据传输日志还可以通过 C Model 示例应用来生成,并允许进一步对激励进行定义。这些数据传输日志是在自定义期间定义的,每个 LDPC 码包含一个块的数据流量,最多有三个块。其顺序与代码在自定义期间进行定义时的顺序相对应。有关代码枚举方面的信息,请参阅下面的链接。

图 10: 示例测试平台

Core Instance – DUT

AXI4-LiteTransaction

Log

AXI4-StreamTransaction

Log

S_AXI

S_AXIS_CTRL

S_AXIS_DIN_WORDS

S_AXIS_DOUT_WORDS

S_AXIS_DIN

AXI4-StreamSink

M_AXIS_STATUS

M_AXIS_DOUT

AXI4-LiteSource

AXI4-StreamSource

AXI4-StreamSource

AXI4-StreamSource

AXI4-StreamSource

AXI4-StreamSink

<component_name>_tb

X19011-110218

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 77

Send Feedback

Page 78: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

相关信息C 模型“LDPC Code Analysis”标签

基于处理器的示例设计基于处理器子系统 (PS) 的示例设计可构建用于实现误码率 (BER) 测试器的演示系统(包括测量吞吐量和时延的能力),还可生成并编译(可选)示例处理器应用。该示例处理器应用可设置和控制 BER 测试并演示如何通过底层裸机驱动来配置 SD-FEC IP 核。

相关信息SD-FEC 底层裸机驱动

第 7 章: 示例设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 78

Send Feedback

Page 79: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

硬件图 11: 原理图

Processor

Monitor

Data Source

Monitor

Source Data FIFO

SD-FEC Encoder

EncodedData FIFO

Modulation and Channel

Demodulation

SD-FEC Decoder

Statistics

Monitor

Monitor

Error Data FIFO

X20568-120618

简介该系统实现了支持 BPSK、QPSK、QAM-16 和 QAM-64 调制的 AWGN (加性高斯白噪声)信道。它包括一个可选的编码器 IP 实例和其他监控块,用于测量编码器和解码器 IP 实例的吞吐量和时延。该设计使用了三个时钟:处理器时钟 (100 MHz)、系统时钟 (300 MHz) 和 SD-FEC IP 时钟 (667 MHz)。• Data Source: 用于生成随机数据和控制包。以系统时钟速率为每个输出数据传输生成 128 位源数据。• Source Data FIFO: “Statistics”块将消耗的缓存源数据(K 位),16k x 128 位。• Encoded Data FIFO: 缓存器在调制之前的编码数据(N 位),32k x 96 位。

第 7 章: 示例设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 79

Send Feedback

Page 80: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

• Modulation & Channel: 实现 QAM 调制和 AWGN 信道。该块以系统时钟速率接受每输入数据传输 96 位的编码硬比特。它以系统时钟速率输出 4 x I/Q 个符号,最大信道吞吐量为 4 x 6 位 (QAM-64) x 300 MHz = 7.2 Gb/s。

• Demodulation: 实现对数似然比 (LLR) 解调器。它还输出用来确定信道错误的硬比特。• Statistics: 计算信道和未校正的位和块的错误率以及解码器迭代计数。• Monitor: 监控 AXI4-Stream 数据接口,记录一个组中第一个和最后一个代码块的时间戳。监控块使用共享计数器的

输出作为时间戳值。监控块允许系统测量编码器和解码器 IP 实例的吞吐量和时延。应该注意的是,通常情况下,编码器的吞吐量比解码器的吞吐量高得多。编码数据 FIFO 允许对编码数据进行缓存,但是如果它被充满,则编码器 IP 会被限制。因此,为了测量编码器的吞吐量,应该限制通过系统运行的代码块的数量,使得编码数据 FIFO 不填充。

参数硬件设计支持下表中的配置参数。这些参数是由示例应用设置的。表 68: 示例设计参数

参数 描述非 5G NR 控制Code 选择要使用的 LDPC 码 ID 或 Turbo 解码块大小5G 控制 1

z_j 提升因子z_set 基图循环移位集bg 基本图形mb 奇偶校验位数sc_idx 比例因子索引,仅在指定了“Normalized Min-Sum algorithm”时可用。常见控制max_iter 指定最大解码迭代次数term_on_pass 指定解码应在奇偶校验传递时终止。BER

num_blocks 指定要在数据路径中运行的代码块的数量。snr 指定 AWGN 信噪比 (SNR),-12 dB - 16 dB (量化为 Fix17_11)。mod_type 调制类型:

0 = BPSK1 = QPSK2 = QAM163 = QAM64

zero_data 指定源数据应全为零,而不是随机数据。请注意,当编码器实例未包含在设计中时,它会总是使用零数据。skip_channel 指定不应应用信道噪声。注释:1. 如需了解更多详情,请参见“控制输入总线端口”。

相关信息控制输入端口 (CTRL)

第 7 章: 示例设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 80

Send Feedback

Page 81: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

示例设计统计数据下表中的统计数据由设计捕获。表 69: 示例设计统计数据

统计数据 描述统计数据块raw_berr 信道位错误计数raw_blerr 信道块错误计数cor_berr 解码后未校正的位错误计数cor_blerr 解码后未校正的块错误计数iter_cnt 解码迭代次数监控块 1

first 通过系统运行的第一个代码块的最后一个数据传输 (tlast = 1) 的时间戳(计数器值)last 通过系统运行的最后一个代码块的最后一个数据传输 (tlast = 1) 的时间戳(计数器值)stalled 当下游 IP 已取消对 tready 的断言导致上游 IP 被限制时的系统时钟周期数,即 tvalid 为高并且 tready 为低。注释:1. 每个实例都重复;编码器 I/P、编码器 O/P、解码器 I/P 和解码器 O/P。

软件示例处理器应用用于设置和控制 BER 测试硬件,并演示如何使用底层裸机驱动来配置 SD-FEC IP 实例。应用文件将输出到示例设计工程中的 sw 目录。在示例设计生成期间还会输出用于生成示例应用的软件开发套件 (SDK)工程的 Tcl 脚本,并将其放置在工程的根目录中。通过单击 Vivado® IDE 的“Example Design”标签的“Build SDKProject”选项,可以在示例设计生成期间选择性地运行此选项。该脚本可以使用赛灵思软件命令行工具 xsct 手动运行:xsct -no-ini build_ps_example_app.tcl

使用 MicroBlaze™ 处理器构建设计时,可以将生成的应用二进制文件(ELF 文件)导入到示例设计工程中,并用来仿真整个系统。以下 Vivado Tcl 命令可将生成的 ELF 文件导入到示例设计工程中:add_files -norecurse <ipinst>_ex.sdk/example_app/Release/example_app.elfadd_files -fileset sim_1 -norecurse <ipinst>_ex.sdk/example_app/Release/example_app.elfset_property SCOPED_TO_REF ps_example [get_files -all-of_objects [get_fileset sources_1] <ipinst>_ex.sdk/example_app/Release/example_app.elf]set_property SCOPED_TO_CELLS { microblaze_ps } [get_files -all-of_objects [get_fileset sources_1] <ipinst>.sdk/example_app/Release/example_app.elf]set_property SCOPED_TO_REF ps_example [get_files -all-of_objects [get_fileset sim_1] <ipinst>_ex.sdk/example_app/Release/example_app.elf]set_property SCOPED_TO_CELLS { microblaze_ps } [get_files -all-of_objects [get_fileset sim_1] <ipinst>_ex.sdk/example_app/Release/example_app.elf]

第 7 章: 示例设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 81

Send Feedback

Page 82: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

请注意,如果单击“Build SDK Project”选项,则这些步骤将作为示例设计生成的一部分来执行。

相关信息SD-FEC 底层裸机驱动

第 7 章: 示例设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 82

Send Feedback

Page 83: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

应用总结图 12: 应用流程图

Start

Initialize All Devices

Set Static Tester and Encoder/Decoder Parameters

Parameters Changed?

Update Encoder and Decoder Parameters

Update Tester Parameters

Start Tester

Test Complete?

Fetch and Output Results

Interactive Mode?

Get New Parameters

FinishNo

Yes

Yes

No

No

Yes

X20497-110218

上图中的流程图显示了基本的应用行为。应用细节会因为 SD-FEC IP 核和示例设计指定的配置不同而有所不同。默认情况下,此应用已定义了 NO_IO 宏,因而禁用了交互功能。此宏应该被删除才能启用 stdin 和 stdout 功能。

第 7 章: 示例设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 83

Send Feedback

Page 84: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

由于硬件设计不包括独立的 UART 器件,也不能启用 PS UART,所以 SDK 工程被配置为使用 MicroBlaze™ 或CoreSight™ 来调试 stdin 和 stdout。一旦启用交互功能,设计实例参数表中定义的所有参数都可以用 UART 终端来更新。当参数可以被更新且可以运行重复测试时,一个基本的菜单系统就实现了。

相关信息参数

第 7 章: 示例设计

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 84

Send Feedback

Page 85: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

附录 A

升级本附录不适用于核的第一个版本。

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 85

Send Feedback

Page 86: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

附录 B

调试本附录包含有关赛灵思支持网站和调试工具上可用资源的详细信息。

在 Xilinx.com 上寻求帮助为了能在使用核时帮助设计和调试进程,赛灵思支持网页上提供了大量关键资源,如产品文档、版本说明、答案记录、已知问题相关信息以及如何获取进一步产品支持的链接。赛灵思社区论坛还可供会员学习、参与、分享和提出与赛灵思解决方案相关的问题。

文档本产品指南是与核相关的主要文件。本指南以及与所有有助于设计进程的产品相关的文档可以在赛灵活思支持网页上找到,也可以通过®赛灵思 Documentation Navigator 找到。从下载页面下载赛灵思 Documentation Navigator。如需了解此工具和可用功能的详细信息,请在安装后打开联机帮助。

技术支持如果按产品文档中的说明使用 LogiCORE™ IP 产品,赛灵思会为赛灵思社区论坛提供此产品的技术支持。如果您执行以下任何操作,赛灵思都无法保证时间、功能或支持:• 在文档中未定义的器件中实施解决方案。• 在超出产品文档中允许的范围定制解决方案。• 更改标记有“DO NOT MODIFY”的设计的任何部分。如需提问,请导航至赛灵思社区论坛。

调试工具有许多工具可用于解决 SD-FEC Integrated Block 设计问题。至关重要的是要了解哪些工具可用于调试各种情况。

Vivado Design Suite 调试特性Vivado® Design Suite 调试功能可以将逻辑分析器和虚拟 I/O 核直接插入到您的设计中。调试功能还让您可以设置触发条件,以便于在硬件中捕获应用和集成块端口信号。之后便可以对捕获的信号进行分析了。Vivado IDE 中的这个功能用来对在赛灵思器件中运行的设计进行逻辑调试和验证。

附录 B: 调试

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 86

Send Feedback

Page 87: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

Vivado 逻辑分析器用于与逻辑调试 LogiCORE IP 核交互,包括:• ILA 2.0 (及更高版本)• VIO 2.0 (及更高版本)请查阅《Vivado Design Suite 用户指南:编程和调试》 (UG908)。

仿真调试Mentor Graphics Questa Advanced Simulator 的仿真调试流程如下图所示。类似的方法可用于其他模拟器。

附录 B: 调试

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 87

Send Feedback

Page 88: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

图 13: 示例设计设计流程图

Questa Advanced SimulatorSimulation Debug

Check for the latest supported versions of Questa Advanced Simulator in the

Release Notes Guide.Is this version being used?

Update to this version.

If using VHDL, do you have a mixed-mode simulation license.

Obtain a mixed-mode simulation license.

No

No

Does simulating the Example Design give the expected output?

See the Example Design section for further details.

Yes

Do you get errors referring to failing to access the library?

Compile and map the proper libraries.

Yes

Yes

Yes

No

No

Confirm SD-FEC interfaces are being exercised.Example Testbench: - Check Simulation log for corresponding packet

transmitted and packet received reports. - Check transaction logs have been loaded and correspond

to the SD-FEC instance being tested.Processor Example Design: - Confirm selected processor is MicroBlaze. The Zynq

UltraScale+ RFSoC processor cannot be simulated. - Confirm Example Application ELF has been imported to the

Vivado project and associated with the MicroBlaze instance. The mb_bootloop_le.elf does not exercise the example design.

SecureIP models are used to simulate the SD-FEC.To use these models, a Verilog LRM-IEEE 1364-2005 encryption-compliant simulator is required.

A Verilog license is required to simulate with the SecureIP models.If the user design uses VHDL, a mixed-mode simulation license is required.

The SD-FEC example design reports “Test completed successfully” if the simulation is successful.

If the libraries are not compiled and mapped correctly, it will cause errors such as:#** Error: (vopt-19) Failed to access library ‘secureip’ at “secureip”.# No such file or directory(errno = ENOENT)

X19281-120618

附录 B: 调试

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 88

Send Feedback

Page 89: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

硬件调试硬件问题各不相同,可能是链接开启问题,也可能是测试数小时后才能注意到的问题。本节提供了常见问题的调试步骤。Vivado® 调试功能是可用于硬件调试的宝贵资源。可以通过调试功能来探测以下各个部分中提到的信号名称,以便对特定问题进行调试。

一般检查默认情况下,SD-FEC 核生成一个包含有 IP 实例和示例测试平台的仅仿真示例设计。由于默认的示例设计仅包含核实例,因此不应该应用于综合或实现。• 确保核的所有时序约束都正确地包含在示例设计中,并在实现期间满足所有约束条件。• 它是否适用于后置仿真和路径时序仿真?如果在硬件中看到问题但在时序仿真中没有出现问题,则可能表示存在

PCB 问题。确保所有时钟源都干净且处于活动状态。• 如果在设计中使用 MMCM,请通过监控 locked 端口确保所有 MMCM 都已被锁定。核支持 BYPASS 功能。此函数执行相同的操作(因此采用相同的循环次数,但无需改变输入和输出之间的数据)。

接口调试AXI4-Lite 接口在其中一个寄存器中写入指令(例如,核参数寄存器 AXI_WR_PROTECT)并读回一个值。从默认值非全零的寄存器中读取数据,以验证接口运行正常。读取地址有效时,输出 s_axi_arready 将置位,读取数据/响应有效时,输出 s_axi_rvalid 会置位。如果接口没有响应,请确保满足以下条件:• s_axi_aclk 和 core_clk 输入已连接且在正常工作。• 核没有在复位模式;reset_n 显示为低电平有效。• 如果仿真已运行,请在仿真和/或调试功能捕获过程中验证波形正确且以访问 AXI4-Lite 接口。

AXI4-Stream 接口• 检查所有接口时钟是否已连接且在正常工作,而且核没有保持在复位状态(也就是说,reset_n 为"Low")。• 确保接口已启用(使用 AXIS_ENABLE 寄存器)。• 如果 s_axis_din_tready 输出为"Low",确保 CTRL 输入和 DIN_WORDS 输入已应用,并且接口已通过 AXI4-

Lite 参数接口被启用。• 如果没有来自 DOUT 的输出(也就是说,s_axis_dout_tvalid 总是为“Low”,即使在 CTRL、DIN_WORDS 和

DIN 上输入完整的块之后也是如此),请检查是否已通过 DOUT_WORDS 接口给了输入。• 检查是否遵循了 AXI4-Stream 波形。• 检查核配置。

附录 B: 调试

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 89

Send Feedback

Page 90: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

相关信息AXIS_ENABLE 寄存器 (0x10)AXI4-Stream 接口

附录 B: 调试

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 90

Send Feedback

Page 91: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

附录 C

SD-FEC 底层裸机驱动简介

本章介绍 SD-FEC Integrated Block 集成模块的裸机 API。驱动由以下文件组成:• API 接口• ○ xsdfec.c:用户接口 API 将在此文件中实现。

○ xsdfec.h:此文件用于提供用户接口 API 原型。此文件提供驱动实例结构的原型以及 API 中使用的所有其他结构。

○ xsdfec_sinit.c:器件的初始化函数。• 硬件寄存器映射

○ xsdfec_hw.h:此文件中提供了硬件寄存器映射和字段掩码的定义。• 器件配置

○ x<ipinst_name>_turbo_params.h:此报头文件用来定义从硬件构建导出的器件/IP 实例特定的 Turbo 解码配置参数。仅当为 Turbo 解码配置 IP 实例了时才会生成此文件。

○ x<ipinst_name>_<code_id>_params.h:此报头文件用来定义从硬件构建派生的器件/IP 实例特定的LDPC 配置参数;每个指定的 LDPC 码一个报头。仅当为 LDPC 解码或编码配置了 IP 实例时,系统才会生成此文件。

初始化和配置此驱动会使用 XSdFec_Config 结构来配置为本器件定义的模式和接口。这个配置结构是由基于硬件构件属性的工具链创建的。可以使用以下方法之一来初始化驱动实例:• “XSdFecInitialize(InstancePtr, DeviceId)” - 驱动会根据工具链提供的 ID 来查找由工具链创建的自身配置结构。• “XSdFecCfgInitialize(InstancePtr, CfgPtr” - 用于使用程序调用者提供的配置结构。在生成板级支持包期间会生成一个或多个特定于器件的报头,进而提供进一步的配置参数。当器件配置为 Turbo 解码时,报头 x<ipinst_name>_turbo_params.h 中有一个由系统插入的xsd_fec_turbo_parameters 结构来匹配相应的 Vivado® IDE 配置。当器件配置为 LDPC 时,在相应的 Vivado® IDE 上指定的每个 LDPC 码,都会有一个报头生成:x<ipinst_name>_<code_id>_params.h。每个标头都会定义一个插入了相应 LDPC 码所需配置数据的xsd_fec_ldpc_parameters 结构。

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 91

Send Feedback

Page 92: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

重要提示! 当 IP 核配置为支持 5G NR 标准时,由于 IP 核会直接支持 5G NR 代码,因此不会生成报头文件。

这样,特定于器件的参数即可用来对每个 SD-FEC 器件进行配置以匹配硬件构建了。

数据结构驱动使用的所有数据结构都定义在 xsdfec.h 在文件中。

struct XSdFec_Config器件配置信息u16 DeviceId // Device IDUINTPTR BaseAddress // Device base addressu32 Standard // Device standard u32 Initialization[4] // Device initialization

struct XSdFec器件状态信息UINTPTR BaseAddress // Device base addressu32 IsReady // Indicates IsReady following initializationu32 Standard // Device standardu32 SCOffset[128] // SC table offset lookup for each LDPC code ID, updated by XSdFecAddLdpcParamsu32 LAOffset[128] // LA table offset lookup for each LDPC code ID, updated by XSdFecAddLdpcParamsu32 QCOffset[128] // QC table offset lookup for each LDPC code ID, updated by XSdFecAddLdpcParams

struct XSdFecLdpcParametersLDPC 参数。预知完整详情,请查阅下面的链接。u32 N // Number of codeword bits u32 K // Number of information bitsu32 Psize // Size of sub-matrixu32 NLayers // Number of layers in codeu32 NQC // Number of entries in the QC tableu32 NMQC // Specifies soft-data memory requirements u32 NM // Specifies soft-data memory requirementsu32 NormType // Normalization typeu32 NoPacking // QC operation packingu32 NoFinalParity // Skip final parityu32 MaxSchedule // Scheduling control parameteru32* SCTable // Pointer to scale table arrayu32* LDTable // Pointer to layer table arrayu32* QCTable // Pointer to QC table array

附录 C: SD-FEC 底层裸机驱动

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 92

Send Feedback

Page 93: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

相关信息LDPC 码参数

struct XSdFecTurboParametersTurbo 解码参数。如需了解详情,请参阅“Turbo Code Parameters”部分。u8 Alg // Turbo algorithmu16 Scale // Turbo scale factor

相关信息Turbo 码参数寄存器 (0x100)

struct XSdFecInterruptClass中断分类与恢复操作u8 Intf // Triggered due to interface or control error (ISRu8 ECCSBit // Triggered due to single-bit ECC error (ECC_ISR)u8 ECCMBit // Triggered due to two-bit ECC error (ECC_ISR)u8 RstReq // Device requires reset u8 ReprogReq // Device requires LDPC codes reprogrammedu8 ReCfgReq // FPGA requires reprogrammed

用户 API用户 API 将在源文件 xsdfec.c 中实现。其原型在报头文件 xsdfec.h 中已提供。

XSdFecInitialize

函数原型设计int XSdFecInitialize(XSdFec *InstancePtr, u16 DeviceId);

参数• XSdFec *InstancePtr: 指向器件实例的状态结构的指针。• u16 DeviceId: 待初始化的器件的 ID。描述初始化指定的 SD-FEC 器件并插入器件的状态结构。合并 XSdFecLookupConfig 和 XSdFecCfgInitialize。

返回値XST_SUCCESS

附录 C: SD-FEC 底层裸机驱动

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 93

Send Feedback

Page 94: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

XST_FAILURE

XSdFecLookupConfig

函数原型设计XSdFec_Config* XSdFecLookupConfig(u16 DeviceId);

参数• u16 DeviceId: 要查找的器件的 ID。描述返回指定器件的器件配置结构。

返回値指向器件配置的指针。

XSdFecCfgInitialize

函数原型设计int XSdFecCfgInitialize(XSdFec *InstancePtr, XSdFec_Config *ConfigPtr);

参数• XSdFec *InstancePtr: 指向器件实例的状态结构的指针。• XSdFec_Config *ConfigPtr: 指向器件配置结构的指针。描述初始化由提供的配置结构指定的 SD-FEC 器件,并插入器件状态结构。

返回値XST_SUCCESS

XST_FAILURE

XSdFecSetTurboParams

函数原型设计void XSdFecSetTurboParams(XSdFec *InstancePtr, const XSdFecTurboParameters* ParamsPtr);

附录 C: SD-FEC 底层裸机驱动

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 94

Send Feedback

Page 95: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

参数• XSdFec *InstancePtr: 指向器件实例的状态结构的指针。• XSdFecTurboParameters* ParamsPtr: 指向 Turbo 参数的指针。描述在指定的器件实例上设置 Turbo 解码参数。

返回値不适用

XSdFecAddLdpcParams

函数原型设计void XSdFecAddLdpcParams(XSdFec * InstancePtr, u32 CodeId, u32 SCOffset, u32 LAOffset, u32 QCOffset, const XSdFecLdpcParameters* ParamsPtr);

参数• XSdFec * InstancePtr: 指向器件实例状态结构的指针• u32 CodeId: 用于指定 LDPC 码的码号• u32 SCOffset: 用于指定 LDPC 码的比例表偏移量• u32 LAOffset: 用于指定 LDPC 码的 LA 表偏移量• u32 QSCOffset: 用于指定 LDPC 码的 QC 表偏移量• XSdFecLdpcParameters* ParamsPtr: 指向 LDPC 码参数结构的指针描述使用指定的 CodeId 更新 LDPC 码参数寄存器和共享表,并使用指定的参数进行偏移。给定 XSdFec 实例结构中的偏移数组是使用为指定的 CodeId 提供的偏移量进行更新的。重要提示! 当器件/IP 配置为支持 5G NR 标准时,IP 直接支持 5G NR 代码,且无需在运行时添加代码。如果在配置为支持 5G NR 标准的实例上使用此函数,则会生成激活。

返回値不适用

XSdFecShareTableSize

函数原型设计void XSdFecShareTableSize(const XSdFecLdpcParameters* ParamsPtr, u32* SCSizePtr, u32* LASizePtr, u32* QCSizePtr)

附录 C: SD-FEC 底层裸机驱动

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 95

Send Feedback

Page 96: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

参数• XSdFecLdpcParameters*: ParamsPtr:指向要查询的 LDPC 码的参数 struct 的指针• u32* SCSizePtr: 指向变量的指针,用于插入指定 LDPC 码的有效比例表的大小• u32* LASizePtr: 指向变量的指针,用于插入指定 LDPC 码的有效 LA 表的大小• u32* QCSizePtr: 指向变量的指针,用于插入指定 LDPC 码的有效 QC 表的大小描述使用指定 LDPC 码占用的有效表的大小来插入 SCSizePtr、LASizePtr 和 QCSizePtr 变量。这些值可用于增加表偏移量。

返回値不适用

XSdFecInterruptClassifier

函数原型设计XSdFecInterruptClass XSdFecInterruptClassifier(XSdFec *InstancePtr)

参数• XSdFec * InstancePtr: 指向器件实例的状态结构的指针。描述查询中断状态的寄存器并对中断进行分类并报告恢复操作。

返回値用于定义中断类和恢复操作的中断类结构。

基本 API为 SD-FEC IP 定义的所有单个寄存器和字段提供设置和获取函数。XSdFecAddLdpcParams 抽取了 SD-FEC 器件的配置,但主器件控制是使用基本 API 完成的,例如,接口启用和中断配置。预知完整详情,请查阅下面的链接。请注意,字段级的集函数使用 read-modify-write。基本 API 函数采用以下形式。

函数原型设计void XSdFecSet_<register_name>(UINTPTR BaseAddress, u32 Data);void XSdFecSet_<register_name>_<field_name>(UINTPTR BaseAddress, u32 Data);u32 XSdFecGet_<register_name>(UINTPTR BaseAddress);u32 XSdFecGet_<register_name>_<field_name>(UINTPTR BaseAddress);

附录 C: SD-FEC 底层裸机驱动

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 96

Send Feedback

Page 97: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

参数• “XSdFec *InstancePtr”:指向器件实例状态结构的指针。• “u32 data”:要写入寄存器或字段的数据。返回値从寄存器或字段读取的值。

相关信息寄存器空间用核设计

中断处理SD-FEC 底层裸机驱动不实现任何特定于器件的中断处理函数,但确实提供了一个辅助函数XSdFecInterruptClassifier,以在中断发生后对其进行分类并报告相应的恢复操作。通用中断处理例程应该用于服务连接到 SD-FEC 器件的中断,然后可以调用 XSdFecInterruptClassifier 函数来确定如何从中断中恢复。

示例SD-FEC IP 实例输出的基于处理器的示例设计还包括一个可演示软件驱动基本用例的示例应用。以下示例是示例应用的摘录。

应用#include "xsd_fec_dec_docsis_short_params.h" // Extract include below#include "xsd_fec_dec_docsis_medium_params.h"#include "xsd_fec_dec_docsis_long_params.h"

const unsigned int NUM_LDPC_CODES = 3;const XSdFecLdpcParameters* dec_codes[NUM_LDPC_CODES] = { &xsd_fec_dec_docsis_short_params, &xsd_fec_dec_docsis_medium_params, &xsd_fec_dec_docsis_long_params};

int main() {

// SD FEC instance XSdFec dec;

// Initialize SD-FEC instance XSdFecInitialize(&dec, XPAR_SD_FEC_DEC_DEVICE_ID);

// Add LDPC code parameters XSdFecAddLdpcParams(&dec,0,0,0,0,dec_codes[0]);

附录 C: SD-FEC 底层裸机驱动

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 97

Send Feedback

Page 98: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

// Set up SD-FEC core parameters XSdFecSet_CORE_ORDER(dec.BaseAddress,0); // In-order termination XSdFecSet_CORE_AXIS_ENABLE(dec.BaseAddress,63); // Enable all I/Fs return 0;

}

xsdfec_dec_docsis_short_params.hxsdfec_dec_docsis_short_params.h

#ifndef XSDFEC_DEC_DOCSIS_SHORT_PARAMS_H#define XSDFEC_DEC_DOCSIS_SHORT_PARAMS_H#include "xsdfec.h"

const u32 xsd_fec_dec_docsis_short_sc_table_size = 2;u32 xsd_fec_dec_docsis_short_sc_table[2] = { 0x0000cccc, 0x0000000c};const u32 xsd_fec_dec_docsis_short_la_table_size = 5;u32 xsd_fec_dec_docsis_short_la_table[5] = { 0x00001007, 0x00001107, 0x00001008, 0x00001207, 0x00001007};const u32 xsd_fec_dec_docsis_short_qc_table_size = 82;u32 xsd_fec_dec_docsis_short_qc_table[82] = { 0x00020500, 0x00010000, 0x00020c02, ... 0x00040e12, 0x00068113};XSdFecLdpcParameters xsd_fec_dec_docsis_short_params = { 0x00000460, // N 0x00000348, // K 0x00000038, // P 0x00000005, // NLayers 0x00000052, // NQC 0x0000002c, // NMQC 0x0000000a, // NM 0x00000001, // NormType 0x00000000, // NoPacking 0x00000000, // SpecialQC 0x00000000, // NoFinalParity 0x00000000, // MaxSchedule &xsd_fec_dec_docsis_short_sc_table[0], &xsd_fec_dec_docsis_short_la_table[0], &xsd_fec_dec_docsis_short_qc_table[0]};

#endif

附录 C: SD-FEC 底层裸机驱动

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 98

Send Feedback

Page 99: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

附录 D

附加资源与法律提示

赛灵思资源如需了解答复记录、技术文档、下载以及论坛等支持性资源,请参阅赛灵思技术支持。

Documentation Navigator 与设计中心赛灵思 Documentation Navigator (DocNav) 提供了访问赛灵思文档、视频和支持资源的渠道,您可以在其中筛选搜索信息。打开 DocNav 的方法:• 在 Vivado® IDE 中,单击“Help → Documentation and Tutorials”。• 在 Windows 中,单击“Start → All Programs → Xilinx Design Tools → DocNav”。• 在 Linux 命令提示中输入“docnav”。赛灵思设计中心提供了根据设计任务和其他话题整理的文档链接,您可以使用链接了解关键概念以及常见问题解答。访问设计中心:• 在 DocNav 中,单击“Design Hub View”标签。• 在赛灵思网站上,查看设计中心页面。注释: 如需了解更多有关 DocNav 的信息,请参阅赛灵思网站上的 Documentation Navigotor。

参考资料以下技术文档是本指南非常实用的补充材料:1. 《AMBA AXI and ACE Protocol Specification》 (ARM IHI0022E)

2. 《Zynq UltraScale+ RFSoC 数据手册:简介》 (DS889)

3. 《Vivado Design Suite 用户指南:采用 IP 集成器设计 IP 子系统》 (UG994)

4. 《Vivado Design Suite 用户指南:采用 IP 进行设计》 (UG896)

5. 《Vivado Design Suite 用户指南:着手设计》 (UG910)

6. 《Vivado Design Suite 用户指南:逻辑仿真》 (UG900)

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 99

Send Feedback

Page 100: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

7. 《Vivado Design Suite 用户指南:编程和调试》 (UG908)

8. 《Vivado Design Suite 用户指南:实现》 (UG904)

9. 《AMBA AXI4-Stream Protocol Specification》 (ARM IHI 0051A)

10. 《Vivado Design Suite:AXI 参考指南》 (UG1037)

11. 《3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR; Multiplexing andchannel coding (Release 15)》 (3GPP Std TS 38.212 V15.0.0)

12. 《Data-Over-Cable Service Interface Specifications DOCSIS 3.1, Physical Layer Specification》 (DOCSIS 3.1)

13. 《IEEE Standard for Information technology - Local and Metropolitan area Network Standards》 (IEEE Std 802.11)

14. 《3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved UniversalTerrestrial Radio Access (E-UTRA); Multiplexing and channel coding (Release 15)》 (3GPP Std TS 36.212 V15.0.1)

修订历史下表列出了本文档的修订历史。

章节 修订总结2018 年 12 月 5 日 1.1 版

吞吐量和时延 删除了表格并在 Web 上添加了指向吞吐量和时延以及 BER 图表的链接。BER 性能 删除了表格并在 Web 上添加了指向 BER 图表的链接。

2018 年 4 月 30 日 1.1 版SD-FEC IP 核的布局位置指南 更新了布局指南。“Runtime Loading”标签 添加了物理利用率和不推荐使用的参数。IP 相关信息 添加了指向 SD-FEC Linux 驱动的链接。

2018 年 4 月 30 日 1.1 版更新了文档中的元数据。 不适用

2018 年 4 月 4 日 1.1 版初始赛灵思版本。 不适用

请阅读:重要法律提示本文向贵司/您所提供的信息(下称“资料”)仅在对赛灵思产品进行选择和使用时参考。在适用法律允许的最大范围内:(1)资料均按“现状”提供,且不保证不存在任何瑕疵,赛灵思在此声明对资料及其状况不作任何保证或担保,无论是明示、暗示还是法定的保证,包括但不限于对适销性、非侵权性或任何特定用途的适用性的保证;且(2)赛灵思对任何因资料发生的或与资料有关的(含对资料的使用)任何损失或赔偿(包括任何直接、间接、特殊、附带或连带损失或赔偿,如数据、利润、商誉的损失或任何因第三方行为造成的任何类型的损失或赔偿),均不承担责任,不论该等损失或者赔偿是何种类或性质,也不论是基于合同、侵权、过失或是其他责任认定原理,即便该损失或赔偿可以合理预见或赛灵思事前被告知有发生该损失或赔偿的可能。赛灵思无义务纠正资料中包含的任何错误,也无义务对资料或产

附录 D: 附加资源与法律提示

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 100

Send Feedback

Page 101: Soft-Decision FEC I ੮tegrated Block v1.1 ഊLogiCORE IP 产品指 … · 2020-06-27 · Soft-Decision FEC Integrated Block LogiCORE IP 产品指南 Vivado Design Suite PG256 (v1.1)

品说明书发生的更新进行通知。未经赛灵思公司的事先书面许可,贵司/您不得复制、修改、分发或公开展示本资料。部分产品受赛灵思有限保证条款的约束,请参阅赛灵思销售条款:https://china.xilinx.com/legal.htm#tos;IP 核可能受赛灵思向贵司/您签发的许可证中所包含的保证与支持条款的约束。赛灵思产品并非为故障安全保护目的而设计,也不具备此故障安全保护功能,不能用于任何需要专门故障安全保护性能的用途。如果把赛灵思产品应用于此类特殊用途,贵司/您将自行承担风险和责任。请参阅赛灵思销售条款:https://china.xilinx.com/legal.htm#tos。

关于与汽车相关用途的免责声明如将汽车产品(部件编号中含“XA”字样)用于部署安全气囊或用于影响车辆控制的应用(“安全应用”),除非有符合 ISO 26262 汽车安全标准的安全概念或冗余特性(“安全设计”),否则不在质保范围内。客户应在使用或分销任何包含产品的系统之前为了安全的目的全面地测试此类系统。在未采用安全设计的条件下将产品用于安全应用的所有风险,由客户自行承担,并且仅在适用的法律法规对产品责任另有规定的情况下,适用该等法律法规的规定。

商标© Copyright 2018 赛灵思公司版权所有。Xilinx、赛灵思标识、Alveo、Artix、ISE、Kintex、Spartan、Versal、Virtex、Vivado、Zynq 本文提到的其它指定品牌均为赛灵思在美国及其它国家的商标。 “AMBA”、“AMBADesigner”、“Arm”、“ARM1176JZ-SV”、“CoreSight”、“Cortex”、“PrimeCell”、“Mali”和“MPCore”为 Arm Limited 在欧盟及其它国家的注册商标。 所有其它商标均为各自所有方所属财产。

附录 D: 附加资源与法律提示

PG256 (v1.1) 2018 年 12 月 5 日 china.xilinx.comSD-FEC Integrated Block 101

Send Feedback