CN117725866B - 一种验证方法、装置、电子设备及可读存储介质 - Google Patents

一种验证方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN117725866B
CN117725866B CN202410175555.3A CN202410175555A CN117725866B CN 117725866 B CN117725866 B CN 117725866B CN 202410175555 A CN202410175555 A CN 202410175555A CN 117725866 B CN117725866 B CN 117725866B
Authority
CN
China
Prior art keywords
sub
module
model
design
tested
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
CN202410175555.3A
Other languages
English (en)
Other versions
CN117725866A (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.)
Beijing Open Source Chip Research Institute
Original Assignee
Beijing Open Source Chip Research Institute
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 Beijing Open Source Chip Research Institute filed Critical Beijing Open Source Chip Research Institute
Priority to CN202410175555.3A priority Critical patent/CN117725866B/zh
Publication of CN117725866A publication Critical patent/CN117725866A/zh
Application granted granted Critical
Publication of CN117725866B publication Critical patent/CN117725866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明实施例提供一种验证方法、装置、电子设备及可读存储介质,涉及计算机技术领域。该方法包括:将待测设计拆分为至少两个子模块;针对每个子模块进行建模,得到参考模型;所述参考模型包含所述待测设计中每个子模块对应的参考子模型;在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐;对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果。本发明实施例对待测设计中的子模块与参考子模型进行了时序对齐,可以避免待测设计与参考模型的时序未对齐对验证完备性造成的负面影响。

Description

一种验证方法、装置、电子设备及可读存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种验证方法、装置、电子设备及可读存储介质。
背景技术
一般来说,中央处理器(Central Processing Unit,CPU)的随机验证是通过构建与模块功能相同的参考模型,通过向CPU和参考模型给予同样的激励,并采集输出结果比对来完成功能正确性的验证。对于内部路径复杂且数据计算与时序相关性强的待测设计(Design Under Test,DUT)来说,由于内部时序信号对数据运算具有较大影响,因此在参考模型(Reference Model,RM)的编写过程中,如果参考模型与待测设计的时序信号未对齐,会对参考模型的计算结果造成影响,例如高速缓存(Cache)的错误替换、状态位的错误刷新等;并且,参考模型与待测设计的时序未对齐还会造成一些验证点无法覆盖,对验证完备性造成负面影响。
发明内容
本发明实施例提供一种验证方法、装置、电子设备及可读存储介质,可以实现待测设计与参考模型的时序对齐,避免参考模型与待测设计的时序未对齐对验证结果造成的负面影响。
为了解决上述问题,本发明实施例公开了一种验证方法,所述方法包括:
将待测设计拆分为至少两个子模块;每个子模块无需使用时序特征进行建模;
针对每个子模块进行建模,得到参考模型;所述参考模型包含所述待测设计中每个子模块对应的参考子模型;
在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐;
对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果。
可选地,所述在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐,包括:
在每个时钟周期内对所述待测设计中的时序控制信号进行采样;
根据采样得到的时序控制信号确定第一参考子模型;所述第一参考子模型为所述待测设计中接收所述时序控制信号的第一子模块对应的参考子模型;
基于所述时序控制信号驱动所述第一参考子模型进行数据处理。
可选地,所述基于所述时序控制信号驱动所述第一参考子模型进行数据处理,包括:
根据所述时序控制信号在请求列表中查询第二参考子模型中当前处理的目标请求;所述请求列表用于记录各个参考子模型内部待处理的请求;所述第二参考子模型为所述待测设计中发送所述时序控制信号的第二子模块对应的参考子模型;
获取所述第二参考子模型对所述目标请求的处理结果,并基于所述处理结果更新所述目标请求的状态信息;
将所述目标请求发送至所述第一参考子模型,以使所述第一参考子模型处理所述目标请求。
可选地,所述根据采样得到的时序控制信号确定第一参考子模型,包括:
利用断言对采样得到的时序控制信号进行验证;
在所述时序控制信号通过断言验证的情况下,根据所述时序控制信号确定第一参考子模型。
可选地,所述参考模型中还包括请求控制模块,所述请求控制模块用于记录所述参考子模型的配置信息;所述方法还包括:
在所述配置信息指示第三参考子模型拒绝接收数据请求的情况下,若采集到发送至所述第三参考子模型对应的第三子模块的时序控制信号,则确定所述待测设计运行出错。
可选地,所述对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果,包括:
在所述待测设计运行过程中,采集各个子模块的第一输出信息和所述待测设计的第二输出信息;
将所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息进行比对,将所述待测设计的第二输出信息与所述参考模型的第四输出信息进行比对;
在各个所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息相匹配,且所述待测设计的第二输出信息与所述参考模型的第四输出信息相匹配的情况下,确定所述待测设计通过验证。
另一方面,本发明实施例公开了一种验证装置,所述装置包括:
拆分模块,用于将待测设计拆分为至少两个子模块;每个子模块无需使用时序特征进行建模;
构建模块,用于针对每个子模块进行建模,得到参考模型;所述参考模型包含所述待测设计中每个子模块对应的参考子模型;
时序对齐模块,用于在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐;
验证模块,用于对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果。
可选地,所述时序对齐模块,包括:
采样子模块,用于在每个时钟周期内对所述待测设计中的时序控制信号进行采样;
确定子模块,用于根据采样得到的时序控制信号确定第一参考子模型;所述第一参考子模型为所述待测设计中接收所述时序控制信号的第一子模块对应的参考子模型;
驱动子模块,用于基于所述时序控制信号驱动所述第一参考子模型进行数据处理。
可选地,所述驱动子模块,包括:
查询单元,用于根据所述时序控制信号在请求列表中查询第二参考子模型中当前处理的目标请求;所述请求列表用于记录各个参考子模型内部待处理的请求;所述第二参考子模型为所述待测设计中发送所述时序控制信号的第二子模块对应的参考子模型;
获取单元,用于获取所述第二参考子模型对所述目标请求的处理结果,并基于所述处理结果更新所述目标请求的状态信息;
发送单元,用于将所述目标请求发送至所述第一参考子模型,以使所述第一参考子模型处理所述目标请求。
可选地,所述确定子模块,包括:
验证单元,用于利用断言对采样得到的时序控制信号进行验证;
确定单元,用于在所述时序控制信号通过断言验证的情况下,根据所述时序控制信号确定第一参考子模型。
可选地,所述参考模型中还包括请求控制模块,所述请求控制模块用于记录所述参考子模型的配置信息;所述装置还包括:
确定模块,用于在所述配置信息指示第三参考子模型拒绝接收数据请求的情况下,若采集到发送至所述第三参考子模型对应的第三子模块的时序控制信号,则确定所述待测设计运行出错。
可选地,所述验证模块,包括:
信息采集子模块,用于在所述待测设计运行过程中,采集各个子模块的第一输出信息和所述待测设计的第二输出信息;
信息比对子模块,用于将所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息进行比对,将所述待测设计的第二输出信息与所述参考模型的第四输出信息进行比对;
验证子模块,用于在各个所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息相匹配,且所述待测设计的第二输出信息与所述参考模型的第四输出信息相匹配的情况下,确定所述待测设计通过验证。
再一方面,本发明实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的验证方法。
本发明实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的验证方法。
本发明实施例包括以下优点:
本发明实施例提供的验证方法,通过将待测设计拆分为至少两个子模块,针对每个子模块进行建模,并利用每个时钟周期内采集到的时序控制信号驱动子模块对应的参考子模型,就可以保证子模块与参考子模型的时序对齐,保证在各个参考子模型的运行顺序与待测设计中各个子模块之间的运行顺序相同,从而避免了未对齐的时序信号对计算结果的影响。并且,由于本发明实施例提供的验证方法对待测设计中的子模块与参考子模型进行了时序对齐,可以避免待测设计与参考模型的时序未对齐对验证完备性造成的负面影响。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种验证方法实施例的步骤流程图;
图2是本发明的一种验证系统的结构示意图;
图3是本发明的另一种验证系统的结构示意图;
图4是本发明的一种验证装置实施例的结构框图;
图5是本发明示例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
方法实施例
参照图1,示出了本发明的一种验证方法实施例的步骤流程图,所述方法具体可以包括如下步骤:
步骤101、将待测设计拆分为至少两个子模块;每个子模块无需使用时序特征进行建模;
步骤102、针对每个子模块进行建模,得到参考模型;所述参考模型包含所述待测设计中每个子模块对应的参考子模型;
步骤103、在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐;
步骤104、对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果。
本发明实施例提供的验证方法,可以对待测设计进行验证。其中,待测设计(Design Under Test,DUT)指的是原型验证中待测试的电路设计或实现。示例性地,待测设计可以是寄存器转换级(Register Transfer Level,RTL)电路,也可以是其他的硬件设计。需要说明的是,RTL电路是一种常见的硬件描述级别电路。RTL电路描述了数字电路的行为和结构,并使用寄存器传输级的抽象层次表示。RTL电路描述通常使用硬件描述语言(HDL)编写,例如VHDL(VHSIC Hardware Description Language)、Verilog HDL、SystemVerilogHDL。设计人员可以使用RTL级描述来定义和实现所需的数字电路功能,然后使用综合工具将RTL级描述转换为现场可编程门阵列(Field-Programmable Gate Array,FPGA)中的物理实现。在FPGA、芯片设计和验证领域,RTL级描述对于设计、验证和调试非常重要。它提供了一种抽象层次,使设计人员能够在较高的抽象级别上描述电路行为,并使用适当的工具进行仿真、验证和综合,最终生成可配置到FPGA芯片中的位流(bitstream)文件,以实现特定的数字电路功能。
可以理解的是,本发明实施例中的待测设计可以包括处理器,所述处理器可以包括但不限于:CPU、GPU、数据处理器(Data Processing Unit,DPU)、现场可编程门阵列(Field Programmable Gate Array,FPGA)和专用集成电路(Application SpecificIntegrated Circuit,ASIC)中的处理模块或处理单元,等等。
在本发明实施例中,可以在验证之前,先将待测设计拆分为至少两个子模块,每个子模块无需使用时序特征进行建模。示例性地,可以根据待测设计的设计文档中描述的待测设计的芯片功能、结构化信息等,确定待测设计中的功能模块,并基于待测设计运行过程中需要满足的时序控制信息,将功能模块拆分为若干个子模块,每个子模块可以以无时序的方式实现其对应的功能或运算,各个子模块之间基于时序控制信息进行协同工作,就可以实现待测设计的整体功能。
然后,针对每个子模块分别进行建模,得到参考模型。需要说明的是,本发明实施例中的参考模型包括待测设计中的每个子模块对应的参考子模型。参考子模型用于实现与其对应的子模块相同的功能。示例性地,可以根据待测设计的设计文档或顶层描述信息,采用高级语言(如SystemVerilog语言)编写参考子模型,以模拟待测设计中各个子模块的运行状态。其中,待测设计的顶层描述信息用于描述待测设计的结构化信息。
接下来,运行待测设计,并在每个时钟周期内对待测设计中的时序控制信号进行采样,利用采样得到的时序控制信号对待测设计中的子模块和该子模块对应的参考子模型进行时序对齐。其中,时序控制信号用于对待测设计中的操作信号施加时间上的控制,具体可以包括对各种操作信号的产生时间、稳定时间、撤销时间及相互之间的关系进行控制。作为一种示例,可以在每个时钟周期内对待测设计中各个子模块的端口进行监测,当至少两个子模块之间发生信息传输时进行采样,采样得到的端口信号就是时序控制信号。例如,可以将采集到的握手信号、拒绝请求信号等,作为时序控制信号。采样得到时序控制信号之后,就可以将其发送至对应的参考子模型,驱动待测设计中接收该时序控制信号的子模块对应的参考子模型运行,使得各个参考子模型的运行顺序与待测设计中各个子模块之间的运行顺序相同,从而实现子模块和所述子模块对应的参考子模型之间的时序对齐。
最后,对待测设计中各个子模块的输出信息与子模块对应的参考子模型的输出信息进行比对,就可以得到验证结果。可以理解的是,如果存在至少一个子模块的输出信息与其对应的参考子模型的输出信息不匹配,就可以认为该待测设计未通过验证。如果待测设计中所有子模块的输出信息与其对应的参考子模型的输出信息相匹配,就可以认为该待测设计通过验证。
参照图2,示出了本发明实施例提供的一种验证系统的结构示意图。如图2所示,该验证系统可以包括待测设计、参考模型、监测器和计分板(Score Board)。其中,监测器用于监测并采集待测设计中各个子模块的端口信号,计分板用于记录并比较各个子模块与参考子模型的输出信息。如图2所示,假设将待测设计拆分为子模块1至4,对每个子模块分别进行建模,得到参考子模型1至4,其中,子模块i对应参考子模型i,i的取值为1至4中的任一值。
可以理解的是,在每个时钟周期内,采集到发送至哪个子模块的时序控制信号,就将该时序控制信号发送至哪个子模块对应的参考子模型。例如,假设当前时钟周期采集到子模块4发送至子模块2的时序控制信号sync_4to2,则将该时序控制信号sync_4to2发送至参考子模型2,驱动参考子模型2运行。
监测器采集到待测设计中子模块的输出信息后,将该子模块的输出信息发送至计分板,参考子模型执行完当前的处理操作后,同样将输出信息发送至计分板。计分板对待测设计中子模块的输出信息与该子模块对应的参考子模型的输出信息进行比对,得到验证结果。
示例性地,假设子模块2的输出信息与参考子模型2的输出信息不匹配,就可以确定该待测设计未通过验证,计分板可以输出第一信号,所述第一信号用于指示待测设计未通过验证。只有当子模块1至4与各自对应的参考子模型的输出信息均匹配的情况下,才能确定该待测设计通过验证。在确定待测设计通过验证的情况下,计分板可以输出第二信号,所述第二信号用于指示待测设计通过验证。
如果某个子模块的输出信息与其对应的参考子模型的输出信息不匹配,就可以停止待测设计的运行,对待测设计进行调试与修复。例如,采用快照机制保存待测设计的状态信息,并将保存的状态信息导入到仿真软件中进行仿真,从而对待测设计进行更细粒度的分析、调试。其中,利用快照机制保存的状态信息可以包括但不限于待测设计中各个寄存器的值、RAM中的内容,等等。
可以理解的是,待测设计中还可能存在某些中间信号的值只要在一定参考范围内就是正确的,这种情况下无法直接与参考子模型输出的信号值进行比较。针对这类特定信号,可以在计分板中为这些信号增加断点逻辑。示例性地,如果采集到某个子模块输出的第一信号,计分板可以基于该第一信号的断点逻辑进行判断。如果第一信号的信号值符合断点逻辑,就可以确定该子模块运行正确;如果第一信号的信号值不符合断点逻辑,就可以确定该子模块运行出错,可以停止待测设计的运行。其中,第一信号的正确值为目标区间中的任意值,所述断点逻辑用于指示所述第一信号对应的目标区间。
本发明实施例提供的验证方法,通过将待测设计拆分为至少两个子模块,针对每个子模块进行建模,并利用每个时钟周期内采集到的时序控制信号驱动子模块对应的参考子模型,就可以保证子模块与参考子模型的时序对齐,保证在各个参考子模型的运行顺序与待测设计中各个子模块之间的运行顺序相同,从而避免了未对齐的时序信号对计算结果的影响。并且,由于本发明实施例提供的验证方法对待测设计中的子模块与参考子模型进行了时序对齐,可以避免待测设计与参考模型的时序未对齐对验证完备性造成的负面影响。
可选地,步骤103所述在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐,包括:
步骤S11、在每个时钟周期内对所述待测设计中的时序控制信号进行采样;
步骤S12、根据采样得到的时序控制信号确定第一参考子模型;所述第一参考子模型为所述待测设计中接收所述时序控制信号的第一子模块对应的参考子模型;
步骤S13、基于所述时序控制信号驱动所述第一参考子模型进行数据处理。
在本发明实施例中,采集到待测设计中的时序控制信号后,可以根据该时序控制信号在待测设计中的传递方向,确定第一参考子模型。其中,所述第一参考子模型为待测设计中接收该时序控制信号的第一子模块对应的参考子模型。然后,基于采集到的时序控制信号驱动该第一参考子模型与第一子模块同步进行数据处理操作。
例如,在图2所示的验证系统中,假设当前时钟周期采集到子模块4发送至子模块2的时序控制信号sync_4to2,那么就可以确定子模块2为接收时序控制信号sync_4to2的第一子模块,其对应的第一参考子模型为参考子模型2。将时序控制信号sync_4to2发送至参考子模型2,驱动参考子模型2运行。
同理,在上一个时钟周期采集到发送至子模块4的时序控制信号,假设该时序控制信号为子模块1发送至子模块4的时序控制信号sync_1to4,那么将时序控制信号sync_1to4发送至参考子模型4,驱动参考子模型4进行数据处理。以此类推,通过时序控制信号,控制各个参考子模型保持与待测设计中各个子模块相同的运行顺序,从而实现待测设计与参考模型的时序对齐。
可选地,步骤S13所述基于所述时序控制信号驱动所述第一参考子模型进行数据处理,包括:
子步骤S131、根据所述时序控制信号在请求列表中查询第二参考子模型中当前处理的目标请求;所述请求列表用于记录各个参考子模型内部待处理的请求;所述第二参考子模型为所述待测设计中发送所述时序控制信号的第二子模块对应的参考子模型;
子步骤S132、获取所述第二参考子模型对所述目标请求的处理结果,并基于所述处理结果更新所述目标请求的状态信息;
子步骤S133、将所述目标请求发送至所述第一参考子模型,以使所述第一参考子模型处理所述目标请求。
需要说明的是,由于待测设计的内部路径复杂,存在流水线、缓冲(Buffer)等设计,一个子模块内部可能同时存在多个待处理请求,在对待测设计进行验证时,除了需要保证待测设计中各个子模块与参考模型中各个参考子模型之间的运行顺序相同,还需要保证子模块与参考子模型内部处理的请求的顺序相同,以保证参考子模型的数据运算结果的正确性。
在本发明实施例中,可以通过请求列表记录各个参考子模型内部待处理的目标请求。可以理解的是,参考子模型内部待处理的目标请求根据待测设计中的请求顺序、子模块对请求的处理结果等信息确定。
具体地,在采集到待测设计中第二子模块发送的时序控制信号的情况下,根据该时序控制信号在请求列表中查询第二子模块对应的第二参考子模型中当前处理的目标请求,并获取第二参考子模型对该目标请求的处理结果。然后,根据处理结果更新目标请求的状态信息,例如有借位进位(CY位)、有无溢出(OF位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(PF位)等。
最后,将更新后的目标请求发送至第一参考子模型,以使第一参考子模型处理该目标请求,从而保证第一参考子模型在第二参考子模型处理完目标请求之后继续对目标请求进行处理,保证参考子模型与待测设计中的子模块执行相同的数据处理操作,实现了待测设计与参考模型的时序对齐。其中,第一参考子模型为待测设计中接收该时序控制信号的第一子模块对应的参考子模型。
参照图3,示出了本发明实施例提供的另一种验证系统的结构示意图。如图3所示,验证系统中可以包括待测设计、参考模型和计分板。参考模型中还可以包括请求控制模块,用于接收时序控制信号,并通过查询请求列表将时序控制信号和目标请求发送至第一参考子模型。如图3所示,假设将待测设计拆分为子模块1至4,对每个子模块分别进行建模,得到参考子模型1至4,其中,子模块i对应参考子模型i,i的取值为1至4中的任一值。
假设当前时钟周期采集到子模块4发送至子模块2的时序控制信号sync_4to2,将该时序控制信号sync_4to2先发送至请求控制模块,请求控制模块通过查询请求列表,确定出参考子模型4中处理的目标请求,然后,根据参考子模型4对该目标请求的处理结果更新目标请求的状态信息,并将更新后的目标请求发送至参考子模型2,参考子模型2在接收到目标请求之后对目标请求进行处理。
计分板用于对各个子模块的输出信息和参考子模型的输出信息进行比对。例如,参考子模型4在处理完目标请求之后,将处理结果发送至计分板,计分板从子模块4中获取子模块4对目标请求的处理结果,然后将两组处理结果进行比对,如果两组结果匹配,则计分板可以向请求控制模块发送第一指示,用于指示子模块4与参考子模型4对目标请求的处理结果相匹配。控制器在接收到第一指示之后,将更新目标请求的状态信息,并将更新后的目标请求和时序控制信号sync_4to2发送至参考子模型2。如果两组结果不匹配,则计分板可以向请求控制模块发送第二指示,用于指示子模块4与参考子模型4对目标请求的处理结果不匹配。请求控制模块在接收到第二指示后,可以确定待测设计出错,接下来不做任何处理,换言之,请求控制模块在接收到第二指示后,无需再向参考子模型2发送目标请求和时序控制信号sync_4to2。
本发明实施例采用请求列表对参考子模型内的请求以及数据进行整理,相比于在参考模型内部设置大量用于时序对齐的逻辑代码,请求列表更容易维护,便于确定参考子模型当前待处理的请求及更新请求的状态信息,有利于在待测设计出错的情况下定位错误位置,对待测设计进行调试。
可选地,步骤S12所述根据采样得到的时序控制信号确定第一参考子模型,包括:
子步骤S121、利用断言对采样得到的时序控制信号进行验证;
子步骤S122、在所述时序控制信号通过断言验证的情况下,根据所述时序控制信号确定第一参考子模型。
在本发明实施例中,将时序控制信号发送至第一参考子模型之前,可以先对采样得到的时序控制信号进行断言验证,以保证时序控制信号的正确性。
需要说明的是,SV断言(SystemVerilog Assertion,SVA)用于在设计和验证过程中描述和验证系统的行为和性质。SVA允许设计人员在硬件描述中插入一些断言语句,用于表达关于设计行为和状态的属性。SVA使用一种类似于时序逻辑的语法,它具有丰富的表达能力,可以描述时间相关性、序列、并发性等属性。SVA语句可以被用于设计验证、形式验证和错误调试等方面。SVA语句通常包括以下部分:
i. 属性(Property):描述一个期望或规定的系统行为。
ii.序列(Sequence):描述一个事件或状态序列。
iii. 断言(Assertion):将属性和序列结合起来,并指定其成立的时机。
iv. 时钟块(Clocking Block):定义时钟和采样时机。
v.覆盖(Coverage):用于评估设计的属性覆盖率。
基于断言的验证是一种有效的硬件设计验证方法,用于确保设计满足特定的规范和要求。断言(assertions)是一些描述设计行为和性质的语句,用于检查设计在运行时是否满足这些性质。
断言验证的基本原理是,当测试向量驱动设计运行时,监控器会监测设计的输出,并将其与预期结果进行比较。同时,断言检查器会评估断言语句,如果断言失败(即断言为假),则会发出验证错误。
在本发明实施例中,可以基于断言对时序控制信号进行验证,以保证输出到参考子模型中的时序控制信号是正确的,从而提高验证结果的可靠性和准确度。
作为一种示例,可以根据时序控制信号需要满足的条件,编写断言语句,如果时序控制信号满足断言语句的验证逻辑,就可以确定该时序控制信号通过验证。
例如,假设断言语句如下所示:
@(posedge clk) SIG_IN1 ##2 SIG_IN2[*2] ##1 SIG_IN3 |=>SIG_IN4 ##2SIG_IN5
其中,“|=>”为非交叠蕴含操作符(nonoverlapped implicationoperators)。非交叠蕴含操作符左端的序列被称为起因序列,右端的序列被称为结果序列。包含非交叠蕴含操作符的断言语句存在以下几种情况:
如果起因序列不匹配(也即存在冲突,起因序列的实际运行逻辑与断言语句中的逻辑不一致),则断言不生效;如果起因序列匹配的下一个时钟周期,结果序列也匹配(也即不存在冲突,结果序列的实际运行逻辑与断言语句中的逻辑一致),则断言匹配(也即断言成功);如果起因序列匹配的下一个时钟周期,结果序列冲突,则断言失败。
以上述断言语句中的起因序列为例,在每一个时钟信号上升沿判断起因序列中SIG_IN1是否为真,若为真,在两个时钟周期(##2)后SIG_IN2要保持两个周期为真,若为真,一个时钟周期后SIG_IN3也要为真,如果以上条件都满足,即SIG_IN1 ##2 SIG_IN2[*2] ##1 SIG_IN3整个起因序列匹配。
结果序列是否匹配的判断逻辑与起因序列相同。以上述断言语句中的结果序列为例,再起因序列匹配的下一个时钟周期,判断SIG_IN4是否为真,若为真,在两个时钟周期(##2)后SIG_IN5也要为真,如果以上条件都满足,就可以确定结果序列“SIG_IN4 ##2 SIG_IN5”匹配。
如果起因序列和结果序列都匹配,就可以确定时序控制信号通过断言验证。
当然在本发明实施例中,也可以采用其他方式对时序控制信号进行验证,例如利用仿真软件对时序控制信号进行验证、对时序控制信号进行解析,等等。
可选地,所述参考模型中还包括请求控制模块,所述请求控制模块用于记录所述参考子模型的配置信息;所述方法还包括:
在所述配置信息指示第三参考子模型拒绝接收数据请求的情况下,若采集到发送至所述第三参考子模型对应的第三子模块的时序控制信号,则确定所述待测设计运行出错。
可以理解的是,请求控制模块中记录的参考子模型的配置信息与其对应的子模块的配置信息相匹配。
其中,第三参考子模型拒绝接收数据请求,可以是第三参考子模型对应的缓冲(Buffer)或队列已满;或者,是第三参考子模型受其他时序控制信号控制,当前需要暂停数据处理,等等。
例如,在待测设计中,如果缓冲已满,子模块往往需要停止向缓存单元中的写入操作,等待缓冲存在空闲区域的情况下再继续写入,以保证数据处理的正确性。如果配置信息指示第三参考子模型对应的缓冲已满的情况下,依然采集到发送到第三参考子模型对应的第三子模块的时序控制信号,就可以确定待测设计运行出错。其中,第三参考子模型为参考模型中的任意参考子模型。第三参考子模型对应的缓冲可以包括第三参考子模型的专用缓冲,也可以包括各个参考子模型共享的缓冲。
可选地,步骤104所述对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果,包括:
步骤S21、在所述待测设计运行过程中,采集各个子模块的第一输出信息和所述待测设计的第二输出信息;
步骤S22、将所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息进行比对,将所述待测设计的第二输出信息与所述参考模型的第四输出信息进行比对;
步骤S23、在各个所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息相匹配,且所述待测设计的第二输出信息与所述参考模型的第四输出信息相匹配的情况下,确定所述待测设计通过验证。
在本发明实施例中,除了对各个子模块与参考子模型的输出信息进行比较,还可以对待测设计的最终结果和参考模型的最终结果进行比较,在各个所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息相匹配,且所述待测设计的第二输出信息与所述参考模型的第四输出信息相匹配的情况下,确定所述待测设计通过验证。换言之,在待测设计中产生的各个中间信号和最终结果都正确的情况下,才认为待测设计通过验证,保证了验证结果的准确度。
综上,本发明实施例提供了一种验证方法,通过将待测设计拆分为至少两个子模块,针对每个子模块进行建模,并利用每个时钟周期内采集到的时序控制信号驱动子模块对应的参考子模型,就可以保证子模块与参考子模型的时序对齐,保证在各个参考子模型的运行顺序与待测设计中各个子模块之间的运行顺序相同,从而避免了未对齐的时序信号对计算结果的影响。并且,由于本发明实施例提供的验证方法对待测设计中的子模块与参考子模型进行了时序对齐,可以避免待测设计与参考模型的时序未对齐对验证完备性造成的负面影响。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图4,示出了本发明的一种验证装置的结构框图,所述装置具体可以包括:
拆分模块401,用于将待测设计拆分为至少两个子模块;每个子模块无需使用时序特征进行建模;
构建模块402,用于针对每个子模块进行建模,得到参考模型;所述参考模型包含所述待测设计中每个子模块对应的参考子模型;
时序对齐模块403,用于在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐;
验证模块404,用于对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果。
可选地,所述时序对齐模块,包括:
采样子模块,用于在每个时钟周期内对所述待测设计中的时序控制信号进行采样;
确定子模块,用于根据采样得到的时序控制信号确定第一参考子模型;所述第一参考子模型为所述待测设计中接收所述时序控制信号的第一子模块对应的参考子模型;
驱动子模块,用于基于所述时序控制信号驱动所述第一参考子模型进行数据处理。
可选地,所述驱动子模块,包括:
查询单元,用于根据所述时序控制信号在请求列表中查询第二参考子模型中当前处理的目标请求;所述请求列表用于记录各个参考子模型内部待处理的请求;所述第二参考子模型为所述待测设计中发送所述时序控制信号的第二子模块对应的参考子模型;
获取单元,用于获取所述第二参考子模型对所述目标请求的处理结果,并基于所述处理结果更新所述目标请求的状态信息;
发送单元,用于将所述目标请求发送至所述第一参考子模型,以使所述第一参考子模型处理所述目标请求。
可选地,所述确定子模块,包括:
验证单元,用于利用断言对采样得到的时序控制信号进行验证;
确定单元,用于在所述时序控制信号通过断言验证的情况下,根据所述时序控制信号确定第一参考子模型。
可选地,所述参考模型中还包括请求控制模块,所述请求控制模块用于记录所述参考子模型的配置信息;所述装置还包括:
确定模块,用于在所述配置信息指示第三参考子模型拒绝接收数据请求的情况下,若采集到发送至所述第三参考子模型对应的第三子模块的时序控制信号,则确定所述待测设计运行出错。
可选地,所述验证模块,包括:
信息采集子模块,用于在所述待测设计运行过程中,采集各个子模块的第一输出信息和所述待测设计的第二输出信息;
信息比对子模块,用于将所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息进行比对,将所述待测设计的第二输出信息与所述参考模型的第四输出信息进行比对;
验证子模块,用于在各个所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息相匹配,且所述待测设计的第二输出信息与所述参考模型的第四输出信息相匹配的情况下,确定所述待测设计通过验证。
综上,本发明实施例提供的验证装置,通过将待测设计拆分为至少两个子模块,针对每个子模块进行建模,并利用每个时钟周期内采集到的时序控制信号驱动子模块对应的参考子模型,就可以保证子模块与参考子模型的时序对齐,保证在各个参考子模型的运行顺序与待测设计中各个子模块之间的运行顺序相同,从而避免了未对齐的时序信号对计算结果的影响。并且,由于本发明实施例提供的验证方法对待测设计中的子模块与参考子模型进行了时序对齐,可以避免待测设计与参考模型的时序未对齐对验证完备性造成的负面影响。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的处理器,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
参照图5,是本发明实施例提供的一种电子设备的结构框图。如图5所示,所述电子设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述实施例的验证方法。
所述处理器可以是CPU(Central Processing Unit,中央处理器),通用处理器、DSP(Digital Signal Processor,数字信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编辑器件、晶体管逻辑器件、硬件部件或者其任意组合。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
所述通信总线可包括一通路,在存储器和通信接口之间传送信息。通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备、RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备(服务器或者终端)的处理器执行时,使得处理器能够执行图1所示的验证方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种验证方法、装置、电子设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种验证方法,其特征在于,所述方法包括:
将待测设计拆分为至少两个子模块;每个子模块无需使用时序特征进行建模;
针对每个子模块进行建模,得到参考模型;所述参考模型包含所述待测设计中每个子模块对应的参考子模型;
在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐;
对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果;
其中,所述在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐,包括:
在每个时钟周期内对所述待测设计中的时序控制信号进行采样;
根据采样得到的时序控制信号确定第一参考子模型;所述第一参考子模型为所述待测设计中接收所述时序控制信号的第一子模块对应的参考子模型;
基于所述时序控制信号驱动所述第一参考子模型进行数据处理;
所述基于所述时序控制信号驱动所述第一参考子模型进行数据处理,包括:
根据所述时序控制信号在请求列表中查询第二参考子模型中当前处理的目标请求;所述请求列表用于记录各个参考子模型内部待处理的请求;所述第二参考子模型为所述待测设计中发送所述时序控制信号的第二子模块对应的参考子模型;
获取所述第二参考子模型对所述目标请求的处理结果,并基于所述处理结果更新所述目标请求的状态信息;
将所述目标请求发送至所述第一参考子模型,以使所述第一参考子模型处理所述目标请求。
2.根据权利要求1所述的方法,其特征在于,所述根据采样得到的时序控制信号确定第一参考子模型,包括:
利用断言对采样得到的时序控制信号进行验证;
在所述时序控制信号通过断言验证的情况下,根据所述时序控制信号确定第一参考子模型。
3.根据权利要求1所述的方法,其特征在于,所述参考模型中还包括请求控制模块,所述请求控制模块用于记录所述参考子模型的配置信息;所述方法还包括:
在所述配置信息指示第三参考子模型拒绝接收数据请求的情况下,若采集到发送至所述第三参考子模型对应的第三子模块的时序控制信号,则确定所述待测设计运行出错。
4.根据权利要求1所述的方法,其特征在于,所述对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果,包括:
在所述待测设计运行过程中,采集各个子模块的第一输出信息和所述待测设计的第二输出信息;
将所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息进行比对,将所述待测设计的第二输出信息与所述参考模型的第四输出信息进行比对;
在各个所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息相匹配,且所述待测设计的第二输出信息与所述参考模型的第四输出信息相匹配的情况下,确定所述待测设计通过验证。
5.一种验证装置,其特征在于,所述装置包括:
拆分模块,用于将待测设计拆分为至少两个子模块;每个子模块无需使用时序特征进行建模;
构建模块,用于针对每个子模块进行建模,得到参考模型;所述参考模型包含所述待测设计中每个子模块对应的参考子模型;
时序对齐模块,用于在每个时钟周期内对所述待测设计中的时序控制信号进行采样,并利用采样得到的时序控制信号对所述子模块和所述子模块对应的参考子模型进行时序对齐;
验证模块,用于对所述子模块的输出信息与所述参考子模型的输出信息进行比对,得到验证结果;
其中,所述时序对齐模块,包括:
采样子模块,用于在每个时钟周期内对所述待测设计中的时序控制信号进行采样;
确定子模块,用于根据采样得到的时序控制信号确定第一参考子模型;所述第一参考子模型为所述待测设计中接收所述时序控制信号的第一子模块对应的参考子模型;
驱动子模块,用于基于所述时序控制信号驱动所述第一参考子模型进行数据处理
所述驱动子模块,包括:
查询单元,用于根据所述时序控制信号在请求列表中查询第二参考子模型中当前处理的目标请求;所述请求列表用于记录各个参考子模型内部待处理的请求;所述第二参考子模型为所述待测设计中发送所述时序控制信号的第二子模块对应的参考子模型;
获取单元,用于获取所述第二参考子模型对所述目标请求的处理结果,并基于所述处理结果更新所述目标请求的状态信息;
发送单元,用于将所述目标请求发送至所述第一参考子模型,以使所述第一参考子模型处理所述目标请求。
6.根据权利要求5所述的装置,其特征在于,所述确定子模块,包括:
验证单元,用于利用断言对采样得到的时序控制信号进行验证;
确定单元,用于在所述时序控制信号通过断言验证的情况下,根据所述时序控制信号确定第一参考子模型。
7.根据权利要求5所述的装置,其特征在于,所述参考模型中还包括请求控制模块,所述请求控制模块用于记录所述参考子模型的配置信息;所述装置还包括:
确定模块,用于在所述配置信息指示第三参考子模型拒绝接收数据请求的情况下,若采集到发送至所述第三参考子模型对应的第三子模块的时序控制信号,则确定所述待测设计运行出错。
8.根据权利要求5所述的装置,其特征在于,所述验证模块,包括:
信息采集子模块,用于在所述待测设计运行过程中,采集各个子模块的第一输出信息和所述待测设计的第二输出信息;
信息比对子模块,用于将所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息进行比对,将所述待测设计的第二输出信息与所述参考模型的第四输出信息进行比对;
验证子模块,用于在各个所述子模块的第一输出信息与所述子模块对应的参考子模型的第三输出信息相匹配,且所述待测设计的第二输出信息与所述参考模型的第四输出信息相匹配的情况下,确定所述待测设计通过验证。
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行如权利要求1至4中任一项所述的验证方法。
10.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述处理器能够执行如权利要求1至4中任一项所述的验证方法。
CN202410175555.3A 2024-02-07 2024-02-07 一种验证方法、装置、电子设备及可读存储介质 Active CN117725866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410175555.3A CN117725866B (zh) 2024-02-07 2024-02-07 一种验证方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410175555.3A CN117725866B (zh) 2024-02-07 2024-02-07 一种验证方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN117725866A CN117725866A (zh) 2024-03-19
CN117725866B true CN117725866B (zh) 2024-05-14

Family

ID=90209206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410175555.3A Active CN117725866B (zh) 2024-02-07 2024-02-07 一种验证方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117725866B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116663462A (zh) * 2023-07-27 2023-08-29 北京开源芯片研究院 断言验证方法、断言验证平台、电子设备及可读存储介质
CN116933702A (zh) * 2023-09-14 2023-10-24 北京开源芯片研究院 一种验证方法、装置、电子设备及可读存储介质
CN117094269A (zh) * 2023-10-17 2023-11-21 北京开源芯片研究院 一种验证方法、装置、电子设备及可读存储介质
CN117454811A (zh) * 2023-11-10 2024-01-26 格创通信(浙江)有限公司 待测设计的验证方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20095884A0 (fi) * 2009-08-27 2009-08-27 Martti Venell Menetelmä integroidun piirin suunnittelun verifioimiseksi verifiointiympäristössä
US8640070B2 (en) * 2010-11-08 2014-01-28 International Business Machines Corporation Method and infrastructure for cycle-reproducible simulation on large scale digital circuits on a coordinated set of field-programmable gate arrays (FPGAs)
US20230252212A1 (en) * 2022-02-04 2023-08-10 Xilinx, Inc. Testbench for sub-design verification

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116663462A (zh) * 2023-07-27 2023-08-29 北京开源芯片研究院 断言验证方法、断言验证平台、电子设备及可读存储介质
CN116933702A (zh) * 2023-09-14 2023-10-24 北京开源芯片研究院 一种验证方法、装置、电子设备及可读存储介质
CN117094269A (zh) * 2023-10-17 2023-11-21 北京开源芯片研究院 一种验证方法、装置、电子设备及可读存储介质
CN117454811A (zh) * 2023-11-10 2024-01-26 格创通信(浙江)有限公司 待测设计的验证方法及装置

Also Published As

Publication number Publication date
CN117725866A (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
US6591403B1 (en) System and method for specifying hardware description language assertions targeting a diverse set of verification tools
US7607116B2 (en) Method and apparatus for verifying system-on-chip model
US7587690B1 (en) Method and system for global coverage analysis
CN112417798B (zh) 一种时序测试方法、装置、电子设备及存储介质
US7437701B1 (en) Simulation of a programming language specification of a circuit design
CN116663462B (zh) 断言验证方法、断言验证平台、电子设备及可读存储介质
Jindal et al. Verification of transaction-level SystemC models using RTL testbenches
US8036874B2 (en) Software executing device and co-operation method
US5966306A (en) Method for verifying protocol conformance of an electrical interface
CN111858412A (zh) 调整时序的方法、装置、计算机设备及介质
US8306802B2 (en) Method for modeling an HDL design using symbolic simulation
CN117094269B (zh) 一种验证方法、装置、电子设备及可读存储介质
CN109901049B (zh) 检测集成电路用时序路径中异步路径的方法、装置
Bombieri et al. Incremental ABV for functional validation of TL-to-RTL design refinement
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
CN114692533A (zh) 芯片eda仿真中检查时钟的方法及装置
US10430535B2 (en) Verification support program medium, verification support method, and information processing device for verification of a circuit
CN109783837A (zh) 仿真设备、仿真系统、仿真方法和仿真程序
CN112632882A (zh) 一种基于形式验证对仲裁器验证的装置以及方法
CN117725866B (zh) 一种验证方法、装置、电子设备及可读存储介质
US9104829B2 (en) Method of validating timing issues in gate-level simulation
Bombieri et al. Hybrid, incremental assertion-based verification for TLM design flows
CN117350208A (zh) 时序逻辑元件性能检查方法及设备
CN111338761B (zh) 一种51单片机虚拟中断控制器及实现方法
US7802214B2 (en) Methods and apparatuses for timing analysis of electronics 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
GR01 Patent grant
GR01 Patent grant