由于使用 5G Polar FPGA IP 版本 2.0.0 时输入数据和参数数据的格式格式化以及编码器输出数据存在问题,您将观察到 MATLAB* 和 RTL 模拟模型之间的 5G Polar FPGA IP 输出结果不匹配。
要变通解决此问题,请按照下面详述的步骤操作。
- 首先使用用户指南 polar5g_codec_tb(4,2,4,1) 中的 Matlab* 示例运行 Matlab*。
- Matlab* 在 <Design Example Directory>/Matlab/ 文件夹中生成polar5g_enc_in.txt、polar5g_enc_out.txt和polar5g_codec_param.txt文件。
- 修改这三个文件,方法是在每个文件的第一行中添加一个 0,如下所示。
例如:
下面是生成的 polar5g_enc_in.txt
1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0
1 0 0 1 1 1 1 1 1 0 1 0
修改后的 polar5g_enc_in.txt
0
1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0
1 0 0 1 1 1 1 1 1 0 1 0
- 将修改后的 3 个文件复制并粘贴到 <设计示例目录>/test_data 文件夹中。
- 默认模拟运行 300 帧。因此,将 polar5g_enc_tb.sv 中的变量从 <Design Example Directory>/src 文件夹中的 frm_lmt 帧修改为 1 帧。
- 运行 RTL 模拟。
- Matlab* 编码器输出现在与 RTL 输出匹配。
#NOTE:模拟报告失败,因为每个文件第一行中的 0 位置与 MATLAB* 使用的位置不同。随后的 64 位模式相同。这可以在 polar5g_enc_out.txt 文件中手动检查。
从 5G Polar FPGA IP 的 24.1 版开始修复该问题。