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

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

3天内不再提示

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

虹科智能自动化 2022-06-15 17:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

仿真和验证是开发任何高质量的基于 FPGA 的 RTL 编码过程的基础。在上一篇文章中,我们介绍了面向实体/块的仿真,即通过在每个输入信号上生成激励并验证 RTL 代码行为是否符合预期,对构成每个 IP 核的不同模块进行实体/块的仿真。

前文回顾

如何测试与验证复杂的FPGA设计(1)——面向实体或块的仿真

在本篇文章中,我们将介绍如何在虹科IP核中执行面向全局的仿真,而这也是测试与验证复杂FPGA设计的第二个关键步骤。

面向全局的仿真

全局仿真意味着验证整个IP实体的正确行为,包括构成产品的每个子模块。为了适应不同客户的用例,虹科SoC-e IP核解决方案在设计时充分考虑了灵活性,这意味着虹科所有的IP核都是高度可配置的,无论是在集成时(以优化 FPGA 中的封装)还是在运行时。借助于有着不同接口选项的寄存器映射(在下面的示例中,使用 AXI4),运行时配置成为可能。

这种灵活性也对仿真过程提出了挑战,因为需要根据仿真环境中的不同测试用例来配置IP。对此,虹科的合作伙伴SoC-e团队开发了一个令人惊叹的智能测试平台环境,在该环境中可以进行实时配置并实现自动化,开发人员可以通过“点击即用”的方式来执行复杂的仿真。例如,测试台可以通过交换机发送以太网帧,并可以通过访问IP 核的统计寄存器来读取结果(并检查输出是否符合预期)。

这极大地加快了调试过程,并允许开发团队执行快速迭代,而这在基于硬件的测试环境中会慢得多。在下图为具有此类全局测试平台架构的框图(基于虹科网管以太网交换机IP核):


2aeca3a8-ebfe-11ec-a2f4-dac502259ad0.png

网管型以太网交换机 (MES) 表示为UUT。其余的测试台组件是符合整个环境的不可综合的 VHDL 模块:

Frame Generator::该模块连接到以太网交换机 IP 的入口端口,负责生成激励(以太网帧)。

Frame Checker:该模块连接到以太网交换机IP的出端口,负责分析交换机转发的流量。

AXI Configurator:它控制 AXI4 配置总线以修改配置寄存器的内容(读/写操作)。

测试平台执行流程

正常的测试平台执行流程如下:首先,AXIConfigurator模块根据测试用例配置IP核。之后,每个FrameGenerator都会生成测试帧,并将其发送到启用的入口端口。帧是通过循环重复某些特定测试文件中定义的内容来生成的。最后,Frame Checker接收帧(接收与否,取决于测试用例)。该块将检查每个端口对应的统计信息,并根据执行的测试用例确定输出是否符合预期的。

虹科SoC-e测试平台架构的一大亮点是Frame Checker可以自动检测多种错误,例如完整性错误、转发错误或帧丢失。这是可实现的,因为Frame Generator可以生成具有特定格式的流量(例如有效载荷中的特殊模式、序列号等),Frame Checker可以解释这些流量。


测试平台测试计划

该测试平台套件的惊人灵活性还与SoC-e定义的严格测试计划相结合。对于每个IP核,都有一个测试计划,旨在在仿真环境中测试尽可能多的特性。

例如,网管以太网交换机IP的测试计划可以被划分为五个主要部分:

通用交换

自定义转发

过滤数据库

优先队列

VLAN

这些部分旨在涵盖与网络相关的不同功能的行为,以及不同的流量模式和情况。


2aff13b2-ebfe-11ec-a2f4-dac502259ad0.png

测试平台的结果可以由开发人员或用户以不同的方式进行分析。TCL控制台用于快速反馈测试结果。然而,在某些情况下,在仿真的特定时刻深入了解特定信号值可能会很有趣。对于这种情况,还开发了预先格式化的波形,以便于查找特定信号。


用于测试执行的命令行界面(CLI)

此测试平台环境中包含的最新功能之一是可以直接从命令行界面(CLI)执行所有测试,而无需打开RTL仿真工具(Vivado或其他工具)。这是一个很大的改进,因为它可以实现更高的测试自动化。它基于使用Vivado编译器命令的脚本(Python)的使用,以便用户生成易于解释的结果。

下图显示了向用户显示的仿真菜单。用户只需选择相应的选项即可执行任何列出的测试:


2b179e50-ebfe-11ec-a2f4-dac502259ad0.png


众所周知,仿真是一个需要大量时间的过程。即使在功能强大的计算机中执行,毫秒或以上范围内的复杂仿真也需要持续数十分钟,甚至更长。为了简化执行所有测试的过程(这需要几个小时),我们实现了一个“-all”选项,它允许在管道中执行所有测试,且无需用户交互。完成所有测试后,它将提供有关每个测试的报告消息(如下图所示),并在测试失败的情况下生成输出文件,以便开发人员稍后进行分析。

2b39b2a6-ebfe-11ec-a2f4-dac502259ad0.png

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

    关注

    53

    文章

    4411

    浏览量

    137677
  • IP核
    +关注

    关注

    4

    文章

    339

    浏览量

    51723
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    动态 | ×长城汽车技术交流日圆满落幕!

    ×长城汽车技术交流活动从下午1点30开始陆续签到、参观现场demo,2点正式开始技术分享。长城汽车高层领导为活动开场,演讲内容围绕
    的头像 发表于 11-28 17:07 1793次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>动态 | <b class='flag-5'>虹</b><b class='flag-5'>科</b>×长城汽车技术交流日圆满落幕!

    使用AXI4接口IP进行DDR读写测试

    本章的实验任务是在 PL 端自定义一个 AXI4 接口的 IP ,通过 AXI_HP 接口对 PS 端 DDR3 进行读写测试,读写的内存大小是 4K 字节。
    的头像 发表于 11-24 09:19 2882次阅读
    使用AXI4接口<b class='flag-5'>IP</b><b class='flag-5'>核</b>进行DDR读写<b class='flag-5'>测试</b>

    分享 | TC10管理:10BASE-T1S方案高效管控ECU休眠/唤醒

    与电池寿命。更关键的是,研发阶段缺乏高效工具模拟休眠/唤醒场景,难以验证设备响应一致性,导致测试周期拉长、产品落地延迟。Technica深耕汽车以太网领域,基
    的头像 发表于 11-12 17:02 1201次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>分享 | TC10管理:<b class='flag-5'>虹</b><b class='flag-5'>科</b>10BASE-T1S方案高效管控ECU休眠/唤醒

    新品发布 | 车辆矢量测试难?WVS系统来破局

    WVS车辆矢量测试系统高精度|抗干扰|轻量化在智能底盘开发,您是否也曾困扰于:实车测试数据的重复性与一致性难以保证?多传感器数据不同步
    的头像 发表于 11-06 17:04 1121次阅读
    新品发布 | 车辆矢量<b class='flag-5'>测试</b>难?<b class='flag-5'>虹</b><b class='flag-5'>科</b>WVS系统来破局

    NVMe高速传输之摆脱XDMA设计43:如何上板验证

    仿真验证之后, 搭建硬件测试平台, 测试IP在实际应用环境的功能与性能。本
    发表于 10-30 18:10

    复杂的软件算法硬件IP的实现

    Designer 设计套件 TASKING 组件的 CHC 编译器完成的。 CHC 编译器,即 C-to-Hardware Compiler。它输入 C 语言源程序然后输出一个可综合的 FPGA 硬件描述
    发表于 10-30 07:02

    案例 | 为什么汽车零部件头部企业,选择方案做方向盘EOL测试

    方案助力提升方向盘产线测试效能汽车方向盘的EOL测试,如何做到既快又稳?当产线因测试偶发故障而面临停滞风险时,有哪些技术路径可以实现精准
    的头像 发表于 10-29 17:33 182次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>案例 | 为什么汽车零部件头部企业,选择<b class='flag-5'>虹</b><b class='flag-5'>科</b>方案做方向盘EOL<b class='flag-5'>测试</b>?

    蜂鸟E203移植到FPGA开发板前的IP例化工作

    的输出时钟供软使用 创建工程 首先,创建新的工程项目,将FPGA/mcu200t/src的system.v顶层文件和rtl/e203的所有文件夹加入到项目中。 随后,根
    发表于 10-27 07:35

    NVMe高速传输之摆脱XDMA设计23:UVM验证平台

    十分复杂,需要使用成熟的验证知识产权(Verification IP,VIP)保证仿真的准确性和效率,这一类的 VIP 通常十分昂贵并且复杂
    发表于 08-26 09:49

    INTEWORK VBA | Ethernet总线分析、仿真验证一站式搞定

    测试验证的全套解决方案,助力工程师高效应对研发挑战。新功能速览01基于SOME/IP协议栈的Ethernet服务节点仿真功能面对SOME/IP服务化控制器
    的头像 发表于 08-05 16:24 657次阅读
    INTEWORK VBA | Ethernet总线分析、<b class='flag-5'>仿真</b>及<b class='flag-5'>验证</b>一站式搞定

    NVMe高速传输之摆脱XDMA设计18:UVM验证平台

    十分复杂,需要使用成熟的验证知识产权(Verification IP,VIP)保证仿真的准确性和效率,这一类的 VIP 通常十分昂贵并且复杂
    发表于 07-31 16:39

    赋能高效EOL测试Baby-LIN格栅电机控制与诊断

    Baby-LIN-3-MB提供高效、灵活的格栅电机EOL测试解决方案,解决环境复杂、操作繁琐、效率低等痛点。
    的头像 发表于 07-22 14:06 1771次阅读
    赋能高效EOL<b class='flag-5'>测试</b>:<b class='flag-5'>虹</b><b class='flag-5'>科</b>Baby-LIN格栅电机控制与诊断

    直播回放 | IO-Link技术概述与IO-Link OEM

    「一站式通讯解决方案」系列直播第1期圆满落幕!本期主题为「IO-Link技术概述与IO-LinkOEM」感谢各位朋友的热情参与!本期直播
    的头像 发表于 02-19 17:34 1151次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>直播回放 | IO-Link技术概述与<b class='flag-5'>虹</b><b class='flag-5'>科</b>IO-Link OEM

    使用IP和开源库减少FPGA设计周期

    /prologue-the-2022-wilson-research-group-functional-verification-study/),70% 的 FPGA 项目落后于计划,12% 的项目落后计划 50% 以上。 为此,很多FPGA厂商都在自己EDA工具里嵌入
    的头像 发表于 01-15 10:47 1159次阅读
    使用<b class='flag-5'>IP</b><b class='flag-5'>核</b>和开源库减少<b class='flag-5'>FPGA</b>设计周期

    方案 仅需4个步骤!轻松高效搭建TSN测试网络

    随着汽车行业向分层同构以太网网络的转型,时间敏感网络(TSN)逐渐成为实现确定性以太网互操作性的关键解决方案。本文将详细介绍如何快速搭建TSN测试网络,涵盖从流量特征分析到网络配置的全过程,并介绍TSN网络
    的头像 发表于 01-06 11:32 920次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>方案 仅需4个步骤!轻松高效搭建<b class='flag-5'>虹</b><b class='flag-5'>科</b>TSN<b class='flag-5'>测试</b>网络