CN115952762A - 一种芯片仿真功能覆盖率检测方法、装置及检测系统 - Google Patents
一种芯片仿真功能覆盖率检测方法、装置及检测系统 Download PDFInfo
- Publication number
- CN115952762A CN115952762A CN202211600188.4A CN202211600188A CN115952762A CN 115952762 A CN115952762 A CN 115952762A CN 202211600188 A CN202211600188 A CN 202211600188A CN 115952762 A CN115952762 A CN 115952762A
- Authority
- CN
- China
- Prior art keywords
- function
- bin
- coverage
- target cross
- coverage point
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000001514 detection method Methods 0.000 claims abstract description 49
- 230000006870 function Effects 0.000 claims description 333
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 8
- 230000007717 exclusion Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000005284 excitation Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Abstract
本申请提供一种芯片仿真功能覆盖率检测方法、装置及检测系统,其中检测方法包括:获取目标交叉仓需求,以及包含有若干第一功能覆盖点的第一功能覆盖点集合;基于目标交叉仓需求,构建包含有若干第二功能覆盖点的第二功能覆盖点集合;对第二功能覆盖点进行交叉操作,获得目标交叉仓;基于第一功能覆盖点集合和目标交叉仓,获取芯片仿真功能覆盖率。由于目标交叉仓采用正向交叉的方式进行交叉获得,目标交叉仓的生成效率较高,并且出错率较低,功能覆盖点的覆盖面更加全面,提高了芯片仿真功能覆盖率检测的效率。
Description
技术领域
本申请涉及芯片验证技术领域,具体而言,涉及一种芯片仿真功能覆盖率检测方法、装置及检测系统。
背景技术
功能覆盖率作为衡量芯片设计功能得到充分验证的核心指标,对于大多数公司,100%功能覆盖率是芯片达到流片标准的必要条件之一。在对芯片仿真功能覆盖率进行检测时,除功能覆盖点外,还需要设置交叉仓以满足对芯片功能点的全方位覆盖。
目前,现有获取交叉仓的方法大都为采取“排除仓”的方式,排除仓是一种逆向做减法的方式,即先对设定好的多个功能覆盖点做完全交叉,得到全部可得的交叉点,再利用排除规则从全部交叉仓中剔除一部分不需要的仓。此种方式极有可能出现误删的情况,直接导致对某个功能点的验证检测失败,在失败后需要重新采用排除的方式获取目标交叉仓,由此导致芯片仿真功能覆盖率检测的效率低下。
发明内容
本申请实施例的目的在于提供一种芯片仿真功能覆盖率检测方法、装置及检测系统,用以改善芯片仿真功能覆盖率的检测效果。
第一方面,本申请实施例提供一种芯片仿真功能覆盖率检测方法,包括:获取目标交叉仓需求,以及包含有若干第一功能覆盖点的第一功能覆盖点集合;基于所述目标交叉仓需求,构建包含有若干第二功能覆盖点的第二功能覆盖点集合;对所述第二功能覆盖点进行交叉操作,获得所述目标交叉仓;基于所述第一功能覆盖点集合和所述目标交叉仓,获取芯片仿真功能覆盖率。
在上述方案的实现过程中,由于目标交叉仓采用正向交叉的方式进行交叉获得,目标交叉仓的生成效率较高,并且出错率较低,功能覆盖点的覆盖面更加全面,提高了芯片仿真功能覆盖率检测的效率。
在第一方面的一种实现方式中,所述目标交叉仓需求,包括:构建所述目标交叉仓所需的单个仓;所述基于所述目标交叉仓需求,构建第二功能覆盖点集合,包括:基于构建所述目标交叉仓所需的单个仓,直接构建所述第二功能覆盖点。
在上述第一种实施方式的实现过程中,基于构建目标交叉仓所需的单个仓直接构建新的第二功能覆盖点,通过对第二功能覆盖点进行交叉操作,即可直接获得所需的目标交叉仓,此种方式避免了使用排除仓的方式,大大降低了芯片仿真功能覆盖率检测过程中出错的概率,降低了测试功能点被遗漏的风险,大大提高了芯片仿真功能覆盖率检测的效率。
在第一方面的一种实现方式中,所述目标交叉仓需求,包括:构建所述目标交叉仓所需的单个仓,以及每个单个仓所属的第一功能覆盖点信息;所述基于所述目标交叉仓需求,构建第二功能覆盖点集合,包括:基于所述每个单个仓所述的第一功能覆盖点信息,在所述第一功能覆盖点中离散出所述构建所述目标交叉仓所需的单个仓;基于所述构建所述目标交叉仓所需的单个仓,构建第二功能覆盖点。
在上述第二实施方式的实现过程中,可以从原有的第一功能覆盖点中离散出所需要的第二功能覆盖点,避免了使用排除仓的方式,大大降低了芯片仿真功能覆盖率检测过程中出错的概率,降低了测试功能点被遗漏的风险,大大提高了芯片仿真功能覆盖率检测的效率。
在第一方面的一种实现方式中,所述基于所述目标交叉仓所需的单个仓,构建第二功能覆盖点,包括:若多个所述构建所述目标交叉仓所需的单个仓属于同一个所述第一功能覆盖点,则以该多个所述构建所述目标交叉仓所需的单个仓共同构建所述第二功能覆盖点。
在上述方案的实现过程中,若多个构建目标交叉仓所需的单个仓是否属于同一个第一功能覆盖点,即可以该多个构建目标交叉仓所需的单个仓共同构建第二功能覆盖点,通过此种方式所构建出的第二功能覆盖点所需的离散步骤数量与交叉步骤数量均较少,进一步提高了芯片仿真功能覆盖率检测的效率。
在第一方面的一种实现方式中,所述第二功能覆盖点集合中的所述第二功能覆盖点为互相解耦的功能覆盖点。
在上述方案的实现过程中,通过将第二功能覆盖点集合中的第二功能覆盖点设置为互相解耦的状态,降低了芯片仿真功能覆盖率检测过程所需的离散步骤以及交叉步骤,进一步提高了芯片仿真功能覆盖率检测的效率。
在第一方面的一种实现方式中,所述基于所述第一功能覆盖点集合和所述目标交叉仓,获取芯片仿真功能覆盖率,包括:将所述第一功能覆盖点集合、所述目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块部署在仿真环境中;基于所述第一功能覆盖点集合中的所述第一功能覆盖点以及所述目标交叉仓所采集的数据,确定所述芯片仿真功能覆盖率。
在上述方案的实现过程中,由于采用了正向交叉的方式,区别于排除仓的方式,本申请实施例在将芯片功能模块、功能覆盖点以及目标交叉仓部署在仿真环境中后所获得的功能覆盖点以及目标交叉仓所采样的数据更加准确,覆盖面更全,提高了芯片仿真功能覆盖率检测的效率。
第二方面,本申请实施例提供一种芯片仿真功能覆盖率检测装置,包括:目标交叉仓需求获取模块,用于获取目标交叉仓需求;第一功能覆盖点集合获取模块,用于获取包含有若干第一功能覆盖点的第一功能覆盖点集合;第二功能覆盖点集合构建模块,用于构建包含有若干第二功能覆盖点的第二功能覆盖点集合;目标交叉仓构建模块,用于对所述第二功能覆盖点进行交叉操作,获得所述目标交叉仓;芯片仿真功能覆盖率获取模块,用于基于所述第一功能覆盖点集合和所述目标交叉仓,获取芯片仿真功能覆盖率。
第三方面,本申请实施例提供一种芯片仿真功能覆盖率检测系统,包括:上位机,用于获取目标交叉仓需求,以及包含有若干第一功能覆盖点的第一功能覆盖点集合;基于所述目标交叉仓需求,构建包含有若干第二功能覆盖点的第二功能覆盖点集合;对所述第二功能覆盖点进行交叉操作,获得所述目标交叉仓;将所述第一功能覆盖点集合、所述目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块部署于仿真设备;基于仿真设备返回的所述第一功能覆盖点集合中的所述第一功能覆盖点以及所述目标交叉仓所采集的数据,确定所述芯片仿真功能覆盖率;仿真设备,用于对所述第一功能覆盖点集合、所述目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块进行运行仿真,并向上位机返回所述第一功能覆盖点集合中的所述第一功能覆盖点以及所述目标交叉仓所采集的数据。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第四方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的现有技术中采用排除仓获取目标交叉仓的方式;
图2为本申请实施例提供的芯片仿真功能覆盖率检测方法的流程示意图;
图3为本申请实施例提供的直接构建第二功能覆盖点集合的场景示意图;
图4为本申请实施例提供的从第一功能覆盖点中获得第二功能覆盖点的场景示意图;
图5为本申请实施例提供的在图4示出的场景下,从第一功能覆盖点中离散出多个单个仓合并第二功能覆盖点的场景示意图;
图6为本申请实施例提供的芯片仿真功能覆盖率检测装置的结构示意图;
图7为本申请实施例提供的芯片仿真功能覆盖率检测系统的结构示意图;
图8为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
在本申请实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
请参照图1,以某芯片功能覆盖率检测场景为例,该检测场景需要功能覆盖点_A、功能覆盖点_B和功能覆盖点_C、目标交叉仓_a和目标交叉仓_b共同完成对芯片的功能覆盖率检测。在该检测方式中,检测方法包括:
设定功能覆盖点cover point,包括能覆盖点_A、功能覆盖点_B和功能覆盖点_C;
设定对应功能点的单个仓bin;
采用功能覆盖点完全交叉的方式获取完全交叉仓cross bins;
通过排除规则1和排除规则2获取目标交叉仓_a和目标交叉仓_b;
通过功能覆盖点和目标交叉仓共同完成对芯片的功能覆盖率检测。
发明人经过研究发现,上述覆盖率检测方法存在如下弊端:
(1)检测效率低下
需要人工做到精准排除,如果需要排除的交叉仓较为零散或数量庞大且缺乏规律,则工程师需要花费大量时间和精力在排除仓的设定和校准上,导致功能覆盖率检测的效率低下。
(2)维护难度大
由于排除仓耦合度高,一旦某个地方排除时出现错误,将会引发多个交叉仓的集体修改,导致维护难度较大。
(3)芯片研发失败率高
排除仓的检测方式实现逻辑较为复杂,容易出现错误,并且错误不易发现。在存在数以十万计的交叉仓的复杂场景中,工程师很难发现其中的错误,从而导致遗漏掉芯片某项功能的检查点,导致芯片研发失败。
请参照图2,本申请实施例提出了一种芯片仿真功能覆盖率检测方法,包括:
步骤S110:获取目标交叉仓需求,以及包含有若干第一功能覆盖点的第一功能覆盖点集合。
上述功能覆盖率是指:表征设计要求中的功能点有多少被验证了。
上述功能覆盖点是指:用于对功能点所涉及的数据值或者数据的变化进行采样,一个功能覆盖点可以对应多个用于数据采样的仓;
上述交叉仓是指:对于复杂的芯片设计而言,往往存在多个设计功能点之间相互组合的情况,这些组合后的功能点需要通过将几个覆盖点进行相互交叉,生产交叉覆盖点来表征,而在一个交叉覆盖点中存在一系列的交叉仓,这些交叉仓是又进行相互交叉的各覆盖点中的仓交叉组合而成,用于体现不同的功能点组合。
上述第一功能覆盖点集合中包括若干第一功能覆盖点,在图1所示的需要功能覆盖点与目标交叉仓配合完成芯片功能仿真功能覆盖率检测的场景下,上述第一功能覆盖点集合即为由图1中的功能覆盖点_A、功能覆盖点_B和功能覆盖点_C组成的功能覆盖点集合,目标交叉仓即为图1中的目标交叉仓_a和目标交叉仓_b。
上述目标交叉仓需求可以为构建目标交叉仓所需的单个仓,也可以为构建目标交叉仓所需的单个仓以及每个单个仓所属的第一功能覆盖点信息。其中,在面对需要直接构建第二功能覆盖点集合的场景时,获取的目标交叉仓需求可以仅为构建目标交叉仓所需的单个仓。而在面对需要从第一功能覆盖点中获得第二功能覆盖点的场景,获取的目标交叉仓需求不仅需要构建目标交叉仓所需的单个仓,还需要获取每个单个仓所属的第一功能覆盖点信息。针对上述两个场景的描述请参见步骤S120。
步骤S120:基于目标交叉仓需求,构建包含有若干第二功能覆盖点的第二功能覆盖点集合。
上述第二功能覆盖点集合中包含若干第二功能覆盖点,在图1所示的需要功能覆盖点与目标交叉仓配合完成芯片功能仿真功能覆盖率检测的场景下,上述第二功能覆盖点可以理解为:区别于第一功能覆盖点,即功能覆盖点_A、功能覆盖点_B和功能覆盖点_C,所构建的新的功能覆盖点,第二功能覆盖点集合中的多个第二功能覆盖点用于进行交叉以获得目标交叉仓,并且采用第二功能覆盖点所交叉处的目标交叉仓是一步交叉所获得的,无需设置排除仓进行排除。
下面详细描述上述步骤S110中所指出的两种第二功能覆盖点的构建场景,即本申请实施例中步骤S120的两种实施方式:
第一种实施方式,针对上述需要直接构建第二功能覆盖点集合的场景,目标交叉仓需求包括构建目标交叉仓所需的单个仓。该实施方式例如:请参见图3,在图3示出的场景中,芯片仿真功能覆盖率检测需要第一功能覆盖点_A、第一功能覆盖点_B、第一功能覆盖点_C、目标交叉仓_a和目标交叉仓_b共同实现。在该场景下,步骤S110所获取的目标交叉仓需求包括:
构建目标交叉仓_a需要单个仓_A0=0、单个仓_A2=2、单个仓_B1=1、单个仓_C1=1以及单个仓_C2=2;
构建目标交叉仓_b需要单个仓_A1=1、单个仓_B2=2、单个仓_C1=1以及单个仓_C2=2。
此时,步骤S120包括:基于上述构建所述目标交叉仓需求,直接构建第二功能覆盖点。
需要构建第二功能覆盖点包括:
第二功能覆盖点_A0,包括单个仓_A0=0;
第二功能覆盖点_A1,包括单个仓_A1=1;
第二功能覆盖点_A2,包括单个仓_A2=2;
第二功能覆盖点_B1,包括单个仓_B1=1;
第二功能覆盖点_B2,包括单个仓_B2=2;
第二功能覆盖点_C1,包括单个仓_C1=1;
第二功能覆盖点_C2,包括单个仓_C2=2。
目标交叉仓_a通过第二功能覆盖点_A0、第二功能覆盖点_A2、第二功能覆盖点_B1、第二功能覆盖点_C1和第二功能覆盖点_C2进行交叉获得;目标交叉仓_b通过第二功能覆盖点_A1、第二功能覆盖点_B2、第二功能覆盖点_C1和第二功能覆盖点_C2进行交叉获得。
在上述第一种实施方式的实现过程中,基于构建目标交叉仓所需的单个仓直接构建新的第二功能覆盖点,通过对第二功能覆盖点进行交叉操作,即可直接获得所需的目标交叉仓,此种方式避免了使用排除仓的方式,大大降低了芯片仿真功能覆盖率检测过程中出错的概率,降低了测试功能点被遗漏的风险,大大提高了芯片仿真功能覆盖率检测的效率。
第二种实施方式,针对需要从第一功能覆盖点中获得第二功能覆盖点的场景,构建目标交叉仓所需的单个仓以及每个单个仓所属的第一功能覆盖点信息。该实施方式例如:
请参见图4,在图4示出的场景中,芯片仿真功能覆盖率检测需要第一功能覆盖点_A、第一功能覆盖点_B、第一功能覆盖点_C、目标交叉仓_a和目标交叉仓_b共同实现。在该场景下,步骤S110所获取的目标交叉仓需求包括:
构建目标交叉仓_a需要单个仓_A0=0、单个仓_A2=2、单个仓_B1=1、单个仓_C1=1以及单个仓_C2=2;
单个仓_A0=0和单个仓_A2=2隶属于第一功能覆盖点_A、单个仓_B1=1隶属于第一功能覆盖点_B、单个仓_C2=2隶属于第一功能覆盖点_C;
构建目标交叉仓_b需要单个仓_A1=1、单个仓_B2=2、单个仓_C1=1以及单个仓_C2=2;
单个仓_A1=1隶属于第一功能覆盖点_A、单个仓_B2=2隶属于第一功能覆盖点_B、单个仓_C1=1和单个仓_C2=2隶属于第一功能覆盖点_C。
此时,步骤S120包括:基于每个单个仓所述的第一功能覆盖点信息,在第一功能覆盖点中离散出构建所述目标交叉仓所需的单个仓;基于构建所述目标交叉仓所需的单个仓,构建第二功能覆盖点。
需要构建第二功能覆盖点包括:
第二功能覆盖点_A0,包括单个仓_A0=0,从第一功能覆盖点_A中离散;
第二功能覆盖点_A1,包括单个仓_A1=1,从第一功能覆盖点_A中离散;
第二功能覆盖点_A2,包括单个仓_A2=2,从第一功能覆盖点_A中离散;
第二功能覆盖点_B1,包括单个仓_B1=1,从第一功能覆盖点_B中离散;
第二功能覆盖点_B2,包括单个仓_B2=2,从第一功能覆盖点_B中离散;
第二功能覆盖点_C1,包括单个仓_C1=1,从第一功能覆盖点_C中离散;
第二功能覆盖点_C2,包括单个仓_C2=2,从第一功能覆盖点_C中离散。
目标交叉仓_a通过第二功能覆盖点_A0、第二功能覆盖点_A2、第二功能覆盖点_B1、第二功能覆盖点_C1和第二功能覆盖点_C2进行交叉获得;目标交叉仓_b通过第二功能覆盖点_A1、第二功能覆盖点_B2、第二功能覆盖点_C1和第二功能覆盖点_C2进行交叉获得。
在上述第二实施方式的实现过程中,可以从原有的第一功能覆盖点中离散出所需要的第二功能覆盖点,避免了使用排除仓的方式,大大降低了芯片仿真功能覆盖率检测过程中出错的概率,降低了测试功能点被遗漏的风险,大大提高了芯片仿真功能覆盖率检测的效率。
作为上述芯片功能覆盖率检测方法一种可选实施方式,在对第一功能覆盖点进行离散以获得第二功能覆盖点时,若多个构建目标交叉仓所需的单个仓属于同一个第一功能覆盖点,则以该多个构建目标交叉仓所需的单个仓共同构建第二功能覆盖点。该实施方式例如:请参见图5,在图5示出的场景中,芯片仿真功能覆盖率检测需要第一功能覆盖点_A、第一功能覆盖点_B、第一功能覆盖点_C、目标交叉仓_a和目标交叉仓_b共同实现。在该场景下,步骤S110所获取的目标交叉仓需求包括:
构建目标交叉仓_a需要单个仓_A0=0、单个仓_A2=2、单个仓_B1=1、单个仓_C1=1以及单个仓_C2=2;
单个仓_A0=0和单个仓_A2=2隶属于第一功能覆盖点_A、单个仓_B1=1隶属于第一功能覆盖点_B、单个仓_C1=1和单个仓_C2=2隶属于第一功能覆盖点_C;
构建目标交叉仓_b需要单个仓_A1=1、单个仓_B2=2、单个仓_C1=1以及单个仓_C2=2;
单个仓_A1=1隶属于第一功能覆盖点_A、单个仓_B2=2隶属于第一功能覆盖点_B、单个仓_C1=1和单个仓_C2=2隶属于第一功能覆盖点_C。
由上述目标交叉仓需求可知:
构建目标交叉仓_a所需的单个仓_A0=0和单个仓_A2=2同属于第一功能覆盖点_A,所以可以直接将单个仓_A0=0和单个仓_A2=2同时从第一功能覆盖点_A中离散出来,并构建新的第二功能覆盖点_A02;
构建目标交叉仓_b所需的单个仓_C1=1以及单个仓_C2=2同属于第一功能覆盖点_C,所以可以直接将单个仓_C1=1以及单个仓_C2=2同时从第一功能覆盖点_C中离散出来,并构建新的第二功能覆盖点_C12。
在上述方案的实现过程中,若多个构建目标交叉仓所需的单个仓属于同一个第一功能覆盖点,即可以该多个构建目标交叉仓所需的单个仓共同构建第二功能覆盖点,通过此种方式所构建出的第二功能覆盖点所需的离散步骤数量与交叉步骤数量均较少,进一步提高了芯片仿真功能覆盖率检测的效率。
作为上述芯片功能覆盖率检测方法一种可选实施方式,第二功能覆盖点集合中的第二功能覆盖点为互相解耦的功能覆盖点。该实施方式例如:
芯片仿真功能覆盖率检测需要第一功能覆盖点_A、第一功能覆盖点_B、第一功能覆盖点_C、目标交叉仓_a、目标交叉仓_b和目标交叉仓_c共同实现,其中第一功能覆盖点_A、第一功能覆盖点_B、第一功能覆盖点_C、目标交叉仓_a和目标交叉仓_b为本申请实施例图5中示出的功能覆盖点以及目标交叉仓,而目标交叉仓_c未在图5中示出,下面以目标交叉仓_c来展示第二功能覆盖点为互相解耦的功能覆盖点:
假设构建目标交叉仓_c所需的单个仓包括:单个仓_A2=2、单个仓_B1=1以及单个仓_C1=1。若在图5所构建的第二功能覆盖点的基础上通过对第二功能覆盖点_A02、第二功能覆盖点_B1和第二功能覆盖点_C12进行交叉的话,依然需要排除仓来排除无意义的交叉仓来获取目标交叉仓_c。采用图4中的第二功能覆盖点_A2、第二功能覆盖点_B1和第二功能覆盖点_C1虽然可以直接获得目标交叉仓_c,但是所需的交叉步骤以及离散步骤均较多,因此可以采用在图5的基础上构建新的第二功能覆盖点_A2=2和新的第二功能覆盖点_C1=1,其中,第二功能覆盖点_A2=2与第二功能覆盖点_A02为互相解耦的状态,第二功能覆盖点_C1=1与第二功能覆盖点_C12为互相解耦的状态。其中,互相解耦是指功能覆盖点的采样是独立的,功能覆盖点之间不互相依赖。
在上述方案的实现过程中,通过将第二功能覆盖点集合中的第二功能覆盖点设置为互相解耦的状态,降低了芯片仿真功能覆盖率检测过程所需的离散步骤以及交叉步骤,进一步提高了芯片仿真功能覆盖率检测的效率。
步骤S130:对第二功能覆盖点进行交叉操作,获得目标交叉仓。
通过对第二功能覆盖点集合中的第二功能覆盖点进行一步交叉操作,即可获得目标交叉仓,具体内容请参见上述步骤S120。
步骤S140:基于所述第一功能覆盖点集合和所述目标交叉仓,获取芯片仿真功能覆盖率。
作为上述芯片功能覆盖率检测方法一种可选实施方式,基于第一功能覆盖点集合和目标交叉仓,获取芯片仿真功能覆盖率,包括:
将第一功能覆盖点集合、目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块部署在仿真环境中;
基于第一功能覆盖点集合中的第一功能覆盖点以及目标交叉仓所采集的数据,确定所述芯片仿真功能覆盖率。
上述仿真环境是指:可以对芯片功能模块进行仿真的环境。
上述芯片仿真功能覆盖率的确定方法为:
仿真环境会给予芯片功能模块随机激励,芯片功能模块基于随机激励产生响应,第一功能覆盖点和目标交叉仓在芯片功能模块产生响应的过程中被触发,并记录触发次数等数据,在仿真结束后,通过第一功能覆盖点和目标交叉仓所记录的数据即可基于芯片所设计的功能点,计算功能覆盖率。
在上述方案的实现过程中,由于目标交叉仓采用正向交叉的方式进行交叉获得,目标交叉仓的生成效率较高,并且出错率较低,在将芯片功能模块、功能覆盖点以及目标交叉仓部署在仿真环境中后所获得的功能覆盖点以及目标交叉仓所采样的数据更加准确,覆盖面更全,提高了芯片仿真功能覆盖率检测的效率。
同时,采用上述芯片仿真功能覆盖率检测方法还能够产生以下有益效果:
实现成本低:采用正向设计方式,实现方式更加易于工程师理解,便于团队内部不同人员对设计好的交叉仓进行检查校准,降低了实现成本,提高了团队协作效率;
便于维护:功能覆盖点之间耦合度低,使得交叉仓可以不必依赖于不需要的功能覆盖点,增加、删减、修改交叉仓更加容易,便于应对需求的变化,便于工程的维护。
请参见图6,本申请实施例还提出一种芯片仿真功能覆盖率检测装置,包括:
目标交叉仓需求获取模块210,用于获取目标交叉仓需求;
第一功能覆盖点集合获取模块220,用于获取包含有若干第一功能覆盖点的第一功能覆盖点集合;
第二功能覆盖点集合构建模块230,用于构建包含有若干第二功能覆盖点的第二功能覆盖点集合;
目标交叉仓构建模块240,用于对第二功能覆盖点进行交叉操作,获得目标交叉仓;
芯片仿真功能覆盖率获取模块250,用于基于第一功能覆盖点集合和目标交叉仓,获取芯片仿真功能覆盖率。
作为上述芯片仿真功能覆盖率检测装置的一种可选实施方式,目标交叉仓需求获取模块210所获取的目标交叉仓需求包括:构建目标交叉仓所需的单个仓。第二功能覆盖点集合构建模块230具体为:基于构建目标交叉仓所需的单个仓,直接构建所述第二功能覆盖点。
作为上述芯片仿真功能覆盖率检测装置的一种可选实施方式,目标交叉仓需求获取模块210所获取的目标交叉仓需求包括:构建目标交叉仓所需的单个仓,以及每个单个仓所属的第一功能覆盖点信息。第二功能覆盖点集合构建模块230具体为:基于每个单个仓所述的第一功能覆盖点信息,在第一功能覆盖点中离散出所述构建所述目标交叉仓所需的单个仓;基于构建所述目标交叉仓所需的单个仓,构建第二功能覆盖点。
作为上述芯片仿真功能覆盖率检测装置的一种可选实施方式,第二功能覆盖点集合构建模块230基于目标交叉仓所需的单个仓,构建第二功能覆盖点,包括:若多个构建所述目标交叉仓所需的单个仓属于同一个第一功能覆盖点,则以该多个构建所述目标交叉仓所需的单个仓共同构建第二功能覆盖点。
作为上述芯片仿真功能覆盖率检测装置的一种可选实施方式,第二功能覆盖点集合中的第二功能覆盖点为互相解耦的功能覆盖点。
作为上述芯片仿真功能覆盖率检测装置的一种可选实施方式,芯片仿真功能覆盖率获取模块250具体为:将第一功能覆盖点集合、目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块部署在仿真环境中;基于第一功能覆盖点集合中的第一功能覆盖点以及目标交叉仓所采集的数据,确定芯片仿真功能覆盖率。
本申请实施例提供的芯片仿真功能覆盖率检测装置200,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法施例中相应内容。
请参见图7,本申请实施例还提出一种芯片仿真功能覆盖率检测系统,包括:
上位机310,用于获取目标交叉仓需求,以及包含有若干第一功能覆盖点的第一功能覆盖点集合;基于目标交叉仓需求,构建包含有若干第二功能覆盖点的第二功能覆盖点集合;对第二功能覆盖点进行交叉操作,获得目标交叉仓;将第一功能覆盖点集合、目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块部署于仿真设备;基于仿真设备返回的第一功能覆盖点集合中的第一功能覆盖点以及目标交叉仓所采集的数据,确定芯片仿真功能覆盖率;
仿真设备320,用于对第一功能覆盖点集合、目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块进行运行仿真,并向上位机返回第一功能覆盖点集合中的第一功能覆盖点以及目标交叉仓所采集的数据。
需要指出,在上位机310中设有验证环境,第一功能覆盖点以及目标交叉仓均设置在验证环境中。上述仿真设备320可以为硬件加速器GPU。
本申请实施例提供的芯片仿真功能覆盖率检测系统300,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,系统实施例部分未提及之处,可参考方法施例中相应内容。
图8为本申请实施例提供的一种电子设备的示意图。参照图8,电子设备400包括:处理器410、存储器420以及通信接口430,这些组件通过通信总线440和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器420包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器410以及其他可能的组件可对存储器420进行访问,读和/或写其中的数据。
处理器410包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器410可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
通信接口430包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。例如,通信接口430可以是以太网接口;可以是移动通信网络接口,例如3G、4G、5G网络的接口;还是可以是具有数据收发功能的其他类型的接口。
在存储器420中可以存储一个或多个计算机程序指令,处理器410可以读取并运行这些计算机程序指令,以实现本申请实施例提供的芯片仿真功能覆盖率检测方法以及其他期望的功能。
可以理解,图8所示的结构仅为示意,电子设备400还可以包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。图8中所示的各组件可以采用硬件、软件或其组合实现。例如,电子设备400可以是单台服务器(或其他具有运算处理能力的设备)、多台服务器的组合、大量服务器的集群等,并且,既可以是物理设备也可以是虚拟设备。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的芯片仿真功能覆盖率检测方法。例如,计算机可读存储介质可以实现为图8中电子设备400中的存储器420。
在本申请所提供的实施例中,应该理解到,所揭露装置、方法及系统,可以通过其它的方式实现。以上所描述的装置实施例和系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种芯片仿真功能覆盖率检测方法,其特征在于,包括:
获取目标交叉仓需求,以及包含有若干第一功能覆盖点的第一功能覆盖点集合;
基于所述目标交叉仓需求,构建包含有若干第二功能覆盖点的第二功能覆盖点集合;
对所述第二功能覆盖点进行交叉操作,获得所述目标交叉仓;
基于所述第一功能覆盖点集合和所述目标交叉仓,获取芯片仿真功能覆盖率。
2.根据权利要求1所述的芯片仿真功能覆盖率检测方法,其特征在于,所述目标交叉仓需求,包括:
构建所述目标交叉仓所需的单个仓;
所述基于所述目标交叉仓需求,构建第二功能覆盖点集合,包括:
基于构建所述目标交叉仓所需的单个仓,直接构建所述第二功能覆盖点。
3.根据权利要求1所述的芯片仿真功能覆盖率检测方法,其特征在于,所述目标交叉仓需求,包括:
构建所述目标交叉仓所需的单个仓,以及每个单个仓所属的第一功能覆盖点信息;
所述基于所述目标交叉仓需求,构建第二功能覆盖点集合,包括:
基于所述每个单个仓所述的第一功能覆盖点信息,在所述第一功能覆盖点中离散出所述构建所述目标交叉仓所需的单个仓;
基于所述构建所述目标交叉仓所需的单个仓,构建第二功能覆盖点。
4.根据权利要求3所述的芯片仿真功能覆盖率检测方法,其特征在于,所述基于所述目标交叉仓所需的单个仓,构建第二功能覆盖点,包括:
若多个所述构建所述目标交叉仓所需的单个仓属于同一个所述第一功能覆盖点,则以该多个所述构建所述目标交叉仓所需的单个仓共同构建所述第二功能覆盖点。
5.根据权利要求1~4中任一项所述的芯片仿真功能覆盖率检测方法,其特征在于,所述第二功能覆盖点集合中的所述第二功能覆盖点为互相解耦的功能覆盖点。
6.根据权利要求1所述的芯片仿真功能覆盖率检测方法,其特征在于,所述基于所述第一功能覆盖点集合和所述目标交叉仓,获取芯片仿真功能覆盖率,包括:
将所述第一功能覆盖点集合、所述目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块部署在仿真环境中;
基于所述第一功能覆盖点集合中的所述第一功能覆盖点以及所述目标交叉仓所采集的数据,确定所述芯片仿真功能覆盖率。
7.一种芯片仿真功能覆盖率检测装置,其特征在于,包括:
目标交叉仓需求获取模块,用于获取目标交叉仓需求;
第一功能覆盖点集合获取模块,用于获取包含有若干第一功能覆盖点的第一功能覆盖点集合;
第二功能覆盖点集合构建模块,用于构建包含有若干第二功能覆盖点的第二功能覆盖点集合;
目标交叉仓构建模块,用于对所述第二功能覆盖点进行交叉操作,获得所述目标交叉仓;
芯片仿真功能覆盖率获取模块,用于基于所述第一功能覆盖点集合和所述目标交叉仓,获取芯片仿真功能覆盖率。
8.一种芯片仿真功能覆盖率检测系统,其特征在于,包括:
上位机,用于获取目标交叉仓需求,以及包含有若干第一功能覆盖点的第一功能覆盖点集合;基于所述目标交叉仓需求,构建包含有若干第二功能覆盖点的第二功能覆盖点集合;对所述第二功能覆盖点进行交叉操作,获得所述目标交叉仓;将所述第一功能覆盖点集合、所述目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块部署于仿真设备;基于仿真设备返回的所述第一功能覆盖点集合中的所述第一功能覆盖点以及所述目标交叉仓所采集的数据,确定所述芯片仿真功能覆盖率;
仿真设备,用于对所述第一功能覆盖点集合、所述目标交叉仓以及待进行仿真功能覆盖率检测的芯片功能模块进行运行仿真,并向上位机返回所述第一功能覆盖点集合中的所述第一功能覆盖点以及所述目标交叉仓所采集的数据。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1~6中任一项所述的方法。
10.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211600188.4A CN115952762A (zh) | 2022-12-12 | 2022-12-12 | 一种芯片仿真功能覆盖率检测方法、装置及检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211600188.4A CN115952762A (zh) | 2022-12-12 | 2022-12-12 | 一种芯片仿真功能覆盖率检测方法、装置及检测系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115952762A true CN115952762A (zh) | 2023-04-11 |
Family
ID=87286908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211600188.4A Pending CN115952762A (zh) | 2022-12-12 | 2022-12-12 | 一种芯片仿真功能覆盖率检测方法、装置及检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115952762A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663492A (zh) * | 2023-07-26 | 2023-08-29 | 北京云枢创新软件技术有限公司 | 交叉仓所覆盖的交叉项数量的获取方法、电子设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190050516A1 (en) * | 2017-08-11 | 2019-02-14 | Synopsys, Inc. | Unified functional coverage and synthesis flow for formal verification and emulation |
CN112560390A (zh) * | 2020-12-23 | 2021-03-26 | 海光信息技术股份有限公司 | 自动生成交叉覆盖点中的忽略仓的方法、装置、设备 |
CN112596966A (zh) * | 2020-12-17 | 2021-04-02 | 海光信息技术股份有限公司 | 芯片验证方法、装置、设备、存储介质 |
US11048844B1 (en) * | 2020-06-26 | 2021-06-29 | Graphcore Limited | System and method for use in design verification |
US11055458B1 (en) * | 2020-06-11 | 2021-07-06 | Xilinx, Inc. | Functional coverage of designs using transition bins and cross coverage |
CN113868061A (zh) * | 2021-09-29 | 2021-12-31 | 深圳大普微电子科技有限公司 | 芯片验证方法、装置及服务器 |
-
2022
- 2022-12-12 CN CN202211600188.4A patent/CN115952762A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190050516A1 (en) * | 2017-08-11 | 2019-02-14 | Synopsys, Inc. | Unified functional coverage and synthesis flow for formal verification and emulation |
US11055458B1 (en) * | 2020-06-11 | 2021-07-06 | Xilinx, Inc. | Functional coverage of designs using transition bins and cross coverage |
US11048844B1 (en) * | 2020-06-26 | 2021-06-29 | Graphcore Limited | System and method for use in design verification |
CN112596966A (zh) * | 2020-12-17 | 2021-04-02 | 海光信息技术股份有限公司 | 芯片验证方法、装置、设备、存储介质 |
CN112560390A (zh) * | 2020-12-23 | 2021-03-26 | 海光信息技术股份有限公司 | 自动生成交叉覆盖点中的忽略仓的方法、装置、设备 |
CN113868061A (zh) * | 2021-09-29 | 2021-12-31 | 深圳大普微电子科技有限公司 | 芯片验证方法、装置及服务器 |
Non-Patent Citations (2)
Title |
---|
应健锋;梁华国;江悦;蒋翠云;李丹青;黄正峰;: "一种多X值输入下测试覆盖率损失的预测方法", 微电子学与计算机, no. 04, 5 April 2020 (2020-04-05) * |
张运涛;何玮;曹宗生;孟广国;: "功能覆盖率统计用于核级可编程逻辑仿真验证", 自动化博览, no. 06, 15 June 2017 (2017-06-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663492A (zh) * | 2023-07-26 | 2023-08-29 | 北京云枢创新软件技术有限公司 | 交叉仓所覆盖的交叉项数量的获取方法、电子设备和介质 |
CN116663492B (zh) * | 2023-07-26 | 2023-10-13 | 北京云枢创新软件技术有限公司 | 交叉仓所覆盖的交叉项数量的获取方法、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073519B (zh) | 测试用例生成方法和装置 | |
US8495555B2 (en) | Computer aided design system and method | |
CN110245085B (zh) | 利用在线模型检验的嵌入式实时操作系统验证方法及系统 | |
CN111709756A (zh) | 一种可疑社团的识别方法、装置、存储介质和计算机设备 | |
CN115952762A (zh) | 一种芯片仿真功能覆盖率检测方法、装置及检测系统 | |
CN113887161A (zh) | 一种片上网络设计实例的验证方法、装置、设备及介质 | |
CN109144852A (zh) | 静态代码的扫描方法、装置、计算机设备及存储介质 | |
CN114721912A (zh) | 一种数据分析方法、装置、设备及介质 | |
US20190094299A1 (en) | Ensuring completeness of interface signal checking in functional verification | |
CN113465734B (zh) | 一种结构振动的实时估计方法 | |
CN114325405A (zh) | 电池组一致性分析方法、建模方法、装置、设备及介质 | |
US10372849B2 (en) | Performing and communicating sheet metal simulations employing a combination of factors | |
CN112711398A (zh) | 埋点文件生成方法、装置、设备及存储介质 | |
US20200089734A1 (en) | Time series data analysis control method and analysis control device | |
KR102203322B1 (ko) | 로그 기반 모니터링 방법, 장치 및 그 시스템 | |
CN111626498A (zh) | 设备运行状态预测方法、装置、设备及存储介质 | |
CN114915643B (zh) | 铁路信号集中监测系统的配置方法、装置、设备及介质 | |
CN110515758A (zh) | 一种故障定位方法、装置、计算机设备及存储介质 | |
CN111738290B (zh) | 图像检测方法、模型构建和训练方法、装置、设备和介质 | |
CN111427785B (zh) | 形式化任务验证方法、装置、电子设备和计算机可读介质 | |
CN114003784A (zh) | 请求录制方法、装置、设备及存储介质 | |
CN112329108A (zh) | 一种地铁车站优化抗浮验算方法及系统 | |
CN112214389A (zh) | 一种众测方法、装置、终端及存储介质 | |
CN115801845B (zh) | 基于边缘计算的工业互联网数据采集方法及相关设备 | |
US20240020039A1 (en) | Evidence collection guidance method and apparatus for file selection and computer-readable storage medium |
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 |