|
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软件测试项目,任务涵盖了第方验收测试、内部测试、鉴定测试/定型测试,测试级别覆盖单元测试、配置项测试和系统测试。
现在,大家对实验室信息管理系统都比较关注,希望能从中获得更多的收益。https://www.grgtmall.com/广电计量(GRGTEST)国有第三方检测机构/cma计量检测机构,提供一站式计量检测,可靠性检测,电磁兼容检测,食品检测等服务,具有CNAS/CMA等认可资质.欢迎联系!
|
|