CN116663462B - 断言验证方法、断言验证平台、电子设备及可读存储介质 - Google Patents
断言验证方法、断言验证平台、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116663462B CN116663462B CN202310934159.XA CN202310934159A CN116663462B CN 116663462 B CN116663462 B CN 116663462B CN 202310934159 A CN202310934159 A CN 202310934159A CN 116663462 B CN116663462 B CN 116663462B
- Authority
- CN
- China
- Prior art keywords
- assertion
- verification
- netlist
- circuit
- design
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 161
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013461 design Methods 0.000 claims abstract description 183
- 238000012360 testing method Methods 0.000 claims abstract description 86
- 238000004088 simulation Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000001133 acceleration Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 230000015572 biosynthetic process Effects 0.000 description 11
- 238000003786 synthesis reaction Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000000654 solvent vapour annealing Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012942 design verification Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241000220317 Rosa Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
-
- 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
- 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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明实施例提供一种断言验证方法、断言验证平台、电子设备及可读存储介质,涉及计算机技术领域。其中的断言验证方法应用于断言验证平台,所述断言验证平台包括可编程逻辑芯片,所述可编程逻辑芯片中配置有被测设计、覆盖率监视器和硬件化断言测试集;所述方法包括:利用所述硬件化断言测试集对所述被测设计进行断言验证,并通过所述覆盖率监视器确定所述被测设计的断言覆盖率;在所述被测设计的断言覆盖率满足预设条件的情况下,确定所述被测设计通过验证。在本发明实施例提供的断言验证平台中,不可综合的断言语句被转化为等效硬件化断言测试集,实现了用硬件对被测设计进行调试加速。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种断言验证方法、断言验证平台、电子设备及可读存储介质。
背景技术
随着大规模及超大规模集成电路在工业当中的验证,功能验证成为芯片开发中耗时最长的过程。验证工作占据了开发工作的70%。其中一个瓶颈是在FPGA平台上完成ASIC的原型验证。虽然FPGA的原型验证可以利用FPGA板卡尽可能的模拟芯片在物理环境下产生的问题,并且在测试过程中具有一定的频率(1MHz~10MHz),但是对于FPGA而言,前期的EDA工具编译和综合的时间过长,且在FPGA板卡中,无法有效的获得寄存器级的数据,导致原型验证无法完全找出所有的错误,这使得验证效率明显地降低且会消耗较长的时间。
FPGA作为原型验证的标准方法和加速器,可以显著提升性能。然而,使用FPGA调试RTL设计并不简单。目前供应商提供的调试工具如Signaltap和ILA,引入显著的面积开销,并且只能监视有限数量的内部信号。现有的硬件厂商针对于原型验证设计出的加速器,如帕拉丁和芯神鼎,都拥有较高的设计成本,一个超大规模的集成电路设计,需要超过100万美元的设备来支持加速,且速度仅在5MHz左右。而且现有基于硬件对RTL进行测试的方案在指令集体系结构级别执行,缺乏设计细节的低级可见性,无法揭示设计内部错误和缺陷。SystemVerilog断言适用于对设计内部的错误和缺陷做自动化检测,但SystemVerilog断言不可综合成硬件电路,只能用于软件仿真,仿真速度较硬件运行速度较慢。
发明内容
本发明实施例提供一种断言验证方法、断言验证平台、电子设备及可读存储介质,可以解决相关技术中断言无法应用于硬件仿真的问题。
为了解决上述问题,本发明实施例公开了一种断言验证方法,应用于断言验证平台,所述断言验证平台包括可编程逻辑芯片,所述可编程逻辑芯片中配置有被测设计、覆盖率监视器和硬件化断言测试集;所述方法包括:
利用所述硬件化断言测试集对所述被测设计进行断言验证,并通过所述覆盖率监视器确定所述被测设计的断言覆盖率;
在所述被测设计的断言覆盖率满足预设条件的情况下,确定所述被测设计通过验证。
另一方面,本发明实施例公开了一种断言验证平台,所述断言验证平台包括可编程逻辑芯片和第一模块;所述可编程逻辑芯片中配置有被测设计、覆盖率监视器和硬件化断言测试集;
所述硬件化断言测试集,用于对所述被测设计进行断言验证;
所述覆盖率监视器,用于确定所述被测设计的断言覆盖率;
所述第一模块,用于在所述被测设计的断言覆盖率满足预设条件的情况下,确定所述被测设计通过验证。
再一方面,本发明实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的断言验证方法。
本发明实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的断言验证方法。
本发明实施例包括以下优点:
本发明实施例提供的断言验证方法,利用断言验证平台对被测设计进行断言验证。在本发明实施例提供的断言验证平台中,不可综合的断言语句被转化为等效硬件化断言测试集,硬件化断言测试集和被测设计均被烧录到可编程逻辑芯片中,实现了用硬件对被测设计进行调试加速。并且,在断言验证过程中,本发明实施例可以通过覆盖率监视器收集被测设计的断言覆盖率,从而快速获得断言验证结果,提升了验证效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种断言验证方法实施例的步骤流程图;
图2是本发明的一种断言验证平台的结构示意图;
图3是本发明的另一种断言验证平台的结构示意图;
图4是本发明的一种目标网表的生成流程示意图;
图5是本发明示例提供的一种用于断言验证的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
实施例
为了便于理解本发明提供的实施例,做出以下几点说明:
1、SV语言(SystemVerilog)和SV断言(SystemVerilog Assertion,SVA)
SystemVerilog是一种硬件描述语言(Hardware Description Language,HDL),用于设计和验证数字电路。它扩展了Verilog HDL,提供了许多新的特性和功能,使得它更适合用于复杂的硬件设计和验证任务。
SVA是SystemVerilog的一个重要特性,用于在设计和验证过程中描述和验证系统的行为和性质。SVA允许设计人员在硬件描述中插入一些断言语句,用于表达关于设计行为和状态的属性。SVA使用一种类似于时序逻辑的语法,它具有丰富的表达能力,可以描述时间相关性、序列、并发性等属性。SVA语句可以被用于设计验证、形式验证和错误调试等方面。SVA语句通常包括以下部分:
i. 属性(Property):描述一个期望或规定的系统行为。
ii. 序列(Sequence):描述一个事件或状态序列。
iii. 断言(Assertion):将属性和序列结合起来,并指定其成立的时机。
iv. 时钟块(Clocking Block):定义时钟和采样时机。
v. 覆盖(Coverage):用于评估设计的属性覆盖率。
2、基于断言的验证(Assertion-based Verification)
基于断言的验证是一种有效的硬件设计验证方法,用于确保设计满足特定的规范和要求。断言(assertions),是一些描述设计行为和性质的语句,用于检查设计在运行时是否满足这些性质。基于断言的验证,通过使用断言语句来验证设计是否满足特定的规范和要求。它可以提高验证效率、减少错误,并帮助设计团队快速发现和解决设计中的问题。
在断言验证中,设计被分为被测设计(Design Under Test,DUT)和测试环境(Testbench)两个部分。测试环境包含测试向量生成器、时钟、监控器和断言检查器等组件。测试向量生成器产生输入数据,时钟提供时序信息,监控器用于检测设计的输出,而断言检查器用于检查设计是否满足指定的断言。断言验证的基本原理是,当测试向量驱动设计运行时,监控器会监测设计的输出,并将其与预期结果进行比较。同时,断言检查器会评估断言语句,如果断言失败(即断言为假),则会发出验证错误。这种方式可以在验证过程中快速发现设计中的错误,并帮助开发人员确认设计是否满足规范要求。
3、电路综合
在硬件电路设计中,“综合”(synthesize)用来描述硬件描述语言代码是否可以被转换为等效的硬件电路的属性,这个转换过程通常由电路综合工具(如逻辑综合器)完成。
可综合代码是可以通过逻辑综合器将其转换为硬件电路的代码。逻辑综合是将高级抽象的硬件描述语言代码(如SystemVerilog)转换为基本逻辑门和寄存器等低级硬件元素的过程。可综合代码应该是结构清晰、时序明确的,只使用综合工具支持的硬件原语和构造。
不可综合代码是指无法通过逻辑综合器直接转换为硬件电路的代码。它包含了一些在高级抽象层面上有意义但无法映射到硬件电路的特性,例如延迟、循环、条件分支等。这些代码通常用于模拟、验证和测试等非综合的目的。
SVA中的一些语法和特性是不可综合的,因为它们主要用于描述和验证系统的行为和性质,而不是直接描述硬件结构。比如:
i.含时延的行为,时延在综合过程中无法直接映射到硬件的时序逻辑。
ii. 采样函数,如“$rose()”、“$stable()”、“$past()”,一般是在仿真环境下使用,用于验证和调试设计。而在综合过程中,这些采样函数通常是不可综合的,因为采样函数不能直接映射到硬件电路的等效元素。综合工具无法直接将这些函数转换为硬件逻辑。
iii.序列操作关键词,如intersect、firstmatch等,通常用于验证阶段,以检查设计是否满足特定的时序属性。综合工具无法直接将这些操作符转换为硬件逻辑。
由于这些特性无法直接映射到硬件电路,因此综合工具无法将包含不可综合特性的SVA代码转换为等效的硬件电路。在实际设计中,SVA通常用于验证阶段,而不是用于直接生成硬件。可综合的硬件描述语言代码和不可综合的验证代码通常是分开编写和使用的。
4、寄存器转换级(Register-Transfer Level,RTL)电路
RTL电路是一种常见的硬件描述级别电路。RTL电路描述了数字电路的行为和结构,并使用寄存器传输级的抽象层次表示。RTL电路描述通常使用硬件描述语言(HDL)编写,例如VHDL(VHSIC Hardware Description Language)、Verilog HDL、SystemVerilog HDL。设计人员可以使用RTL级描述来定义和实现所需的数字电路功能,然后使用综合工具将RTL级描述转换为现场可编程门阵列(Field-Programmable Gate Array,FPGA)中的物理实现。在FPGA、芯片设计和验证领域,RTL级描述对于设计、验证和调试非常重要。它提供了一种抽象层次,使设计人员能够在较高的抽象级别上描述电路行为,并使用适当的工具进行仿真、验证和综合,最终生成可配置到FPGA芯片中的位流(bitstream)文件,以实现特定的数字电路功能。
5、FPGA
FPGA是一种可重构的集成电路芯片,具有广泛的应用领域。与传统的固定功能集成电路(ASIC)不同,FPGA可以根据用户的需求进行灵活的重新编程和重新配置,使其适应不同的应用和功能。FPGA由大量的可编程逻辑块(logic block)和可编程互连资源(interconnect resources)组成。可编程逻辑块通常由查找表(Look-Up Tables,LUTs)、寄存器和其他逻辑元件组成,可以执行各种逻辑功能。可编程互连资源用于连接逻辑块,形成所需的电路结构。使用FPGA,设计工程师可以使用硬件描述语言描述所需的电路功能,并通过编程工具将其转化为与FPGA芯片相兼容的位流(bitstream)。位流包含了对FPGA内部逻辑和互连资源进行编程和配置的信息。FPGA的主要优势之一是其可编程性和灵活性。它允许设计工程师在硬件级别上实现自定义的功能和算法,而无需进行传统的定制集成电路设计和制造过程。这使得FPGA在原型开发、快速设计迭代中起着重要作用。
6、动态部分重配置(Dynamic Partial Reconfiguration,DPR)
FPGA的动态部分重配置是指在FPGA运行时,可以对部分电路进行重新配置的能力。传统的FPGA设计中,通常需要将整个电路重新编程并重新加载到FPGA中才能改变其功能。而DPR技术则允许在FPGA运行时,仅重新配置部分电路,而不影响其他正在运行的电路。动态部分重配置的主要优势在于其灵活性和资源利用率的提高。通过使用DPR,可以在FPGA中实现多个功能模块,每个模块可以根据需要进行独立的重新配置,而无需重新加载整个设计。这种灵活性使得FPGA能够适应多种应用需求,同时减少了重新编程和重新加载的时间,加快了设计迭代的速度。
7、电子设计自动化(Electronic Design Automatic,EDA )软件
EDA软件是用来辅助超大规模集成电路设计生产的工业软件,涵盖电路芯片设计、制造、封装、测试整个流程。随着芯片设计的复杂程度不断提升,基于先进工艺节点的集成电路规模可达到数十亿个半导体器件,需要使用EDA软件来达到效果。
8、网表(Netlist)
网表在电子设计自动化中,是指用基础的逻辑门来描述数字电路连接情况的描述方式。由于逻辑门阵列有着连线表一样的排列外观,因此称之为“网表”。网表通常传递了电路连接方面的信息,例如模块的实例、线网以及相关属性。如果需要包含更多的硬件信息,通常会使用硬件描述语言,例如Verilog、VHDL或其他的专用语言来进行描述、验证和仿真。高抽象层次(如寄存器传输级)的硬件描述可以通过逻辑综合转换为低抽象层次(逻辑门级)的电路连线网表,这一步骤目前可以使用自动化工具完成,这也大大降低了设计人员处理超大规模集成电路的繁琐程度。硬件厂商利用上述网表,可以制造具体的专用集成电路或其他电路。一些相对较小的电路也可以在现场可编程逻辑门阵列上实现。
9、工具命令语言(Tool Command Language,TCL)
工具命令语言是一种解释执行的脚本语言( Scripting Language) ,它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。
10、形式化验证(Formal Verification)
形式化验证是一种IC设计的验证方法,它的主要思想是通过使用形式证明的方式来验证一个设计的功能是否正确。形式验证可以分为三大类:等价性检查(EquivalenceChecking)、形式模型检查(Formal Model Checking)(也被称作特性检查)和定理证明(Theory Prover) 。 等价性检查的验证用于验证RTL设计与门级网表、门级网表与门级网表是否一致。
本发明实施例提供了一种断言验证方法,可以应用于断言验证平台,通过将不可综合的断言语句转化为等效硬件化断言测试集,并通过覆盖率监视器收集被测设计的断言覆盖率,可以快速获得断言验证结果,提升了验证效率。
参照图1,示出了本发明的一种断言验证方法实施例的步骤流程图,所述方法具体可以包括如下步骤:
步骤101、利用硬件化断言测试集对所述被测设计进行断言验证,并通过覆盖率监视器确定所述被测设计的断言覆盖率;
步骤102、在被测设计的断言覆盖率满足预设条件的情况下,确定所述被测设计通过验证。
本发明实施例提供的断言验证方法,可以应用于断言验证平台。参照图2,示出了本发明实施例提供的一种断言验证平台的结构示意图。如图2所示,所述断言验证平台包括可编程逻辑(Progarmmable Logic,PL)芯片,所述可编程逻辑芯片中配置有被测设计DUT、覆盖率监视器(Coverage Monitor)和硬件化断言测试集(Assertion Group)。
其中,硬件化断言测试集中包括多个断言电路,这些断言电路是寄存器转换级电路(RTL电路),用于实现与断言语句相同的功能。通过对断言语句进行硬件模拟,可以将不可综合的断言语句转化为等效的可综合的断言电路。示例性地,可以对断言语句进行解析,识别出断言语句中不可综合的关键字,如含时延的行为、采样函数、序列操作关键词,等等,然后根据这些关键字的验证逻辑、状态转换等信息,生成这些关键字对应的等效电路,最后,根据断言语句的整体验证逻辑,对这些关键字对应的等效电路进行连接,得到断言语句对应的断言电路。
覆盖率监测器用于对断言结果进行采样,并对断言覆盖率进行统计。断言覆盖率是一种测试度量指表,用于衡量在测试过程中断言语句被执行的程度。断言覆盖率通常以百分比的形式表示,具体为已正确执行的断言语句数与总断言语句数之间的比例。例如,如果设计文件中有100个断言语句,而在测试中有80个断言语句被正确执行了,那么断言覆盖率为80%。较高的断言覆盖率表示测试覆盖了更多的断言语句,从而提供了更全面的测试保证。在本发明实施例中,预设条件可以根据具体的验证需求进行设置,例如,预设条件可以为被测设计的断言覆盖率大于或等于预设阈值,等等。
作为一种示例,覆盖率监视器可以对正确断言的断言次数进行计数。正确断言的断言次数进行计数。当被测设计的正确断言次数大于或等于预设阈值时,就可以确定该被测设计通过本次验证。反之,如果被测设计的正确断言次数小于预设阈值,就可以确定该被测设计未通过本次验证。在这种情况下,可以对断言失败的情况进行数据仿真,以定位断言失败原因并进行错误调试与修复。
在对被测设计进行断言验证的过程中,可以运行断言验证平台中的可编程逻辑芯片(例如FPGA),利用硬件化断言测试集中的断言电路对被测设计进行断言验证,并通过覆盖率监视器监测被测设计的断言结果。一旦被测设计中待监测信号以违反断言语句所描述的方式运行,断言电路就会自动标记问题,并输出断言失败信号。覆盖率监视器在监测到断言失败信号的情况下,就可以确定此次断言失败。当被测设计的断言覆盖率满足预设条件的情况下,就可以确定该被测设计通过验证。
当前供应商提供的FPGA调试工具存在面积开销大和只能监视有限数量内部信号的问题。而本发明实施例用硬件化断言测试集替代了FPGA调试工具,相比于FPGA调试工具,硬件化断言测试集的资源开销小,可以同时监视多组信号。
在实际测试过程中,利用本发明实施例提供的断言验证方法,通过硬件化断言测试集在FPGA上对被测设计进行验证,实现了相比软件仿真高达40989倍的性能提升。与现有供应商提供的调试工具相比,本发明具有最小的面积开销,对被测设备的时序行为没有影响。
本发明实施例提供的断言验证方法,利用断言验证平台对被测设计进行断言验证。在本发明实施例提供的断言验证平台中,不可综合的断言语句被转化为等效硬件化断言测试集,硬件化断言测试集和被测设计均被烧录到可编程逻辑芯片中,实现了用硬件对被测设计进行调试加速。并且,在断言验证过程中,本发明实施例可以通过覆盖率监视器收集被测设计的断言覆盖率,从而快速获得断言验证结果,提升了验证效率。
在本发明的一种可选实施例中,所述断言验证平台还包括仿真系统和处理系统,所述处理系统包括中断控制器和标准参考模型;所述可编程逻辑芯片中还配置有硬件快照控制器;所述方法还包括:
步骤S11、所述覆盖率监视器在监测到断言失败的情况下,向所述中断控制器发送第一指示;
步骤S12、所述中断控制器在接收到所述第一指示的情况下,中断针对所述被测设计的断言验证;
步骤S13、所述硬件快照控制器在断言验证中断的情况下,采集所述被测设计中各个寄存器的数据信息,并将所述数据信息发送至所述仿真系统;
步骤S14、所述仿真系统根据所述数据信息和所述标准参考模型进行数据仿真,以定位所述被测设计的断言失败原因并进行错误调试与修复。
参照图3,示出了本发明实施例提供的另一种断言验证平台的结构示意图。如图3所示,所述断言验证平台包括可编程逻辑芯片、处理系统(Processing System,PS)和仿真系统。其中,所述可编程逻辑芯片中配置有被测设计DUT、覆盖率监视器、硬件化断言测试集和硬件快照控制器(Snapshot Controller)。处理系统包括中断控制器(InterruptController)和被测设计的标准参考模型(Reference Model),所述处理系统可以运行在可编程逻辑芯片(例如FPGA)的硬核ARM处理器上。所述仿真系统用于在断言失败后进行数据仿真,对断言失败的产生原因进行复现和全波形查找,定位错误信息。所述仿真系统中可以包括仿真软件(Model Sim)、仿真模型(Sim Model)、输入激励与结果(Mem Data),等等。
在本发明实施例中,覆盖率监视器在监测到断言失败的情况下,可以通过向中断控制器发送第一指示,指示此次断言失败。中断控制器在接收到第一指示的情况下,会中断被测设计的运行,覆盖率监视器也会停止采样,被测设计的断言验证过程被中断。
断言验证被中断后,硬件快照控制器会采集错误断言触发时,也即被测设计停止运行时各个寄存器的数据信息,并将这些数据通过总线传输给仿真系统。仿真系统利用仿真软件、标准参考模型、仿真模型等,定位所述被测设计的断言失败原因并进行错误调试与修复。
示例性地,硬件快照控制器可以将采集的数据信息传输到仿真软件的输入激励与结果部分,通过观察仿真过程中的标准参考模型中的变量值、信号传输路径等信息,对被测设计进行更细粒度的验证,更准确地定位问题所在,从而加快问题的排查和修复。在修复断言失败的问题后,还可以重新运行仿真,以验证修复的有效性,确保断言不在失败。
在本发明的一种可选实施例中,所述硬件化断言测试集包括断言电路,所述断言电路为硬件描述级电路;所述硬件化测试集被配置在所述可编程逻辑芯片的动态部分重配置区域;所述方法还包括:
在所述被测设计的断言覆盖率满足预设条件的情况下,更换所述动态部分重配置区域中的断言电路,以对所述被测设计进行下一轮断言验证。
在本发明实施例中,可以按照是否支持重配置功能,将可编程逻辑芯片(以下简称“FPGA芯片”)划分为静态区域和动态部分重配置区域。将被测设计烧录至FPGA芯片的静态区域,将硬件化断言测试集中的断言电路烧录至FPGA芯片的动态部分重配置区域,以便在不影响被测设计的前提下,灵活地进行快速、批量更新断言电路,对被测设计的不同信号进行检测。
如果被测设计的断言覆盖率满足预设条件,就可以确定该被测设计通过本次验证,在这种情况下,可以更换动态部分重配置区域中的断言电路,从而对被测设计进行下一轮的断言验证,避免了被测设计重新编译和加载的时间,从而可以快速、批量更换检测不同项目的断言电路。
在本发明的一种可选实施例中,所述硬件化断言测试集包括断言电路,所述断言电路为硬件描述级电路;所述利用所述硬件化断言测试集对所述被测设计进行断言验证,并通过所述覆盖率监视器确定所述被测设计的断言覆盖率之前,所述方法还包括:
步骤S21、获取所述被测设计与所述断言电路之间的信号连接信息;
步骤S22、基于所述信号连接信息、所述被测设计和所述断言电路,生成目标网表;所述目标网表用于采用逻辑门描述所述被测设计与所述断言电路之间的连接情况;
步骤S23、根据所述目标网表生成目标位流文件;
步骤S24、利用所述目标位流文件将所述被测设计和所述断言电路配置到所述可编程逻辑芯片中。
在本发明实施例中,可以将断言电路和被测设计转换为目标网表,在网络层面根据被测设计与断言电路之间的信号连接信息进行信号之间的连线,生成可配置到FPGA芯片中的目标位流文件,实现与断言语句功能相同的可综合电路实现。
需要说明的是,网表(Netlist)在电子设计自动化中,是指用基础的逻辑门来描述数字电路连接情况的描述方式。由于逻辑门阵列有着连线表一样的排列外观,因此称之为“网表”。网表通常传递了电路连接方面的信息,例如模块的实例、线网以及相关属性。如果需要包含更多的硬件信息,通常会使用硬件描述语言,例如Verilog、VHDL或其他的专用语言来进行描述、验证和仿真。高抽象层次(如寄存器传输级)的硬件描述可以通过逻辑综合转换为低抽象层次(逻辑门级)的电路连线网表,这一步骤目前可以使用自动化工具完成,这也大大降低了设计人员处理超大规模集成电路的繁琐程度。硬件厂商利用上述网表,可以制造具体的专用集成电路或其他电路。一些相对较小的电路也可以在现场可编程逻辑门阵列上实现。
在本发明实施例中,目标网表用于采用逻辑门描述所述被测设计与所述断言电路之间的连接情况。具体地,在目标网表中,断言电路的输入端与被测设计中待监测信号的输出端相连。
根据目标网表可以生成目标位流文件。位流文件是一种二进制文件,用于存储和传输可编程逻辑设备(如FPGA)的配置信息,它包含了将FPGA配置为特定硬件功能的位信息。在本发明实施例中,目标位流文件中包含将FPGA配置为用于利用断言电路对被测设计进行硬件验证的位信息。具体地,目标位流文件包含了FPGA的逻辑门配置、寄存器设置和连接信息等。利用目标位流文件,就可以将断言电路和被测设计烧录到FPGA板卡上,实现对FPGA的配置。
可选地,步骤S22基于所述信号连接信息、所述被测设计和所述断言电路,生成目标网表,包括:
子步骤S221、将所述被测设计转换为第一网表,并将所述断言电路转换为第二网表;
子步骤S222、基于所述信号连接信息将所述第一网表与所述第二网表中的对应部分进行缝合处理,得到目标网表;在所述目标网表中,所述第二网表的信号输入端与所述第一网表中的待监测信号的输出端相连。
在本发明实施例中,可以先将被测设计和断言电路分别转换为对应的网表,然后根据相同的信号名将两个网表的对应部分进行缝合,得到目标网表。在所述目标网表中,所述第二网表的信号输入端与所述第一网表中的待监测信号的输出端相连。
参照图4,示出了一种目标网表的生成流程示意图。如图4所示,可以通过FPGA厂商提供的综合工具将被测设计的RTL代码转换为第一网表,将断言电路的RTL代码转换为第二网表。然后,网表连线工具会通过工具命令语言(Tool Command Language,TCL)指令,修改两个网表,也即根据相同的信号名将两个网表的对应部分进行缝合,实现信号探针的插入,得到目标网表。
综上,本发明实施例提供了一种断言验证方法,利用断言验证平台对被测设计进行断言验证。在本发明实施例提供的断言验证平台中,不可综合的断言语句被转化为等效硬件化断言测试集,硬件化断言测试集和被测设计均被烧录到可编程逻辑芯片中,实现了用硬件对被测设计进行调试加速。并且,在断言验证过程中,本发明实施例可以通过覆盖率监视器收集被测设计的断言覆盖率,从而快速获得断言验证结果,提升了验证效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例
参照图2,示出了本发明的一种断言验证平台的结构示意图,所述断言验证平台包括可编程逻辑芯片;所述可编程逻辑芯片中配置有被测设计、覆盖率监视器和硬件化断言测试集;
所述硬件化断言测试集,用于对所述被测设计进行断言验证;
所述覆盖率监视器,用于确定所述被测设计的断言覆盖率;在所述被测设计的断言覆盖率满足预设条件的情况下,确定所述被测设计通过验证。
可选地,所述断言验证平台还包括仿真系统和处理系统,所述处理系统包括中断控制器和标准参考模型;
所述覆盖率监视器,用于在监测到断言失败的情况下,向所述中断控制器发送第一指示;
所述中断控制器,用于在接收到所述第一指示的情况下,中断针对所述被测设计的断言验证;
所述硬件快照控制器,用于在断言验证中断的情况下,采集所述被测设计中各个寄存器的数据信息,并将所述数据信息发送至所述仿真系统;
所述仿真系统,用于根据所述数据信息和所述标准参考模型进行数据仿真,以定位所述被测设计的断言失败原因并进行错误调试与修复。
可选地,所述硬件化断言测试集包括断言电路,所述断言电路为硬件描述级电路;所述硬件化测试集被配置在所述可编程逻辑芯片的动态部分重配置区域;所述断言验证平台还包括第一模块;
所述第一模块,用于在所述被测设计的断言覆盖率满足预设条件的情况下,更换所述动态部分重配置区域中的断言电路,以对所述被测设计进行下一轮断言验证。
可选地,所述硬件化断言测试集包括断言电路,所述断言电路为硬件描述级电路;所述断言验证平台还包括:
信息获取模块,用于获取所述被测设计与所述断言电路之间的信号连接信息;
网表生成模块,用于基于所述信号连接信息、所述被测设计和所述断言电路,生成目标网表;所述目标网表用于采用逻辑门描述所述被测设计与所述断言电路之间的连接情况;
位流文件生成模块,用于根据所述目标网表生成目标位流文件;
配置模块,用于利用所述目标位流文件将所述被测设计和所述断言电路配置到所述可编程逻辑芯片中。
可选地,所述网表生成模块,包括:
网表生成子模块,用于将所述被测设计转换为第一网表,并将所述断言电路转换为第二网表;
网表缝合子模块,用于基于所述信号连接信息将所述第一网表与所述第二网表中的对应部分进行缝合处理,得到目标网表;在所述目标网表中,所述第二网表的信号输入端与所述第一网表中的待监测信号的输出端相连。
综上,本发明实施例提供的断言验证平台可以对被测设计进行断言验证。在本发明实施例提供的断言验证平台中,不可综合的断言语句被转化为等效硬件化断言测试集,硬件化断言测试集和被测设计均被烧录到可编程逻辑芯片中,实现了用硬件对被测设计进行调试加速。并且,在断言验证过程中,本发明实施例可以通过覆盖率监视器收集被测设计的断言覆盖率,从而快速获得断言验证结果,提升了验证效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的处理器,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
参照图5,是本发明实施例提供的一种用于断言验证的电子设备的结构框图。如图5所示,所述电子设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述实施例的断言验证方法。
所述处理器可以是CPU(Central Processing Unit,中央处理器),通用处理器、DSP(Digital Signal Processor,数字信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmble Gate Array,现场可编程门阵列)或者其他可编辑器件、晶体管逻辑器件、硬件部件或者其任意组合。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
所述通信总线可包括一通路,在存储器和通信接口之间传送信息。通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器可以是ROM(Read Only内存,只读内存)或可存储静态信息和指令的其他类型的静态存储设备、RAM(Random Access,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically Erasable Programmable ReadOnly,电可擦可编程只读内存)、CD-ROM(Compact Disa Read Only,只读光盘)、磁带、软盘和光数据存储设备等。
本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备(服务器或者终端)的处理器执行时,使得处理器能够执行图1所示的断言验证方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种断言验证方法、断言验证平台、电子设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种断言验证方法,其特征在于,应用于断言验证平台,所述断言验证平台包括可编程逻辑芯片,所述可编程逻辑芯片中配置有被测设计、覆盖率监视器和硬件化断言测试集;所述方法包括:
利用所述硬件化断言测试集对所述被测设计进行断言验证,并通过所述覆盖率监视器确定所述被测设计的断言覆盖率;
在所述被测设计的断言覆盖率满足预设条件的情况下,确定所述被测设计通过验证;
其中,所述硬件化断言测试集中包括断言电路,所述断言电路用于实现与断言语句相同的功能;
所述方法还包括:
对断言语句进行解析,识别所述断言语句中的关键字;
根据所述关键字的验证逻辑和状态转换信息,生成所述关键字对应的等效电路;
根据所述断言语句的整体验证逻辑,对所述断言语句中关键字对应的等效电路进行连接,得到所述断言语句对应的断言电路;所述断言电路的输入端与所述被测设计中待监测信号的输出端相连。
2.根据权利要求1所述的方法,其特征在于,所述断言验证平台还包括仿真系统和处理系统,所述处理系统包括中断控制器和标准参考模型;所述可编程逻辑芯片中还配置有硬件快照控制器;所述方法还包括:
所述覆盖率监视器在监测到断言失败的情况下,向所述中断控制器发送第一指示;
所述中断控制器在接收到所述第一指示的情况下,中断针对所述被测设计的断言验证;
所述硬件快照控制器在断言验证中断的情况下,采集所述被测设计中各个寄存器的数据信息,并将所述数据信息发送至所述仿真系统;
所述仿真系统根据所述数据信息和所述标准参考模型进行数据仿真,以定位所述被测设计的断言失败原因并进行错误调试与修复。
3.根据权利要求1所述的方法,其特征在于,所述硬件化断言测试集包括断言电路,所述断言电路为硬件描述级电路;所述硬件化测试集被配置在所述可编程逻辑芯片的动态部分重配置区域;所述方法还包括:
在所述被测设计的断言覆盖率满足预设条件的情况下,更换所述动态部分重配置区域中的断言电路,以对所述被测设计进行下一轮断言验证。
4.根据权利要求1所述的方法,其特征在于,所述硬件化断言测试集包括断言电路,所述断言电路为硬件描述级电路;所述利用所述硬件化断言测试集对所述被测设计进行断言验证,并通过所述覆盖率监视器确定所述被测设计的断言覆盖率之前,所述方法还包括:
获取所述被测设计与所述断言电路之间的信号连接信息;
基于所述信号连接信息、所述被测设计和所述断言电路,生成目标网表;所述目标网表用于采用逻辑门描述所述被测设计与所述断言电路之间的连接情况;
根据所述目标网表生成目标位流文件;
利用所述目标位流文件将所述被测设计和所述断言电路配置到所述可编程逻辑芯片中。
5.根据权利要求4所述的方法,其特征在于,所述基于所述信号连接信息、所述被测设计和所述断言电路,生成目标网表,包括:
将所述被测设计转换为第一网表,并将所述断言电路转换为第二网表;
基于所述信号连接信息将所述第一网表与所述第二网表中的对应部分进行缝合处理,得到目标网表;在所述目标网表中,所述第二网表的信号输入端与所述第一网表中的待监测信号的输出端相连。
6.一种断言验证平台,其特征在于,所述断言验证平台包括可编程逻辑芯片;所述可编程逻辑芯片中配置有被测设计、覆盖率监视器和硬件化断言测试集;
所述硬件化断言测试集,用于对所述被测设计进行断言验证;
所述覆盖率监视器,用于确定所述被测设计的断言覆盖率;在所述被测设计的断言覆盖率满足预设条件的情况下,确定所述被测设计通过验证;
其中,所述硬件化断言测试集中包括断言电路,所述断言电路用于实现与断言语句相同的功能;
所述断言验证平台还用于:
对断言语句进行解析,识别所述断言语句中的关键字;
根据所述关键字的验证逻辑和状态转换信息,生成所述关键字对应的等效电路;
根据所述断言语句的整体验证逻辑,对所述断言语句中关键字对应的等效电路进行连接,得到所述断言语句对应的断言电路;所述断言电路的输入端与所述被测设计中待监测信号的输出端相连。
7.根据权利要求6所述的断言验证平台,其特征在于,所述断言验证平台还包括仿真系统和处理系统,所述处理系统包括中断控制器和标准参考模型;
所述覆盖率监视器,用于在监测到断言失败的情况下,向所述中断控制器发送第一指示;
所述中断控制器,用于在接收到所述第一指示的情况下,中断针对所述被测设计的断言验证;
所述硬件快照控制器,用于在断言验证中断的情况下,采集所述被测设计中各个寄存器的数据信息,并将所述数据信息发送至所述仿真系统;
所述仿真系统,用于根据所述数据信息和所述标准参考模型进行数据仿真,以定位所述被测设计的断言失败原因并进行错误调试与修复。
8.根据权利要求6所述的断言验证平台,其特征在于,所述硬件化断言测试集包括断言电路,所述断言电路为硬件描述级电路;所述硬件化测试集被配置在所述可编程逻辑芯片的动态部分重配置区域;所述断言验证平台还包括第一模块;
所述第一模块,用于在所述被测设计的断言覆盖率满足预设条件的情况下,更换所述动态部分重配置区域中的断言电路,以对所述被测设计进行下一轮断言验证。
9.根据权利要求6所述的断言验证平台,其特征在于,所述硬件化断言测试集包括断言电路,所述断言电路为硬件描述级电路;所述断言验证平台还包括:
信息获取模块,用于获取所述被测设计与所述断言电路之间的信号连接信息;
网表生成模块,用于基于所述信号连接信息、所述被测设计和所述断言电路,生成目标网表;所述目标网表用于采用逻辑门描述所述被测设计与所述断言电路之间的连接情况;
位流文件生成模块,用于根据所述目标网表生成目标位流文件;
配置模块,用于利用所述目标位流文件将所述被测设计和所述断言电路配置到所述可编程逻辑芯片中。
10.根据权利要求9所述的断言验证平台,其特征在于,所述网表生成模块,包括:
网表生成子模块,用于将所述被测设计转换为第一网表,并将所述断言电路转换为第二网表;
网表缝合子模块,用于基于所述信号连接信息将所述第一网表与所述第二网表中的对应部分进行缝合处理,得到目标网表;在所述目标网表中,所述第二网表的信号输入端与所述第一网表中的待监测信号的输出端相连。
11.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行如权利要求1至5中任一项所述的断言验证方法。
12.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述处理器能够执行如权利要求1至5中任一项所述的断言验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310934159.XA CN116663462B (zh) | 2023-07-27 | 2023-07-27 | 断言验证方法、断言验证平台、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310934159.XA CN116663462B (zh) | 2023-07-27 | 2023-07-27 | 断言验证方法、断言验证平台、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116663462A CN116663462A (zh) | 2023-08-29 |
CN116663462B true CN116663462B (zh) | 2023-11-17 |
Family
ID=87724469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310934159.XA Active CN116663462B (zh) | 2023-07-27 | 2023-07-27 | 断言验证方法、断言验证平台、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116663462B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093353B (zh) * | 2023-10-17 | 2024-02-02 | 北京开源芯片研究院 | 一种中断控制方法、装置、电子设备及可读存储介质 |
CN117094269B (zh) * | 2023-10-17 | 2024-02-02 | 北京开源芯片研究院 | 一种验证方法、装置、电子设备及可读存储介质 |
CN117472670A (zh) * | 2023-11-09 | 2024-01-30 | 紫光同芯微电子有限公司 | 一种芯片验证中断言验证管理的方法、装置、系统和介质 |
CN117725866B (zh) * | 2024-02-07 | 2024-05-14 | 北京开源芯片研究院 | 一种验证方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103439648A (zh) * | 2013-08-08 | 2013-12-11 | 北京华大信安科技有限公司 | 一种验证方法、装置及芯片 |
US9135382B1 (en) * | 2012-11-08 | 2015-09-15 | Atrenta, Inc. | Systems, methods, and media for assertion-based verification of devices |
CN115098400A (zh) * | 2022-07-19 | 2022-09-23 | 北京航空航天大学 | 一种基于sva形式化验证的fpga软件仿真测试环境建立方法 |
-
2023
- 2023-07-27 CN CN202310934159.XA patent/CN116663462B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135382B1 (en) * | 2012-11-08 | 2015-09-15 | Atrenta, Inc. | Systems, methods, and media for assertion-based verification of devices |
CN103439648A (zh) * | 2013-08-08 | 2013-12-11 | 北京华大信安科技有限公司 | 一种验证方法、装置及芯片 |
CN115098400A (zh) * | 2022-07-19 | 2022-09-23 | 北京航空航天大学 | 一种基于sva形式化验证的fpga软件仿真测试环境建立方法 |
Non-Patent Citations (1)
Title |
---|
SVDPI技术在FPGA仿真验证的应用探讨;祝周荣;关俊强;李前进;赵超;刘芳汝;;计算机测量与控制(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116663462A (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116663462B (zh) | 断言验证方法、断言验证平台、电子设备及可读存储介质 | |
US6618839B1 (en) | Method and system for providing an electronic system design with enhanced debugging capabilities | |
US7072818B1 (en) | Method and system for debugging an electronic system | |
US6931572B1 (en) | Design instrumentation circuitry | |
US6823497B2 (en) | Method and user interface for debugging an electronic system | |
US7065481B2 (en) | Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer | |
US7356786B2 (en) | Method and user interface for debugging an electronic system | |
US7222315B2 (en) | Hardware-based HDL code coverage and design analysis | |
EP1093619B1 (en) | System and method for identifying finite state machines and verifying circuit designs | |
CN116663467B (zh) | 断言等效硬件库的构建方法、装置、电子设备及存储介质 | |
Bombieri et al. | Incremental ABV for functional validation of TL-to-RTL design refinement | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
Kumar et al. | A semi-formal verification methodology for efficient configuration coverage of highly configurable digital designs | |
Pooja et al. | Verification of Interconnection IP for Automobile Applications using System Verilog and UVM | |
CN116663463B (zh) | 一种电路验证方法、装置、电子设备及可读存储介质 | |
CN116702663B (zh) | 一种电路综合方法、装置、电子设备及可读存储介质 | |
Lin et al. | Speed binning with high-quality structural patterns from functional timing analysis (FTA) | |
Caba et al. | HALib: Hardware Assertion Library for on-board verification of FPGA-based modules using HLS | |
Taatizadeh | On Using Hardware Assertion Checkers for Bit-flip Detection in Post-Silicon Validation | |
Ivannikov | Different Approaches to Digital System Debugging | |
Rancea et al. | Functional verification of digital circuits using a software system | |
Mohamed | Pre-Silicon Verification and Post-Silicon Validation Methodologies | |
Wagner et al. | The Verification Universe | |
Hung | Harnessing FPGA technology for rapid circuit debug | |
Pal et al. | BUSpec: A framework for generation of verification aids for standard bus protocol specifications |
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 |