一种快速搭建FPGA数字仿真模型的系统及方法技术方案

技术编号:21089413 阅读:39 留言:0更新日期:2019-05-11 09:54
本发明专利技术公开了一种快速搭建FPGA数字仿真模型的系统及方法,涉及FPGA软件验证技术领域。本发明专利技术通过读取被测件的RTL代码,提取被测件名称、被测件端口的名称、位宽、传输方向;根据获取的信息生成仿真模型的顶层代码文件;在仿真模型的顶层代码文件中,例化被测件模块、激励发生器模块、验证结果检测器,并实现被测件端口与激励发生器模块、结果检测器模块的端口连接,再创建框架运行的脚本文件。通过该方案能自动实现FPGA数字仿真模型的建立,缓解目前FPGA软件数字仿真模型的搭建需要通过人工手动完成。产生的仿真模型遵循固定的模式,在帮助验证人员快速搭建数值仿真模型的同时还有助于项目间代码的一致性,保证代码的可重用性。

A System and Method for Fast Building Digital Simulation Model of FPGA

【技术实现步骤摘要】
一种快速搭建FPGA数字仿真模型的系统及方法
本专利技术涉及FPGA软件验证
,具体是涉及一种快速搭建FPGA数字仿真模型的系统及方法。
技术介绍
FPGA数字仿真分为前仿真和后仿真,主要目的是确认设计规格说明书的功能是否被完全实现,以及所有功能是否正确。这个环节会有两个目标需要确定:1.功能的有效性:在一个复杂的设计中,功能通常会比较复杂,是不是所编写的代码功能完全符合设计规格说明书的要求。这需要验证工程师在验证过程中对设计进行充分的证明。2.功能的完备性:是否所有的功能都被验证过。当功能比较复杂时,是否所有功能都被验证到是非常重要的。数字仿真模型是运行于数字仿真软件上,产生激励信号,并检查被测件的输出是否符合设计要求。它具备相对固定的文件组织模式。验证人员遵照平台定义的文件组织模式,编写激励文件,并输入被测方提交的RTL代码文件,借助该软件的覆盖率及波形等手段实现对FPGA硬件设计的仿真与功能验证,确保设计功能的正确有效实现。邓庆勇在电子科学技术上发表的“UVM测试平台代码自动生成方法研究”(刊次Vol.04No.04Jul.2017),主要描述的是通过预先编写接口模板、通用模板、管脚列表文件,以及DUT文件和相关文件目录,结合Perl脚本文件,生成UVM仿真验证平台。该方法要求必须在安装Perl语言运行环境下使用,Perl脚本文件更多的是将仿真工具逐步操作的步骤进行集中调用,该方法针对具体项目需逐一更改配置和更新模板文件,对于端口提取分析等工作依旧依靠人工完成,而本专利技术生成的仿真模型无需UVM支撑,在导入被测文件后,从被测件提取、端口分析与提取、相关参数配置、仿真平台生成等操作完全通用化和更加自动化。目前并没有一种高效快速搭建FPGA仿真模型的方法,这使得FPGA项目验证与测试人力时间成本高,因此急需设计一种快速构建FPGA软件数字仿真模型的方法。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足,提供一种快速搭建FPGA数字仿真模型的系统及方法,实现仿真模型的全过程自动化快速搭建,且具有较高的通用性。本专利技术提供一种快速搭建FPGA数字仿真模型的方法,包括以下步骤:读取被测件的RTL代码,提取被测件名称、被测件端口的名称、位宽、传输方向;根据获取的信息生成仿真模型的顶层代码文件;在仿真模型的顶层代码文件中,例化被测件模块、激励发生器模块、验证结果检测模块,并实现被测件模块端口与激励发生器模块、结果检测器模块的端口连接;激励发生器模块用于产生激励信号,验证结果检测模块用于检查被测件的输出是否符合设计要求;创建框架运行的脚本文件,其用于执行仿真过程。在上述方案的基础上,所述读取被测件的RTL代码,分析和提取被测件名称、被测件端口的名称、位宽、传输方向,具体包括以下步骤:读取被测件的RTL代码;通过识别读取的代码是否包含被测件名称关键字,判断读取的代码中是否包含被测件名称信息;识别到被测件名称关键字时,提取被测件名称;通过识别读取的代码中是否包含被测件端口关键字,提取该被测件端口的名称、位宽、传输方向。在上述方案的基础上,所述在仿真模型的顶层代码文件中,例化被测件模块、激励发生器模块、验证结果检测模块,并实现被测件端口与激励发生器模块、结果检测器模块的端口连接,具体包括以下步骤:在验证框架程序的顶层代码文件中例化被测件模块、激励发生器模块和验证结果检测模块;将被测件模块的输入端口和双向端口连接到激励发生器模块的端口,将被测件的全部端口连接到验证结果检测模块的端口上。在上述方案的基础上,所述激励发生器模块的代码包括端口信号定义代码和时钟信号的产生代码。在上述方案的基础上,所述验证结果检测模块的代码包括端口信号定义代码。在上述方案的基础上,所述框架运行的脚本文件的代码包括:创建仿真库、编译被测件源代码、编译仿真代码,启动仿真、记录波形、运行仿真程序、生成覆盖率数据库、生成覆盖率报告的代码。本专利技术还提供一种快速搭建FPGA数字仿真模型的系统,包括:信息提取模块,其用于:读取被测件的RTL代码,分析和提取被测件名称、被测件端口的名称、位宽、传输方向;仿真模型搭建模块,其用于:根据获取的信息例化仿真模型的顶层代码文件;在仿真模型的顶层代码文件中,例化被测件模块、激励发生器模块、验证结果检测模块,并实现被测件模块端口与激励发生器模块、结果检测器模块的端口连接;激励发生器模块用于产生激励信号,验证结果检测模块用于检查被测件的输出是否符合设计要求;创建框架运行的脚本文件,其用于执行仿真过程。在上述方案的基础上,所述激励发生器模块的代码包括端口信号定义代码和时钟信号的产生代码。在上述方案的基础上,所述验证结果检测模块的代码包括端口信号定义代码。在上述方案的基础上,所述框架运行的脚本文件具体用于:创建仿真库,编译被测件源代码,编译仿真代码,启动仿真,记录波形,运行仿真程序,生成覆盖率数据库,生成覆盖率报告。与现有技术相比,本专利技术的优点如下:本专利技术提供一种通过自动化的方式快速构建FPGA数字仿真模型的系统及方法。通过该方案能自动实现FPGA数字仿真模型的建立,缓解目前FPGA软件数字仿真模型的搭建需要通过人工手动完成。同时,产生的仿真模型遵循固定的模式,在帮助验证人员快速搭建数值仿真模型的同时还有助于项目间代码的一致性,从而在保证代码的可重用性,使验证工程师能将更多的工作精力专注于验证激励的设计,增强了工作的协作性,应用前景良好。附图说明图1是本专利技术实施例的快速搭建FPGA数字仿真模型的方法的流程示意图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细描述。参见图1所示,本专利技术实施例提供一种快速搭建FPGA数字仿真模型的方法,包括以下步骤:S1,读取被测件的RTL代码,提取被测件名称、被测件端口的名称、位宽、传输方向;S2,根据获取的信息生成仿真模型的顶层代码文件;S3,在仿真模型的顶层代码文件中,例化被测件模块、激励发生器模块、验证结果检测模块,实现被测件模块端口与激励发生器模块、结果检测器模块的端口连接;激励发生器模块用于产生激励信号,验证结果检测模块用于检查被测件的输出是否符合设计要求;S4,创建框架运行的脚本文件,其用于执行仿真过程。本方法通过读取被测件的RTL代码,通过识别读取的代码中是否包含被测件名称关键字(如Entity、module),判断读取的代码中是否包含被测件名称信息,若能识别到被测件名称关键字则按照被测件的语法规则(如verilog语言或VHDL语言)提取被测件名称。同样通过识别读取的代码中是否包含被测件端口关键字(如input、ouput、inout等内容),提取该被测件端口的名称、位宽、传输方向等信息。信息获取完成后,根据获取的信息生成验证框架程序。验证框架程序主要包括顶层代码文件、激励发生器模块文件、验证结果检测模块文件和框架运行的脚本文件。顶层代码文件、激励发生器模块文件、验证结果检测模块文件均以采用标准systemverilog语言编写,采用其他语言编写顶层代码文件、激励发生器模块文件、验证结果检测模块文件,也在本专利技术的保护范围之内。在验证框架程序的顶层代码文件中例化被测件、激励发生器模块和验证结果检测模块。同时将被测件的输入端口和双向端口连接到激励发生器模块的本文档来自技高网
...

【技术保护点】
1.一种快速搭建FPGA数字仿真模型的方法,其特征在于,包括以下步骤:读取被测件的RTL代码,提取被测件名称、被测件端口的名称、位宽、传输方向;根据获取的信息生成仿真模型的顶层代码文件;在仿真模型的顶层代码文件中,例化被测件模块、激励发生器模块、验证结果检测模块,并实现被测件模块端口与激励发生器模块、结果检测器模块的端口连接;激励发生器模块用于产生激励信号,验证结果检测模块用于检查被测件的输出是否符合设计要求;创建框架运行的脚本文件,其用于执行仿真过程。

【技术特征摘要】
1.一种快速搭建FPGA数字仿真模型的方法,其特征在于,包括以下步骤:读取被测件的RTL代码,提取被测件名称、被测件端口的名称、位宽、传输方向;根据获取的信息生成仿真模型的顶层代码文件;在仿真模型的顶层代码文件中,例化被测件模块、激励发生器模块、验证结果检测模块,并实现被测件模块端口与激励发生器模块、结果检测器模块的端口连接;激励发生器模块用于产生激励信号,验证结果检测模块用于检查被测件的输出是否符合设计要求;创建框架运行的脚本文件,其用于执行仿真过程。2.如权利要求1所述的方法,其特征在于:所述读取被测件的RTL代码,分析和提取被测件名称、被测件端口的名称、位宽、传输方向,具体包括以下步骤:读取被测件的RTL代码;通过识别读取的代码是否包含被测件名称关键字,判断读取的代码中是否包含被测件名称信息;识别到被测件名称关键字时,提取被测件名称;通过识别读取的代码中是否包含被测件端口关键字,提取该被测件端口的名称、位宽、传输方向。3.如权利要求1所述的方法,其特征在于:所述在仿真模型的顶层代码文件中,例化被测件模块、激励发生器模块、验证结果检测模块,并实现被测件端口与激励发生器模块、结果检测器模块的端口连接,具体包括以下步骤:在验证框架程序的顶层代码文件中例化被测件模块、激励发生器模块和验证结果检测模块;将被测件模块的输入端口和双向端口连接到激励发生器模块的端口,将被测件的全部端口连接到验证结果检测模块的端口上。4.如权利要求3所述的...

【专利技术属性】
技术研发人员:石颢陈军花
申请(专利权)人:湖北航天技术研究院总体设计所
类型:发明
国别省市:湖北,42

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

1