一种自动化FPGA原型验证方法技术

技术编号:37849390 阅读:7 留言:0更新日期:2023-06-14 22:36
本发明专利技术公开了一种自动化FPGA原型验证方法,涉及芯片FPGA原型验证领域;包括以下步骤:S1、将验证平台分为FPGA原型测试模块和辅助测试模块;S2、根据FPGA原型验证的模块功能,将测试流程分成三种:内部自测流程、外部激励和反馈测试流程和涉及到复位的测试流程;S3、根据模块功能,下发测试指令,给到FPGA测试代码,同时辅助测试芯片判断相应的输出或FPGA反馈的测试结果,辅助测试芯片依次发送测试指令,记录测试结果;S4、辅助测试模块依次测试据所有功能CASE,并根据测试结果,在回归测试时优先测试错误测试项。本发明专利技术提供了稳定的验证方法,降低了验证难度和验证人员的门槛,以减少人力成本,提高效率。提高效率。提高效率。

【技术实现步骤摘要】
一种自动化FPGA原型验证方法


[0001]本专利技术涉及芯片FPGA原型验证领域,具体为了一种自动化的FPGA原型验证方法。

技术介绍

[0002]FPGA是一种以数字电路为主的集成芯片,属于可编程逻辑器件的一种,它作为专用集成电路领域中的一种半定制电路,解决了定制电路的不足,又克服了原有可编程器件门电路数量有限的缺点;
[0003]随着集成电路设计的难度与挑战进一步加大,在芯片开发与验证阶段,设计代码的迭代版本越来越多,每个设计版本都需要进行功能验证,会耗费大量的时间和人力成本;
[0004]FPGA原型验证是模仿真实软件应用条件下,芯片和系统是否按照设计需求完成了实际场景的应用,FPGA内部电路可重构,可以映射芯片的逻辑设计,从成本上来说,FPGA原型验证性价比极高,同时FPGA原型运行速度也很快,相较于其他验证手段,FPGA原型验证速度高出几个数量级,是当前主流的芯片验证方法;
[0005]在芯片设计之初,需要很多轮的FPGA原型验证,直至问题收敛为零,这中间重复的测试会耗费大量人力资源,并且由于是手动测试,会带来错误验证的风险,因此,如何实现自动化验证是芯片设计与验证阶段所需要解决的关键问题;现提出一种自动化的FPGA原型验证方法,来有效解决上述问题。

技术实现思路

[0006]本专利技术的目的在于提供一种自动化的FPGA原型验证方法,搭建自动化FPGA原型验证平台,根据功能编写原型测试代码和辅助测试代码,自动执行一次下发的测试指令,记录测试结果,根据测试代码的运行情况,判断芯片功能是否正常,并保存结果至FLASH中,并在回归测试阶段根据测试结果对不同测试CASE进行优先级比较,最大化测试效果。
[0007]为了解决上述
技术介绍
中的问题,本专利技术提供如下技术方案:一种自动化的FPGA原型验证方法,该验证方法包括以下步骤:
[0008]S1、根据FPGA原型验证需求,将验证平台分成两部分:FPGA原型测试模块和辅助测试模块,其中辅助测试模块包括辅助测试芯片;
[0009]S2、根据FPGA原型验证的模块功能,将测试流程分成三种:内部自测流程、外部激励和反馈测试流程和涉及到复位的测试流程;
[0010]S3、根据FPGA原型验证的模块功能,将每个功能CASE测试代码编辑合并产生一个可执行程序文件,下载到FPGA原型验证模块中,每一项功能测试CASE通过辅助测试芯片下发测试指令的方式给到FPGA执行相应的测试代码,同时辅助测试芯片会判断相应的输出或FPGA反馈的测试结果,辅助测试芯片会依次发送所有的测试指令,并将每一项测试结果记录;
[0011]S4、辅助测试模块依次测试所有功能CASE,并根据所有的测试结果,在回归测试的时候自动将错误的测试项优先测试。
[0012]根据上述技术方案,在步骤S1中,根据FPGA原型验证自动化需求,搭建FPGA自动化验证平台,将验证平台分成两部分:FPGA原型测试模块和辅助测试模块;根据每个IP的功能,编写原型测试代码和辅助测试代码,并一次性下载到FPGA原型测试模块和辅助测试模块中,FPGA原型测试模块需要将网表等效的所有的数字引脚引出,同时将模拟模块的内部数字信号引出,模拟模块包括ADC、DAC、COMP和OPA等模拟IP模块;I2C和SPI功能模块属于原型测试模块,I2C和SPI功能模块在FPGA原型测试模块预留下载器接口、复位按键接口和运行指示灯;部分功能模块在原型测试模块上增加上下拉电阻,保证引脚的初始电平状态和功能实现;模拟模块的数字部分信号引出后,在外部通过硬件搭建模拟模块模拟部分的功能电路,以实现模拟模块的全功能,并测试;辅助测试模块测试FPGA网表的所有功能,有与原型测试模块相同数量的引脚,并与所有引脚一一连接;辅助测试模块每根引脚实现与对应原型测试模块相对应的功能,IO输出通过IO输入检测,IO是一种输入输出接口;PWM输出通过PWM捕获检测,PMW为一种对模拟信号电平进行数字编码的方法;I2C通过I2C接口检测,I2C是一种双向二线制同步串行总线;SPI通过SPI口检测,SPI是一种串行外设接口,是一种高速、双全工、同步的通信总线;UART通过UART检测,UART是一种采用异步串行通信方式的通用异步收发传输器;TIM通过TIM检测,TIM是一种电容按键检测。
[0013]根据上述技术方案,在步骤S2中,内部自测流程将没有输出和输入引脚的功能模块通过寄存器执行功能配置,如在HDIV硬件除法器模块中,表现为通过寄存器配置初始化相应的除数、被除数、符号位和使能位配置参数,然后通过寄存器读出计算的商和余数;配置系统和使用功能,再通过对应寄存器读出对应的结果,通过结果判断这个功能是否测试通过,流程如下:
[0014]S2101、辅助测试模块下发测试指令;
[0015]S2102、FPGA原型验证模块收到指令并执行相应的代码,执行结果正确跳回到步骤S2101;执行结果错误跳到步骤S2103;
[0016]S2103、退出测试;
[0017]外部激励和反馈测试流程,是将需要外部给激励或者输出外部信号的功能模块,通过辅助测试芯片给激励或检测输出,通过输出结果或外部的激励反馈,判断这个功能是否测试通过,测试流程如下:
[0018]S2201、辅助测试模块下发测试指令;
[0019]S2202、FPGA原型验证模块收到指令并执行相应的代码;
[0020]S2203、辅助测试模块给定激励;
[0021]S2204、FPGA原型验证模块根据激励给予反馈信号;
[0022]S2205、辅助测试模块判断反馈信号是否满足条件,条件满足跳回步骤S2201;
[0023]S2206、退出测试;
[0024]涉及到复位的测试流程,需要在复位操作之前,将当前的CASE号保存至FLASH固定区域,并在复位之后读取该FLASH地址的值,执行相应复位后的代码,从而保证测试流程继续执行,测试流程如下:
[0025]S2301、辅助测试模块下发测试指令;
[0026]S2302、FPGA原型验证模块收到指令并执行相应的代码;
[0027]S2303、FPGA原型验证模块将当前测试的指令号保存到FLASH并复位;
[0028]S2304、FPGA原型验证模块复位读取FLASH数据,并执行当前数据对应的CASE号;
[0029]S2305、FPGA原型验证模块反馈测试结果,若正确,跳回步骤S2301;若错误,则跳到步骤S2306;
[0030]S2306、退出测试。
[0031]根据上述技术方案,在步骤S3中,根据FPGA原型验证的模块功能,将每一项功能测试CASE通过辅助测试芯片下发测试指令的方式给到FPGA执行相应的测试代码,同时辅助测试模块会判断相应的输出或FPGA反馈的测试结果,辅助测试芯片会依次发送所有的测试指令,并将每一项测试结果记录;为方便后期的自动化测试CASE的更新和维护,使用以下规则命名CASE本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化FPGA原型验证方法,其特征在于包括四个步骤:S1、根据FPGA原型验证需求,将验证平台分成两部分:FPGA原型测试模块和辅助测试模块,其中辅助测试模块包含辅助测试芯片;S2、根据FPGA原型验证的模块功能,将测试流程分成三种:内部自测流程、外部激励和反馈测试流程和涉及到复位的测试流程;S3、根据FPGA原型验证的模块功能,编辑每个功能CASE测试代码,合并产生一个可执行程序文件,下载到FPGA原型验证模块中,每一项功能测试CASE通过辅助测试芯片下发测试指令的方式给到FPGA执行相应的测试代码,同时辅助测试芯片判断相应的输出或FPGA反馈的测试结果,辅助测试芯片依次发送所有的测试指令,并将每一项测试结果记录;S4、辅助测试模块依次测试所有功能CASE,并根据所有的测试结果,自动将错误的测试项在回归测试的时候优先测试。2.根据权利要求1所述的一种自动化FPGA原型验证方法,其特征在于:在步骤S1中,根据FPGA原型验证自动化需求,将验证平台分成两部分:FPGA原型测试模块和辅助测试模块;FPGA原型测试模块将网表等效的所有的数字引脚引出,同时将模拟模块的内部数字信号引出;在FPGA原型测试模块预留下载器接口、复位按键接口和运行指示灯;I2C和SPI功能模块属于原型测试模块,I2C和SPI功能模块在原型测试模块上增加上下拉电阻;模拟模块的数字部分信号引出后,在外部通过硬件搭建模拟模块模拟部分的功能电路,以实现模拟模块的全功能,并测试;辅助测试模块有与原型测试模块相同数量的引脚,并与所有引脚一一连接;辅助测试模块每根引脚实现与对应原型测试模块相对应的功能,IO输出通过IO输入检测。3.根据权利要求1所述的一种自动化FPGA原型验证方法,其特征在于:在步骤S2中,内部自测流程将没有输出和输入引脚的功能模块通过寄存器执行功能配置,再通过对应寄存器读出对应的结果通过结果判断这个功能是否测试通过,流程如下:S2101、辅助测试模块下发测试指令;S2102、FPGA原型验证模块收到指令并执行相应的代码,执行结果正确跳回到步骤S2101;执行结果错误,跳到步骤S2103;S2103、退出测试;外部激励和反馈测试流程,是将需要外部给激励或者输出外部信号的功能模块,通过辅助测试芯片给激励或检测输出,通过输出结果或外部的激励反馈,判断这个功能是否测试通过,测试流程如下:S2201、辅助测试模块下发测试指令;S2202、FPGA原型验证模块收到指令并执行相应的代码;S2203、辅助测试模块给定激励;S2204、FPGA原型验证模块根据激励给予反馈信号;S2205、辅助测试模块判断反馈信号是否满足条件,条件满足跳回步骤S2201;S2206、退出测试;涉及到复位的测试流程,需要在复位操作之前,将当前的CASE号保存至FLASH固定区域,并在复位之后...

【专利技术属性】
技术研发人员:王伟丁颖孙乾程朱立明
申请(专利权)人:上海海速芯微电子有限公司深圳海速芯业科技有限公司无锡市海速芯业电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1