CN116029237A - 一种基于fpga原型验证的等价性验证方法及系统 - Google Patents
一种基于fpga原型验证的等价性验证方法及系统 Download PDFInfo
- Publication number
- CN116029237A CN116029237A CN202211544087.XA CN202211544087A CN116029237A CN 116029237 A CN116029237 A CN 116029237A CN 202211544087 A CN202211544087 A CN 202211544087A CN 116029237 A CN116029237 A CN 116029237A
- Authority
- CN
- China
- Prior art keywords
- fpga
- rtl
- gate
- verification
- circuit model
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种基于FPGA原型验证的等价性验证方法及系统,所述方法包括:步骤S1:接收RTL、门级网表和FPGA网表对应的电路模型CRTL、CGATE、CFPGA,每个电路模型中都有N个相应的比较点,N为自然数;步骤S2:建立搜索电路,同时对电路模型CRTL、CGATE、CFPGA的比较点进行匹配,并根据匹配的比较点将分别电路模型CRTL、CGATE、CFPGA划分为多个相应的逻辑锥;步骤S3:同时对电路模型CRTL、CGATE、CFPGA中相应的逻辑锥进行等价性验证。采用本发明的基于FPGA原型验证的等价性验证方法,可以提高FPGA原型验证的准确性。
Description
技术领域
本发明涉及集成电路等价性验证领域,尤其涉及一种基于FPGA原型验证的等价性验证方法及系统。
背景技术
在复杂的ASIC芯片设计中,为了确保设计的功能正确性,需要经过多种类型的验证。通过多种验证方法的相互补充,可以提高IC验证的覆盖率。功能验证的主要方法有软件仿真、硬件加速/仿真、FPGA原型验证和形式验证。
FPGA原型验证是将设计直接烧入FPGA芯片,并把此芯片置于测试系统或应用系统开发环境中,通过对FPGA硬件输入测试向量或直接在FPGA硬件上运行软件系统就可以验证芯片设计的正确性。其本质在于快速地实现ASIC设计中的硬件电路,让软件模块在真正的硬件上高速运行,实现ASIC设计的软硬件协同验证。为了将设计烧入FPGA芯片,需要对原始的逻辑设计进行FPGA综合,产生FPGA网表,通常验证RTL、逻辑综合后门级网表与FPGA网表的等价性的方法是分别将RTL(Register Transfer Level,寄存器转换级电路)和FPGA网表、RTL和门级网表以及FPGA网表和门级网表分别进行等价性检查,如果他们两两分别等价,那么RTL、门级网表与FPGA网表是等价的。
但是,随着ASIC电路复杂度和规模的增大以及FPGA设计的不断优化,FPGA网表的结构与门级网表的结构的差异性也越来越大,这就造成当RTL和FPGA网表,RTL和门级网表分别等价的情况下,FPGA网表与门级网表不等价,或者由于FPGA综合的问题造成RTL和FPGA网表不等价,这就有可能导致最终流片后的测试结果与FPGA原型验证的测试结果不同,例如,FPGA原型验证的功能是正确的,但是实际流片后芯片的功能是错误的,这样会给设计者带来巨大损失。
发明内容
本发明的目的是针对现有技术的FPGA原型验证结果不准确的技术问题,本发明提出一种验证结果准确的基于FPGA原型验证的等价性验证方法及系统。
本发明实施例中,提供了一种基于FPGA原型验证的等价性验证方法,其包括:
步骤S1:接收RTL、门级网表和FPGA网表对应的电路模型CRTL、CGATE、CFPGA,每个电路模型中都有N个相应的比较点,N为自然数;
步骤S2:建立搜索电路,同时对电路模型CRTL、CGATE、CFPGA的比较点进行匹配,并根据匹配的比较点将分别电路模型CRTL、CGATE、CFPGA划分为多个相应的逻辑锥;
步骤S3:同时对电路模型CRTL、CGATE、CFPGA中相应的逻辑锥进行等价性验证。
本发明实施例中,步骤S2中,建立搜索电路,包括:
将CRTL的下一个状态用RPO1到RPOn表示,下一个状态依赖于基本输入PI1到Pip和伪主输入RPI1到RPIn;CGATE的下一个状态用IPO1到IPOn表示,下一个状态依赖于基本输入PI1到Pip和伪主输入IPI1到IPIn;CFPGA的下一个状态用HPO1到HPOn表示,下一个状态依赖于基本输入PI1到Pip和伪主输入HPI1到HPIn。
本发明实施例中,步骤S2中,同时对电路模型CRTL、CGATE、CFPGA的比较点进行匹配,包括:
本发明实施例中,使用随机法或者ATPG方法来搜索测试向量。
本发明实施例中,步骤S2中,将电路模型CRTL、CGATE、CFPGA划分为一个个逻辑锥后,采用链表的形式对每个电路模型的逻辑锥进行存储。
本发明实施例中,步骤S3中,同时电路模型CRTL、CGATE、CFPGA中相应的逻辑进行等价性验证,包括:
分别将电路模型CRTL、CGATE、CFPGA中三个相应的逻辑锥的输出两两进行异或运算后的结果再进行或运算,输出为PO;
搜索测试向量,如果存在测试向量,使得PO=1,则三个相应的逻辑锥不等价,否则三个相应的逻辑锥等价;
如果电路模型CRTL、CGATE、CFPGA中所有相应的逻辑锥都等价,则RTL、门级网表与FPGA网表等价,否则不等价。
本发明实施例中,使用随机法或者ATPG方法来搜索测试向量。
本发明实施例中,还提供了一种基于FPGA原型验证的等价性验证系统,其对FPGA进行原型验证时,采用上述的基于FPGA原型验证的等价性验证方法。
与现有技术相比较,本发明的基于FPGA原型验证的等价性验证方法及系统,建立搜索电路,同时对电路模型CRTL、CGATE、CFPGA的比较点进行匹配,并根据匹配的比较点将分别电路模型CRTL、CGATE、CFPGA划分为多个相应的逻辑锥,并同时对电路模型CRTL、CGATE、CFPGA中相应的逻辑锥进行等价性验证,同时进行RTL与门级网表、RTL与FPGA网表和门级网表与FPGA网表的等价性验证,确保了FPGA验证结果与实际产品流片后的测试结果的一致性。
附图说明
图1是本发明实施例的基于FPGA原型验证的等价性验证方法的流程图。
图2是本发明实施例中的搜索电路的示意图。
图3是本发明实施例中比较点匹配算法的流程图。
图4是本发明实施例的同时对三个电路模型中相应的逻辑锥进行等价性验证的逻辑电路的示意图。
具体实施方式
如图1所示,本发明实施例中,提供了一种基于FPGA原型验证的等价性验证方法,其包括步骤S1-S3。下面分别进行说明。
步骤S1:接收RTL、门级网表和FPGA网表对应的电路模型CRTL、CGATE、CFPGA,每个电路模型中都有N个相应的比较点,N为自然数。
需要说明的是,对原始的逻辑设计进行FPGA综合,可以得到RTL、门级网表和FPGA网表对应的电路模型CRTL、CGATE、CFPGA,在这三个电路模型中,都有N个相对应的比较点,N为自然数。
步骤S2:建立搜索电路,同时对电路模型CRTL、CGATE、CFPGA的比较点进行匹配,并根据匹配的比较点将分别电路模型CRTL、CGATE、CFPGA划分为多个相应的逻辑锥。
如图2所示,在建立的搜索电路中,将CRTL的下一个状态用RPO1到RPOn表示,下一个状态依赖于基本输入PI1到Pip和伪主输入RPI1到RPIn;CGATE的下一个状态用IPO1到IPOn表示,下一个状态依赖于基本输入PI1到Pip和伪主输入IPI1到IPIn;CFPGA的下一个状态用HPO1到HPOn表示,下一个状态依赖于基本输入PI1到Pip和伪主输入HPI1到HPIn。
如图3所示,建立好搜索电路后,即可采用所述搜索电路同时对电路模型CRTL、CGATE、CFPGA的比较点进行匹配,其过程包括:
判断n是否小于2,
如果n小于2:结束搜索,并形成比较点匹配对,并将电路模型CRTL、CGATE、CFPGA划分为一个个逻辑锥。
搜索测试向量时,使用随机法或者ATPG(Automatic Test Pattern Generation,自动测试向量生成)方法来搜索测试向量。
将电路模型CRTL、CGATE、CFPGA划分为一个个逻辑锥后,采用链表的形式对每个电路模型的逻辑锥进行存储。需要说明的是,电路模型CRTL被划分为逻辑锥A1、A2、……AN,电路模型CRTL被划分为逻辑锥B1、B2、……BN,电路模型CRTL被划分为逻辑锥C1、C2、……CN,并将每个电路模型的逻辑锥以链表的形式存储。
步骤S3:同时对电路模型CRTL、CGATE、CFPGA中相应的逻辑锥进行等价性验证。
具体地,同时电路模型CRTL、CGATE、CFPGA中相应的逻辑进行等价性验证,包括:
分别将电路模型CRTL、CGATE、CFPGA中三个相应的逻辑锥的输出两两进行异或运算后的结果再进行或运算,输出为PO;
使用随机法或者ATPG方法来搜索测试向量,如果存在测试向量,使得PO=1,则三个相应的逻辑锥不等价,否则三个相应的逻辑锥等价;
如果电路模型CRTL、CGATE、CFPGA中所有相应的逻辑锥都等价,则RTL、门极网表与FPGA网表等价,否则不等价。
需要说明的是,以逻辑锥A1、B1、C1的等价验证为例,分别将电路模型CRTL、CGATE、CFPGA中三个相应的逻辑锥的输出两两进行异或运算后的结果再进行或运算,可以采用如下方式来实现:
将A1,B1的输出端连接到异或门,异或门的输出为O;将B1,C1的输出端连接到异或门,异或门的输出为P;将A1,C1的输出端连接到异或门,异或门的输出为Q;将O,P,Q连接到或门,或门的输出为PO,电路示意图如图4所示。
本发明实施例中,还提供了一种基于FPGA原型验证的等价性验证系统,其对FPGA进行原型验证时,采用上述的基于FPGA原型验证的等价性验证方法。
综上所述,本发明的基于FPGA原型验证的等价性验证方法及系统,建立搜索电路,同时对电路模型CRTL、CGATE、CFPGA的比较点进行匹配,并根据匹配的比较点将分别电路模型CRTL、CGATE、CFPGA划分为多个相应的逻辑锥,并同时对电路模型CRTL、CGATE、CFPGA中相应的逻辑锥进行等价性验证,同时进行RTL与门级网表、RTL与FPGA网表和门级网表与FPGA网表的等价性验证,确保了FPGA验证结果与实际产品流片后的测试结果的一致性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于FPGA原型验证的等价性验证方法,其特征在于,包括:
步骤S1:接收RTL、门级网表和FPGA网表对应的电路模型CRTL、CGATE、CFPGA,每个电路模型中都有N个相应的比较点,N为自然数;
步骤S2:建立搜索电路,同时对电路模型CRTL、CGATE、CFPGA的比较点进行匹配,并根据匹配的比较点将分别电路模型CRTL、CGATE、CFPGA划分为多个相应的逻辑锥;
步骤S3:同时对电路模型CRTL、CGATE、CFPGA中相应的逻辑锥进行等价性验证。
2.如权利要求1所述的基于FPGA原型验证的等价性验证方法,其特征在于,步骤S2中,建立搜索电路,包括:
将CRTL的下一个状态用RPO1到RPOn表示,下一个状态依赖于基本输入PI1到Pip和伪主输入RPI1到RPIn;CGATE的下一个状态用IPO1到IPOn表示,下一个状态依赖于基本输入PI1到Pip和伪主输入IPI1到IPIn;CFPGA的下一个状态用HPO1到HPOn表示,下一个状态依赖于基本输入PI1到Pip和伪主输入HPI1到HPIn。
4.如权利要求3所述的基于FPGA原型验证的等价性验证方法,其特征在于,使用随机法或者ATPG方法来搜索测试向量。
5.如权利要求1所述的基于FPGA原型验证的等价性验证方法,其特征在于,步骤S2中,将电路模型CRTL、CGATE、CFPGA划分为一个个逻辑锥后,采用链表的形式对每个电路模型的逻辑锥进行存储。
6.如权利要求1所述的基于FPGA原型验证的等价性验证方法,其特征在于,步骤S3中,同时对电路模型CRTL、CGATE、CFPGA中相应的逻辑进行等价性验证,包括:
分别将电路模型CRTL、CGATE、CFPGA中三个相应的逻辑锥的输出两两进行异或运算后的结果再进行或运算,输出为PO;
搜索测试向量,如果存在测试向量,使得PO=1,则三个相应的逻辑锥不等价,否则三个相应的逻辑锥等价;
如果电路模型CRTL、CGATE、CFPGA中所有相应的逻辑锥都等价,则RTL、门极网表与FPGA网表等价,否则不等价。
7.如权利要求6所述的基于FPGA原型验证的等价性验证方法,其特征在于,使用随机法或者ATPG方法来搜索测试向量。
8.一种基于FPGA原型验证的等价性验证系统,其特征在于,对FPGA进行原型验证时,采用如权利要求1-7任一项所述的基于FPGA原型验证的等价性验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211544087.XA CN116029237A (zh) | 2022-11-30 | 2022-11-30 | 一种基于fpga原型验证的等价性验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211544087.XA CN116029237A (zh) | 2022-11-30 | 2022-11-30 | 一种基于fpga原型验证的等价性验证方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116029237A true CN116029237A (zh) | 2023-04-28 |
Family
ID=86074991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211544087.XA Pending CN116029237A (zh) | 2022-11-30 | 2022-11-30 | 一种基于fpga原型验证的等价性验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116029237A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117150998A (zh) * | 2023-10-31 | 2023-12-01 | 上海合见工业软件集团有限公司 | 一种硬件模块等价性验证系统 |
-
2022
- 2022-11-30 CN CN202211544087.XA patent/CN116029237A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117150998A (zh) * | 2023-10-31 | 2023-12-01 | 上海合见工业软件集团有限公司 | 一种硬件模块等价性验证系统 |
CN117150998B (zh) * | 2023-10-31 | 2024-01-19 | 上海合见工业软件集团有限公司 | 一种硬件模块等价性验证系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8468475B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
US11922106B2 (en) | Memory efficient scalable distributed static timing analysis using structure based self-aligned parallel partitioning | |
CN115315702A (zh) | 早期阶段电路设计中基于机器学习的度量的预测 | |
CN107315848A (zh) | 用于集成电路设计的方法 | |
US7437701B1 (en) | Simulation of a programming language specification of a circuit design | |
US5491639A (en) | Procedure for verifying data-processing systems | |
CN113454471B (zh) | 用于多个链缺陷的单次通过诊断 | |
CN116029237A (zh) | 一种基于fpga原型验证的等价性验证方法及系统 | |
CN114756085A (zh) | 用于现场可编程门阵列(fpga)综合的形式化门控时钟转换 | |
Ubar et al. | Structural fault collapsing by superposition of BDDs for test generation in digital circuits | |
CN108984945B (zh) | 基于多核心联合仿真被验证设计的仿真验证平台 | |
CN116956801B (zh) | 芯片验证方法、装置、计算机设备和存储介质 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
US11022634B1 (en) | Rail block context generation for block-level rail voltage drop analysis | |
US12112818B2 (en) | Scan chain compression for testing memory of a system on a chip | |
Gavrilov et al. | Method of mathematical description for digital system blocks logical models | |
KR20230117364A (ko) | 클록 인식 시뮬레이션 벡터 프로세서 | |
CN113640575A (zh) | 功率估计系统 | |
KR20060101127A (ko) | Esl 설계 방식에서의 효과적인 함수적 설계 검증 장치 및이를 이용한 검증 방법 | |
CN112632890A (zh) | 用于数据变换组件的硬件设计的验证 | |
WO2024148502A1 (en) | Circuitry for staggering capture clocks in testing electronic circuits with multiple clock domains | |
US20220391568A1 (en) | Deterministic netlist transformations in a multi-processor parallel computing system | |
US20230177244A1 (en) | Creation of reduced formal model for scalable system-on-chip (soc) level connectivity verification | |
TWI856519B (zh) | 用於記憶體模組電路之瞬態分析的方法、系統及非暫時性電腦可讀媒體 | |
Mironov et al. | Structurally synthesized multiple input bdds for speeding up logic-level simulation of digital circuits |
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 |