CN114021440B - 一种基于matlab的fpga时序仿真验证方法及装置 - Google Patents

一种基于matlab的fpga时序仿真验证方法及装置 Download PDF

Info

Publication number
CN114021440B
CN114021440B CN202111260123.5A CN202111260123A CN114021440B CN 114021440 B CN114021440 B CN 114021440B CN 202111260123 A CN202111260123 A CN 202111260123A CN 114021440 B CN114021440 B CN 114021440B
Authority
CN
China
Prior art keywords
file
simulation
errors
fpga
time sequence
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.)
Active
Application number
CN202111260123.5A
Other languages
English (en)
Other versions
CN114021440A (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.)
Avic Airborne System General Technology Co ltd
Original Assignee
Avic Airborne System General Technology 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 Avic Airborne System General Technology Co ltd filed Critical Avic Airborne System General Technology Co ltd
Priority to CN202111260123.5A priority Critical patent/CN114021440B/zh
Publication of CN114021440A publication Critical patent/CN114021440A/zh
Application granted granted Critical
Publication of CN114021440B publication Critical patent/CN114021440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明属于FPGA仿真验证技术技术领域,提供了一种基于MATLAB的FPGA时序仿真验证方法及装置。该方法包括:S1:读取脚本文件、测试用例文件和测试平台文件,搭建时序仿真环境;S2:加载FPGA设计网表文件、仿真程序;S3:读取时序仿真得到的仿真结果文件、仿真日志文件;S4:比较仿真结果文件与预期结果文件,若一致则进入步骤S5,若不一致则判定不通过并进入步骤S6;S5:通过仿真日志文件中的错误和警告内容判定是否通过;S6:根据判定结果,输出FPGA时序仿真验证结果。采用该方法使得整个时序仿真工作可以自动完成,大大减少了验证人员工作量,并且减少了人工出错风险,保障了产品的适航符合性。

Description

一种基于MATLAB的FPGA时序仿真验证方法及装置
技术领域
本发明涉及FPGA仿真验证技术领域,具体涉及一种基于MATLAB的FPGA时序仿真验证方法及装置。
背景技术
随着微电子工艺和EDA技术的不断发展,FPGA由于集成度高、体积小、功耗低等特点,越来越多地应用到机载电子设备中,在不改变硬件电路的情况下,通过修改硬件逻辑描述即可改变硬件设计的目的,因此给硬件设计带来了很大的灵活性。但是,在逻辑设计中可能会产生潜在的缺陷或错误,将导致部件和系统故障,甚至对飞机造成安全威胁。
DO-254便是为了解决这一类问题、保障FPGA通过适航认证而提出的行业指南,它强调了FPGA验证的重要性。高覆盖率和高置信度的验证活动可以有效发现设计中的潜在缺陷或错误,提高FPGA的可靠性和安全性。验证存在很多方法,DO-254认可仿真作为电子硬件验证的一种方法,其仿真结果可以作为FPGA适航符合性证据。时序仿真是一种重要的仿真方式,它可用于证明FPGA是否满足时序、接口等性能要求。相较于功能仿真而言,时序仿真一般耗时较长,少则几十分钟,多则几天。为了加快仿真速度,一般时序仿真会采取分组批量执行的方式,后仿验证人员往往需要等待每组仿真结束后人工比对仿真结果与预期值。此外,由于一些接口、时序的错误和警告(下称“E&W”)不影响后仿的进行,但是需要后期人工分析它们出现的原因以及可能产生的影响,所以时序仿真需要人工统计仿真日志文件中出现的E&W。现行的时序仿真活动中仍有较多的人工参与,工作量繁杂且多为重复性的体力活动,一方面占用了工程师在创造性工作上的时间,另一方面重复性的活动容易引起疲劳而降低效率和准确率,不利于最终的适航符合性审查。
发明内容
有鉴于此,本发明实施例提供了一种基于MATLAB的FPGA时序仿真验证方法及装置,用以解决或部分解决上述问题。
第一方面,本发明实施例提供了一种基于MATLAB的FPGA时序仿真验证方法,包括以下步骤:
S1:读取脚本文件、测试用例文件和测试平台文件,并链接Modelsim软件平台,搭建时序仿真环境;
S2:调用Modelsim软件并在ModelSim中加载FPGA设计网表文件、仿真程序,所述仿真程序包括所述测试用例文件和测试平台文件;
S3:读取由Modelsim软件进行时序仿真得到的仿真结果文件、仿真日志文件;
S4:比较仿真结果文件与预期结果文件,若一致则进入步骤S5,若不一致则判定不通过并直接进入步骤S6;
S5:通过仿真日志文件中的错误和警告内容判定是否通过;
S6:根据步骤S4或步骤S5中的判定结果,输出FPGA时序仿真验证结果。
上述实施例有益效果在于:整个FPGA时序仿真工作可以自动在MATLAB环境下完成,大大减少了验证人员工作量,并且减少了人工出错风险,保障了产品的适航符合性。
根据本发明实施例的一种具体实现方式,所述脚本文件包含有命令行,所述命令行用以批量调用测试用例文件至Modelsim软件平台,所述测试用例文件用以产生时序仿真所需的激励。
根据本发明实施例的一种具体实现方式,所述FPGA设计网表文件包含完整的时序信息,所述时序信息由标准延迟文件反标获得。
根据本发明实施例的一种具体实现方式,所述步骤S3中同时读取由Modelsim软件进行时序仿真得到的仿真波形文件,所述仿真波形文件用以供操作人员查看。在发现仿真结果文件出错或者仿真日志文件中包含一些时序错误时,操作人员可以去看仿真波形文件中的波形,查找出错的位置,分析问题。
根据本发明实施例的一种具体实现方式,所述通过仿真日志文件中的错误和警告内容判定是否通过具体如下:对仿真日志文件中的错误和警告内容进行关键词提取,并根据提取的关键词与预设词库匹配结果将错误和警告内容划归至允许、不允许、待定三个区域,若所有错误和警告内容均划归于允许区域则判定通过,若有错误和警告内容划归于不允许区域判定不通过。通过建立预设词库对错误和警告内容进行关键词分类,从而将不同的错误和警告内容划归于不同区域,绝大多数的错误和警告内容无需人工分析即可直接判定是否通过,大大减少了验证人员工作量,并且减少了人工出错风险,保障了产品的适航符合性。
根据本发明实施例的一种具体实现方式,若有错误和警告内容划归于待定区域则由操作人员判定是否通过。在没有错误和警告内容均划归于不允许区域时,若有错误和警告内容划归于待定区域则交由人工审核判定,提高准确率。
根据本发明实施例的一种具体实现方式,所述错误和警告内容的关键词包括:文件名、归属类、描述内容。
根据本发明实施例的一种具体实现方式,所述关键词通过预建立的深度神经网络模型提取,所述深度神经网络模型建立方式如下:
获取错误和警告内容的文本数据集,并将文本数据集划分为训练集、测试集、验证集;
构建深度神经网络;
将训练集输入所述深度神经网络进行特征学习,得到深度神经网络模型;
利用测试集对深度神经网络模型的误差进行迭代优化;
利用验证集验证该深度神经网络模型的准确性和可靠性。通过建立深度神经网络模型的方式来提高关键词提取的准确性。
第二方面,本发明实施例提供了一种基于MATLAB的FPGA时序仿真验证装置,包括:
文件读取模块,所述文件读取模块用以读取脚本文件、测试用例文件和测试平台文件,并链接Modelsim软件平台,搭建时序仿真环境;
验证模块,所述验证模块用以调用Modelsim软件并在ModelSim中加载FPGA设计网表文件、仿真程序,所述仿真程序包括所述测试用例文件和测试平台文件;
仿真数据读取模块,所述仿真数据读取模块用以读取由Modelsim软件进行时序仿真得到的仿真结果文件、仿真日志文件;
文件比较模块,所述文件比较模块用以比较仿真结果文件与预期结果文件,若一致则进入文本分析模块,若不一致则判定不通过并直接进入输出模块;
文本分析模块,所述文本分析模块用以通过仿真日志文件中的错误和警告内容判定是否通过;
输出模块,所述输出模块用以根据文件比较模块或文本分析模块中的判定结果,输出FPGA时序仿真验证结果。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
至少一个处理器;以及,与该至少一个处理器通信连接的存储器;
其中,该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述任第一方面或第一方面的任一实现方式中的FPGA时序仿真验证方法。
本发明的实施例至少具有如下技术效果:
第一、整个FPGA时序仿真工作可以自动在MATLAB环境下完成,大大减少了验证人员工作量,并且减少了人工出错风险,保障了产品的适航符合性。
第二、本发明利用MATLAB平台开发,调用ModelSim软件运行仿真,基于深度神经网络模型实现对最终的FPGA后仿输出数据的自动化处理,验证准确度高。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1示出了本发明实施例所提供的一种基于MATLAB的FPGA时序仿真验证方法的流程图;
图2示出了本发明实施例所提供的一种基于MATLAB的FPGA时序仿真验证装置的结构框图;
图3示出了本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
图1为本发明实施例提供的一种基于MATLAB的FPGA时序仿真验证方的步骤流程图,参见图1,该方法包括以下步骤:
S1:读取脚本文件、测试用例文件和测试平台文件,并链接Modelsim软件平台,搭建时序仿真环境。
验证平台开始工作后,自动读取MATLAB脚本文件、测试用例文件tb_i.v(i=1,2,…,n)和测试平台文件,并链接Modelsim平台,搭建好时序仿真环境,其中脚本中可以含有批量处理多个测试用例文件tb_i.v的命令行,然后通过运行脚本文件调用测试用例文件tb_i.v加载至项目专用的测试平台中,产生时序仿真所需要的激励。
S2:调用Modelsim软件并在ModelSim中加载FPGA设计网表文件、仿真程序,所述仿真程序包括所述测试用例文件和测试平台文件。
FPGA时序仿真是针对于FPGA布局布线后生成的网表文件进行仿真的。具体操作为:MATLAB脚本调用了ModelSim软件,然后在ModelSim软件中加载FPGA设计网表文件、仿真程序(测试平台、测试用例)。仿真程序运行时,会调用网表文件进行仿真,然后得出结果。
所述FPGA设计网表文件包含完整的时序信息,所述时序信息由标准延迟文件(Standard Delay File,SDF)反标获得。
S3:读取由Modelsim软件进行时序仿真得到的仿真结果文件、仿真波形文件、仿真日志文件。
MATLAB脚本读取Modelsim软件中的时序仿真产生的输出数据,主要包含仿真结果文件(txt格式)、仿真波形文件(wlf格式)、仿真日志文件(log格式)。仿真结果文件、仿真日志文件,用于后续比对分析。仿真波形文件用以在发现仿真结果文件出错或者仿真日志文件中包含一些时序错误时,供操作人员查看波形,查找出错的位置,分析问题。
S4:比较仿真结果文件与预期结果文件,若一致则进入步骤S5,若不一致则判定不通过并直接进入步骤S6。
由于时序仿真在Linux环境下效率更高,仿真结果文件在Linux环境中产生,那么预期结果文件也是在Linux文件系统下编制的,预期结果文件由操作人员预先制定并导入MATLAB软件。
仿真结果文件与预期结果文件进行比对,具体执行步骤如下:
S4.1:比较两文件的大小(字节数),若字节数一致,进入步骤S4.2,否则判定不通过并直接进入步骤S6;
S4.2:打开两文件,从首行首字符比较至末行末字符,若均一致,则进入步骤S5;若存在不一致处,则记录不一致处在预期结果文件的行号,输出问题记录文件(txt格式)并判定不通过并直接进入步骤S6。
S5:通过仿真日志文件中的错误和警告内容判定是否通过。
S5.1:基于MATLAB脚本语言搭建的文本分类器读取仿真日志文件,进行文件预处理;
仿真日志文件记录了时序仿真的大量过程信息,所以首先需要进行文件预处理,即提取出错误Error行和警告Warning行,它们一般具有的特征是在每行开头的字符都是“#**Error”、“#Error”、“#**Warning”和“#Warning”。所以利用MATLAB脚本提取出每个文件中所有的E&W行形成单独的错误和警告文件。
S5.2:MATLAB通过预建立的深度神经网络模型对错误和警告文件中错误和警告内容进行关键词抽取;
仿真文件中错误和警告内容都具有一定的规律性,一般呈现为:错误和警告发生的位置(文件名及所在的行)+错误和警告在ModelSim中的归属类(若有)+错误和警告的具体描述。所以关键词抽取的目标便是提取:①错误和警告对应的文件名、②归属类、③具体描述。
①文件名,一般是带“.v”(.v是一种程序文件类型)的短语;
②归属类一般是“vopt+数字”或者“vism+数字”;
③Error/Warning的具体描述,时序仿真主要验证的是时序以及接口,所以常常有“Miss Connection”、“Too Few Port”、“Setup Time”、“Holdup Time”、“Illegal Address”等名词性的短语。
所述深度神经网络模型建立方式如下:
获取错误和警告内容的文本数据集,并将文本数据集划分为训练集、测试集、验证集;鉴于仿真数据集庞大,确定20000条数据集,其中训练集12000条,测试集3000条,验证集5000条。
构建深度神经网络;首先将获取的文本数据集数据转换为词向量序列,然后利用BiLSTM神经网络结构,对词向量序列进行处理,再经过归一化处理得到最终每个字符的标签类别。
将训练集输入所述深度神经网络进行特征学习,得到深度神经网络模型;
利用测试集对深度神经网络模型的误差进行迭代优化;
利用验证集验证该深度神经网络模型的准确性和可靠性。
S5.3:将抽取的关键词与预设词库匹内容进行匹配,根据提取的关键词与预设词库匹配结果将错误和警告内容划归至允许、不允许、待定三个区域;
根据工程经验与专家评审,人工完成预设词库建设,即明确含有某些关键词的错误和警告内容判定是允许通过的,划归于允许区;含有某些关键词的错误和警告内容判定是不允许通过的,划归于不允许区;如果出现了其他未知关键词的,需划归于待定区,待人工评审后确定是否允许通过。
S5.4:若所有错误和警告内容均分类至允许区或无错误和警告内容,则判定通过并进入步骤S6;若存在错误和警告内容分类至不允许区,则判定为不通过并进入步骤S6;若不存在错误和警告内容分类至不允许区且存在错误和警告内容分类至待定区,那么进入S5.5;
Step 5.5:人工分析分类至待定区的错误和警告内容,人工判定通过或不通过并进入步骤S6。
S6:根据步骤S4或步骤S5中的判定结果,输出FPGA时序仿真验证结果。
若步骤S5中判定为通过,则输出FPGA时序仿真验证结果为通过,完成FPGA时序仿真验证;
若步骤S4或步骤S5中判定为不通过,则输出FPGA时序仿真验证结果为不通过,完成FPGA时序仿真验证。
需要说明的是,各个模块按照流式布局进行排列,仅仅是本发明的一个实施例,也可以采用其他的方式排列,本发明对此不做限定。
上述实施例的有益效果在于:
第一、整个FPGA时序仿真工作可以自动在MATLAB环境甚至MATLAB的可视化GUI界面下完成,大大减少了验证人员工作量,并且减少了人工出错风险,保障了产品的适航符合性。
第二、本发明利用MATLAB平台开发,调用ModelSim软件运行仿真,基于深度神经网络模型实现对最终的FPGA后仿输出数据的自动化处理,验证准确度高。
图2为一种基于MATLAB的FPGA时序仿真验证装置,包括:
文件读取模块,所述文件读取模块用以读取脚本文件、测试用例文件和测试平台文件,并链接Modelsim软件平台,搭建时序仿真环境;
验证模块,所述验证模块用以调用Modelsim软件并在ModelSim中加载FPGA设计网表文件、仿真程序,所述仿真程序包括所述测试用例文件和测试平台文件;
仿真数据读取模块,所述仿真数据读取模块用以读取由Modelsim软件进行时序仿真得到的仿真结果文件、仿真日志文件;
文件比较模块,所述文件比较模块用以比较仿真结果文件与预期结果文件,若一致则进入文本分析模块,若不一致则判定不通过并直接进入输出模块;
文本分析模块,所述文本分析模块用以通过仿真日志文件中的错误和警告内容判定是否通过;
输出模块,所述输出模块用以根据文件比较模块或文本分析模块中的判定结果,输出FPGA时序仿真验证结果。
图2实施例中各模块的功能与其对应的方法实施例中的内容相对应,在此不再赘述。
图3示出了本发明实施例提供的电子设备30的结构示意图,电子设备30包括至少一个处理器301(例如CPU),至少一个输入输出接口304,存储器302,和至少一个通信总线303,用于实现这些部件之间的连接通信。至少一个处理器301用于执行存储器302中存储的计算机指令,以使所述至少一个处理器301能够执行前述任一FPGA时序仿真验证方法的实施例。存储器302为非暂态存储器(non-transitory memory),其可以包含易失性存储器,例如高速随机存取存储器(RAM:Random Access Memory),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个输入输出接口304(可以是有线或者无线通信接口)实现与至少一个其他设备或单元之间的通信连接。
在一些实施方式中,存储器302存储了程序3021,处理器301执行程序3021,用于执行前述任一分表方法实施例中的内容。
该电子设备可以以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)特定服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (7)

1.一种基于MATLAB的FPGA时序仿真验证方法,其特征在于,包括以下步骤:
S1:读取脚本文件、测试用例文件和测试平台文件,并链接Modelsim软件平台,搭建时序仿真环境;
S2:调用Modelsim软件并在ModelSim中加载FPGA设计网表文件、仿真程序,所述仿真程序包括所述测试用例文件和测试平台文件;
S3:读取由Modelsim软件进行时序仿真得到的仿真结果文件、仿真日志文件;
S4:比较仿真结果文件与预期结果文件,若一致则进入步骤S5,若不一致则判定不通过并直接进入步骤S6;
S5:通过仿真日志文件中的错误和警告内容判定是否通过,具体为:
基于MATLAB脚本语言搭建的文本分类器读取仿真日志文件,进行文件预处理,通过预建立的深度神经网络模型对仿真日志文件中的错误和警告内容进行关键词提取,并根据提取的关键词与预设词库匹配结果将错误和警告内容划归至允许、不允许、待定三个区域,若所有错误和警告内容均划归于允许区域则判定通过,若有错误和警告内容划归于不允许区域判定不通过,若有错误和警告内容划归于待定区域则由操作人员判定是否通过,所述错误和警告内容的关键词包括:文件名、归属类、描述内容;
S6:根据步骤S4或步骤S5中的判定结果,输出FPGA时序仿真验证结果。
2.根据权利要求1所述的FPGA时序仿真验证方法,其特征在于:所述脚本文件包含有命令行,所述命令行用以批量调用测试用例文件至Modelsim软件平台,所述测试用例文件用以产生时序仿真所需的激励。
3.根据权利要求1所述的FPGA时序仿真验证方法,其特征在于:所述FPGA设计网表文件包含完整的时序信息,所述时序信息由标准延迟文件反标获得。
4.根据权利要求1所述的FPGA时序仿真验证方法,其特征在于:所述步骤S3中同时读取由Modelsim软件进行时序仿真得到的仿真波形文件,所述仿真波形文件用以供操作人员查看。
5.根据权利要求1所述的FPGA时序仿真验证方法,其特征在于:所述步骤S5中,所述深度神经网络模型建立方式如下:
获取错误和警告内容的文本数据集,并将文本数据集划分为训练集、测试集、验证集;
构建深度神经网络;
将训练集输入所述深度神经网络进行特征学习,得到深度神经网络模型;
利用测试集对深度神经网络模型的误差进行迭代优化;
利用验证集验证该深度神经网络模型的准确性和可靠性。
6.一种基于MATLAB的FPGA时序仿真验证装置,包括:
文件读取模块,所述文件读取模块用以读取脚本文件、测试用例文件和测试平台文件,并链接Modelsim软件平台,搭建时序仿真环境;
验证模块,所述验证模块用以调用Modelsim软件并在ModelSim中加载FPGA设计网表文件、仿真程序,所述仿真程序包括所述测试用例文件和测试平台文件;
仿真数据读取模块,所述仿真数据读取模块用以读取由Modelsim软件进行时序仿真得到的仿真结果文件、仿真日志文件;
文件比较模块,所述文件比较模块用以比较仿真结果文件与预期结果文件,若一致则进入文本分析模块,若不一致则判定不通过并直接进入输出模块;
文本分析模块,所述文本分析模块用以通过仿真日志文件中的错误和警告内容判定是否通过,具体为:基于MATLAB脚本语言搭建的文本分类器读取仿真日志文件,进行文件预处理,通过预建立的深度神经网络模型对仿真日志文件中的错误和警告内容进行关键词提取,并根据提取的关键词与预设词库匹配结果将错误和警告内容划归至允许、不允许、待定三个区域,若所有错误和警告内容均划归于允许区域则判定通过,若有错误和警告内容划归于不允许区域判定不通过,若有错误和警告内容划归于待定区域则由操作人员判定是否通过,所述错误和警告内容的关键词包括:文件名、归属类、描述内容;
输出模块,所述输出模块用以根据文件比较模块或文本分析模块中的判定结果,输出FPGA时序仿真验证结果。
7.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一权利要求1-5所述的FPGA时序仿真验证方法。
CN202111260123.5A 2021-10-28 2021-10-28 一种基于matlab的fpga时序仿真验证方法及装置 Active CN114021440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111260123.5A CN114021440B (zh) 2021-10-28 2021-10-28 一种基于matlab的fpga时序仿真验证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111260123.5A CN114021440B (zh) 2021-10-28 2021-10-28 一种基于matlab的fpga时序仿真验证方法及装置

Publications (2)

Publication Number Publication Date
CN114021440A CN114021440A (zh) 2022-02-08
CN114021440B true CN114021440B (zh) 2022-07-12

Family

ID=80058040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111260123.5A Active CN114021440B (zh) 2021-10-28 2021-10-28 一种基于matlab的fpga时序仿真验证方法及装置

Country Status (1)

Country Link
CN (1) CN114021440B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114626324B (zh) * 2022-02-24 2023-12-12 深圳市紫光同创电子有限公司 Fpga电路后仿真验证方法、装置、电子设备及存储介质
CN114662427B (zh) * 2022-03-08 2023-07-18 芯华章科技股份有限公司 一种逻辑系统设计的调试方法及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007043786A1 (en) * 2005-10-10 2007-04-19 Seiyang Yang Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same
CN108376131A (zh) * 2018-03-14 2018-08-07 中山大学 基于seq2seq深度神经网络模型的关键词抽取方法
CN111310921A (zh) * 2020-03-27 2020-06-19 西安电子科技大学 一种轻量级深度卷积神经网络的fpga实现方法
CN111950212A (zh) * 2020-08-13 2020-11-17 湖南进芯电子科技有限公司 高效的多模式验证平台及方法
CN112905436A (zh) * 2021-04-25 2021-06-04 中航机载系统共性技术有限公司 一种面向复杂软件的质量评估预测方法
CN113255350A (zh) * 2021-06-09 2021-08-13 中航机载系统共性技术有限公司 一种体系文件检查和修正方法、装置、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5665695B2 (ja) * 2011-07-12 2015-02-04 マイティカード株式会社 Rfidタグ移動識別方法及びrfidタグ移動識別プログラム
CN105138774B (zh) * 2015-08-25 2018-07-06 中山大学 一种基于集成电路层次化设计的时序后仿真方法
CN112579293B (zh) * 2020-12-24 2023-03-14 中国航空工业集团公司西安航空计算技术研究所 一种分布计算系统的综合验证方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007043786A1 (en) * 2005-10-10 2007-04-19 Seiyang Yang Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same
CN108376131A (zh) * 2018-03-14 2018-08-07 中山大学 基于seq2seq深度神经网络模型的关键词抽取方法
CN111310921A (zh) * 2020-03-27 2020-06-19 西安电子科技大学 一种轻量级深度卷积神经网络的fpga实现方法
CN111950212A (zh) * 2020-08-13 2020-11-17 湖南进芯电子科技有限公司 高效的多模式验证平台及方法
CN112905436A (zh) * 2021-04-25 2021-06-04 中航机载系统共性技术有限公司 一种面向复杂软件的质量评估预测方法
CN113255350A (zh) * 2021-06-09 2021-08-13 中航机载系统共性技术有限公司 一种体系文件检查和修正方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Persistent Fault Analysis of Neural Networks on FPGA-based Acceleration System;Dawen Xu,Ziyang Zhu and etc.,;《2020 IEEE 31st International Conference on Application-specific Systems, Architectures and Processors (ASAP)》;20200731;全文 *

Also Published As

Publication number Publication date
CN114021440A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
CN114021440B (zh) 一种基于matlab的fpga时序仿真验证方法及装置
US20130086556A1 (en) System for ensuring comprehensiveness of requirements testing of software applications
EP3563243A1 (en) Determining application test results using screenshot metadata
JP7153004B2 (ja) コミュニティ質問応答データの検証方法、装置、コンピュータ機器、及び記憶媒体
CN110474900B (zh) 一种游戏协议测试方法及装置
CN107491536B (zh) 一种试题校验方法、试题校验装置及电子设备
CN116245074A (zh) 芯片验证方法、设备及存储介质
CN109582906A (zh) 数据可靠度的确定方法、装置、设备和存储介质
CN112597718B (zh) 集成电路设计的验证方法、验证装置以及存储介质
CN111459814A (zh) 自动化测试用例生成方法、装置及电子设备
US20140013290A1 (en) Input Space Reduction for Verification Test Set Generation
Melani Black Box Testing Using Equivalence Partition Method in Sintana Application
US9135376B2 (en) Input space reduction for verification test set generation
CN110737900B (zh) 网页功能测试方法及装置、服务器和计算机可读存储介质
CN107622013B (zh) 一种分布式系统测试方法及装置
CN108664384B (zh) 数据处理装置和数据处理方法
CN116126692A (zh) 一种基于python的算法工具自动化测试系统及方法
CN112613257A (zh) 验证方法、装置、电子设备和计算机可读存储介质
US10740521B1 (en) System and method for localized logic simulation replay using emulated values
US9824175B1 (en) Method and system of evaluation of validity of a refinement rule for a hardware emulation
CN113900956A (zh) 测试用例的生成方法、装置、计算机设备及存储介质
CN111859985A (zh) Ai客服模型测试方法、装置、电子设备及存储介质
Chu et al. Automated GUI testing for android news applications
CN115145696B (zh) 确定进程虚拟机运行差异的方法、系统及计算设备
CN113342632A (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