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

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

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

举个例子就可以很好地理解一切。在这种情况下,我们将解释虹科以太网交换机IP核的过滤数据库。

过滤数据库存储 MAC 地址及其相关信息以做出帧转发决策。它是一个基于哈希的存储器,每个地址条目都有一些存储过滤数据的 bin。该哈希算法还生成过滤数据库内存的索引。

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

  • 学习过程负责在满足不同条件时保存帧。
  • 查找过程是在过滤数据库中搜索并获得帧的转发端口掩码的过程。
  • 老化过程根据给定的时间段删除旧的 MAC 条目。

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

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

IP核可以使开发人员减设计工作量并缩短产品上市时间。虹科目前已有丰富的IP核产品组合,包括TSN IP核、HSR/PRP IP核、以太网IP核、冗余IP核等,可以轻松集成到用户的FPGA中。若想了解更多信息,欢迎点此了解详情直接联系虹科销售人员

更多推荐