英特尔LOGO

英特尔 4G Turbo-V FPGA IP

intel-4G-Turbo-V-FPGA-IP-产品

关于 4G Turbo-V 英特尔® FPGA IP

前向纠错 (FEC) 信道代码通常可以提高无线通信系统的能效。 Turbo 码适用于 3G 和 4G 移动通信(例如,在 UMTS 和 LTE 中)和卫星通信。 您可以在其他应用程序中使用 Turbo 代码,这些应用程序需要在存在数据损坏噪声的情况下通过带宽或延迟受限的通信链路进行可靠的信息传输。 4G Turbo-V 英特尔® FPGA IP 包括用于 vRAN 的下行链路和上行链路加速器,并包含 Turbo 英特尔 FPGA IP。 下行链路加速器以奇偶校验信息的形式向数据添加冗余。上行链路加速器利用冗余来纠正合理数量的信道错误。

相关信息

  • Turbo 英特尔 FPGA IP 用户指南
  • 3GPP TS 36.212 版本 15.2.1 第 15 版

4G Turbo-V 英特尔 FPGA IP 特性

下行链路加速器包括:

  • 代码块循环冗余码 (CRC) 附件
  • 涡轮编码器
  • 涡轮速率匹配器:
    • 子块交织器
    • 位收集器
    • 位选择器
    • 位修剪器

上行链路加速器包括:

  • 子块解交织器
  • 带 CRC 校验的 Turbo 解码器

英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。

4G Turbo-V 英特尔 FPGA IP 设备系列支持

英特尔为英特尔 FPGA IP 提供以下设备支持级别:

  • 高级支持——该 IP 可用于该器件系列的仿真和编译。 FPGA编程 file (.pof) 支持不适用于 Quartus Prime Pro Stratix 10 版 Beta 软件,因此无法保证 IP 时序收敛。 时序模型包括基于早期布局后信息的延迟的初始工程估计。 随着芯片测试改进实际芯片和时序模型之间的相关性,时序模型可能会发生变化。 您可以将此 IP 核用于系统架构和资源利用研究、仿真、引脚分配、系统延迟评估、基本时序评估(流水线预算)和 I/O 传输策略(数据路径宽度、突发深度、I/O 标准权衡)。
  • 初步支持——英特尔使用该器件系列的初步时序模型验证 IP 内核。 IP 核满足所有功能要求,但可能仍在对器件系列进行时序分析。 您可以谨慎地在生产设计中使用它。
  • 最终支持——英特尔使用此设备系列的最终时序模型验证 IP。 IP 满足器件系列的所有功能和时序要求。 您可以在生产设计中使用它。

4G Turbo-V IP 设备系列支持

器件系列 支持
英特尔敏捷™ 进步
英特尔 Arria® 10 最终的
英特尔 Stratix® 10 进步
其他设备系列 不支持

4G Turbo-V 英特尔 FPGA IP 的发布信息

Intel FPGA IP 版本匹配 Intel Quartus® Prime Design Suite 软件版本直到 v19.1。 从英特尔 Quartus Prime 设计套件软件版本 19.2 开始,英特尔 FPGA IP 具有新的版本控制方案。 英特尔 FPGA IP 版本 (XYZ) 编号可以随每个英特尔 Quartus Prime 软件版本而变化。 一个变化:

  • X 表示 IP 的重大修订。 如果更新 Intel Quartus Prime 软件,则必须重新生成 IP。
  • Y 表示 IP 包含新功能。 重新生成您的 IP 以包含这些新功能。
  • Z 表示 IP 包含较小的更改。 重新生成您的 IP 以包含这些更改。

4G Turbo-V IP 发布信息

物品 描述
版本 1.0.0
发布日期 2020 年 XNUMX 月

4G Turbo-V 性能和资源利用率

英特尔通过使用英特尔 Quartus Prime 软件 v19.1 编译设计生成资源利用率和性能。 仅将这些近似结果用于项目所需的 FPGA 资源(例如自适应逻辑模块 (ALM))的早期估算。 目标频率为 300 MHz。

英特尔 Arria 10 器件的下行链路加速器资源利用率和最大频率

模块 f最大限度 (兆赫) 资产负债表 ALUT 寄存器 内存(位) RAM 块 (M20K) DSP 模块
下行加速器 325.63 9,373 13,485 14,095 297,472 68 8
CRC附件 325.63 39 68 114 0 0 0
涡轮编码器 325.63 1,664 2,282 1154 16,384 16 0
速率匹配器 325.63 7,389 10,747 12,289 274,432 47 8
子块交织器 325.63 2,779 3,753 5,559 52,416 27 0
位收集器 325.63 825 1,393 2,611 118,464 13 4
位选择器和修剪器 325.63 3,784 5,601 4,119 103,552 7 4

Arria 10 器件的上行链路加速器资源利用率和最大频率

模块 f最大限度 (兆赫) 资产负债表 寄存器 内存(位) RAM 块 (M20K) DSP 模块
上行加速器 314.76 29480 30,280 868,608 71 0
子块解交织器 314.76 253 830 402,304 27 0
涡轮解码器 314.76 29,044 29,242 466,304 44 0

使用 4G Turbo-V 英特尔 FPGA IP 进行设计

4G Turbo-V IP目录结构

您必须从 IP 安装程序手动安装 IP。

安装目录结构英特尔-4G-Turbo-V-FPGA-IP-FIG-1

生成 4G Turbo-V IP

您可以生成下行链路或上行链路加速器。 对于上行链路加速器,将目录中的 dl 替换为 ul 或 file 名字。

  1. 打开英特尔 Quartus Prime Pro 软件。
  2. 选择 File ➤ 新建项目向导。
  3. 单击“下一步”。
  4. 输入项目名称 dl_fec_wrapper_top 并输入项目位置。
  5. 选择 Arria 10 器件。
  6. 单击“完成”。
  7. 打开 dl_fec_wrapper_top.qpf file 在项目目录中可用 出现项目向导。
  8. 在平台设计器选项卡上:
    • 创建 dl_fec_wrapper_top.ip file 使用硬件 tcl file.
    • 单击 Generate HDL 以生成设计 files.
  9. 在 Generate 选项卡上,单击 Generate Test bench system。
  10. 点击Add All添加合成 file到项目。 这 files在src\ip\dl_fec_wrapper_top\dl_fec_wrapper_10\synth中。
  11. 设置 dl_fec_wrapper_top.v file 作为顶级实体。
  12. 单击“开始编译”以编译该项目。

模拟 4G Turbo-V IP

此任务用于模拟下行链路加速器。 要模拟上行链路加速器,请在每个目录中将 dl 替换为 ul 或 file 姓名。

  1. 打开 ModelSim 10.6d FPGA 版模拟器。
  2. 将目录更改为 src\ip\dl_fec_wrapper_top_tb \dl_fec_wrapper_top_tb\sim\mentor
  3. 将 QUARTUS_INSTALL_DIR 更改为 msim_setup.tcl 中的 Intel Quartus Prime 目录 file, 在 \sim\mentor 目录中
  4. 在脚本窗口中输入命令 do load_sim.tcl 命令。 此命令生成库 files并编译模拟源码 filemsim_setup.tcl 中的 file. 测试向量在 file\sim 目录中的 name_update.sv。

这 file名称更新 File 结构

  • 对应的测试向量 files 在 sim\mentor\test_vectors 中
  • Log.txt 包含每个测试数据包的结果。
  • 对于下行链路加速器,encoder_pass_file.txt包含测试包和encoder的各项指标的通过报告_file_error.txt 包含了测试包各个索引的失败报告。
  • 对于上行链路加速器,Error_file.txt 包含测试数据包的每个索引的失败报告。英特尔-4G-Turbo-V-FPGA-IP-FIG-2

4G Turbo-V 英特尔 FPGA IP 功能描述

4G Turbo-V 英特尔 FPGA IP 包括一个下行链路加速器和一个上行链路加速器。

  • 4G Turbo-V 架构第 9 页
  • 4G Turbo-V 信号和接口第 11 页
  • 4G Turbo-V 时序图第 15 页
  • 4G Turbo-V 延迟和吞吐量第 18 页

4G Turbo-V 架构

4G Turbo-V 英特尔 FPGA IP 包括一个下行链路加速器和一个上行链路加速器。

4G下行加速器

4G Turbo 下行链路加速器由代码块 CRC 附件块和 Turbo 编码器(Intel Turbo FPGA IP)和速率匹配器组成。 输入数据为 8 位宽,输出数据为 24 位宽。 速率匹配器由三个子块交织器、一个位选择器和一个位收集器组成。英特尔-4G-Turbo-V-FPGA-IP-FIG-3

4G 下行链路加速器使用 8 位并行 CRC 计算算法实现代码块 CRC 附件。 CRC 附件块的输入为 8 位宽。 在正常模式下,CRC 块的输入数量为 k-24,其中 k 是基于大小索引的块大小。 附加的 24 位 CRC 序列附加到 CRC 附加块中的传入代码块数据,然后传递给 Turbo 编码器。 在 CRC 旁路模式下,输入的数量为 k 个 8 位宽,传递给 Turbo 编码器块。

Turbo 编码器使用并行级联卷积码。 卷积编码器对信息序列进行编码,另一个卷积编码器对信息序列的交错版本进行编码。 Turbo 编码器有两个 8 态成分卷积编码器和一个 Turbo 码内部交织器。 有关 Turbo 编码器的更多信息,请参阅 Turbo IP Core 用户指南。 速率匹配器将传输块中的位数与 IP 在该分配中传输的位数相匹配。 速率匹配器的输入和输出为 24 位。 IP 为每个代码块定义了 Turbo 编码传输信道的速率匹配。 速率匹配器包括:子块交织器、比特收集器和比特选择器。 下行链路加速器为来自 Turbo 编码的每个输出流设置交错的子块。 这些流包括消息比特流、第一奇偶比特流和第二奇偶比特流。 交错子块的输入和输出为 1 位宽。 位收集器组合来自子块交织器的流。 该块包含存储以下内容的缓冲区:

  • 来自交织的子块的消息和填充启用位。
  • 子块交织奇偶校验位及其各自的填充位。

位收集器

英特尔-4G-Turbo-V-FPGA-IP-FIG-4

4G信道上行加速器

4G Turbo 上行链路加速器由子块解交织器和 Turbo 解码器(Intel Turbo FPGA IP)组成。英特尔-4G-Turbo-V-FPGA-IP-FIG-5

解交织器由三个块组成,其中前两个块是对称的,第三个块是不同的。

就绪信号的延迟为 0。

解交织器

英特尔-4G-Turbo-V-FPGA-IP-FIG-6

如果您打开子块解交织器的旁路模式,IP 会在将数据写入连续位置的内存块时读取数据。 IP 在写入数据时读取数据,没有任何交错。 在旁路模式下,进入子块解交织器的输入数据数量为 K_π,输出数据长度为 k 大小(k 是基于 cb_size_index 值的码块大小)。 子块解交织器输出数据的延迟取决于输入块大小 K_π。 只有在您写入输入数据的 K_π 代码块大小后,IP 才会读取数据。 因此,输出的延迟还包括写入时间。 子块交织器输出数据中的延迟是 K_π+17。 Turbo 解码器根据 s 计算最可能的传输序列amp它收到的文件。 有关详细说明,请参阅 Turbo Core IP 用户指南。 纠错码的解码是对不同卷积码的概率进行比较。 Turbo 解码器由两个迭代工作的单个软输入软输出 (SISO) 解码器组成。 第一个(上层解码器)的输出馈入第二个以形成 Turbo 解码迭代。 交织器和解交织器块在此过程中重新排序数据。

相关信息
Turbo IP 内核用户指南

4G Turbo-V 信号和接口

下行加速器英特尔-4G-Turbo-V-FPGA-IP-FIG-7

下行链路加速器信号

信号名称 方向 位宽 描述
时钟 输入 1 300 MHz 时钟输入。 所有 Turbo-V IP 接口信号都与该时钟同步。
重置_n 输入 1 重置整个 IP 的内部逻辑。
接收器有效 输入 1 当 sink_data 中的数据有效时置位。 当 sink_valid 未被断言时,IP 停止处理,直到 sink_valid 被重新断言。
接收器数据 输入 8 通常承载正在传输的大部分信息。
水槽_sop 输入 1 指示传入数据包的开始
接收器eop 输入 1 指示传入数据包的结尾
接收器就绪 输出 1 指示 IP 何时可以接受数据
接收器错误 输入 2 两位掩码,用于指示影响当前周期中传输的数据的错误。
CRC_启用 输入 1 启用 CRC 块
cb_size_index 输入 8 输入码块大小 K
接收器rm_输出大小 输入 20 速率匹配器输出块大小,对应于 E。
接收器代码块 输入 15 当前代码块的软缓冲区大小 核糖核酸
接收器_rv_idx 输入 2 冗余版本索引(0,1,2、3、XNUMX 或 XNUMX)
接收器rm_旁路 输入 1 在速率匹配器中启用旁路模式
接收器填充位 输入 6 当 IP 执行代码块分段时,IP 在发送器处插入的填充位的数量。
来源有效 输出 1 当有有效数据要输出时由 IP 断言。
持续…
信号名称 方向 位宽 描述
源数据 输出 24 承载传输的大部分信息。 在断言有效的情况下,此信息可用。
源_sop 输出 1 指示数据包的开始。
源代码 输出 1 指示数据包的结束。
源就绪 输入 1 就绪信号有效时数据接收有效。
来源错误 输出 2 从 Turbo Encoder 传播的错误信号指示在源端违反 Avalon-ST 协议

• 00:无错误

• 01:缺少数据包的开头

• 10:缺少数据包结尾

• 11: Unexpected end of packet 其他类型的错误也可能被标记为11。

源块大小 输出 13 输出码块大小 K

上行链路加速器接口

英特尔-4G-Turbo-V-FPGA-IP-FIG-8

上行链路加速器信号

信号 方向 位宽 描述
时钟 输入 1 300 MHz 时钟输入。 所有 Turbo-V IP 接口信号都与该时钟同步。
重置_n 输入 1 输入时钟信号的复位
接收器有效 输入 1 Avalon 流输入有效
接收器数据 输入 24 Avalon 流式输入数据
水槽_sop 输入 1 Avalon 流式输入数据包开始
接收器eop 输入 1 Avalon 流式输入数据包结束
持续…
信号 方向 位宽 描述
接收器就绪 输入 1 Avalon 流输入就绪
会议有效 输入 1 输入配置管道有效
cb_大小_索引 输入 8 块大小迭代索引
最大迭代 输入 5 最大迭代
rm_旁路 输入 1 启用旁路模式
sel_CRC24A 输入 1 指定当前数据块所需的 CRC 类型:

• 0:CRC24A

• 1:CRC24B

会议准备就绪 输入 1 输入配置管道就绪
来源有效 输出 1 Avalon 流输出有效
源数据 输出 16 Avalon 流输出数据
源_sop 输出 1 Avalon 流式输出数据包开始
源代码 输出 1 Avalon 流输出数据包结束
来源错误 输出 2 错误信号指示源端的 Avalon 流协议违规:

• 00:无错误

• 01:缺少数据包的开头

• 10:缺少数据包结尾

• 11: Unexpected end of packet 其他类型的错误也可能被标记为11。

源就绪 输出 1 Avalon 流输出就绪
CRC_类型 输出 1 指示用于当前数据块的 CRC 类型:

• 0:CRC24A

• 1:CRC24B

源块大小 输出 13 指定传出块大小
CRC_通过 输出 1 CRC校验是否成功:

• 0:失败

• 1:通过

源迭代器 输出 5 显示 Turbo 解码器停止处理当前数据块之前的半迭代次数。

DSP Intel FPGA IP 中的 Avalon 流接口
Avalon 流接口为从源接口到接收器接口的数据传输定义了一个标准的、灵活的和模块化的协议。 输入接口是一个 Avalon streaming sink,输出接口是一个 Avalon streaming source。 Avalon 流接口支持数据包传输,数据包在多个通道间交织。 Avalon 流接口信号可以描述支持单个数据流的传统流接口,而无需了解通道或数据包边界。 此类接口通常包含数据、就绪和有效信号。 Avalon 流接口还可以支持更复杂的突发和数据包传输协议,数据包在多个通道中交错。 Avalon 流接口本质上同步多通道设计,使您能够实现高效、时分复用的实现,而无需实现复杂的控制逻辑。 Avalon 流接口支持背压,这是一种流量控制机制,接收器可以向源发送信号以停止发送数据。 接收器通常在其 FIFO 缓冲区已满或输出拥塞时使用背压来停止数据流。

相关信息
Avalon 接口规范

4G Turbo-V 时序图

使用 Codeblock 40 的写逻辑时序图

知识产权:

  • 在第 20 列到第 0 列中放置空 19 位,并写入第 20 列的数据位。
  • 在 44 个时钟周期内将所有 6 位写入内存。
  • 将网格终止位写入第 28 至 31 列。
  • 增加每一行的写入地址。
  • 一次为 8 个单独的 RAM 生成写使能信号。

IP 不会将填充位写入 RAM。 相反,IP 在 RAM 中保留过滤器位的占位符,并在读取过程中将 NULL 位插入到输出中。 第一次写入从第 20 列开始。英特尔-4G-Turbo-V-FPGA-IP-FIG-9

使用代码块 40 的读取逻辑的时序图

对于每次读取,您会在一个时钟周期内看到 8 位,但只有两位有效。 IP 将这两位写入移位寄存器。 当 IP 形成 8 位时,它将它们发送到输出接口。英特尔-4G-Turbo-V-FPGA-IP-FIG-10

使用 Codeblock 6144 的写逻辑时序图

填充位来自第 0 列到第 27 列,数据位来自第 28 列。IP:

  • 在 6,148 个时钟周期内将所有 769 位写入内存。
  • 将网格终止位写入第 28 至 31 列。
  • 增加每一行的写入地址。
  • 一次为 8 个单独的 RAM 生成写入使能信号。

IP 不会将填充位写入 RAM。 相反,IP 在 RAM 中保留过滤器位的占位符,并在读取过程中将 NULL 位插入到输出中。 第一次写入从第 28 列开始。英特尔-4G-Turbo-V-FPGA-IP-FIG-11

使用代码块 6144 的读取逻辑的时序图

在读取端,每次读取给出 8 位。 在读取第 193 行时,IP 读取了 8 位,但只有一位有效。 IP 与移位寄存器形成八位,并通过从下一列读取来将它们发送出去。英特尔-4G-Turbo-V-FPGA-IP-FIG-12

输入时序图

英特尔-4G-Turbo-V-FPGA-IP-FIG-13

输出时序图

英特尔-4G-Turbo-V-FPGA-IP-FIG-14

4G Turbo-V 延迟和吞吐量

延迟是在输入第一个数据包 SOP 到输出第一个数据包 SOP 之间测量的。 处理时间是在输入第一个数据包 SOP 到输出最后一个数据包 EOP 之间测量的。

下行加速器
吞吐量是 IP 在准备就绪时可以将输入泵入下行链路加速器的速率。

下行链路加速器延迟、处理时间和吞吐量
最大 K 尺寸为 6,144,E 尺寸为 11,522。 为 13 个代码块测量的处理时间。 时钟速度为 300 MHz。

K E 延迟 处理时间 输入吞吐量
    (周期) (我们) (周期) (我们) (%)
6,144 11,552 3,550 11.8 14,439 48.13 95

延迟和处理时间计算

  • 该图显示了计算延迟、处理时间和吞吐量的过程。英特尔-4G-Turbo-V-FPGA-IP-FIG-15

K 大小与延迟

英特尔-4G-Turbo-V-FPGA-IP-FIG-16

K 大小与延迟

  • k=40 至 1408英特尔-4G-Turbo-V-FPGA-IP-FIG-17

上行链路加速器延迟和处理时间

  • 最大迭代次数 = 6. 时钟速度为 300 MHz。
    K E 延迟 处理时间
        (周期) (我们) (周期) (我们)
    86 40 316 1.05 318 1.06
    34,560 720 2,106 7.02 2,150 7.16
    34,560 1,408 3,802 12.67 3,889 12.96
    34,560 1,824 4,822 16.07 4,935 16.45
    28,788 2,816 7,226 24.08 7,401 24.67
    23,742 3,520 8,946 29.82 9,165 30.55
    34,560 4,032 10,194 33.98 10,445 34.81
    26,794 4,608 11,594 38.64 11,881 39.60
    6,480 5,504 13,786 45.95 14,129 47.09
    12,248 6,144 15,338 51.12 15,721 52.40

上行链路加速器延迟和处理时间

  • 最大迭代次数 = 8
K E 延迟 处理时间
    (周期) (我们) (周期) (我们)
86 40 366 1.22 368 1.22
34,560 720 2,290 7.63 2,334 7.78
34,560 1,408 4,072 13.57 4,159 13.86
34,560 1,824 5,144 17.14 5,257 17.52
28,788 2,816 7,672 25.57 7,847 26.15
持续…
23,742 3,520 9,480 31.6 9,699 32.33
34,560 4,032 10,792 35.97 11,043 36.81
26,794 4,608 12,264 40.88 12,551 41.83
6,480 5,504 14,568 48.56 14,911 49.70
12,248 6,144 16,200 54 16,583 55.27

K 大小与延迟

  • 对于 max_iter=6英特尔-4G-Turbo-V-FPGA-IP-FIG-18

图 19. K 大小与处理时间

  • 对于 max_iter=6英特尔-4G-Turbo-V-FPGA-IP-FIG-19

K 大小与延迟

  • 对于 max_iter=8英特尔-4G-Turbo-V-FPGA-IP-FIG-20

K 大小与处理时间

  • 对于 max_iter=8英特尔-4G-Turbo-V-FPGA-IP-FIG-21

4G Turbo-V 英特尔 FPGA IP 用户指南的文档修订历史

日期 IP版本 英特尔 Quartus Prime 软件版本 更改
2020.11.18 1.0.0 20.1 删除表在 4G Turbo-V 性能和资源利用率
2020.06.02 1.0.0 20.1 初始版本。

英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。

文件/资源

英特尔 4G Turbo-V FPGA IP [pdf] 用户指南
4G Turbo-V FPGA IP、4G Turbo-V、FPGA IP

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *