0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RF Data Converter IP设计仿真测试激励文件原理

454398 来源:XILINX技术社区 作者:XILINX技术社区 2020-11-12 16:41 次阅读

这次我们将演示 RF Data Converter IP 设计仿真测试激励文件示例。

本篇博文旨在演示其构建方式及其用于实践 IP 的机制。我觉得这部分内容值得讲一讲,因为只要您能够充分理解测试激励文件,就可以将其作为有效的模板来用于将 RF Data Converter IP 构建到自己的仿真设置中。

我并不会细讲这里的所有内容,只是为了演示一下仿真的机制。当然,您也可以自行深入分析测试激励文件 RTL。

您可能已经知道,IP 设计示例随附有完整的测试激励文件。此测试激励文件可在仿真中提供激励生成和采集,用于 ADCDAC 实践。仿真具有内置自检功能,因此它可用于检验您的 IP 设置。

让我们来简单了解下设计测试激励文件示例。

从 IP 设计示例层面上来看,不仅有 IP,还有激励块和采集块(均为大型块 RAM 数组)。

此外还有 1 个 SmartConnect 块用于连接到 IP 的 AXI4-Lite 端口

因此,测试激励文件需提供的是:

时钟生成,用于设计中的所有时钟。ADC 和 DAC Tile 的输入、AXI 流传输接口和 1 个 AXI4-Lite 接口。

加载激励块或源代码块的方法。

将“实数”信号应用于模拟输入的方法,以及将实数信号从 DAC 转换为数字总线以便检查的方法。

最重要的是,需要 1 个定序器 (sequencer) 用于管理仿真。

检验采集块或接收端 (sink) 块的方法。

让我们来看看测试激励文件。测试激励文件的所有源文件都包含在设计工程示例中的导入 (imports) 目录中。

顶层测试激励文件包含在 demo_tb.sv SystemVerilog 文件中。我们不会逐行详细分析其中所有内容。在此级别只需连接各主要块即可。让我们来看下仿真功能的最重要的部分。

时钟生成

有一个非常简单的模块可用于在仿真中创建所有必要的时钟信号。其中的输入带有_phase后缀,支持用户为时钟设置高低时间。它用于为每个 Tile 和 AXI Stream 时钟创建所期望的频率。

我们可在仿真中对此进行检查,确保它按我们期望的方式运行。

在此情况下可以看到,DAC 采样时钟以 6.4GSPS 运行,而 AXI stream 传输时钟的运行速率为该速率除以 16。

激励生成

在仿真中,ADC 和 DAC 将分别单独处理。在此情况下并不执行环回。

DAC 与 ADC 来源相同。

ADC 包含demo_tb_rfadc_data_source.sv,其中包含demo_tb_rfadc_tile_source.sv。在代码中,我们提供的是正弦查找表 (LUT)。在此情况下,将循环此 LUT 并生成正弦波输出。

此正弦波将输出到测试激励文件的顶层。我们可将其转换为实数,以便将其强制添加到demo_tb中的 Tile 的 UNISIM 模型层的模拟信号输入中。

对于 DAC,只需将此数据写入设计示例中的 DAC 源块上的 AXI 接口即可。在demo_tb层级上,我们可将 DAC 模拟信号从实数转换为位数,并将其应用于 DAC 接收端输入。

测试激励文件定序器

鉴于时钟正在运行仿真,并且先前已经讲解过数据源相关内容,因此我们可以继续讲解测试激励文件的主要部分。

在demo_tb_axi4l_nano_seq.sv文件中可以了解到仿真的设置和控制方式。此文件使用部分 SystemVerilog 任务以便于我们访问 RF 的 Tile,并对其执行部分设置。此外还有其它任务可用来控制仿真。我们将演示仿真的整个过程,并根据需要来探讨这些任务。

通过观察此文件可以发现,它使用参数化寻址来允许我们处理测试激励文件中 AXI4-Lite 上的各个子块。各项任务将通过这些子块来控制仿真。

定序器 (Sequencer) 首先会对测试激励文件中的所有一切都应用复位。然后它会对 Tile 执行写入以启用仿真加速。这样即可缩短 Tile 的启动时间,因为它可缩短电源微调时间以及 ADC 校准时间。仿真仅允许 Tile 达到 IP 的启动状态机的状态 1。

在此步骤后,它会对 Tile 执行某些设置,然后开始在测试激励文件中开启源端和接收端。它还会开始加载 DAC 源内存。

最好在执行每个步骤时都打印仿真时间。这样即可根据需要检查波形。

可以看到,IP 设置完成后,就会于 169us 附近开始写入 DAC 激励数据。DAC 源内存位于基址 0x300000000 处。

下一步,启动 Tile 时钟,并运行 ADC 和 DAC 直至时钟检测步骤为止。

完成此步骤后,即可启动 DAC 源并运行 DAC,直至启动 FSM 结束为止:

通过观察波形可知,音调已传入,而 DAC 输出总线正在运行。

此处可看到 25Mhz/50Mhz/100Mhz/200Mhz。

然后,针对 ADC 重复此过程:

运行后,可在波形中查看结果。在此情况下,vout_00和vout02总线即为仿真中 ADC 源的输出。

我在此处还附上了 AXI Stream 传输的 8 个采样之一的截屏,以显示 ADC 能正常转换单音信号。

数据接收端和检查器

ADC 和 DAC 在demo_tb中具有一组接收端块。

在这些块中,将对数据进行缩放,并且将执行 FFT。这样即可确认信号能以正确方式进行转换。

这些块用于管理错误计数器。如果全部正确,那么定序器 (Sequencer) 就会停止仿真。

我希望本篇博文能够帮助您更进一步了解 IP 仿真示例。此外还有很多内容值得分享,但本文应该能够为大家提供一个良好的起点,以便大家了解仿真的工作原理,并且您可能还可以将其中部分技巧用于您自己的仿真测试激励文件。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    98

    文章

    6495

    浏览量

    544442
  • dac
    dac
    +关注

    关注

    43

    文章

    2291

    浏览量

    190970
  • 模拟信号
    +关注

    关注

    8

    文章

    1128

    浏览量

    52439
收藏 人收藏

    评论

    相关推荐

    Efinity FIFO IP仿真问题 -v1

    Efinity目前不支持联合仿真,只能通过调用源文件仿真。 我们生成一个fifo IP命名为fifo_sim 在Deliverables中保留Testbench的选项。 在
    的头像 发表于 10-21 11:41 978次阅读
    Efinity FIFO <b class='flag-5'>IP</b><b class='flag-5'>仿真</b>问题 -v1

    Modelsim仿真时候的data信号输入问题

    我在仿真时候一个16位的寄存器需要输入大量相应的信号,我看到有可以读取文本文件的方法来产生输入数据:读取文本文件:用 $readmemb系统任务从文本文件中读取二进制向量(可以包含输入
    发表于 05-14 08:35

    quartusii中用modesim仿真激励文件怎样编写

    quartusii中用modesim仿真激励文件怎样编写,有某有具体的模板
    发表于 01-06 17:11

    一种新的IP仿真测试平台的实现

    针对传统的IP 测试方法存在的问题和缺陷,本文提出了个人PCI 机进行联机测试IP 验证方法。该方法将IP
    发表于 12-14 11:34 3次下载

    Data Converter Product Selecti

    Data Converter Product Selection Guide
    发表于 08-06 11:00 16次下载

    IP验证增量仿真技术的运用

    IP验证增量仿真技术的运用 验证涉及每个阶段的迭代循环:仿真、检查结果,改变激励或设计或调试设置,重新仿真并不断重复。在系统调
    发表于 01-27 17:58 932次阅读

    讲解怎样在VSS中使用LabVIEW RF Toolkit处理LTE激励信号

    。 请看如何在VSS中使用LabVIEW RF Toolkit处理LTE激励信号。 请看仿真与硬件对比结果。
    的头像 发表于 06-24 08:20 4189次阅读

    加载激励块或源代码块的方法

    本篇博文旨在演示其构建方式及其用于实践 IP 的机制。我觉得这部分内容值得讲一讲,因为只要您能够充分理解测试激励文件,就可以将其作为有效的模板来用于将
    的头像 发表于 06-09 15:38 2046次阅读

    FPGA中测试文件编写中的激励仿真

    大家好,又到了每日学习的时间了,今天我们来聊一聊FPGA中测试文件编写的相关知识,聊一聊激励仿真。 ‍ 1. 激励的产生 对于testben
    的头像 发表于 04-02 18:27 6507次阅读

    Verilog仿真激励举例

    Verilog 代码设计完成后,还需要进行重要的步骤,即逻辑功能仿真仿真激励文件称之为 testbench,放在各设计模块的顶层,以便对模块进行系统性的例化调用进行
    的头像 发表于 06-02 11:35 1503次阅读
    Verilog<b class='flag-5'>仿真</b><b class='flag-5'>激励</b>举例

    记录VCS仿真IP核只有VHDL文件的解决方法

    使用VCS仿真Vivado里面的IP核时,如果Vivado的IP核的仿真文件只有VHDL时,仿真
    的头像 发表于 06-06 11:15 2225次阅读
    记录VCS<b class='flag-5'>仿真</b>的<b class='flag-5'>IP</b>核只有VHDL<b class='flag-5'>文件</b>的解决方法

    测试与验证复杂的FPGA设计(2)——如何在虹科的IP核中执行面向全局的仿真

    仿真和验证是开发任何高质量的基于FPGA的RTL编码过程的基础。在上一篇文章中,我们介绍了面向实体/块的仿真,即通过在每个输入信号上生成激励并验证RTL代码行为是否符合预期,对构成每个IP
    的头像 发表于 06-15 17:31 696次阅读
    <b class='flag-5'>测试</b>与验证复杂的FPGA设计(2)——如何在虹科的<b class='flag-5'>IP</b>核中执行面向全局的<b class='flag-5'>仿真</b>

    MAX17291B: High-Voltage Micropower Boost Converter Data Sheet MAX17291B: High-Voltage Micropower Boost Converter Data Sheet

    电子发烧友网为你提供ADI(ADI)MAX17291B: High-Voltage Micropower Boost Converter Data Sheet相关产品参数、数据手册,更有
    发表于 10-13 19:16
    MAX17291B: High-Voltage Micropower Boost <b class='flag-5'>Converter</b> <b class='flag-5'>Data</b> Sheet MAX17291B: High-Voltage Micropower Boost <b class='flag-5'>Converter</b> <b class='flag-5'>Data</b> Sheet

    MAX20471-MAX20472B: Low-Voltage Synchronous Boost Converter Data Sheet MAX20471-MAX20472B: Low-Voltage Synchronous Boost Converter Data Shee

    电子发烧友网为你提供ADI(ADI)MAX20471-MAX20472B: Low-Voltage Synchronous Boost Converter Data Sheet相关产品参数、数据手册
    发表于 10-16 19:02
    MAX20471-MAX20472B: Low-Voltage Synchronous Boost <b class='flag-5'>Converter</b> <b class='flag-5'>Data</b> Sheet MAX20471-MAX20472B: Low-Voltage Synchronous Boost <b class='flag-5'>Converter</b> <b class='flag-5'>Data</b> Shee

    ADRV9002: Dual Narrow/Wideband RF Transceiver Data Sheet ADRV9002: Dual Narrow/Wideband RF Transceiver Data Sheet

    电子发烧友网为你提供ADI(ADI)ADRV9002: Dual Narrow/Wideband RF Transceiver Data Sheet相关产品参数、数据手册,更有ADRV9002
    发表于 10-17 19:02
    ADRV9002:  Dual Narrow/Wideband <b class='flag-5'>RF</b> Transceiver <b class='flag-5'>Data</b> Sheet ADRV9002:  Dual Narrow/Wideband <b class='flag-5'>RF</b> Transceiver <b class='flag-5'>Data</b> Sheet