CN114896919B - 一种基于fpga的集成电路原型验证系统及方法 - Google Patents

一种基于fpga的集成电路原型验证系统及方法 Download PDF

Info

Publication number
CN114896919B
CN114896919B CN202210495142.4A CN202210495142A CN114896919B CN 114896919 B CN114896919 B CN 114896919B CN 202210495142 A CN202210495142 A CN 202210495142A CN 114896919 B CN114896919 B CN 114896919B
Authority
CN
China
Prior art keywords
verification
fpga
tested
file
program
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
CN202210495142.4A
Other languages
English (en)
Other versions
CN114896919A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202210495142.4A priority Critical patent/CN114896919B/zh
Priority to BE20225510A priority patent/BE1029108B1/de
Publication of CN114896919A publication Critical patent/CN114896919A/zh
Application granted granted Critical
Publication of CN114896919B publication Critical patent/CN114896919B/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/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/323Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
    • 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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • 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
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • 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
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请公开了一种基于FPGA的集成电路原型验证系统及方法,包括:数据获取模块、数据转化模块、数据功能性能检测模块、数据功能修正模块和数据综合结果模块;通过获取待测试文件或待测试程序,转化成指定形式的测试文件或待测试程序;对指定形式的测试文件或待测试程序进行功能和性能的验证,并修正,再次验证,进行数据查询并将结果按照设定形式进行展示;有效的解决了于FPGA的集成电路原型验证中某个模块存在问题,需要修改重新验证,那么需要将整个系统重新综合,重新综合的时间长,效率低以及在某个缺陷修复或者添加了某项新功能以后,可能会引入新的缺陷的问题,本申请具有广阔的推广空间和使用价值。

Description

一种基于FPGA的集成电路原型验证系统及方法
技术领域
本申请属于集成电路原型验证领域,具体涉及一种基于FPGA的集成电路原型验证系统及方法。
背景技术
在集成电路(integratedcircuit,ic)芯片的开发过程中,为了测试ic芯片设计是否成功,生产之前必须要进行流片,但直接进行ic芯片流片容易对ic芯片造成损害,成本较大,因此,为了避免多次流片所造成的高成本、高风险,ic芯片开发过程中需要在流片之前采用一些有效的方法来检测ic芯片设计的逻辑是否正确,即进行ic芯片的原型验证。
现场可编程门阵列(field-programmablegatearray,fpga)具有可编程的特点,它能够对逻辑设计进行反复的修改,直至达到满意的结果;利用fpga的可编程特点,在进行ic芯片的原型验证时,通常采用的方法是先将逻辑设计进行综合、布局、布线,然后快速地烧写至fpga,在fpga平台上进行验证,其良好的物理特性填补了软件仿真环境与实际物理芯片在速度上的巨大差距,从而可以缩短ic芯片的开发周期、降低成本、提高ic芯片流片的成功率,为快速面向市场提供了有力的保障,成为现代ic设计验证的技术主流。
(1)如果验证系统中某个模块存在问题,需要修改重新验证,那么需要将整个系统重新综合,重新综合的时间长,效率低。
(2)在某个缺陷修复或者添加了某项新功能以后,可能会引入新的缺陷。
发明内容
本申请提出了一种基于FPGA的集成电路原型验证系统及方法,通过获取待测试文件或待测试程序,转化成指定形式的测试文件或待测试程序;对指定形式的测试文件或待测试程序进行功能和性能的验证,并修正,再次验证,进行数据查询并将结果按照设定进行展示,希望实现基于FPGA的集成电路原型验证中某个模块存在问题,需要修改重新验证,那么需要将整个系统重新综合,重新综合的时间长,效率低以及在某个缺陷修复或者添加了某项新功能以后,可能会引入新的缺陷的问题,本申请具有广阔的推广空间和使用价值。
为实现上述目的,本申请提供了如下方案:
一种基于FPGA的集成电路原型验证系统,具体包括如下内容:数据获取模块、数据转化模块、数据功能性能检测模块、数据功能修正模块和数据综合结果模块;
所述数据获取模块:用于获取待测试文件或待测试程序;
所述数据转化模块:用于基于所述获取待测试文件或待测试程序,转化成指定形式的测试文件或待测试程序;
所述数据功能性能检测模块:用于对所述指定形式的测试文件或待测试程序进行功能和性能的验证,所述数据功能性能检测模块采用FPGA平台,得到集成电路验证结果;
所述数据功能修正模块:用于对所述集成电路验证结果进行修改、增加、删除;
所述数据综合结果模块:用于对所述数据功能性能检测模块获取的数据进行数据查询并将结果按照设定形式进行展示。
优选的,所述数据功能性能检测模块包括:电源验证单元和PCIE总线验证单元;
所述电源验证单元用于拟集成电路中的电源管理行为;
所述PCIE总线验证单元用于模拟集成电路中的PCIE总线管理行为。
优选的,所述数据功能性能检测模块还包括:二次测试修复单元,用于所述源验证单元和PCIE总线验证单元在某个缺陷修复或者添加了新功能以后,确保没有引入新的功能性能缺陷。
优选的,所述集成电路原型验证系统至少包括两个级联的FPGA原型验证板。
为实现上述目的,本申请还提供了一种基于FPGA的集成电路原型验证方法,
获取待测试文件或待测试程序;
基于所述获取待测试文件或待测试程序,转化成指定形式的测试文件或待测试程序;
基于FPGA对所述指定形式的测试文件或待测试程序进行功能和性能的验证,得到集成电路验证结果;
如果验证成功则结束,如果验证失败,则修正,修正后重新进行验证。
优选的,所述指定形式的测试文件或待测试程序包括:将RTL形式的代码转换为门级网表文件或程序。
优选的,将所述RTL形式的代码转换为门级网表文件或程序法包括:
包括编译、转换、调度、分配、控制器综合和结果生成;
所述编译,是将由硬件描述语言编写的行为特性描述经过编译生成为一个适合自动综合的中间表示格式;
所述转换,对设计的行为描述进行优化;
所述调度,基于若干个时钟周期在满足约束条件下使得器件完成所有功能所需时间最少;
所述分配,建立一个功能块级模块组成的数据通路,使所占用的硬件资源花费最少,尽量共享;
所述控制器综合,按调度要求驱动数据通路的控制器;
所述结果生成,将设计转换为硬件结构的物理实现。
优选的,所述指定形式的测试文件或待测试程序用于局部和/或全局更新,以及进行局部验证或全局验证。
本申请公开了一种基于FPGA的集成电路原型验证系统和方法,本申请的有益效果为:有效的解决了于FPGA的集成电路原型验证中某个模块存在问题,需要修改重新验证,那么需要将整个系统重新综合,重新综合的时间长,效率低以及在某个缺陷修复或者添加了某项新功能以后,可能会引入新的缺陷的问题,本申请具有广阔的推广空间和使用价值。
本系统具有广阔的推广空间和使用价值。
附图说明
为了更清楚地说明本申请的技术方案,下面对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中基于FPGA的集成电路原型验证系统和方法的系统结构示意图;
图2为本申请实施例中基于FPGA的集成电路原型验证系统和方法的方法流程示意图;
图3为本申请实施例中基于FPGA的集成电路原型验证系统和方法的电源验证具体步骤示意图;
图4为本申请实施例中基于FPGA的集成电路原型验证系统和方法的PCIE总线验证具体步骤示意图;
图5为本申请实施例中基于FPGA的集成电路原型验证系统组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
目前的FPGA验证系统,每两片FPGA片间通信的互联接口的数量比较少,不足以支持大规模数据交换,例如:VU440级联验证板需要满足单一交换验证场景下资源和接口的基本需求,同时由于全芯片逻辑资源占用较大,而即使目前Xilinx逻辑资源最大的FPGA,1片也无法满足要求,并且如果验证系统中某个模块存在问题,需要修改重新验证,那么需要将整个系统重新综合,重新综合的时间长,效率低;还有可能在某个缺陷修复或者添加了某项新功能以后,可能会引入新的缺陷。
基于此,本发明实施例提供的一种FPGA原型验证系统,可以通过将前一级FPGA原型验证板的高速连接器的I/0端口与后一级FPGA原型验证板的高速连接器的I/0端口连接,将前--级FPGA原型验证板的光接口模块的I/0端口与后--级FPGA原型验证板的光接口模块的I/O端口连接,通过高速连接器和光接口模块,可以灵活的进行板级的级联,从而便于进行一些大规模的模块或全芯片原型验证实验,可用互连接口的大幅提高解决了现有方案互连接口少的缺点,并且具有局部更新,全局更新等功能,不需要将整个系统重新综合进行验证,某个缺陷修复或者添加了某项新功能以后,针对可能会引入新的功能性能的缺陷,本申请具有二次修复验证的功能,这样保证不会引起新的功能性能的缺陷。
实施例一
如图1所示,一种基于FPGA的集成电路原型验证系统,具体包括如下内容:
数据获取模块、数据转化模块、数据功能性能检测模块、数据功能修正模块和数据综合结果模块;数据获取模块是用于获取待测试文件或待测试程序;数据转化模块是用于获取待测试文件或待测试程序,转化成指定形式的测试文件或待测试程序;数据功能性能检测模块:是用于FPGA对指定形式的测试文件或待测试程序进行功能和性能的验证;数据功能修正模块是用于对数据功能性能检测模块的数据进行修改、增加、删除;数据综合结果模块:用于对数据功能性能检测模块获取的数据进行数据查询并将结果按照设定形式进行展示。
除此之外,功能和性能的验证模块还包括:二次测试修复单元,即在某个缺陷修复或者添加了某项新功能以后,确保没有引入新的缺陷,并且基于FPGA的集成电路原型验证系统至少包括两个级联的FPGA原型验证板,将前一级FPGA原型验证板的高速连接器的I/0端口与后-级FPGA原型验证板的高速连接器的I/0端口连接,将前--级FPGA原型验证板的光接口模块的I/0端口与后--级FPGA原型验证板的光接口模块的I/O端口连接,通过高速连接器和光接口模块,可以灵活的进行板级的级联,从而便于进行一些大规模的模块或全芯片原型验证实验,可用互连接口的大幅提高解决了现有方案互连接口少的缺点,通过指定形式的测试文件或待测试程序可实现局部修改局部更新或全局更新,进行局部验证或全局验证。
将RTL代码转换为门级网表文件或程序的步骤包括:
包括编译单元、转换单元、调度单元、分配单元、控制器综合和结果生成单元;
编译单元,是将由硬件描述语言编写的行为特性描述经过编译生成为一个适合自动综合的中间表示格式;
转换单元,对设计的行为描述进行优化;
调度单元,基于若干个时钟周期在满足约束条件下使得器件完成所有功能所需时间最少;
分配单元,建立一个功能块级模块组成的数据通路,使所占用的硬件资源花费最少,尽量共享;
控制器综合单元,按调度要求驱动数据通路的控制器;
结果生成单元,将设计转换为硬件结构的物理实现。
实施例二
如图2所示,一种基于FPGA的集成电路原型验证方法,具体包括如下内容:
获取待测试文件或待测试程序;基于所述获取待测试文件或待测试程序,转化成指定形式的测试文件或待测试程序;基于FPGA对所述指定形式的测试文件或待测试程序进行功能和性能的验证;
如果验证成功则结束,如果验证失败,则修正,修正后重新进行验证。
除此之外,功能和性能的验证还包括:二次测试修复验证,即在某个缺陷修复或者添加了某项新功能以后,确保没有引入新的缺陷。
并且,基于FPGA的集成电路原型验证系统至少包括两个级联的FPGA原型验证板。
指定形式的测试文件或待测试程序可实现局部修改局部更新或全局更新,进行局部验证或全局验证。
将所述RTL代码转换为门级网表文件或程序的方法包括:
包括编译、转换、调度、分配、控制器综合和结果生成;
编译,是将由硬件描述语言编写的行为特性描述经过编译生成为一个适合自动综合的中间表示格式;
转换,对设计的行为描述进行优化;
调度,基于若干个时钟周期在满足约束条件下使得器件完成所有功能所需时间最少;
分配,建立一个功能块级模块组成的数据通路,使所占用的硬件资源花费最少,尽量共享;
控制器综合,按调度要求驱动数据通路的控制器;
结果生成,将设计转换为硬件结构的物理实现。
实施例三
如图3所示,一种基于FPGA的集成电路原型验证系统,具体包括如下内容:
本申请实施例,电源验证单元是基于FPGA验证系统上模拟集成电路中的电源管理行为,使得FPGA的逻辑行为能够与集成电路相一致;电源属性类包括:关断控制属性、电源开关属性和保持寄存器属性。
验证的具体过程包括以下步骤:
首先获取待测试电源管理属性类文件或待测试电源管理属性类程序;
然后基于获取待测试电源管理属性类文件或待测试电源管理属性类程序,转化成RTL形式的测试文件或待测试程序;
根据RTL形式的测试文件或待测试程序构建逻辑设计的层次结构,
基于FPGA对指定形式的测试文件或待测试程序进行功能和性能的验证,基于FPGA验证系统上模拟集成电路中的电源管理行为,验证FPGA的逻辑行为是否与集成电路相一致;
如果验证成功则结束,如果验证失败,则修正,修正后重新进行验证。
如果验证成功则验证结束,跳转到数据综合结果模块,对验证进行指定形式的展示,包括:图表,表格等形式;
如果验证失败,则通过数据功能修正模块进行修正,修正可以做到局部修正局部更新,局部验证,也可以整体修正,整体更新,整体验证;
局部或整体修正验证后,会进行二次测试修复验证,这样做的目的是为了保证某个缺陷修复或者添加了某项新功能以后,确保没有引入新的缺陷;
二次测试修复验证之后,整个修复验证的过程结束,系统跳转到
跳转到数据综合结果模块,对验证进行指定形式的展示,包括:图表,表格等形式。
其中,将RTL代码转换为门级网表文件或程序的步骤包括:
包括编译单元、转换单元、调度单元、分配单元、控制器综合和结果生成单元;
编译单元,是将由硬件描述语言编写的行为特性描述经过编译生成为一个适合自动综合的中间表示格式;
转换单元,对设计的行为描述进行优化;
调度单元,基于若干个时钟周期在满足约束条件下使得器件完成所有功能所需时间最少;
分配单元,建立一个功能块级模块组成的数据通路,使所占用的硬件资源花费最少,尽量共享;
控制器综合单元,按调度要求驱动数据通路的控制器;
结果生成单元,将设计转换为硬件结构的物理实现。
其中,RTL文件用于描述该芯片的集成电路的逻辑实现,RTL文件的格式可以为.v.vhd,RTL文件中包括一条或者多条RTL指令。具体的,根据该RTL文件中的RTL指令构建逻辑设计的层次结构,该层次结构可以是层次树,基于电源属性修改对应的RTL代码,生成FPGA文件,并利用FPGA文件对所述芯片进行FPGA原型验证。
通过从芯片的UPF文件中提取属于第一电源管理属性类的第一UPF指令,该第一电源管理属性类包括关断控制属性、电源开关属性和保持寄存器属性,根据芯片的RTL文件构建逻辑设计的层次结构,逐条读取所述第一UPF指令,在所述层次结构中查找与所述第一UPF指令对应的逻辑单元,根据所述第一UPF指令的属性修改所述逻辑单元的RTL代码,生成FPGA文件,并利用所述FPGA文件对所述芯片进行FPGA原型验证,从而可以在常规FPGA上模拟集成电路中的电源管理行为,使得FPGA的逻辑行为能够与集成电路相一致,对芯片设计提供有效参考依据。
实施例四:
如图4所示,本申请实施例,PCIE总线验证单元是基于FPGA验证系统上模拟集成电路中的电源管理行为,使得FPGA的逻辑行为能够与集成电路相一致;其中,FPGA原型验证系统包括主控芯片,HyperBusPCIE总线和多个从FPGA芯片,其中,主控芯片通过HyperBusPCIE总线和多个从FPGA芯片相连,HyperBusPCIE总线包含模式控制线,主控芯片101还可以与外部PC机进行PC通信。
验证电源属性的具体步骤如下:
首先获取待测试PCIE总线管理属性类文件或待测试PCIE总线管理属性类程序;
然后获取待测试PCIE总线管理属性类文件或待测试PCIE总线管理属性类程序,转化成RTL形式的测试文件或待测试程序;
基于FPGA对指定形式的测试文件或待测试程序进行功能和性能的验证,基于FPGA验证系统上模拟集成电路中的PCIE总线管理行为,验证FPGA的逻辑行为是否与集成电路相一致;
如果验证成功则结束,如果验证失败,则修正,修正后重新进行验证。
如果验证成功则验证结束,跳转到数据综合结果模块,对验证进行指定形式的展示,包括:图表,表格等形式;
如果验证失败,则通过数据功能修正模块进行修正,修正可以做到局部修正局部更新,局部验证,也可以整体修正,整体更新,整体验证;
局部或整体修正验证后,会进行二次测试修复验证,这样做的目的是为了保证某个缺陷修复或者添加了某项新功能以后,确保没有引入新的缺陷;
二次测试修复验证之后,整个修复验证的过程结束,系统跳转到数据综合结果模块,对验证进行指定形式的展示,包括:图表,表格等形式。
其中,将RTL代码转换为门级网表文件或程序的步骤包括:
包括编译单元、转换单元、调度单元、分配单元、控制器综合和结果生成单元;
编译单元,是将由硬件描述语言编写的行为特性描述经过编译生成为一个适合自动综合的中间表示格式;
转换单元,对设计的行为描述进行优化;
调度单元,基于若干个时钟周期在满足约束条件下使得器件完成所有功能所需时间最少;
分配单元,建立一个功能块级模块组成的数据通路,使所占用的硬件资源花费最少,尽量共享;
控制器综合单元,按调度要求驱动数据通路的控制器;
结果生成单元,将设计转换为硬件结构的物理实现。
如图5所示,RTL代码包括RTL文件或者是程序或者是其它的外部设备也可以,通过验证系统对需要验证的文件或程序或设备进行验证。
总线测试验证单元还包括总线工作模式运行单元,可以根据总线不同工作模式的设置对总线的运行方式进行控制。
总线工作模式单元包括集总总线模式,点对点总线模式,层别总线模式和混合总线模式等;所述的工作模式包括集总工作模式,点对点工作模式,层别工作模式和混合工作模式等,其中混合工作模式包括集总工作模式,点对点工作模式,层别工作模式等独立模式。
其中,混合工作模式为从FPGA芯片在集总工作模式,点对点工作模式,层别工作模式之间自由切换的模式,并且在混合总线模式中,在同一段时间内只可能存在一种模式,即同一段时间内的一个系统的总线模式具有独一性,比如在tl~t2时刻只为集总总线模式,不能再含有其他总线模式,t2~t3时刻只为层别总线模式,不能在含有其它总线模式,相应的FPGA芯片在同一时刻也只能以一种工作模式工作和通信。
当总线工作模式单元处于不同的状态时,主控芯片初始状态下根据模式控制线的状态设定相应的总线工作模式,或者外部PC机下达不同指令,主控芯片按照指令调整总线工作模式,从FPGA芯片根据模式控制线的状态设定相应的工作模式,提供相应的数据通信方式,并可在按指令要求的拓扑结构中的位置发送和接收指令和数据。模式控制线的状态由主控芯片的主模式控制块根据特定指令调整,或者初始设置阶段的拨码开关手动设置。
以上所述的实施例仅是对本申请优选方式进行的描述,并非对本申请的范围进行限定,在不脱离本申请设计精神的前提下,本领域普通技术人员对本申请的技术方案做出的各种变形和改进,均应落入本申请权利要求书确定的保护范围内。

Claims (5)

1.一种基于FPGA的集成电路原型验证系统,其特征在于,
包括:数据获取模块、数据转化模块、数据功能性能检测模块、数据功能修正模块和数据综合结果模块;
所述数据获取模块:用于获取待测试文件或待测试程序;
所述数据转化模块:用于基于所述获取待测试文件或待测试程序,转化成指定形式的测试文件或待测试程序;
所述数据功能性能检测模块:用于对所述指定形式的测试文件或待测试程序进行功能和性能的验证,所述数据功能性能检测模块采用FPGA平台,得到集成电路验证结果;
所述数据功能修正模块:用于对所述集成电路验证结果进行修改、增加、删除;
所述数据综合结果模块:用于对所述数据功能性能检测模块获取的数据进行数据查询并将结果按照设定形式进行展示;
所述数据功能性能检测模块包括:电源验证单元和PCIE总线验证单元;
所述电源验证单元用于拟集成电路中的电源管理行为;
所述PCIE总线验证单元用于模拟集成电路中的PCIE总线管理行为;
所述数据功能性能检测模块还包括:二次测试修复单元,用于所述电源验证单元和PCIE总线验证单元在某个缺陷修复或者添加了新功能以后,确保没有引入新的功能性能缺陷;
所述集成电路原型验证系统包括两个级联的FPGA原型验证板;
基于FPGA的集成电路原型验证系统包括两个级联的FPGA原型验证板,将前一级FPGA原型验证板的高速连接器的I/0端口与后一级FPGA原型验证板的高速连接器的I/0端口连接,将前一级FPGA原型验证板的光接口模块的I/0端口与后一级FPGA原型验证板的光接口模块的I/O端口连接,通过高速连接器和光接口模块,灵活的进行板级的级联,进行一些大规模的模块或全芯片原型验证实验,用互连接口的大幅提高解决现有方案互连接口少的缺点,通过指定形式的测试文件或待测试程序实现局部修改局部更新或全局更新,进行局部验证或全局验证;
所述数据综合结果模块还包括总线测试验证单元,总线测试验证单元还包括总线工作模式运行单元,根据总线不同工作模式的设置对总线的运行方式进行控制;
总线工作模式单元包括集总总线模式,点对点总线模式,层别总线模式和混合总线模式;所述的工作模式包括集总工作模式,点对点工作模式,层别工作模式和混合工作模式,其中混合工作模式包括集总工作模式,点对点工作模式,层别工作模式独立模式;
RTL文件用于描述芯片的集成电路的逻辑实现,RTL文件的格式为.v.vhd,RTL文件中包含一条或多条RTL指令;根据该RTL文件中的RTL指令构建逻辑设计的层次结构,该层次结构是层次树,基于电源属性修改对应的RTL代码,生成FPGA文件,并利用FPGA文件对所述芯片进行FPGA原型验证;
通过从芯片的UPF文件中提取属于第一电源管理属性类的第一UPF指令,该第一电源管理属性类包括关断控制属性、电源开关属性和保持寄存器属性,根据芯片的RTL文件构建逻辑设计的层次结构,逐条读取所述第一UPF指令,在所述层次结构中查找与所述第一UPF指令对应的逻辑单元,根据所述第一UPF指令的属性修改所述逻辑单元的RTL代码,生成FPGA文件,并利用所述FPGA文件对所述芯片进行FPGA原型验证,从而在常规FPGA上模拟集成电路中的电源管理行为,使得FPGA的逻辑行为能够与集成电路相一致,对芯片设计提供有效参考依据;
混合工作模式为从FPGA芯片在集总工作模式,点对点工作模式,层别工作模式之间自由切换的模式,并且在混合总线模式中,在同一段时间内只能存在一种模式,即同一段时间内的一个系统的总线模式具有独一性,在t1~t2时刻只为集总总线模式,不能再含有其他总线模式,t2~t3时刻只为层别总线模式,不能在含有其它总线模式,相应的FPGA芯片在同一时刻也只能以一种工作模式工作和通信。
2.一种基于FPGA的集成电路原型验证方法是基于权利要求1所述的基于FPGA的集成电路原型验证系统实现的,其特征在于,
获取待测试文件或待测试程序;
基于所述获取待测试文件或待测试程序,转化成指定形式的测试文件或待测试程序;
基于FPGA对所述指定形式的测试文件或待测试程序进行功能和性能的验证,得到集成电路验证结果;
如果验证成功则结束,如果验证失败,则修正,修正后重新进行验证。
3.根据权利要求2所述一种基于FPGA的集成电路原型验证方法,其特征在于,
所述指定形式的测试文件或待测试程序包括:将RTL形式的代码转换为门级网表文件或程序。
4.根据权利要求3所述基于FPGA的集成电路原型验证方法,其特征在于,
将所述RTL形式的代码转换为门级网表文件或程序法包括:
包括编译、转换、调度、分配、控制器综合和结果生成;
所述编译,是将由硬件描述语言编写的行为特性描述经过编译生成为一个适合自动综合的中间表示格式;
所述转换,对设计的行为描述进行优化;
所述调度,基于若干个时钟周期在满足约束条件下使得器件完成所有功能所需时间最少;
所述分配,建立一个功能块级模块组成的数据通路,使所占用的硬件资源花费最少,尽量共享;
所述控制器综合,按调度要求驱动数据通路的控制器;
所述结果生成,将设计转换为硬件结构的物理实现。
5.如权利要求3所述基于FPGA的集成电路原型验证方法,其特征在于,
所述指定形式的测试文件或待测试程序用于局部和/或全局更新,以及进行局部验证或全局验证。
CN202210495142.4A 2022-05-07 2022-05-07 一种基于fpga的集成电路原型验证系统及方法 Active CN114896919B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210495142.4A CN114896919B (zh) 2022-05-07 2022-05-07 一种基于fpga的集成电路原型验证系统及方法
BE20225510A BE1029108B1 (de) 2022-05-07 2022-06-27 System und verfahren zur prototypenverifikation für integrierten schaltkreis auf der grundlage von fpga

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210495142.4A CN114896919B (zh) 2022-05-07 2022-05-07 一种基于fpga的集成电路原型验证系统及方法

Publications (2)

Publication Number Publication Date
CN114896919A CN114896919A (zh) 2022-08-12
CN114896919B true CN114896919B (zh) 2023-06-09

Family

ID=82399494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210495142.4A Active CN114896919B (zh) 2022-05-07 2022-05-07 一种基于fpga的集成电路原型验证系统及方法

Country Status (2)

Country Link
CN (1) CN114896919B (zh)
BE (1) BE1029108B1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906328A (zh) * 2021-02-05 2021-06-04 博流智能科技(南京)有限公司 Fpga原型验证系统生成方法及系统、fpga原型验证方法及系统
EP3913513A1 (en) * 2020-05-22 2021-11-24 INTEL Corporation Secure debug of fpga design
CN114357916A (zh) * 2022-01-11 2022-04-15 北京汤谷软件技术有限公司 一种芯片fpga原型验证方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306131B (zh) * 2011-08-23 2013-11-06 北京亚科鸿禹电子有限公司 一种fpga原型验证系统总线控制装置
US11009550B2 (en) * 2013-02-21 2021-05-18 Advantest Corporation Test architecture with an FPGA based test board to simulate a DUT or end-point
CN109190276A (zh) * 2018-09-14 2019-01-11 天津市滨海新区信息技术创新中心 Fpga原型验证系统
CN111366841B (zh) * 2020-04-07 2022-06-21 华北水利水电大学 一种fpga可编程逻辑单元测试设备及使用方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3913513A1 (en) * 2020-05-22 2021-11-24 INTEL Corporation Secure debug of fpga design
CN112906328A (zh) * 2021-02-05 2021-06-04 博流智能科技(南京)有限公司 Fpga原型验证系统生成方法及系统、fpga原型验证方法及系统
CN114357916A (zh) * 2022-01-11 2022-04-15 北京汤谷软件技术有限公司 一种芯片fpga原型验证方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
P. Veda Bhanu et al.Flexible Spare Core Placement in Torus Topology Based NoCs and Its Validation on an FPGA.《IEEE》.2021,第9卷45935-45954. *
刘彬彬 ; .基于FPGA的无线充电接收芯片验证平台的设计.电子技术与软件工程.2019,(08),全文. *

Also Published As

Publication number Publication date
CN114896919A (zh) 2022-08-12
BE1029108A1 (de) 2022-09-07
BE1029108B1 (de) 2023-08-10

Similar Documents

Publication Publication Date Title
CN112580295B (zh) 多核SoC芯片的自动化验证方法、系统及装置
CN106940428B (zh) 芯片验证方法、装置及系统
CN102662644B (zh) 一种使用流程图生成测试案例的方法
CN102682166A (zh) Smt设备快速制程系统及方法
CN111859834B (zh) 一种基于uvm的验证平台开发方法、系统、终端及存储介质
US11520968B2 (en) Verification platform for system on chip and verification method thereof
CN107505851B (zh) 基于Rinsim平台的Ovation控制仿真系统及仿真方法
JP2008065640A (ja) シミュレーション装置およびそのシミュレーション制御方法
CN102608517A (zh) 一种创建集成电路测试程序包的快速方法
CN116089281A (zh) 一种芯片测试方法、测试平台和设备
CN105591779A (zh) 网元巡检方法及装置
CN107621943A (zh) 一种fpga动态批量烧写系统及方法
CN113254054B (zh) 一种智能合约一站式开发系统及方法
CN114239459A (zh) Fpga原型设计文件的处理方法、装置、设备及介质
CN114896919B (zh) 一种基于fpga的集成电路原型验证系统及方法
CN112131831B (zh) 多电源域版图布局方法及存储介质
CN115935865A (zh) 一种可重构芯片的验证方法及平台
CN110442986B (zh) 一种基于cpld逻辑代码生成器管理服务器主板的方法
CN104850015A (zh) 一种软件封装方法及一种汽车电子控制器
CN114492268A (zh) 一种asic原型验证的方法、系统、设备和存储介质
CN114416460A (zh) 分析基带性能的方法和仿真系统
JP2001159986A (ja) システムlsiのテストデータ最適化生成方式
CN112241268A (zh) 一种keil工程的编译方法、系统及设备
CN105516158A (zh) 一种可配置协议转换状态机电路结构及协议配置方法
CN107330177B (zh) 一种基于Tcl/Tk脚本的时钟树扇出违约修复方法

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