CN111428431A - 一种支持eda软件的自动化测试并记录的方法及*** - Google Patents

一种支持eda软件的自动化测试并记录的方法及*** Download PDF

Info

Publication number
CN111428431A
CN111428431A CN202010130642.9A CN202010130642A CN111428431A CN 111428431 A CN111428431 A CN 111428431A CN 202010130642 A CN202010130642 A CN 202010130642A CN 111428431 A CN111428431 A CN 111428431A
Authority
CN
China
Prior art keywords
verification
file
automatic
flow
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010130642.9A
Other languages
English (en)
Other versions
CN111428431B (zh
Inventor
夏燕
冯苏红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ehiway Microelectronic Technology Suzhou Co ltd
Original Assignee
Ehiway Microelectronic Technology Suzhou Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ehiway Microelectronic Technology Suzhou Co ltd filed Critical Ehiway Microelectronic Technology Suzhou Co ltd
Priority to CN202010130642.9A priority Critical patent/CN111428431B/zh
Publication of CN111428431A publication Critical patent/CN111428431A/zh
Application granted granted Critical
Publication of CN111428431B publication Critical patent/CN111428431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

一种支持EDA软件的自动化测试并记录的方法及***,能够尽早并且充分的进行测试,最大限度的找出软件中存在的问题,大大提高了软件的测试效率,节约了测试时间,能够清晰的看到执行每个情况的结果以及错误原因,对于每个软件版本的冒烟测试有着极高的效率。方法包括:(1)进行自动化设计;(2)进行***全流程的验证设计;(3)EDA模块级自动化验证;(4)后台校验与自动化整合验证。

Description

一种支持EDA软件的自动化测试并记录的方法及***
技术领域
本发明涉及针对C#代码的C/S结构软件测试的技术领域,尤其涉及一种支持EDA软件的自动化测试并记录的方法,以及支持EDA软件的自动化测试并记录的***,其主要适用于EDA比较稳定的情况,能够通过脚本控制测试流程并且进行相应的校验输出。
背景技术
C#(读做"C sharp",中文译音“夏普”)是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似:它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。
随着集成电路技术的发展,FPGA(Field-Programmable Gate Array,现场可编程门阵列)的EDA(Electronics Design Automation,电子设计自动化)软件尤为重要,FPGA的EDA软件不同于其他的软件***,它集成了包括设计电路、编译电路、调试电路、分析电路功能。
EDA做展示,后台使用很多EXE的调用,TCL文件的调用及执行,对于每个电路,不同的结果,EDA软件会做不同的处理及展示,而一般其他的软件***均采用界面展示,数据存储的模式。一般的软件***,对于一个流程的结果是固定的,而对于本发明中的EDA软件来说,不同的电路会产生不同的结果,甚至同一个电路,也会产生不同的结果,此时需要大量的电路进行各种功能的配置,来验证EDA软件是否正确,存在哪些BUG。单靠人工测试并不能将大量测试电路来验证软件的正确性,此时需要大量的时间和精力,并且由于软件中很多设置项及选项太多,会大大增加测试人员的时间及精力,覆盖率往往并不高。所以需要有一种自动化技术,能够支持EDA软件的快速测试并且发现记录相应的BUG。
发明内容
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种支持EDA软件的自动化测试并记录的方法,其能够尽早并且充分的进行测试,最大限度的找出软件中存在的问题,大大提高了软件的测试效率,节约了测试时间,能够清晰的看到执行每个情况的结果以及错误原因,对于每个软件版本的冒烟测试有着极高的效率。
本发明的技术方案是:这种支持EDA软件的自动化测试并记录的方法,其包括以下步骤:
(1)进行自动化设计,将EDA软件上的控件进行录制,并且按照FPGA的工作流程梳理执行步骤,首先生成数据驱动文件,先将所需的变量放在第一行每个单元内,这些单元存放路径、顶层实体、源verilog、mif、hex文件的存放路径以及配置参数,下面每一行代表一个电路CASE,根据上述的驱动变量存放数据,然后通过将自动化中所用到的变量与数据驱动文件中的第一行的变量进行绑定来获取下面每一行的数据不同的参数,再进行全流程的执行;
(2)进行***全流程的验证设计,流程步骤包括:创建电路工程、配置综合设置、生成网表文件、创建逻辑分析仪、添加信号加固、管脚配置、设置时序约束、进行装箱、布局、布线,结果文件输出;
(3)EDA模块级自动化验证,对每个模块进行自动校验;
(4)后台校验与自动化整合验证:针对全流程已经执行完成后,对于后台的一些结果进行后台校验,使用C#直接调用执行后台验证脚本。
本发明通过上万个不同电路的全流程测试,随机的配置,每轮测试都会有不同的配置信息,做到不同的电路,每次执行时的配置项都不同,从而最大限度的找出软件中存在的问题,能够尽早并且充分的进行测试;对于测试人员来说,大大提高了软件的测试效率,节约了测试时间;对于结果文件的汇总日志,测试人员能够清晰的看到执行每个CASE的结果以及错误原因;对于每个软件版本的冒烟测试,有着极高的效率。
还提供了一种支持EDA软件的自动化测试并记录的***,其包括:
自动化设计模块,其配置来进行自动化设计,将EDA软件上的控件进行录制,并且按照FPGA的工作流程梳理执行步骤,首先生成数据驱动文件,先将所需的变量放在第一行每个单元内,这些单元存放路径、顶层实体、源verilog、mif、hex文件的存放路径以及配置参数,下面每一行代表一个电路CASE,根据上述的驱动变量存放数据,然后通过将自动化中所用到的变量与数据驱动文件中的第一行的变量进行绑定来获取下面每一行的数据不同的参数,再进行全流程的执行;
***全流程的验证设计模块,其配置来进行***全流程的验证设计,流程步骤包括:创建电路工程、配置综合设置、生成网表文件、创建逻辑分析仪、添加信号加固、管脚配置、设置时序约束、进行装箱、布局、布线,结果文件输出;
模块级自动化验证模块,其配置来进行EDA模块级自动化验证,对每个模块进行自动校验;
后台校验与自动化整合验证模块,其配置来进行后台校验与自动化整合验证:针对全流程已经执行完成后,对于后台的一些结果进行后台校验,使用C#直接调用执行后台验证脚本。
附图说明
图1示出了根据本发明的支持EDA软件的自动化测试并记录的方法的步骤(1)的流程图。
图2示出了生成的数据驱动文件。
图3示出了根据本发明的支持EDA软件的自动化测试并记录的方法的步骤(2)的流程图。
图4是根据本发明的支持EDA软件的自动化测试并记录的方法的流程图。
具体实施方式
如图4所示,这种支持EDA软件的自动化测试并记录的方法,其包括以下步骤:
(1)进行自动化设计,将EDA软件上的控件进行录制,并且按照FPGA的工作流程梳理执行步骤,首先生成数据驱动文件,先将所需的变量放在第一行每个单元内,这些单元存放路径、顶层实体、源verilog、mif、hex文件的存放路径以及配置参数,下面每一行代表一个电路CASE,根据上述的驱动变量存放数据,然后通过将自动化中所用到的变量与数据驱动文件中的第一行的变量进行绑定来获取下面每一行的数据不同的参数,再进行全流程的执行;
(2)进行***全流程的验证设计,流程步骤包括:创建电路工程、配置综合设置、生成网表文件、创建逻辑分析仪、添加信号加固、管脚配置、设置时序约束、进行装箱、布局、布线,结果文件输出;
(3)EDA模块级自动化验证,对每个模块进行自动校验;
(4)后台校验与自动化整合验证:针对全流程已经执行完成后,对于后台的一些结果进行后台校验,使用C#直接调用执行后台验证脚本。
本发明通过上万个不同电路的全流程测试,随机的配置,每轮测试都会有不同的配置信息,做到不同的电路,每次执行时的配置项都不同,从而最大限度的找出软件中存在的问题,能够尽早并且充分的进行测试;对于测试人员来说,大大提高了软件的测试效率,节约了测试时间;对于结果文件的汇总日志,测试人员能够清晰的看到执行每个CASE的结果以及错误原因;对于每个软件版本的冒烟测试,有着极高的效率。
优选地,所述步骤(1)中,生成网表之后进行逻辑分析仪的配置,如果有些电路网表未生成,则直接终止后面的步骤,直接跑下一条CASE,添加USER CODE进行脚本控件流程步骤。
优选地,如图1所示,所述步骤(1)包括以下分步骤:
(1.1)进行控件的录制,将控件存放在控件仓库中,对于同一个软件***,不同的自动化测试脚本共用一个控件仓库;当出现控件无法识别的情况,使用坐标的方式进行识别;
(1.2)逻辑分析仪、加固信号功能以及管脚的配置在生成网表之后进行,时序的配置在装箱、布局、布线之后进行配置;对于一些配置项的下拉列表或者复选框的选值,进行用户代码USER CODE随机生成;利用USER CODE直接调用底层校验CHECK脚本对每个电路的底层进行校验;
(1.3)根据实际业务需求,对所需要用到的变量存放在EXCEL中,第一行存放变量名,第二行开始存放CASE的值,使用脚本获取这些CASE值;
(1.4)回放脚本,查看脚本没有问题,则进行自动化测试;执行后的结果文件包括界面部分和底层部分,界面部分是执行界面自动化之后对界面的一些断言的结果,底层部分是通过界面自动化调用了底层验证脚本生成的结果文件。
优选地,所述步骤(1.3)中,将数据驱动的数据关联到相应的自动化CASE中,并且与对应的参数绑定。
优选地,如图3所示,所述步骤(2)包括以下分步骤:
(2.1)进行综合时,如果生成网表文件,则执行步骤(2.2);如果没有生成网表文件,这个CASE执行结束,记录结果日志;
(2.2)在生成的网表文件中进行逻辑分析仪中观测信号及CLK信号的获取并执行自动配置,以及综合;
(2.3)进行综合配置,根据每个配置项的值,随机产生待配置的值;
(2.4)从网表文件中获取加固信号,根据业务需求,加固信号不超过6个,代码控件配置次数随机产生6以内的整数进行配置;
(2.5)判断带上逻辑分析仪后是否综合成功,如果成功,则执行步骤(2.6);如果失败,则这个CASE执行结束,记录结果日志;
(2.6)通过代码获取器件的管脚号,配置管脚,每个信号不配置重复的管脚;对于寄存器的开或者关,进行随机分配,再进行装箱布局布线,如果布线成功,则执行步骤(2.7),否则这个CASE执行结束,记录结果日志;
(2.7)配置时序约束时,根据不同的约束,从底层文件中获取Net、Pins或者Ports进行配置,再进行装箱布局布线,并且判断是否布线成功,成功则记录执行成功,否则这个CASE执行结束,记录结果日志;
(2.8)进行后台脚本校验,通过USER CODE将PATH及PROJECT NAME写入存储文件中,调用PYTHON脚本进行验证各种底层文件的验证。
优选地,所述步骤(2.6)中,PLL(Phase Locked Loop,锁相环)的CLK指定到特定管脚上。
优选地,所述步骤(2.7)中,进行CREATE_CLOCK约束时,获取的源SOURCE为CLK,PERIOD、RISING及FALLING通过***随机生成合理的值。
优选地,所述步骤(2)中,如果执行时间超过30分钟,则直接停止流程,并记录为超时TIMEOUT,进行下一个CASE的执行,TIMEOUT的CASE后续进行单独验证。
优选地,所述步骤(3)包括:验证了输出、输入及双端口的情况下,不同管脚配置的默认值是否正确;当输出或者输入及双端口,配置了某些I/O Standard时,该禁用掉的寄存器是否成功禁用,并且配置的信息写到底层配置文件中是否正确;执行全流程时,校验是否会导致配置信息清掉或者被覆盖掉。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,与本发明的方法相对应的,本发明还同时包括一种支持EDA软件的自动化测试并记录的***,该***通常以与方法各步骤相对应的功能模块的形式表示。该***包括:
自动化设计模块,其配置来进行自动化设计,将EDA软件上的控件进行录制,并且按照FPGA的工作流程梳理执行步骤,首先生成数据驱动文件,先将所需的变量放在第一行每个单元内,这些单元存放路径、顶层实体、源verilog、mif、hex文件的存放路径以及配置参数,下面每一行代表一个电路CASE,根据上述的驱动变量存放数据,然后通过将自动化中所用到的变量与数据驱动文件中的第一行的变量进行绑定来获取下面每一行的数据不同的参数,再进行全流程的执行;
***全流程的验证设计模块,其配置来进行***全流程的验证设计,流程步骤包括:创建电路工程、配置综合设置、生成网表文件、创建逻辑分析仪、添加信号加固、管脚配置、设置时序约束、进行装箱、布局、布线,结果文件输出;
模块级自动化验证模块,其配置来进行EDA模块级自动化验证,对每个模块进行自动校验;
后台校验与自动化整合验证模块,其配置来进行后台校验与自动化整合验证:针对全流程已经执行完成后,对于后台的一些结果进行后台校验,使用C#直接调用执行后台验证脚本。
以下更详细地说明本发明。该方法包括以下方面:
1、自动化设计流程:
自动化设计的主要思路是将EDA软件上的控件进行录制,并且按照FPGA的工作流程梳理执行步骤,由于本发明不是为单个电路进行自动测试,所以首先需要将电路的存放路径、顶层实体、源verilog、mif、hex文件存放路径、配置参数存放到数据驱动文件中,然后通过获取每一行的数据获取不同的参数进行全流程的执行,此时应注意对于FPGA的EDA软件,不同的电路会出现不同的结果,例如生成网表之后会进行逻辑分析仪的配置,如果有些电路网表未生成,则直接终止后面的步骤,直接跑下一条CASE,所以需要添加USER CODE进行脚本控件流程步骤。工作示意图如图1所示。
工作流程分解说明如下:
1)进行控件的录制
EDA软件首要任务也是进行控件的录制,将控件存放在控件仓库中,这样对于同一个软件***,不同的自动化测试脚本,可共用一个控件仓库,避免建多个重复的仓库。对于自动化工具,偶尔由于工具的局限性,会导致控件无法识别的情况,则能够使用坐标的方式进行识别。
2)增强脚本
EDA软件中的全流程过程涉及多个模块,模块之间有相互关联,逻辑分析仪、加固信号功能以及管脚的配置必须在生成网表之后进行,时序的配置必须在装箱、布局、布线之后进行配置。由于本发明需要进行大量,上千个或者上万个电路进行测试,需要将可能出现的逻辑情况都进行判断;同时对于一些配置项的下拉列表或者复选框的选值,能够进行USER CODE代码随机生成,避免每次执行这个CASE使用的是相同的参数,可以增加随机性。并且本发明中,利用USER CODE直接调用底层CHECK脚本对每个电路的底层进行校验。详细说明见2。
3)进行EXCEL数据驱动
根据实际业务需求,对所需要用到的变量存放在EXCEL中,第一行存放变量名,第二行开始存放CASE的值,由于这CASE有时候有上万个,并且变量很多,不可能一一自己填写,则需要使用脚本获取这些CASE值,比如通过BAT文件进行获取PATH,如下所示,获取该目录中以.v结尾的所有文件的路径存放进generate_path.txt文件中,脚本如下所示:
@echo off&setlocal EnableDelayedExpansion
for/f"delims="%%i in('"dir/a/s/b/on*.v"')do(
set file=%%~fi
set file=!file:/=/!
echo!file!>>generate_path.txt
)
生成的数据驱动文件如图2所示。
这里值得注意的是,必须要将数据驱动的数据,关联到相应的自动化CASE中,并且与对应的参数绑定才可使用,否则参数不绑定,无法获取到数据驱动里的变量,则会直接取设置的变量默认值。
4)回放脚本,执行自动化测试
回放脚本,查看脚本没有问题,则进行自动化测试。此处执行后的结果文件包括了界面部分和底层部分。界面部分主要是执行界面自动化之后,对界面的一些断言的结果,底层部分主要是通过界面自动化调用了底层验证脚本生成的结果文件。
2、EDA软件***级全流程自动化验证:
对于FPGA的EDA软件,本发明进行了***全流程的验证设计,流程步骤包括了创建电路工程、配置综合设置、生成网表文件、创建逻辑分析仪、添加信号加固、管脚配置、设置时序约束、进行装箱、布局、布线,结果文件输出。对于这种大规模电路验证的情况,需要针对软件的特性进行逻辑控件,具体的逻辑控件如下:
(1)进行综合时,如果生成网表文件,则进行(2)操作;如果没有生成网表文件,这个CASE执行结束,记录结果日志。
(2)在生成的网表文件中进行逻辑分析仪中观测信号及CLK信号的获取并执行自动配置,以及综合。
(3)进行综合配置,根据每个配置项的值,随机产生待配置的值,这样数据不易重复测试。
(4)从网表文件中获取加固信号,根据业务需求,加固信号不能超过6个,代码控件配置次数随机产生6以内的整数进行配置。
(5)判断带上逻辑分析仪后是否综合成功,如果成功,则进行(6)操作;如果失败,则这个CASE执行结束,记录结果日志。
(6)通过代码获取器件的管脚号,配置管脚,每个信号不允许配置重复的管脚。比较特殊的PLL的CLK需要指定到指定的管脚上,此时判断如果碰到PLL的情况,CLK指定到特殊管脚上,管脚配置还涉及到很多寄存器的ON或者OFF,进行随机分配,再进行装箱布局布线,如果布线成功,则执行后续(7)操作,否则这个CASE执行结束,记录结果日志。
(7)配置时序约束时,根据不同的约束,从底层文件中获取Net、Pins或者Ports进行配置,比如进行CREATE_CLOCK约束时,获取的SOURCE为CLK,PERIOD、RISING及FALLING通过***随机生成合理的值,其他约束同理,再进行装箱布局布线,并且判断是否布线成功,成功则记录执行成功,否则这个CASE执行结束,记录结果日志
(8)进行后台脚本CHECK,通过USER CODE将PATH及PROJECT NAME写入存储文件中,调用PYTHON脚本进行验证各种底层文件的验证,这样对于每个电路都能做到尽可能多的校验。
本发明中,由于有些电路过大,需要跑好几个小时,这样会阻碍其他电路的测试执行效率,经过分析判断,大部分电路会在30分钟之内执行结束,所以此处进行了判断,如果执行时间超过30分钟,则直接STOP流程,并记录为TIMEOUT,进行下一个CASE的执行,TIMEOUT的CASE后续进行单独验证。
***流程如图3所示。
3、EDA模块级自动化验证
模块级自动化是将每个模块的手动校验尽可能写成自动化进行自动校验,自动化工具的使用流程同上述1。与***全流程自动化不同的是,全流程执行的是电路的整体流程执行,验证是否有问题,而模块级自动化的颗粒更加细。本发明中为管脚配置添加了模块级自动化,大概涉及以下几点:
(1)验证了输出、输入及双端口的情况下,不同管脚配置的默认值是否正确;
(2)当输出或者输入及双端口,配置了某些I/O Standard时,该禁用掉的寄存器是否成功禁用,并且配置的信息写到底层配置文件中是否正确;
(3)执行全流程时,CHECK是否会导致配置信息清掉或者被覆盖掉。
通过这些模块级自动化的验证及***全流程的自动化验证,可以快速验证某个软件版本是否存在严重BUG,可以进行快速自查。
4、后台校验与自动化整合验证
后台校验主要针对全流程已经执行完成后,对于后台的一些结果进行后台校验,使用C#直接调用执行后台验证脚本即可,这样能够同时将这个电路的界面及后台问题都尽可能多的找出来,测试覆盖率会更全面。
本发明对于FPGA的EDA软件,能够尽早并且充分的进行测试,通过上万个不同电路的全流程测试,随机的配置,每轮测试都会有不同的配置信息,做到不同的电路,每次执行时的配置项都不同,从而最大限度的找出软件中存在的问题。这对于测试人员来说,大大提高了软件的测试效率,节约了测试时间。对于结果文件的汇总日志,测试人员能够清晰的看到执行每个CASE的结果,以及错误原因,对于每个软件版本的冒烟测试,有着极高的效率。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。

Claims (10)

1.一种支持EDA软件的自动化测试并记录的方法,其特征在于:其包括以下步骤:
(1)进行自动化设计,将EDA软件上的控件进行录制,并且按照FPGA的工作流程梳理执行步骤,首先生成数据驱动文件,先将所需的变量放在第一行每个单元内,这些单元存放路径、顶层实体、源verilog、mif、hex文件的存放路径以及配置参数,下面每一行代表一个电路CASE,根据上述的驱动变量存放数据,然后通过将自动化中所用到的变量与数据驱动文件中的第一行的变量进行绑定来获取下面每一行的数据不同的参数,再进行全流程的执行;
(2)进行***全流程的验证设计,流程步骤包括:创建电路工程、配置综合设置、生成网表文件、创建逻辑分析仪、添加信号加固、管脚配置、设置时序约束、进行装箱、布局、布线,结果文件输出;
(3)EDA模块级自动化验证,对每个模块进行自动校验;
(4)后台校验与自动化整合验证:针对全流程已经执行完成后,对于后台的一些结果进行后台校验,使用C#直接调用执行后台验证脚本。
2.根据权利要求1所述的支持EDA软件的自动化测试并记录的方法,其特征在于:所述步骤(1)中,生成网表之后进行逻辑分析仪的配置,如果有些电路网表未生成,则直接终止后面的步骤,直接跑下一条CASE,添加USER CODE进行脚本控件流程步骤。
3.根据权利要求2所述的支持EDA软件的自动化测试并记录的方法,其特征在于:所述步骤(1)包括以下分步骤:
(1.1)进行控件的录制,将控件存放在控件仓库中,对于同一个软件***,不同的自动化测试脚本共用一个控件仓库;当出现控件无法识别的情况,使用坐标的方式进行识别;
(1.2)逻辑分析仪、加固信号功能以及管脚的配置在生成网表之后进行,时序的配置在装箱、布局、布线之后进行配置;对于一些配置项的下拉列表或者复选框的选值,进行用户代码USER CODE随机生成;利用USER CODE直接调用底层校验CHECK脚本对每个电路的底层进行校验;
(1.3)根据实际业务需求,对所需要用到的变量存放在EXCEL中,第一行存放变量名,第二行开始存放CASE的值,使用脚本获取这些CASE值;
(1.4)回放脚本,查看脚本没有问题,则进行自动化测试;执行后的结果文件包括界面部分和底层部分,界面部分是执行界面自动化之后对界面的一些断言的结果,底层部分是通过界面自动化调用了底层验证脚本生成的结果文件。
4.根据权利要求3所述的支持EDA软件的自动化测试并记录的方法,其特征在于:所述步骤(1.3)中,将数据驱动的数据关联到相应的自动化CASE中,并且与对应的参数绑定。
5.根据权利要求4所述的支持EDA软件的自动化测试并记录的方法,其特征在于:所述步骤(2)包括以下分步骤:
(2.1)进行综合时,如果生成网表文件,则执行步骤(2.2);如果没有生成网表文件,这个CASE执行结束,记录结果日志;
(2.2)在生成的网表文件中进行逻辑分析仪中观测信号及CLK信号的获取并执行自动配置,以及综合;
(2.3)进行综合配置,根据每个配置项的值,随机产生待配置的值;
(2.4)从网表文件中获取加固信号,根据业务需求,加固信号不超过6个,代码控件配置次数随机产生6以内的整数进行配置;
(2.5)判断带上逻辑分析仪后是否综合成功,如果成功,则执行步骤(2.6);如果失败,则这个CASE执行结束,记录结果日志;
(2.6)通过代码获取器件的管脚号,配置管脚,每个信号不配置重复的管脚;对于寄存器的开或者关,进行随机分配,再进行装箱布局布线,如果布线成功,则执行步骤(2.7),否则这个CASE执行结束,记录结果日志;
(2.7)配置时序约束时,根据不同的约束,从底层文件中获取Net、Pins或者Ports进行配置,再进行装箱布局布线,并且判断是否布线成功,成功则记录执行成功,否则这个CASE执行结束,记录结果日志;
(2.8)进行后台脚本校验,通过USER CODE将PATH及PROJECT NAME写入存储文件中,调用PYTHON脚本进行验证各种底层文件的验证。
6.根据权利要求5所述的支持EDA软件的自动化测试并记录的方法,其特征在于:所述步骤(2.6)中,锁相环PLL的CLK指定到特定管脚上。
7.根据权利要求6所述的支持EDA软件的自动化测试并记录的方法,其特征在于:所述步骤(2.7)中,进行CREATE_CLOCK约束时,获取的源SOURCE为CLK,PERIOD、RISING及FALLING通过***随机生成合理的值。
8.根据权利要求7所述的支持EDA软件的自动化测试并记录的方法,其特征在于:所述步骤(2)中,如果执行时间超过30分钟,则直接停止流程,并记录为超时TIMEOUT,进行下一个CASE的执行,TIMEOUT的CASE后续进行单独验证。
9.根据权利要求7所述的支持EDA软件的自动化测试并记录的方法,其特征在于:所述步骤(3)包括:验证了输出、输入及双端口的情况下,不同管脚配置的默认值是否正确;当输出或者输入及双端口,配置了某些I/O Standard时,该禁用掉的寄存器是否成功禁用,并且配置的信息写到底层配置文件中是否正确;执行全流程时,校验是否会导致配置信息清掉或者被覆盖掉。
10.一种支持EDA软件的自动化测试并记录的***,其特征在于:其包括:
自动化设计模块,其配置来进行自动化设计,将EDA软件上的控件进行录制,并且按照FPGA的工作流程梳理执行步骤,首先生成数据驱动文件,先将所需的变量放在第一行每个单元内,这些单元存放路径、顶层实体、源verilog、mif、hex文件的存放路径以及配置参数,下面每一行代表一个电路CASE,根据上述的驱动变量存放数据,然后通过将自动化中所用到的变量与数据驱动文件中的第一行的变量进行绑定来获取下面每一行的数据不同的参数,再进行全流程的执行;
***全流程的验证设计模块,其配置来进行***全流程的验证设计,流程步骤包括:创建电路工程、配置综合设置、生成网表文件、创建逻辑分析仪、添加信号加固、管脚配置、设置时序约束、进行装箱、布局、布线,结果文件输出;
模块级自动化验证模块,其配置来进行EDA模块级自动化验证,对每个模块进行自动校验;
后台校验与自动化整合验证模块,其配置来进行后台校验与自动化整合验证:针对全流程已经执行完成后,对于后台的一些结果进行后台校验,使用C#直接调用执行后台验证脚本。
CN202010130642.9A 2020-02-28 2020-02-28 一种支持eda软件的自动化测试并记录的方法及*** Active CN111428431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010130642.9A CN111428431B (zh) 2020-02-28 2020-02-28 一种支持eda软件的自动化测试并记录的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010130642.9A CN111428431B (zh) 2020-02-28 2020-02-28 一种支持eda软件的自动化测试并记录的方法及***

Publications (2)

Publication Number Publication Date
CN111428431A true CN111428431A (zh) 2020-07-17
CN111428431B CN111428431B (zh) 2024-02-02

Family

ID=71547425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010130642.9A Active CN111428431B (zh) 2020-02-28 2020-02-28 一种支持eda软件的自动化测试并记录的方法及***

Country Status (1)

Country Link
CN (1) CN111428431B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560393A (zh) * 2020-12-17 2021-03-26 中科芯云微电子科技有限公司 Eda软件工具的比对验证方法及装置
CN112668259A (zh) * 2020-12-24 2021-04-16 北京华大九天科技股份有限公司 一种后仿真网表的***验证方法
CN113094274A (zh) * 2021-04-14 2021-07-09 深圳忆联信息***有限公司 基于Python的FPGA验证方法、装置、计算机设备及存储介质
CN113705140A (zh) * 2021-07-19 2021-11-26 深圳市紫光同创电子有限公司 芯片验证方法、***、设备及存储介质
CN114239459A (zh) * 2022-02-23 2022-03-25 苏州浪潮智能科技有限公司 Fpga原型设计文件的处理方法、装置、设备及介质
CN114780440A (zh) * 2022-06-17 2022-07-22 苏州培风图南半导体有限公司 一种软件升级版本正确性的检测方法及装置
CN115113860A (zh) * 2022-08-31 2022-09-27 北京云枢创新软件技术有限公司 基于Python的EDA软件二次开发***
CN116738912A (zh) * 2023-08-09 2023-09-12 中科亿海微电子科技(苏州)有限公司 Eda软件可重构功能自动化方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187894A (zh) * 2006-11-15 2008-05-28 中兴通讯股份有限公司 一种基于关键字驱动的自动测试方法及其测试***
US8402438B1 (en) * 2007-12-03 2013-03-19 Cadence Design Systems, Inc. Method and system for generating verification information and tests for software
CN103823747A (zh) * 2012-11-16 2014-05-28 上海华虹集成电路有限责任公司 自动回归测试的方法
CN105868114A (zh) * 2016-03-31 2016-08-17 复旦大学 Fpga软件***及其各模块测试***和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187894A (zh) * 2006-11-15 2008-05-28 中兴通讯股份有限公司 一种基于关键字驱动的自动测试方法及其测试***
US8402438B1 (en) * 2007-12-03 2013-03-19 Cadence Design Systems, Inc. Method and system for generating verification information and tests for software
CN103823747A (zh) * 2012-11-16 2014-05-28 上海华虹集成电路有限责任公司 自动回归测试的方法
CN105868114A (zh) * 2016-03-31 2016-08-17 复旦大学 Fpga软件***及其各模块测试***和方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560393A (zh) * 2020-12-17 2021-03-26 中科芯云微电子科技有限公司 Eda软件工具的比对验证方法及装置
CN112560393B (zh) * 2020-12-17 2023-01-24 中科芯云微电子科技有限公司 Eda软件工具的比对验证方法及装置
CN112668259A (zh) * 2020-12-24 2021-04-16 北京华大九天科技股份有限公司 一种后仿真网表的***验证方法
CN113094274A (zh) * 2021-04-14 2021-07-09 深圳忆联信息***有限公司 基于Python的FPGA验证方法、装置、计算机设备及存储介质
CN113094274B (zh) * 2021-04-14 2023-10-13 深圳忆联信息***有限公司 基于Python的FPGA验证方法、装置、计算机设备及存储介质
CN113705140A (zh) * 2021-07-19 2021-11-26 深圳市紫光同创电子有限公司 芯片验证方法、***、设备及存储介质
CN114239459A (zh) * 2022-02-23 2022-03-25 苏州浪潮智能科技有限公司 Fpga原型设计文件的处理方法、装置、设备及介质
CN114239459B (zh) * 2022-02-23 2022-04-29 苏州浪潮智能科技有限公司 Fpga原型设计文件的处理方法、装置、设备及介质
CN114780440A (zh) * 2022-06-17 2022-07-22 苏州培风图南半导体有限公司 一种软件升级版本正确性的检测方法及装置
CN115113860A (zh) * 2022-08-31 2022-09-27 北京云枢创新软件技术有限公司 基于Python的EDA软件二次开发***
CN116738912A (zh) * 2023-08-09 2023-09-12 中科亿海微电子科技(苏州)有限公司 Eda软件可重构功能自动化方法及电子设备
CN116738912B (zh) * 2023-08-09 2023-10-27 中科亿海微电子科技(苏州)有限公司 Eda软件可重构功能自动化方法及电子设备

Also Published As

Publication number Publication date
CN111428431B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
CN111428431B (zh) 一种支持eda软件的自动化测试并记录的方法及***
US11281570B2 (en) Software testing method, system, apparatus, device medium, and computer program product
CN106940428B (zh) 芯片验证方法、装置及***
US6698012B1 (en) Method and system for testing behavior of procedures
Tsai et al. Scenario-based functional regression testing
US7895575B2 (en) Apparatus and method for generating test driver
US7480826B2 (en) Test executive with external process isolation for user code modules
US20100115496A1 (en) Filter generation for load testing managed environments
US7315973B1 (en) Method and apparatus for choosing tests for simulation and associated algorithms and hierarchical bipartite graph data structure
US7930603B2 (en) Feature-oriented test program development and execution
GB2422030A (en) Automated hardware test script generation
CN112270149A (zh) 验证平台自动化集成方法、***及电子设备和存储介质
CN111950212A (zh) 高效的多模式验证平台及方法
US20140006868A1 (en) Test Executive System With Offline Results Processing
CN108628734A (zh) 一种功能程序调试方法和终端
CN114239459B (zh) Fpga原型设计文件的处理方法、装置、设备及介质
CN114117977B (zh) 一种适用于自动验证处理器***场景的方法
US20050154949A1 (en) System for flexible embedded Boundary Scan testing
CN117194230A (zh) 不同版本板卡的fct匹配测试方法、装置、设备及介质
CN116955193A (zh) 接口测试方法、装置、设备及存储介质
CN116701208A (zh) 一种芯片中内核模块的验证方法、***、芯片和设备
CN116383021A (zh) 软件包性能的测试方法、***、计算设备及可读存储介质
US7353474B1 (en) System and method for accessing signals of a user design in a programmable logic device
CN115034165A (zh) 一种芯片仿真验证方法、***、设备以及存储介质
CN108563564B (zh) 终端人机接口测试方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant