原创 专家访谈 | FPGA到底是啥?如何做好FPGA质量控制与测试?

2024-3-4 10:53 504 4 4 分类: FPGA/CPLD 文集: 失效分析
FPGA质量控制与测试

        随着数字化、智能化装备的爆发式发展,具备更高可靠性、更高集成性的FPGA产品,依靠自身的自定义编程设计、可重复性修订等特性,成功取代了传统堆叠化电子元器件设计方式,应用到装备的设计中去。未来电子信息领域,硬件装备软件化设计趋势已不可逆转。可以说,只要存在硬件,就必然有FPGA的身影。本期“专家访谈”栏目,邀请广电计量软件测试技术副总监齐跃,深度解析FPGA质量控制与测试,助力企业提升FPGA测试效率和设计质量。


齐跃

广电计量软件测试技术副总监

        软件/FPGA测评从业经历13年,两项国家发明专利授权发明人,一项软件著作权著作人。主要从事航空航天、特殊装备等领域软件及FPGA第三方及鉴定测评,覆盖导航定位、雷达、图像处理、遥控遥测等专业,具有丰富的FPGA软件测评工作经验。

FPGA软件的主要应用领域有哪些?

        FPGA,全称Field-Programmable Gate Array,翻译成中文即现场可编程门阵列。它是一种主要以数字电路为主的集成芯片,属于可编程器件中的一种。FPGA作为ASIC(专用集成电路)领域中的一种半定制电路而出现,具有无限次重新编程的能力,通过对预制的门电路、触发器和可编程布线资源重新配置,可以实现任意的逻辑功能,大大提高了集成电路的灵活性,既解决了定制电路缺乏灵活性的不足,又克服了原有可编程器件门电路数容量过小的缺点。

        因此,FPGA的应用方向非常广泛,按照应用领域来看,FPGA在高速通信、数据处理、工业控制、特殊装备和航空航天等众多领域都已经得到了广泛的应用。

为什么对FPGA软件进行测评

        根据有关单位某产品试验鉴定工作要求中提出,“FPGA应列入软件清单进行管理,列入软件测试要求考核范围,关键或重要FPGA要针对性开展代码规则检查、功能仿真、时序验证等测试”。所以根据上述文件要求所有设备中的FPGA软件都要进行内部测试/第三方测评/鉴定测评。

FPGA软件测试面临哪些挑战?

        FPGA软件包含进行设计而产生的程序、文档和数据,同时包含与之相关的软件特性和硬件特性。FPGA软件测试需要考虑软件代码正确性、软硬件接口协调性、时序性等方面的全面覆盖。FPGA能够稳定、可靠地工作,不但功能需满足要求,时序指标、安全性指标等均需满足要求。

        不同的FPGA芯片厂商、不同的运行电压和温度情况下,FPGA的时序会有很大不同,经常造成FPGA执行时出现错误。因此,FPGA测试需要在验证FPGA软件特性的同时,验证FPGA芯片硬件特性、电压与温度对时序的影响等环境特性是否满足要求。因此,FPGA软件测试包含对FPGA软件特性、硬件特性及环境特性全方位的测试。

FPGA软件测试的内容及流程有哪些?

        FPGA开发流程复杂,从前端设计代码到最后生成配置位流文件,均有可能引入设计缺陷。因此,在安全关键领域,FPGA软件的独立测评流程涵盖由RTL代码生成位流文件的各关键节点,从不同层次采用多种方法对软件功能、接口、时序、和性能进行确认。

        主要测试方法有:编码规则检查、跨时钟检查、功能仿真、门级仿真、时序仿真、功耗分析、逻辑等效性检查等。测试过程主要包括:

        1.首先根据软件需求进行测试需求分析,确保测试100%覆盖软件需求。

        2.针对RTL级代码进行编码规则检查及功能仿真测试,验证FPGA前端设计的正确性。

        3.针对逻辑综合后的门级网表文件进行逻辑等效性测试,验证逻辑综合的可靠性、一致性。

        4.针对布局布线后的布线网表进行静态时序分析及时序仿真测试,验证FPGA后端设计时序路径是否收敛。

        5.针对烧写下载后的目标设备开展板级实物测试,验证FPGA整机设备功能实现正确性。

        6.使用专业工具对FPGA前端硬件描述设计与后端时序电路逻辑一致性进行检查。

如何提高FPGA测试的效率和准确性?

        1.采用自动化测试工具:自动化测试工具可以大幅提高测试效率,减少人为误差。

        2.优化测试策略:根据FPGA的具体应用场景和规格要求,制定针对性的测试策略,以提高测试的有效性和准确性。

        3.强化在板测试:在板测试可以更好地模拟实际工作情况,有助于发现潜在问题。

        4.强化可靠性评估:通过改进加速老化试验方法、引入更多实际工作场景下的应力因子等方式,提高可靠性评估的准确性。

        5.强化仿真测试:采用更精确的仿真模型和更全面的场景覆盖,提高仿真测试的有效性。

如何提高FPGA软件设计质量和可靠性?

        FPGA质量提升是一个涵盖设计、验证、实施和测试全过程的系统工程,下面将详细介绍几个关键环节:

        1. 设计阶段的质量保证

        模块化设计:采用模块化的设计方法有助于提高代码可读性与重用性,并简化后期维护。每个模块应有明确的功能定义,遵循良好的设计原则。

        资源优化:根据具体应用需求合理分配逻辑资源、内存资源以及布线资源,通过算法优化和架构选择来降低功耗并提升性能。

        RTL设计规范:遵循行业标准和最佳实践编写HDL代码,确保代码风格一致且易于综合工具理解,避免潜在的时序问题。

        2. 验证流程强化

        功能仿真:在早期阶段进行详尽的功能仿真验证,确保设计满足规格要求,并覆盖所有可能的状态和边界条件。

        形式验证:利用形式化方法验证设计正确性,包括等价检查、属性检查及模型检查,以减少因传统仿真遗漏而引入的问题。

        静态时序分析(STA):在布局布线后执行严格的STA,确保设计达到指定的时序约束,防止由于时钟偏斜、延时不匹配导致的功能失效。

        3. 增强可靠性设计

        冗余技术:使用三模冗余(TMR)、纠错码(ECC)或其他容错机制,提高系统的抗错误能力。

        内建自测试(BIST):集成自测试电路,能够在运行过程中检测硬件故障,增强产品的现场可靠性。

        软错误防护:针对辐射效应和其他非永久性故障,采用适当的软错误率(SER)防护策略。

        4. 硬件实现与签核

        综合与优化:选择高性能的综合工具,并对其进行参数调整以获得最优布局布线结果,同时考虑资源利用率、速度和功率。

        物理设计签核:对完成布局布线后的设计进行全面的物理设计签核,包括DRC(设计规则检查)、LVS(Layout Versus Schematic),确保设计符合工艺要求。

        综上所述,提升FPGA设计质量涉及诸多方面,需要在整个开发周期中结合先进的设计理念、严谨的验证手段和科学的测试方法,才能最终打造出高可靠性的FPGA产品。

广电计量具备哪些FPGA测试服务经验?

        广电计量FPGA测试团队具有全面的装备软件测试资质,目前承接的项目包括商飞C919、载人航天、特殊装备等领域数十项FPGA软件测试项目,任务涵盖了第三方验收测试、内部测试、鉴定测试/定型测试,测试级别覆盖单元测试、配置项测试和系统测试。

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条