杰克erickson,Mathworks
RTL验证的挑战之一是开发现实的定向测试。像3GPP 5G新无线电(NR)标准这样的新标准需要深入领域的专业知识,这使得创建符合标准的波形验证模型更具挑战性。
5G Toolbox™提供标准兼容功能和示例,用于建模,仿真和5G通信系统的验证,以确保它们符合5G NR标准。此视频显示如何使用HDL Verifer™从5G工具箱功能自动生成SystemVerilog验证组件,该函数合成您可以在SystemVerilog中调整的参数的逼真波形,以及您将在过程中经历的一些更常见步骤,包含:
如果您正在为5G无线应用程序设计硬件,则需要根据标准验证硬件功能。如何创建标准标准的波形,甚至更好,您如何使用参数创建它们来测试不同的方案?
MATLAB with 5G Toolbox为5G通信系统的建模、仿真和验证提供了符合标准的函数和示例,以确保它们符合3GPP 5G新无线电(NR)标准。
在这里,我将展示如何重用comms算法工程师开发的内容,以生成5G新无线波形,用于SystemVerilog验证。学习5G规范并在SystemVerilog中编写波形需要多长时间?
5G工具箱有一些很好的波形生成示例,您可以使用它来开始,如此。但通常在算法的开发中,测试和算法彼此不被分区。
无线HDL工具箱包含5G硬件设计IP,带有使用此5G工具箱功能的测试台,并且已经为此进行了结构化,如NR HDL单元搜索参考。该设计搜索最强的小区ID,这意味着它执行OFDM解调并识别最强的主同步信号和次同步信号。
波形生成的大部分在该功能中完成,该功能生成块模式案例B。测试台添加了频率偏移和噪声,使其更能代表您通过空中接收到的内容。我将把这个功能放到主函数中,并将这些参数作为输入传递,因此当我使用SystemVerilog中的组件时,我可以使用相同的刺激,扫描信噪比、频率偏移的参数,并设置不同的单元ID。这是案例B的硬编码,我也可以将其参数化,但我现在保持简单。
这是主要功能的结束,在那里我添加了频率偏移和噪声。我所做的另一件事是将它转换为固定点。MATLAB中的默认类型是双精度浮点,但RTL设计的输入是固定点。
HDL验证器是生成该组件的产品。它调用MATLAB Coder来生成C代码,并构建一切将其链接到SystemVerilog仿真中。所以它将在任何SystemVerilog模拟器中本机运行。
该命令是DPIGEN,我需要定义输入参数的数据类型 - 它可以弄清楚从驱动它们的代码中的输出。
但是当我开始运行这个命令时,我会得到一些错误。Matlab是一种解释的语言,它非常宽容数据类型,因此我必须为C代码生成进行一些修复,例如,如果将分配变量复杂的数据,则将其初始化为复杂的数据。和C代码生成不允许您在开始读取后添加元素到结构,因此有一些修复。但总体而言,这些编辑很令人未成年。
现在我可以生成组件,并查看创建的内容。它生成生成生成函数所需的所有C代码、生成函数所需的makefile,并生成DLL。如果需要在不同的平台上编译,可以使用Akefile。它还生成一些SystemVerilog代码,以显示如何使用组件。
它需要初始化句柄,它具有重置行为,启用时,它会在时钟的每一个posedge处调用该函数。对于这种情况,请注意,函数输出整个波形,这是MATLAB代码通常的工作方式,但这意味着我可能不想反复调用它,我只调用一次,然后禁用它。
我创建了一个简单的测试台,这里一点也不奇怪。它只是实例化了RTL设计,它也是从无线HDL工具箱IP生成的。然后这里我只是实例化生成的SystemVerilog DPI。这是一个非常简单的测试台,它只是复位,为DUT设置一些参数,然后加载波形。这里是它在一次呼叫后禁用DPI的地方。然后它循环通过并从整个波形中一次提取一个样本。
如果要使用较少的内存,您也可以使用MATLAB和C代码生成样本,并且可以使用较少的内存,并且运行稍长。
我已经编译了DUT,这是我的小测试台的do文件。这里的关键是我需要在启动模拟器时务必务必编译生成的SystemVerilog和链接在DLL中。
这需要一段时间来模拟,所以我将跳过前面的波浪。输入信号在这里,波形参数和数据本身。在这个设计中,硬件在两个过程中被调用,我只是运行第一个过程,即搜索PSS检测。此reportValid指示检测到PSS相关性的位置,如果我放大其中一个,会出现相关性结果,它清除了阈值,它是PSS0。
您还可以从MATLAB或Simulink生成一个检查组件,甚至可以从Simulink生成UVM。万博1manbetx但这里我只想关注波形。
总的来说,这花了大约一两小时的工作,如果我与MATLAB代码的开发人员合作,它可能会更快。但这是一种非常快速有效的方法来生成可参数化SystemVerilog组件,以生成5G新的无线标准标准波形,以验证您的5G硬件设计。
您还可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。