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

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

3天内不再提示

验证FPGA设计的策略

星星科技指导员 来源:嵌入式计算设计 作者:David Kelf 2022-06-14 09:21 次阅读

FPGA 可以支持具有超过 2000 万个等效门、处理器平台和一系列通信数字信号处理 (DSP) 和其他功能块的设计。这些设备与过去的简单可编程芯片相去甚远,过去设计人员可以快速将几千个逻辑门加载到 FPGA 中并立即看到它们运行。今天的设备需要一个全面的验证策略,就像 ASIC 一样详尽。

传统FPGA验证

早期的 FPGA 设计流程包括输入门级原理图设计,将其下载到测试板上的设备上,然后使用真实测试数据验证整个系统。即使只有几千个门,很明显,在下载之前对设计进行某种形式的仿真提供了一种通过早期检测解决问题的更简单、更快捷的方法。

随着 FPGA 技术的改进,更先进的设计技术是不可避免的。与 ASIC 设计类似,硬件描述语言 (HDL) 的使用变得司空见惯,并且设计的黄金表示从门转移到了寄存器传输级 (RTL) 代码。高级仿真用于在综合之前对设计进行彻底的功能验证,如今,所有高级 ASIC 功能验证技术也用于 FPGA RTL 代码。

然而,综合后的 FPGA 验证是另一回事。

依赖于制造的验证

ASIC 和定制 IC 制造成本高、耗时且风险大。这导致了严格的签核过程,最终设计以多种方式进行测试,以确保其正确性。此外,硬件仿真通常用于大型 IC,以使用真实数据和/或将在生产中运行的软件进一步测试设备。

当然,FPGA 是不同的。由于 FPGA 可能会根据需要多次快速更新新设计代码以使其正确,因此似乎没有必要进行详尽的签核和单独的仿真。

FPGA 的一个特别有用的特性是快速原型设计的能力。事实证明,这对于高速验证非常宝贵,FPGA 甚至被用于针对其他 IC 类型的原型设计。事实上,由于这一特性,一些仿真器将 FPGA 作为其核心技术。

过去,假设对于大型 FPGA,对 RTL 代码进行功能测试并对原型设备本身进行最终检查就足够了。然而,现在正在使用具有数百万个等效门的 FPGA,新的设计流程要求改变了这种情况。

大型 FPGA 设计流程问题

可以将两种类型的硬件错误引入 IC,包括 FPGA。在功能验证期间消除了人为错误造成的设计错误。另一方面,系统性问题是由自动化设计改进工具链引入的,通常不会通过功能验证过程进行检查。如果它们进入最终设备,它们可能很难被发现和损坏。

高质量的 FPGA 解决方案依赖于工具链的有效性,尤其是综合和布局布线 (P&R) 功能提供的优化。寄存器与可用寄存器间逻辑的比率是固定的,如果该比率在设计代码中不平衡,则允许浪费矩阵的部分。因此,触发器位置相对于逻辑门发生变化的顺序优化是重要的 FPGA 综合和 P&R 能力(图 1)。

图 1:基本 FPGA 设计。

pYYBAGKn4s-ARYgwAAc49QJpkOc161.png

这些要求促使 FPGA 供应商投资于复杂的、最先进的综合技术。为了设计出最高质量的设计,在这些工具中采用了极其积极的优化,这是整个 FPGA 设计结果质量 (QoR) 的关键驱动因素。

对于较小的 FPGA,由 RTL 代码细化过程导致的系统性错误相对不常见,并且会在硬件内 FPGA 的最终测试期间发现。对于利用现代设计流程的大型 FPGA,这种假设已被证明是有缺陷的,并可能导致严重的设计问题。

系统性错误的等价检查解决方案

采用积极优化的综合和 P&R 工具的组合容易出现系统错误。因为这些工具对 RTL 代码中看似微小的差异很敏感,所以不可能测试每个设计和工具优化组合。因此,通过提高优化级别并检查以确保不会为特定设计引入系统错误,可以获得最佳结果。

由于系统设计问题的性质,在大型 FPGA 中测试门级设计表示已成为一项关键要求。系统性问题可能发生在 FPGA 中与正在开发的设计部分几乎没有关系的任何地方。它们通常会产生意外行为或由不寻常的极端情况触发,从而使验证测试的创建变得复杂且耗时。它们对调试很烦人,因为通常必须在几乎没有关于问题根源的信息的情况下检查整个设计。最糟糕的是,他们可以轻松地将其制成最终产品,从而导致后期制作重新旋转。

用于 ASIC 设计的基于形式验证的等效检查 (EC) 将 RTL 代码与派生的门级等效代码进行了详尽的比较,特别针对系统问题(图 2)。由于 RTL 代码已经过全面验证,因此整体解决方案代表了保证设计功能的最有效方式。

图 2:等价检查必须支持顺序优化。

pYYBAGKn4tiAVJD2AAJXaCfAx8E860.png

对于 FPGA 设计,需要一种能够支持最新 FPGA 综合工具利用的高级顺序优化的新型 EC。由于 FPGA 设计流程在逻辑设计空间内移动锁存器,标准等效性检查无法轻松地将 RTL 寄存器映射到门触发器。这可以通过利用更常见的与属性检查相关的高级形式技术来解决,例如,OneSpin 的 360 EC-FPGA 中使用的 EC 工具的一项新的重要功能。这是从 FPGA 设计中有效消除系统错误的绝对要求。

在 FPGA 流程中使用 EC 有以下好处:

确信在最终 FPGA 测试中观察到的任何问题都与设计相关,并且不是系统性的,从而推动了更快、更轻松的调试过程。

消除了创建一系列复杂测试以针对系统错误或尝试预测系统错误故障条件的耗时需求。

确信最终设计中不存在系统性、极端情况错误,确保经过验证的 RTL 代码和门级最终设计之间的一致性。

有信心利用可用的最激进的优化,而不必担心引入错误,从而实现最高质量的设计。

EC 的使用直接关系到最终设计质量、可靠性、设计进度和工程效率。毫不奇怪,全球许多使用大型 FPGA 的电子公司都在使用它。

FPGA实现验证

随着 FPGA 变得越来越大和越来越复杂,它们的设计和功能验证趋向于 ASIC。在现代 FPGA 设计流程的先进性的推动下,这种趋势现在正在扩展到实现验证领域。EC 现在是该流程的必要组成部分,保留了 FPGA 生产过程中的固有效率。

审核编辑:郭婷

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

    关注

    1629

    文章

    21734

    浏览量

    603112
  • asic
    +关注

    关注

    34

    文章

    1200

    浏览量

    120476
收藏 人收藏

    评论

    相关推荐

    芯华章发布FPGA验证系统新品HuaProP3

    近日,国内EDA(电子设计自动化)领域的佼佼者芯华章公司,正式对外宣布其最新研发的FPGA验证系统——HuaProP3已正式面世。这款产品的推出,标志着芯华章在FPGA验证技术上的又一
    的头像 发表于 12-13 11:12 322次阅读

    芯华章推出新一代高性能FPGA原型验证系统

    华章科技,也在不断提升硬件验证的对应方案和产品能力。 HuaPro P3作为芯华章第三代FPGA验证系统产品,采用最新一代可编程SoC芯片,结合自研的HPE Compiler工具链,可支持容量更大、速度更快、更多最新高速接口的用
    发表于 12-10 10:49 218次阅读
    芯华章推出新一代高性能<b class='flag-5'>FPGA</b>原型<b class='flag-5'>验证</b>系统

    国产EDA公司芯华章科技推出新一代高性能FPGA原型验证系统

    作为国产EDA公司的芯华章科技,也在不断提升硬件验证的对应方案和产品能力。 HuaPro P3作为芯华章第三代FPGA验证系统产品,采用最新一代可编程SoC芯片,结合自研的HPE Compiler工具链,可支持容量更大、速度更快
    发表于 12-10 09:17 149次阅读
    国产EDA公司芯华章科技推出新一代高性能<b class='flag-5'>FPGA</b>原型<b class='flag-5'>验证</b>系统

    数字芯片设计验证经验分享文章 实际案例说明用基于FPGA的原型来测试、验证和确认IP——如何做到鱼与熊掌兼

    本系列文章从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用硅知识产权(IP)内核来开发ASIC原型项目时,必须认真考虑的一些问题。
    的头像 发表于 10-28 14:53 309次阅读
    数字芯片设计<b class='flag-5'>验证</b>经验分享文章 实际案例说明用基于<b class='flag-5'>FPGA</b>的原型来测试、<b class='flag-5'>验证</b>和确认IP——如何做到鱼与熊掌兼

    基于场景的自动驾驶验证策略

    自动驾驶功能的出现可以很大地降低由人为因素造成的交通事故,随之如何检验和验证自动驾驶系统及车辆的可靠性变得至关重要。但常见的测试验证手段通常伴随着高昂的投入成本,因此使得验证过程变得十分困难。一个
    的头像 发表于 10-22 16:14 281次阅读
    基于场景的自动驾驶<b class='flag-5'>验证</b><b class='flag-5'>策略</b>

    快速部署原型验证:从子卡到调试的全方位优化

    引言原型验证是一种在FPGA平台上验证芯片设计的过程,通过在FPGA上实现芯片的设计原型,使得开发人员可以在硬件完成之前提前开始软件开发和系统验证
    的头像 发表于 09-30 08:04 625次阅读
    快速部署原型<b class='flag-5'>验证</b>:从子卡到调试的全方位优化

    优化 FPGA HLS 设计

    Vivado 工具中提供的标准指令或策略)可以使用免费评估许可证在本地运行 InTime 。或者,使用一些免费积分和预装 FPGA 工具注册 Plunify云帐户。 启动InTime后
    发表于 08-16 19:56

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

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

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

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

    fpga原型验证流程

    FPGA原型验证流程是确保FPGA(现场可编程门阵列)设计正确性和功能性的关键步骤。它涵盖了从设计实现到功能验证的整个过程,是FPGA开发流
    的头像 发表于 03-15 15:05 1574次阅读

    fpga验证和测试的区别

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

    fpga验证和uvm验证的区别

    FPGA验证和UVM验证在芯片设计和验证过程中都扮演着重要的角色,但它们之间存在明显的区别。
    的头像 发表于 03-15 15:00 1591次阅读

    fpga仿真文件怎么写

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

    原型平台是做什么的?proFPGA验证环境介绍

    proFPGA是mentor的FPGA原型验证平台,当然mentor被西门子收购之后,现在叫西门子EDA。
    的头像 发表于 01-22 09:21 1387次阅读
    原型平台是做什么的?pro<b class='flag-5'>FPGA</b><b class='flag-5'>验证</b>环境介绍

    什么是FPGA原型验证FPGA原型设计的好处是什么?

    FPGA原型设计是一种成熟的技术,用于通过将RTL移植到现场可编程门阵列(FPGA)来验证专门应用的集成电路(ASIC),专用标准产品(ASSP)和片上系统(SoC)的功能和性能。
    发表于 01-12 16:13 1210次阅读