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

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

3天内不再提示

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

虹科智能自动化 2022-06-10 11:50 次阅读

IP核的开发过程中,面临着许多关键技术,比如IP核的规格定义、基于接口的设计、IP核测试存取结构标准、IP核的验证与打包等。对于IP核的验证,主要是建立参照模型和测试平台,然后进行回归测试和形式验证。这里参照的模型主要用于对系统功能进行验证以及和RTL模型的对照验证,该模型主要用Verilog HDL等语言来构造。测试平台的建立与子模块设计并行,搭建验证环境和开发测试用例,并针对IP核的行为级模型对测试环境和测试用例进行调试,从而同步准备好用来仿真测试RTL级IP核的验证环境和测试用例。

仿真和验证是开发任何高质量的基于 FPGA 的 RTL 编码过程的基础。在本系列文章中,我们将分享我们设计过程中的关键步骤,并将基于虹科以太网IP核产品组合进行介绍。

整个过程的关键步骤如下:

面向实体/块的仿真:通过在每个输入信号上生成激励并验证 RTL 代码行为是否符合预期,对构成每个 IP 核的不同模块进行实体/块的仿真。

面向全局的仿真:一旦不同的模块被单独验证,则意味着下一步将整个IP仿真为单个 UUT(被测试单元)。

(On)硬件测试:尽管扩展的仿真计划提供了良好的可信度,但仍有许多corner的情况无法在虚拟环境中验证。对于这些情况,需要基于硬件的测试计划,这也是获得高质量结果的最后一步。

在本篇文章中,我们将描述第一步:IP 仿真的实体或块级别是如何完成的。

面向实体或块的仿真

“面向实体或块的仿真”这一步骤意味着验证在 IP 核内具有特定操作的特定实体或模块的正确操作。每个 IP 核都由许多实体或块组成,为了测试它们,每个实体会有不同的测试平台,通过在输入受到刺激时观察设计的输出来执行设计。这将有助于检查预期的行为。

举个例子就可以很好地理解这个步骤。下面我们先介绍虹科以太网交换机 IP 核的过滤数据库。过滤数据库存储 MAC 地址及其相关信息以做出帧转发决策。它是一个基于哈希的存储器,每个地址条目都有一些存储过滤数据的 bin。该哈希算法还生成过滤数据库内存的索引

57f911fc-e810-11ec-a2f4-dac502259ad0.png

过滤数据库执行有三个主要过程:学习、查找和老化

学习过程负责在满足不同条件时保存帧。

查找过程是在过滤数据库中搜索并获得帧的转发端口掩码的过程。

老化过程根据给定的时间段删除旧的 MAC 条目。

582dcc12-e810-11ec-a2f4-dac502259ad0.png

在这个仿真MAC表的具体案例中,请始终尝试测试构成过滤数据库功能的所有机制。从这个意义上说,就像学习不同的MAC,不同的查询、老化是并行完成的,最后需要清除MAC表并验证所有条目都已删除。此外,研究并始终能够测试可能的corner案例也十分重要。

测试和验证复杂 FPGA 设计的第二个关键步骤将在下一篇文章中展开介绍。一旦形成 IP 核的所有实体都按预期工作,全局仿真就会发挥作用。


5864c8ac-e810-11ec-a2f4-dac502259ad0.png

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

    关注

    50

    文章

    4031

    浏览量

    133370
收藏 人收藏

    评论

    相关推荐

    方案 | 精准零部件测试!多路汽车开关按键功能检测系统

    在汽车制造业中,零部件的安全性、功能性和可靠性是确保车辆整体性能的关键。针对车辆零部件的LIN/CAN总线仿真测试,提出了基于
    的头像 发表于 11-01 11:04 107次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>方案 | 精准零部件<b class='flag-5'>测试</b>!多路汽车开关按键功能检测系统

    EasyGo实时仿真丨PCS储能变流器控制仿真应用

    “CBox采用CPU+FPGA的双模块设计简化了仿真流程,上位机软件图形化操作也很直观,可在线实时调整参数,极大地提高了工作效率。”——华某实验室FPGA以其快速并行处理能力,在储能
    发表于 09-20 10:17

    干货分享】硬件在环仿真(HiL)测试

    一、HiL是什么?硬件在环仿真(Hardware-in-the-Loop,简称HIL)是真的控制器连接假的被控对象,以一种高效低成本的方式对控制器进行全面测试。它是一种用于复杂设备控制器的开发与
    的头像 发表于 09-19 17:15 673次阅读
    【<b class='flag-5'>干货</b>分享】硬件在环<b class='flag-5'>仿真</b>(HiL)<b class='flag-5'>测试</b>

    干货 轻松掌握PCAN-Explorer 6,dll调用一文打尽!

    的批量逻辑操作体验。本文将详细介绍如何在PE6中高效调用dll,包括如何加载和使用dll文件,以及如何创建自定义的dll项目。 PE6与dll调用的融合 PE6这款专业且多功能
    的头像 发表于 08-29 10:00 403次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b> 轻松掌握PCAN-Explorer 6,dll调用一文打尽!

    科技术前沿 TSN网络中时间感知整形器的性能验证实测

    本文旨在验证时间敏感网络(TSN)中时间感知整形器(TAS)的性能,通过实施IEEE 802.1Qbv和IEEE 802.1AS-2020标准测试用例,确保其在网络中的准确性。我们选用了
    的头像 发表于 07-30 11:04 329次阅读
    <b class='flag-5'>虹</b>科技术前沿  TSN网络中时间感知整形器的性能<b class='flag-5'>验证</b>实测

    新品 | E-Val Pro Plus有线验证解决方案

    有线验证解决方案E-ValProPlus我们很高兴地宣布,我们将推出全新的
    的头像 发表于 04-19 08:04 325次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>新品 | E-Val Pro Plus有线<b class='flag-5'>验证</b>解决方案

    【分享】基于Easygo仿真平台的三电机实时仿真测试应用

    算法效果的前期仿真评估及算法控制器参数设计及仿真验证,可以很大程度上减少系统开发周期及成本。对多电机同步控制系统进行实时仿真可有效解决此问
    发表于 04-09 16:49

    fpga仿真和后仿真的区别

    FPGA的前仿真和后仿真在芯片设计和验证过程中扮演着不同的角色,各自具有独特的特点和重要性。
    的头像 发表于 03-15 15:29 1956次阅读

    fpga时序仿真和功能仿真的区别

    FPGA时序仿真和功能仿真在芯片设计和验证过程中各自扮演着不可或缺的角色,它们之间存在明显的区别。
    的头像 发表于 03-15 15:28 1940次阅读

    fpga仿真器是什么?它有哪些优势?

    FPGA仿真器是一种用于模拟FPGA(现场可编程门阵列)硬件行为的软件工具。它通过模拟FPGA内部的逻辑电路、时序和接口等,帮助工程师在FPGA
    的头像 发表于 03-15 15:15 1555次阅读

    fpga原型验证平台与硬件仿真器的区别

    FPGA原型验证平台与硬件仿真器在芯片设计和验证过程中各自发挥着独特的作用,它们之间存在明显的区别。
    的头像 发表于 03-15 15:07 1017次阅读

    fpga验证测试的区别

    FPGA验证测试在芯片设计和开发过程中都扮演着重要的角色,但它们各自有着不同的侧重点和应用场景。
    的头像 发表于 03-15 15:03 1067次阅读

    fpga仿真文件怎么写

    首先,你需要选择一个FPGA仿真软件,如ModelSim、Vivado、Quartus II等。这些软件都提供了强大的仿真功能,可以帮助你验证FPG
    的头像 发表于 03-15 14:00 721次阅读

    fpga仿真是什么

    FPGA仿真是一种验证FPGA设计正确性的过程,主要用来分析设计电路逻辑关系的正确性。在FPGA设计中,
    的头像 发表于 03-15 13:59 1372次阅读

    干货 | 适用于基于FPGA的网络设备的IEEE 1588透明时钟架构

    导读:在基于FPGA的网络设备中,精确的时间同步至关重要。IEEE 1588标准定义的精确时间协议(PTP)为网络中的设备提供了纳秒级的时间同步。本文将介绍提供的适用于基于FPGA
    的头像 发表于 11-27 10:57 1185次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b> | 适用于基于<b class='flag-5'>FPGA</b>的网络设备的IEEE 1588透明时钟架构