CN112861455A - Fpga建模验证系统及方法 - Google Patents

Fpga建模验证系统及方法 Download PDF

Info

Publication number
CN112861455A
CN112861455A CN202110272332.5A CN202110272332A CN112861455A CN 112861455 A CN112861455 A CN 112861455A CN 202110272332 A CN202110272332 A CN 202110272332A CN 112861455 A CN112861455 A CN 112861455A
Authority
CN
China
Prior art keywords
fpga
register
code stream
fpga chip
module
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
CN202110272332.5A
Other languages
English (en)
Other versions
CN112861455B (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.)
Shanghai Xianji Semiconductor Technology Co ltd
Original Assignee
Shanghai Xianji Semiconductor 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 Shanghai Xianji Semiconductor Technology Co ltd filed Critical Shanghai Xianji Semiconductor Technology Co ltd
Priority to CN202110272332.5A priority Critical patent/CN112861455B/zh
Publication of CN112861455A publication Critical patent/CN112861455A/zh
Application granted granted Critical
Publication of CN112861455B publication Critical patent/CN112861455B/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/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/337Design optimisation
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

本发明涉及FPGA建模验证系统及方法,通过在FPGA芯片的至少一个功能模块中设置嵌入式配置寄存器,每个所述功能模块具有对应的软件模型,将所述嵌入式配置寄存器的初始存储值采集到所述FPGA芯片的码流中并标记,并将所述码流加载到所述FPGA芯片并施加激励信号,从FPGA芯片的反馈数据中提取到所述软件模型的实测值,再将所述软件模型的实测值与预设值比较,可得到验证结果,该验证过程灵活性高,可以有效缩短产品研发周期,并且建模验证的准确性较高。

Description

FPGA建模验证系统及方法
技术领域
本发明涉及集成电路领域,尤其涉及FPGA建模验证设计领域。
背景技术
FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)是在PAL(可编程阵列逻辑)、GAL(可编程通用逻辑)、CPLD(复杂可编程逻辑)等可编程器件的基础上进一步发展的产物。FPGA具有灵活高效、可重复编程特性,随着FPGA技术的快速发展,可实现定制性能、定制功耗、高吞吐量和低延迟,依靠其真正的硬件并行性和极大的灵活性,FPGA的应用领域也越来越广泛。
FPGA的内部资源很丰富,有输入输出模块、可配置逻辑单元、数字信号处理模块、静态随机存储器、丰富的布线资源和内嵌专用硬核等物理模块。FPGA的软件设计流程主要包括设计输入、前仿真、逻辑综合、布局布线、时序仿真、板级验证等,其中,为了使得设计输入到逻辑综合的映射更符合实际硬件,确保设计准确并满足系统要求,通常还根据系统规范对FPGA设计进行建模,并对模型进行验证(包括仿真)。然而传统的模型验证需要编写大量的激励文件,为设计文件提供激励信号,正确实例化设计文件,将仿真数据显示在终端波形窗口进行分析,开发周期长,灵活性差。
发明内容
为了有效缩短产品研发周期,提高模型验证的灵活性,本发明提供了一种FPGA物理模型验证系统和一种FPGA物理模型验证方法。
一方面,本发明提供一种FPGA建模验证系统,包括:
寄存器配置模块,用于在FPGA芯片的至少一个功能模块中设置嵌入式配置寄存器,每个所述功能模块具有对应的软件模型;
码流整合模块,用于将所述嵌入式配置寄存器的初始存储值采集到所述FPGA芯片的码流中并标记;
板测模块,用于将所述码流加载到所述FPGA芯片并施加激励信号;
反馈模块,用于获取所述FPGA芯片的反馈数据,并提取所述软件模型的实测值;
比较模块,用于比较所述实测值与预设值,得到验证结果。
可选的,所述寄存器配置模块根据所述软件模型的输出端口的位数设置所述嵌入式配置寄存器的数量,所述嵌入式配置寄存器具有码流赋值功能。
可选的,所述功能模块包括查找表和与所述查找表关联的寄存器。
可选的,所述寄存器配置模块将与部分所述查找表关联的寄存器设置为所述嵌入式配置寄存器。
可选的,所述寄存器配置模块将位于部分所述查找表周围的寄存器设置为所述嵌入式配置寄存器。
可选的,所述初始存储值为0或1。
一方面,本发明提供一种FPGA建模验证方法,包括以下步骤:
在FPGA芯片的至少一个功能模块中设置嵌入式配置寄存器,每个所述功能模块具有对应的软件模型;
将所述嵌入式配置寄存器的初始存储值采集到所述FPGA芯片的码流中并标记;
将所述码流加载到所述FPGA芯片并施加激励信号;
获取所述FPGA芯片的反馈数据,并提取所述软件模型的实测值;
将所述软件模型的实测值与预设值比较,得到验证结果。
可选的,所述功能模块包括查找表和与所述查找表关联的寄存器;所述嵌入式配置寄存器具有码流赋值功能,在设置所述嵌入式配置寄存器的步骤中,将与部分所述查找表关联的寄存器和/或位于部分所述查找表周围的寄存器设置为所述嵌入式配置寄存器。
可选的,将所述初始存储值采集到所述FPGA芯片的码流之前,利用EDA工具获得所述FPGA芯片的码流。
可选的,获取所述FPGA芯片的反馈数据的方法包括:向所述FPGA芯片发送验证命令,请求所述FPGA芯片反馈返回值。
本发明提供的FPGA建模验证系统中,寄存器配置模块用于在FPGA芯片的至少一个功能模块中设置嵌入式配置寄存器,每个所述功能模块具有对应的软件模型,码流整合模块用于将嵌入式配置寄存器的初始存储值采集到所述FPGA芯片的码流中并标记,板测模块用于将码流加载到FPGA芯片并施加激励信号,经过板测,嵌入式配置寄存器中的模型实测值被赋值给码流,利用反馈模块可获取所述FPGA芯片的反馈数据,并根据标记的位置从所述反馈数据中提取所述软件模型的实测值,进而利用比较模块比较所述软件模型的实测值与预设值,即可得到验证结果,利用所述FPGA建模验证系统的验证过程灵活性高,可以有效缩短产品研发周期,并且建模验证的准确性较高。
本发明提供的FPGA建模验证方法,与所述FPGA建模验证系统具有相同或相应的特征,因而具有类似的优点。
附图说明
图1是本发明实施例的FPGA建模验证系统的模块示意图。
图2是采用本发明实施例的FPGA建模验证系统获得建模验证结果的示意图。
图3是本发明实施例的可编程逻辑模块的结构示意图。
图4是本发明实施例的FPGA建模验证方法的流程示意图。
附图标记说明:
100-FPGA建模验证系统;110-建模模块;120-寄存器配置模块;130-码流整合模块;140-板测模块;150-反馈模块;160-比较模块。
具体实施方式
以下结合附图和具体实施例对本发明的FPGA建模验证系统及方法作进一步详细说明。根据下面的说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
在FPGA设计中,通常将目标设计按照一定规则划分成若干功能模块,并对每个功能模块进行设计输入、综合等操作,将所有功能模块的实现结果有机地组织起来,则可完成整个系统的设计。所述功能模块包括可编程逻辑模块、可编程输入输出模块、数字时钟管理模块、数字信号处理模块等等。以可编程逻辑模块为例,其是FPGA设计中的基本单元,每个可编程逻辑模块可包括一组四输入查找表、关联的寄存器和绕线资源。为了确保设计的实现与设计规范一致,可对每个功能模块进行建模,并对建立的软件模型进行验证,以使得设计输入到综合的映射更符合实际硬件,便于后期EDA工具正确实现设计。
图1是本发明实施例的FPGA建模验证系统的模块示意图。图2是采用本发明实施例的FPGA建模验证系统获得建模验证结果的示意图。参见图1,本发明实施例涉及一种FPGA建模验证系统100,所述FPGA建模验证系统100包括建模模块110、寄存器配置模块120、码流整合模块130、板测模块140、反馈模块150以及比较模块160。以下结合图1和图2,对所述FPGA建模验证系统100的各个模块进行说明。
所述建模模块110用于建立与FPGA芯片中的功能模块对应的软件模型,所述功能模块可以包括寄存器资源。本发明实施例中,对FPGA的设计形成一个以上的功能模块,对于每个功能模块,均可以设置一个与其对应的软件模型。“建模”是一个将硬件物理模块转化为原语的过程,通过建模,物理模块的功能、时序等被抽象为行为级描述。每个软件模型可用于对对应的功能模块的设计规范和功能进行确认,确保每个功能模块的设计质量。所述软件模型的建模过程可以采用本领域公开的方法。一实施例中,FPGA建模验证系统可以不包括建模模块,也可直接对现有的模型进行验证。
所述寄存器配置模块120用于在FPGA芯片的至少一个功能模块中设置具有嵌入式配置寄存器,每个所述功能模块具有对应的软件模型。嵌入式配置寄存器与常规的寄存器的主要不同在于,在将码流加载到FPGA芯片后,嵌入式配置寄存器可以与码流通过嵌入式连接赋值,从而将存储在嵌入式配置寄存器中的数据加载到码流,即具备码流赋值功能。
每个嵌入式配置寄存器可以存储一位(bit)数据。本实施例中,嵌入式配置寄存器用来存储软件模型的实测值,嵌入式配置寄存器的数量可以根据当前软件模型的输出端口的位数设定,例如当前软件模型的输出若有16位,则所述寄存器配置模块120将在所述软件模型对应的功能模块中和/或其它功能模块中,选择16个寄存器形成嵌入式配置寄存器,所述软件模型可以通过FPGA芯片上的绕线资源连接到其它功能模块中对应的寄存器。
本实施例以可编程逻辑模块为例,每个所述可编程逻辑模块可包括一组四输入查找表、与所述查找表关联的寄存器和绕线资源。所述寄存器配置模块120可以将所述可编程逻辑模块的寄存器资源中与部分所述查找表关联的寄存器设置为所述嵌入式配置寄存器,也可以将位于部分所述查找表周围(即物理上临近)的寄存器设置为所述嵌入式配置寄存器,或者也可将部分查找表关联的寄存器和部分查找表周围的寄存器的组合设置为所述嵌入式配置寄存器。
图3是本发明实施例的可编程逻辑模块的结构示意图。参见图3,作为示例,当前处理的可编程逻辑模块包括多个查找表(查找表1、查找表2、...、查找表n,n为整数)及与每个查找表对应的寄存器,通过寄存器配置模块120设置,使部分查找表对应的寄存器为嵌入式配置寄存器,而剩余的寄存器为普通寄存器。此处“普通寄存器”指的是不具备码流赋值功能的寄存器。对于FPGA设计包括多个可编程逻辑模块的情况,在进行寄存器配置时,则根据实际使用情况,可将所述多个可编程逻辑模块中的部分查找表对应的寄存器组分配为嵌入式配置寄存器。
所述码流整合模块130用于将上述嵌入式配置寄存器的初始存储值采集到所述FPGA芯片的码流中,并标记。
所述FPGA芯片的码流可利用本领域通用的EDA工具获得。在FPGA设计中,设计者将各个功能模块用Verilog或VHDL语言描述,EDA工具根据输入的Verilog或VHDL文件,生成码流数据。码流数据为二进制格式,将码流按照器件时序要求加载到对应的FPGA芯片中,可以实现特定功能。本发明实施例在将码流加载到FPGA芯片之前,所述码流整合模块130将所述嵌入式配置寄存器的初始存储值也加入码流中,所述初始存储值可通过软件指定,设为要验证的软件模型的测试结果初值。所述初始存储值可以设置为0或1,本实施例例如为0,即对于每个与所述软件模型对应的嵌入式配置寄存器,先设置其初始存储的值,后续根据板测后的反馈,再获取实测值。
所述初始存储值可以设置在码流中的指定位置,例如码流数据的头部、尾部或者中部,每个初始存储值的位置需被记录,以便于后续从FPGA芯片反馈的码流中提取相应位置的数值。对于配置多个嵌入式配置寄存器存储一个软件模型的输出结果的情况,所述软件模型的测试结果可能与多个嵌入式配置寄存器的存储值的顺序有关,这种情况下,每个嵌入式配置寄存器的初始存储值在码流中的位置均不同,可采用不同的标记对各个嵌入式配置寄存器进行标记,以便于后续根据这些标记的顺序获得模型输出结果。所述标记可以通过本实施例的FPGA建模验证系统另外设置的存储模块存储。所述存储模块可以是电脑的硬盘、随机存取存储器(RAM)、外部存储介质等等。
所述板测模块140用于将所述码流加载到上述FPGA芯片,并对所述FPGA芯片施加激励信号。具体的,所述板测模块140可以控制布局布线工具将码流加载到FPGA芯片,以码流作为载体,嵌入式配置寄存器的初始存储值被存储到了FPGA芯片中相应的嵌入式配置寄存器中。所述板测模块140另外生成FPGA芯片的设计文件需要的输入信号,作为激励信号通过相应的芯片端口发送至FPGA芯片。在激励信号作用下,相应软件模型定义的逻辑功能被执行,得到的输出结果存储到该软件模型相应的一个或多个嵌入式配置寄存器中,所述嵌入式配置寄存器通过嵌入式连接赋值给码流,即可在码流中各个标记位置加载了更新后的配置寄存器的存储值,此时存储值为软件模型的实测值。
所述反馈模块150用于获取所述FPGA芯片的反馈数据,并根据标记的位置从所述反馈数据中提取所述软件模型的实测值。利用上述板测模块140可以将嵌入式配置寄存器存储的软件模型的实测值加载到码流,所述反馈模块150可以向FPGA芯片发送验证命令,令FPGA芯片反馈返回值,所述返回值为二进制的码流数据,通过回读返回值,即得到了FPGA芯片的反馈数据。返回值和加载到FPGA芯片的码流数据的格式基本一致,则根据所述码流整合模块130记录的对应于各个嵌入式配置寄存器的标记,可以提取到所述软件模型的实测值。
所述比较模块160用于将所述软件模型的实测值与预设值比较,得到验证结果。所述比较模块通过所述反馈模块150获得所述软件模型的实测值。所述软件模型的预设值可以根据FPGA芯片硬件信息说明得到,所述预设值可看作设计实现符合设计规范时软件模型的期望输出值。可以设定所述实测值与预设值的差异小于一定值或者完全一致时才是相符的。在二者不相符时,需要对软件模型或者设计文件(DUT(Design UnderTest,测试设计)或DUV(Design UnderVerification,验证设计))进行修改,经过修改后,可以再次利用本发明实施例的FPGA建模验证系统100获得软件模型的实测值,并再次通过比较模块160比较实测值和预设值,直到实测值和预设值相符,则完成了相应软件模型的验证。验证结果可以通过输出组件(如显示器)输出。
可以理解的是,本发明实施例的FPGA建模验证系统,可以包括通过诸如网络的通信单元互连的多个计算机、硬件、装置等,或者包括具有实现本发明的过程的单个计算机、硬件、装置等。所述的计算机可包括中央处理单元(CPU)、存储器以及输入输出组件等等,所述输入输出组件例如为键盘、鼠标、触摸屏、显示器等。本文使用的“模块”或“单元”通常是指本发明的组件,诸如逻辑可分离软件(计算机程序)、硬件或等效部件。例如,所述FPGA建模验证系统100中的建模模块110、寄存器配置模块120、码流整合模块130、板测模块140、反馈模块150以及比较模块160可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块,或者,这些模块中的一个或多个模块的至少部分功能可以与其它模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,各个模块中的至少一个一般是以软件程序的方式配合硬件的方式来实施,然而,他们全部(或其中一部分)也可以使用电子硬件或软件程序的方式来实施。不管是以软件或者硬件方式,其个别部分是熟悉电子、软件领域人员可以进行实施的,因此,其细节就不在本说明书中赘述。
采用本发明实施例的FPGA建模验证系统,可利用寄存器配置模块在FPGA芯片的功能模块中设置嵌入式配置寄存器,每个所述功能模块具有对应的软件模型,利用码流整合模块将嵌入式配置寄存器的初始存储值采集到FPGA芯片的码流中,并可记录所述初始存储值在所述码流中的位置进行标记,此外,利用板测模块可将所述码流加载到FPGA芯片,并对所述FPGA芯片施加激励信号,模型验证结果被存储到嵌入式配置寄存器中,嵌入式配置寄存器将模型实测值赋值给码流,利用反馈模块可获得FPGA芯片返回的反馈数据,并根据标记提取到所述软件模型的实测值,进而可利用比较模块将所述软件模型的实测值与预设值进行比较,可得到验证结果,利用所述FPGA建模验证系统进行建模验证的灵活性高,可以有效缩短产品研发周期,并且建模验证的准确性较高。
本发明实施例还涉及FPGA建模验证方法。所述FPGA建模验证方法包括以下步骤:
步骤S1:在FPGA芯片的至少一个功能模块中设置嵌入式配置寄存器,每个所述功能模块具有对应的软件模型;
步骤S2:将所述嵌入式配置寄存器的初始存储值采集到所述FPGA芯片的码流中并标记;
步骤S3:将所述码流加载到所述FPGA芯片并施加激励信号;
步骤S4:获取所述FPGA芯片的反馈数据,并根据标记的位置从所述反馈数据中提取所述软件模型的实测值;
步骤S5:将所述软件模型的实测值与预设值比较,得到验证结果。
图4是本发明实施例的FPGA建模验证方法的流程示意图。参见图4,以下结合图4,对本发明实施例的FPGA建模验证方法进行说明。
首先,在执行步骤S1之前,可以先进行建模,建立与FPGA芯片中的功能模块对应的软件模型,所述功能模块可以包括寄存器资源。本发明实施例中,FPGA设计可形成一个以上的功能模块,则对于每个功能模块,均可以设置一个与其对应的软件模型。以可编程逻辑模块为例,每个可编程逻辑模块包括一组四输入查找表、关联的寄存器和绕线资源。每个软件模型可用于对对应的功能模块的设计规范和功能进行确认,确保每个功能模块的设计质量。所述软件模型的建模过程可以采用本领域公开的方法。对于目标FPGA设计,可以建立多个不同的软件模型,每个软件模型与一个功能模块对应。所述软件模型的建模过程可以采用本领域公开的方法。一实施例中,FPGA建模验证方法也可以不包括建模,而是直接对现有的模型进行验证。
通过步骤S1在FPGA芯片的与验证的软件模型对应的功能模块中和/或其它功能模块中设置嵌入式配置寄存器。所述软件模型可以通过FPGA芯片上的绕线资源连接到其它功能模块中对应的寄存器。所述嵌入式配置寄存器具有码流赋值功能。本实施例以可编程逻辑模块为例,可以将所述可编程逻辑模块中的与部分所述查找表关联的寄存器和/或位于部分所述查找表周围(即物理上临近)的寄存器设置为所述嵌入式配置寄存器。每个嵌入式配置寄存器可以存储一位数据。本实施例中,嵌入式配置寄存器用来存储软件模型的实测值,则嵌入式配置寄存器的数量可以根据当前软件模型的输出端口的位数设定。对于不同的软件模型,可设置不同的嵌入式配置寄存器与各个软件模型对应。
然后,通过步骤S2将所述嵌入式配置寄存器的初始存储值采集到所述FPGA芯片的码流中并标记。
所述码流可利用本领域通用的EDA工具获得。将所述初始存储值采集到所述FPGA芯片对应的码流之前,可以利用EDA工具获得所述FPGA芯片的码流。本发明实施例在将码流加载到FPGA芯片之前,利用步骤S2将所述嵌入式配置寄存器的初始存储值也加入码流中,所述初始存储值可以指定为1或0,代表所述软件模型的测试结果的初值。此处所述初始存储值例如为0。
所述初始存储值可以设置在码流中的指定位置,例如码流数据的头部、尾部或者中部,每个初始存储值的位置应被标记,以便于后续从FPGA芯片反馈的码流中提取相应位置的值。对于配置多个嵌入式配置寄存器存储一个软件模型的输出结果的情况,该软件模型的输出结果可能与多个嵌入式配置寄存器的存储值的顺序有关,这种情况下,将每个嵌入式配置寄存器的初始存储值在码流中的位置采用不同的标记记录,以便于后续根据这些标记的顺序获得模型输出结果。
然后,通过步骤S3将所述码流加载到上述FPGA芯片,并对所述FPGA芯片施加激励信号。具体的,可以控制布局布线工具将码流加载到FPGA芯片,以码流作为载体,嵌入式配置寄存器的初始存储值被存储到FPGA芯片中相应的嵌入式配置寄存器中。步骤S3另外生成设计文件需要的输入信号,作为激励信号通过相应的芯片端口发送至FPGA芯片。在激励信号作用下,相应软件模型定义的逻辑功能被执行,得到的输出结果存储到相应的一个或多个嵌入式配置寄存器,所述嵌入式配置寄存器通过嵌入式连接赋值给码流,即在码流中各个标记位置加载了更新后的嵌入式配置寄存器的存储值,更新后的存储值为软件模型的实测值。
接着,通过步骤S4获取所述FPGA芯片的反馈数据,并根据标记的位置从所述反馈数据中提取所述软件模型的实测值。获取反馈数据的方法例如为:向所述FPGA芯片发送验证命令,请求反馈返回值,以获得所述反馈数据。所述返回值为二进制的码流数据,返回值与加载到FPGA芯片的码流数据的格式基本一致,则根据在步骤S2所作的各个嵌入式配置寄存器的标记,可提取到所述软件模型的实测值。
然后,通过步骤S5将所述软件模型的实测值与预设值比较,得到验证结果。所述软件模型的预设值可以根据FPGA芯片硬件信息说明得到,所述预设值可看作设计实现符合设计规范时软件模型的期望输出值。可以设定所述实测值与预设值的差异小于一定值或者完全一致时才是相符的。在二者不相符时,需要对软件模型或者设计文件(DUT或DUV)进行修改,经过修改后,可以再利用本发明实施例的FPGA建模验证方法获得软件模型的实测值,并通过比较模块比较实测值和预设值,直到实测值和预设值相符,则完成了相应软件模型的验证。
本发明实施例的物理模型建模验证方法,利用嵌入式配置寄存器,将软件模型的测试结果采集到码流中,继而回读查看实测值并对比软件模型的正确性。该方法改善了传统模型验证方法效率低的缺点,大大提高了FPGA软件模型验证的效率,并且软件建模验证的准确性较高。同时,该方法极大的方便了软件开发人员的操作,节省了开发时间,有效缩短了产品研发周期,加快了产品的上市时间。
上述描述仅是对本发明较佳实施例的描述,并非对本发明权利范围的任何限定,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (10)

1.一种FPGA建模验证系统,其特征在于,包括:
寄存器配置模块,用于在FPGA芯片的至少一个功能模块中设置嵌入式配置寄存器,每个所述功能模块具有对应的软件模型;
码流整合模块,用于将所述嵌入式配置寄存器的初始存储值采集到所述FPGA芯片的码流中并标记;
板测模块,用于将所述码流加载到所述FPGA芯片并施加激励信号;
反馈模块,用于获取所述FPGA芯片的反馈数据,并提取所述软件模型的实测值;
比较模块,用于比较所述实测值与预设值,得到验证结果。
2.如权利要求1所述的FPGA建模验证系统,其特征在于,所述寄存器配置模块根据所述软件模型的输出端口的位数设置所述嵌入式配置寄存器的数量,所述嵌入式配置寄存器具有码流赋值功能。
3.如权利要求1所述的FPGA建模验证系统,其特征在于,所述功能模块包括查找表和与所述查找表关联的寄存器。
4.如权利要求4所述的FPGA建模验证系统,其特征在于,所述寄存器配置模块将与部分所述查找表关联的寄存器设置为所述嵌入式配置寄存器。
5.如权利要求4所述的FPGA建模验证系统,其特征在于,所述寄存器配置模块将位于部分所述查找表周围的寄存器设置为所述嵌入式配置寄存器。
6.如权利要求1所述的FPGA建模验证系统,其特征在于,所述初始存储值为0或1。
7.一种FPGA建模验证方法,其特征在于,包括:
在FPGA芯片的至少一个功能模块中设置嵌入式配置寄存器,每个所述功能模块具有对应的软件模型;
将所述嵌入式配置寄存器的初始存储值采集到所述FPGA芯片的码流中并标记;
将所述码流加载到所述FPGA芯片并施加激励信号;
获取所述FPGA芯片的反馈数据,并提取所述软件模型的实测值;
将所述软件模型的实测值与预设值比较,得到验证结果。
8.如权利要求7所述的FPGA建模验证方法,其特征在于,所述功能模块包括查找表和与所述查找表关联的寄存器;所述嵌入式配置寄存器具有码流赋值功能,在设置所述嵌入式配置寄存器的步骤中,将与部分所述查找表关联的寄存器和/或位于部分所述查找表周围的寄存器设置为所述嵌入式配置寄存器。
9.如权利要求7所述的FPGA建模验证方法,其特征在于,将所述初始存储值采集到所述FPGA芯片的码流之前,利用EDA工具获得所述FPGA芯片的码流。
10.如权利要求8所述的FPGA建模验证方法,其特征在于,获取所述FPGA芯片的反馈数据的方法包括:向所述FPGA芯片发送验证命令,请求所述FPGA芯片反馈返回值。
CN202110272332.5A 2021-03-12 2021-03-12 Fpga建模验证系统及方法 Active CN112861455B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110272332.5A CN112861455B (zh) 2021-03-12 2021-03-12 Fpga建模验证系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110272332.5A CN112861455B (zh) 2021-03-12 2021-03-12 Fpga建模验证系统及方法

Publications (2)

Publication Number Publication Date
CN112861455A true CN112861455A (zh) 2021-05-28
CN112861455B CN112861455B (zh) 2022-05-17

Family

ID=75994334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110272332.5A Active CN112861455B (zh) 2021-03-12 2021-03-12 Fpga建模验证系统及方法

Country Status (1)

Country Link
CN (1) CN112861455B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407408A (zh) * 2021-06-11 2021-09-17 海光信息技术股份有限公司 数据传输规则验证方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725188A (zh) * 2004-07-22 2006-01-25 华为技术有限公司 逻辑验证系统及方法
CN101183406A (zh) * 2007-12-25 2008-05-21 盛科网络(苏州)有限公司 网络芯片模块级功能验证测试平台的建立方法
CN107038280A (zh) * 2017-03-10 2017-08-11 烽火通信科技股份有限公司 一种软硬件协同仿真的验证系统及其方法
US20180275193A1 (en) * 2015-10-15 2018-09-27 Menta System and method for testing and configuration of an fpga
CN109543212A (zh) * 2018-10-10 2019-03-29 深圳市紫光同创电子有限公司 可编程逻辑器件的功能测试方法、装置及计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725188A (zh) * 2004-07-22 2006-01-25 华为技术有限公司 逻辑验证系统及方法
CN101183406A (zh) * 2007-12-25 2008-05-21 盛科网络(苏州)有限公司 网络芯片模块级功能验证测试平台的建立方法
US20180275193A1 (en) * 2015-10-15 2018-09-27 Menta System and method for testing and configuration of an fpga
CN107038280A (zh) * 2017-03-10 2017-08-11 烽火通信科技股份有限公司 一种软硬件协同仿真的验证系统及其方法
CN109543212A (zh) * 2018-10-10 2019-03-29 深圳市紫光同创电子有限公司 可编程逻辑器件的功能测试方法、装置及计算机存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407408A (zh) * 2021-06-11 2021-09-17 海光信息技术股份有限公司 数据传输规则验证方法、装置、设备和存储介质
CN113407408B (zh) * 2021-06-11 2024-01-26 海光信息技术股份有限公司 数据传输规则验证方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN112861455B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
CN112100952B (zh) 一种集成电路后仿真方法、装置、电子设备及存储介质
US9449130B1 (en) Methods, systems, and articles of manufacture for back annotating and visualizing parasitic models of electronic designs
US7937256B2 (en) Systems and methods of efficient library characterization for integrated circuit cell libraries
US8234617B2 (en) Method and system for re-using digital assertions in a mixed signal design
US6061283A (en) Semiconductor integrated circuit evaluation system
US11726899B2 (en) Waveform based reconstruction for emulation
US8732632B1 (en) Method and apparatus for automated extraction of a design for test boundary model from embedded IP cores for hierarchical and three-dimensional interconnect test
JP2001189387A (ja) システムオンチップの設計検証方法および装置
CN107895087A (zh) 可编程逻辑电路模块级仿真配码自动生成的方法及系统
CN115293080A (zh) 基于追踪文件的芯片调试系统
US10437946B1 (en) Using implemented core sources for simulation
CN112861455B (zh) Fpga建模验证系统及方法
US20210374314A1 (en) Engineering Change Order Scenario Compression by Applying Hybrid of Live and Static Timing Views
US20210312113A1 (en) Method for finding equivalent classes of hard defects in stacked mosfet arrays
CN107844678B (zh) 包含IP/Memory时序路径的spice仿真方法
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
US8091052B2 (en) Optimization of post-layout arrays of cells for accelerated transistor level simulation
CN116227398B (zh) 一种自动化生成ip核测试激励的方法及系统
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
CN117350208A (zh) 时序逻辑元件性能检查方法及设备
CN112613257A (zh) 验证方法、装置、电子设备和计算机可读存储介质
CN106503278A (zh) 数字电路设计的时序分析方法及其系统
CN115983171B (zh) 用于对片上系统进行后仿真的方法和仿真平台
US12001317B2 (en) Waveform based reconstruction for emulation
CN116451625B (zh) 用于rtl和带sdf网表的联合仿真的装置和方法

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