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
    +关注

    关注

    1665

    文章

    22573

    浏览量

    640845
  • asic
    +关注

    关注

    34

    文章

    1282

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    西门子与NVIDIA实现验证领域关键突破

    西门子与 NVIDIA 密切合作,使西门子 Veloce proFPGA CS 硬件辅助验证与确认系统,能够支持芯片设计工程师与系统架构师在首轮流片前,运行并采集数万亿次验证周期,从而实现更优的设计迭代。
    的头像 发表于 04-16 11:18 518次阅读

    请教:6G 确定性通信原型验证FPGA+SDR 方案该怎么搭?

    平台选什么型号更适合做低时延空口验证? 原型验证阶段,最小可行验证系统应该包含哪些模块? 有没有类似确定性通信 / 硬实时通信的原型参考方案? 纯技术探讨,不涉及商业项目,希望做原型验证
    发表于 04-11 10:24

    2026年2月FPGA行业观察:AI 驱动 · 验证刚需

    1.AI 驱动 FPGA 需求激增:边缘计算与原型验证 2026年2月,全球半导体市场在 AI 算力需求下持续升温,先进逻辑芯片与高端存储芯片成为双增长引擎。 在市场整体上行的背景下,FPGA 市场
    的头像 发表于 03-06 10:32 363次阅读
    2026年2月<b class='flag-5'>FPGA</b>行业观察:AI 驱动 · <b class='flag-5'>验证</b>刚需

    直流固态变压器控制策略仿真解决方案

    EasyGo 平台的 EasyGo DeskSim软件,将模型部署到仿真设备中; 步骤3:配置硬件接口,连接实际 DSP 控制器,实现控制算法的硬件在环测试。 对于DCSST控制策略验证,EasyGo
    发表于 03-06 09:26

    RDMA设计35:基于 SV 的验证平台

    设计。 FPGA IP(知识产权核)使用SystemVerilog(SV)进行验证,主要基于其在验证效率、代码复用性和工程协作方面的显著优势。本IP采用它进行验证以确保其可靠性。 这里
    发表于 02-01 13:14

    如何进行动态策略的性能测试?

    动态策略的性能测试核心是 “ 量化关键指标、模拟真实负载、验证极限能力 ”,聚焦 “响应速度、功耗控制、实时性、资源占用” 四大核心维度,通过精准工具测量和场景模拟,确保策略在不同工况下性能达标
    的头像 发表于 11-13 17:55 2548次阅读
    如何进行动态<b class='flag-5'>策略</b>的性能测试?

    如何使用FPGA实现SRIO通信协议

    泛应用。文章重点解释了回环测试的基本概念,这种方法可验证FPGA中的SRIO接口功能的正确性,并提供了系统级测试验证的相关知识。同时,本例程还涵盖了Verilog语法、FPGA架构、S
    的头像 发表于 11-12 14:38 6197次阅读
    如何使用<b class='flag-5'>FPGA</b>实现SRIO通信协议

    FPGA原型验证实战:如何应对外设连接问题

    在芯片设计验证中,我们常常面临一些外设连接问题:速度不匹配,或者硬件不支持。例如运行在硬件仿真器或FPGA原型平台上的设计,其时钟频率通常只有几十MHz,甚至低至1MHz以下;而真实世界中的外设
    的头像 发表于 10-22 10:28 724次阅读
    <b class='flag-5'>FPGA</b>原型<b class='flag-5'>验证</b>实战:如何应对外设连接问题

    基于优化算法的黑盒系统验证策略

    自动驾驶的安全验证是保证系统在给定环境中正确及安全操作的过程。系统的期望行为通过某些规范标准来定义,而系统失败指其行为违反了这些规定。
    的头像 发表于 10-16 10:32 717次阅读
    基于优化算法的黑盒系统<b class='flag-5'>验证</b><b class='flag-5'>策略</b>

    线控转向直流无刷电机的控制策略研究

    【摘要】建立了线控转向系统机械路感模拟和直流无刷电机的数学模型。针对线控转向系统需要直流无刷电机响应快、鲁性高的要求,采用双闭环控制策略,其中电流环采用PID控制,转角环采用滑膜变结构控制。通过
    发表于 07-15 15:22

    双三相感应电机SVPWM的新型过调制策略

    。通过仿真和实验验证了所提过调制策略的正确、可行性。 纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:双三相感应电机SVPWM的新型过调制策略.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字
    发表于 06-19 11:10

    三相无刷直流电机改进型脉宽调制策略

    摘要:研究了一种改进型无刷直流电机脉宽调制策略。在传统的无刷直流电机脉宽调制技术的基础上,针对调制期间开关管断开时的电机绕组电流无法有效控制问题,研究了一种基于六开关电压源型逆变器的四管调制策略
    发表于 06-13 09:37

    推动硬件辅助验证平台增长的关键因素

    硬件加速和基于FPGA的原型设计诞生于1980年代中期,开发者将当时初露头角的现场可编程门阵列(FPGA)率先应用于硅前设计的原型验证,由此催生了一种全新的验证工具,打破了软件仿真的主
    的头像 发表于 06-11 14:42 1139次阅读
    推动硬件辅助<b class='flag-5'>验证</b>平台增长的关键因素

    芯片的验证为何越来越难?

    是设计复杂度上升和成本削减的尝试。这意味着管理层必须深入审视其验证策略,确保工具和人员的潜力得到最大发挥。自半导体时代伊始,通过仿真验证设计是否具备所需功能,一直是功能
    的头像 发表于 06-05 11:55 1095次阅读
    芯片的<b class='flag-5'>验证</b>为何越来越难?

    电机重启动的控制策略

    转速,从而快速恢复变频调速系统的正常运行。该方法已在某企业生产的高压变频器 6~10 kV 电压等级的产品中得到实际应用,验证了其有效性和工程上的实用性。 **纯分享帖,需要者可点击附件免费获取完整资料
    发表于 05-27 16:23