一种多端口嵌套模型连接分析方法及介质与流程

文档序号:24178908发布日期:2021-03-09 11:16阅读:75来源:国知局
一种多端口嵌套模型连接分析方法及介质与流程

1.本发明涉及多端口嵌套模型连接分析领域,尤其涉及一种多端口嵌套模型连接分析方法及介质。


背景技术:

2.ip(intellectual property)核是“用于集成电路芯片中的预先设计好的电路功能模块”。ip核将一些在数字电路中常用,但比较复杂的功能块,如fir滤波器、sdram控制器、pci接口等设计成可修改参数的模块。随着芯片的规模越来越大,设计越来越复杂,增大设计者的负担,而通过调用ip核能避免重复劳动,大大减轻工程师的负担,大大缩短了产品上市时间。
3.在进行专用集成电路系统设计时,将ip核和自行设计的模块结合形成多端口嵌套模型,根据多端口嵌套模型中按ip核或者模块的端到端连接关系进行连接嵌套形成功能集成构建成专用集成电路系统,一般的,一个专用集成电路系统由大量的多端口嵌套模型组成,一个多端口嵌套模型由大量的实例组成现有情况下,在进行多端口嵌套模型或者专用集成电路系统分析时,需要我们按实例层级一层一层的分析连接关系,这样不仅耗时巨大、还非常容易出错;对专用集成电路系统的分析带来很大的困难。


技术实现要素:

4.为解决上述问题,本发明提供一种多端口嵌套模型连接分析方法,包括:
5.获取多端口嵌套模型的实例信息和嵌套关系并构建实例关系树;
6.读取实例的端口信息和连接信息,并将所述端口信息和所述连接信息添加到所述实例关系树中;
7.根据所述实例关系树逐层获取每个节点实例的端口信息和连接信息来构建连接字典;
8.通过检索所述连接字典获取实例的端口到端口的连接信息。
9.优选地,获取多端口嵌套模型的实例信息和嵌套关系并构建实例关系树包括:
10.以yaml文件来记录多端口嵌套模型的实例信息以及各个实例之间的所述嵌套关系;
11.将所述yaml文件中多端口嵌套模型的根实例添加到待处理实例队列;
12.按级提取所述待处理实例队列的实例,作为所述实例关系树的相应级别节点;
13.判断该实例是否嵌套实例,如果嵌套实例则将所嵌套的实例添加到待处理实例队列的下一级,逐级提取构建所述实例关系树直至待处理实例队列为空。
14.优选地,读取实例的端口信息和连接信息,并将所述端口信息和所述连接信息添加到所述实例关系树中包括:
15.读取所述实例的端口信息,将端口添加到所述实例关系树的实例上;
16.将所述端口信息中的端口分为源端口和目标端口,获取源端口与目标端口的映射
关系,从而获取连接信息;
17.根据所述连接信息将所述实例关系树中的端口连接。
18.优选地,连接信息分为两类:由某一端口连向其他端口的第二连接,由其他端口连向某一端口的第一连接。
19.优选地,所述连接字典包括关键字和关键字所对应的连接描述,所述关键字为实例关系树节点中所有实例的实例名称,所述连接描述包括实例和实例的端口信息。
20.优选地,根据所述实例关系树逐层获取每个节点实例的端口信息和连接信息构建连接字典包括:
21.遍历所有实例的实例名称作为所述关键字;
22.逐层遍历所述实例关系树节点上的实例,判断实例的端口是否存在第一连接和第二连接,
23.如果一个端口仅存在所述第二连接,则沿第二连接追溯实例、实例的端口信息直至一个不存在所述第二连接的端口,将追溯到的内容作为所述连接描述记录,该连接描述与以该实例名称构成的关键字对应;
24.如果一个端口存在所述第二连接和第一连接,则沿第一连接追溯实例、实例的端口信息直至一个不存在所述第一连接的端口,并沿第二连接追溯实例、实例的端口信息直至一个不存在第二连接的端口,将追溯到的内容作为所述连接描述记录,该连接描述与以不存在所述第一连接的端口所在实例的实例名称构成的关键字对应。
25.优选地,逐层遍历所述实例关系树节点上的实例包括:
26.构建节点队列,将所述实例关系树最底层的节点中所有实例加入所述节点队列;
27.判断节点队列是否为空,如果节点队列不为空,则从节点队列中依次取出每个实例处理;
28.如果节点队列为空,则向上一层,将该层的所有实例加入到节点队列,直至处理完最顶层的节点中的所有实例。
29.优选地,所述连接字典中同一关键字对应的不同所述连接描述之间设置区别符号。
30.优选地,以所述关键字作为检索词在所述连接字典中检索获取实例的端口到端口的连接信息。
31.本发明还提供一种多端口嵌套模型连接分析的存储介质,存储至少一条指令,执行所述指令实现所述的多端口嵌套模型连接分析方法。
32.本申请提出的一种多端口嵌套模型连接分析方法及介质具体有以下有益效果:
33.本发明提供的多端口嵌套模型连接分析方法及介质在应用到专用集成电路系统分析时,通过获取专用集成电路系统的连接字典,并根据检索词检索专用集成电路系统中ip核实例或者模块实例的端口连接情况,从而方便对专用集成电路系统进行分析。无需分析人员根据专用集成电路系统中实例层层去追溯获取连接情况,能够节省大量的分析时间。在进行实例连接的自动化检测时,通过本发明的多端口嵌套模型连接分析方法及介质能够快速获取实例连接情况,减少自动化检测的耗时。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
35.图1是本发明实施例中一种多端口嵌套模型连接分析方法的流程图;
36.图2是本发明实施例中构建实例关系树的流程图;
37.图3是本发明实施例中yaml文件记录的实例以及嵌套关系示意图;
38.图4是本发明实施例中实例关系树的示意图;
39.图5是本发明实施例中将端口信息和连接信息添加到实例关系树的流程图;
40.图6为本发明实施例中源端口与目标端口的映射关系数据表的示意图;
41.图7为本发明实施例中添加端口信息和连接信息的实例关系树的示意图;
42.图8为本发明实施例中连接字典的示意图;
43.图9为本发明实施例中构建连接字典的流程图;
44.图10为本发明实施例中实例关系树获取连接描述的流程图。
45.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
46.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
47.下面结合附图对本发明进行说明,其中,图1是本发明实施例中一种多端口嵌套模型连接分析方法的流程图;图2是本发明实施例中构建实例关系树的流程图;图3是本发明实施例中yaml文件记录的实例以及嵌套关系示意图;图4是本发明实施例中实例关系树的示意图;图5是本发明实施例中将端口信息和连接信息添加到实例关系树的流程图;图6为本发明实施例中源端口与目标端口的映射关系数据表的示意图;图7为本发明实施例中添加端口信息和连接信息的实例关系树的示意图;图8为本发明实施例中连接字典的示意图;图9为本发明实施例中构建连接字典的流程图;图10为本发明实施例中实例关系树获取连接描述的流程图。
48.本发明将多端口嵌套模型涉及的ip核和模块进行实例化形成实例,实例包括对ip核和模块定义,对ip核和模块的全部端口定义,对ip核和模块端口的连接定义。
49.参阅图1所示,本发明提供一种多端口嵌套模型连接分析方法,包括步骤:
50.s100,获取多端口嵌套模型的实例信息和嵌套关系并构建实例关系树。具体的,参阅图3所示,以yaml文件来记录多端口嵌套模型的实例信息以及各个实例之间的所述嵌套关系;图3中a、b、c、d、e、f、g、h分别表示不同实例,其中a为根实例,a嵌套有b和c,c嵌套有d、e和f,f嵌套有g和h。构建一个遍历yaml文件中的实例的待处理实例队列。参阅图2所示,通过所述待处理实例队列构建实例关系树包括:s101,读取yaml文件;s102,将所述yaml文件中多端口嵌套模型的根实例a添加到待处理实例队列;s103,判断待处理实例队列是否为空,s104,按级提取所述待处理实例队列的实例,将该实例作为所述实例关系树的相应级别节点,具体的,即首先将根实例a作为实例关系树的根节点,s105,判断该实例是否嵌套有实例,如果嵌套有实例则执行s106将所嵌套的实例添加到待处理实例队列的下一级,然后执
行s103,如果为嵌套实例,则跳过s106直接执行s103。从而逐级提取实例构建所述实例关系树直至待处理实例队列为空结束。对于实例a,判断出a嵌套b和c,因此将b和c添加到待处理实例队列中,待处理实例队列不为空,循环执行s103、s104和s105,取出b,将b作为实例关系树中根实例a下层的节点,b不嵌套实例,待处理实例队列不为空,循环执行s103、s104和s105,取出c,将c作为实例关系树中根实例a下层的节点,将c嵌套的实例添加到待处理实例队列中,依此执行,直至g和h添加到实例关系树,由于g和h都不嵌套实例,所述待处理实例队列为空,终止循环。参阅图4所示,图4为根据图3中实例信息以及实例的嵌套关系执行上述步骤构建的实例关系树。
51.s200,读取实例的端口信息和连接信息,并将所述端口信息和所述连接信息添加到所述实例关系树中。具体的,参阅图5所示,读取实例的端口信息和连接信息,并将所述端口信息和所述连接信息添加到所述实例关系树中包括:s201,通过程序扫描ip实例文件的方式获得实例的端口信息和连接信息。参阅图6所示,对图6所示的表中元素a.p0进行说明:a为实例,“.”为分隔符,p0为端口。将所述端口信息中的端口分为源端口和目标端口,获取源端口与目标端口的映射关系,从而获取连接信息;s202,在所述实例关系树中的实例根据端口信息添加端口,并根据源端口与目标端口的映射关系将所述实例关系树中的端口连接。参阅图7所示,图7为将执行s201

s202将端口信息和连接信息添加到所述实例关系树中后获得的实例连接图。
52.其中,将所述连接信息分为两类分类标准为以某一端口为参照,将由某一端口连向其他端口分为第二连接,将由其他端口连向某一端口分为第一连接。
53.s300,根据所述实例关系树逐层获取每个节点实例的端口信息和连接信息来构建连接字典;具体的,参阅图8所示,所述连接字典包括关键字和关键字所对应的连接描述,所述关键字为实例关系树节点中所有实例的实例名称,所述连接描述包括实例和实例的端口信息。
54.参阅图9所示,根据所述实例关系树逐层获取每个节点实例的端口信息和连接信息构建连接字典的步骤包括:s301,遍历所有实例的实例名称并将实例名称作为所述关键字;具体的,利用所述yaml文件遍历实例名称。
55.s302,逐层遍历所述实例关系树节点上的实例,根据实例的端口是否存在第一连接和第二连接来获取连接描述。
56.具体的,参阅图10所示,其中,逐层遍历所述实例关系树节点上的实例,包括:s3021,构建节点队列,将所述实例关系树最底层的节点中所有实例加入所述节点队列,具体的,将图4中最底层的g和h添加到所述节点队列中;s3022,判断节点队列是否为空,如果节点队列不为空,则执行s3025;依此取出g和h判断是否存在第一连接和第二连接,取出g和h之后节点队列为空;如果节点队列为空,则s3023向上一层,将该层的所有实例加入到节点队列,s3024,判断是否到达实例关系树的顶层,如果到达顶层结束,如果未到达顶层则执行s3022,具体的处理完g和h之后,向上一层,遍历该层获取d、e和f并将d、e和f加入到所述节点队列,循环执行s3022与s3024直至处理完最顶层的节点中的所有实例。具体的处理完d、e和f后所述节点队列为空,再向上一层获取b和c,并将b和c加入到所述节点队列,处理完b和c后,所述节点队列为空,再向上一层获取a,并将a加入到所述节点队列,处理完a后,所述节点队列为空,再相声已成获取为空,节点队列为空,结束s3023和s3024的循环。
57.其中,根据实例的端口是否存在第一连接和第二连接来获取连接描述;
58.s3025,获取从节点队列取出的实例的所有端口,并判断端口是否存在第一连接和第二连接,如果一个端口仅存在所述第二连接(即一个端口仅连向其他端口,而其他端口并不连向该端口,说明该端口是多端口嵌套模型的对外端口),则执行s3026沿第二连接追溯实例、实例的端口信息直至一个不存在所述第二连接的端口,具体的,参阅图7,g的p1端口仅有连向f的p1端口的第二连接,那么先追溯到f的p1端口,而f的p1端口有连向b的p2端口的第二连接,则继续追溯到b的p2端口,b的p2端口有连向a的p2端口的第二连接,a的p2端口没有第二连接,追溯结束;将追溯到的内容(g的p1端口、f的p1端口、b的p2端口、a的p2端口)作为所述连接描述记录,具体的,描述为“igpp1:ifpp1,ifpp1:ibpp2,ibpp2:iapp2;”其中,“,”为连接与连接之间的间隔符,“;”为表示连接描述结束的区别符号,“i(表示实例)g(实例名称)p(表示端口)p1(端口信息):(表示连接)ifpp1”;s3027该连接描述与以该实例名称构成的关键字对应;具体的,以g的p1端口开始的连接描述与关键字g对应。
59.如果一个端口存在所述第二连接和第一连接,则执行s3028沿第一连接追溯实例、实例的端口信息直至一个不存在所述第一连接的端口,并沿第二连接追溯实例、实例的端口信息直至一个不存在第二连接的端口,具体的,参阅图7,当处理e时,e的p1端口存在第二连接和第一连接,沿第一连接追溯到d的p1端口,d的p1端口不存在第一连接,停止沿第一连接追溯,沿第二连接追溯到c的p1端口,c的p1端口不存在第二连接,结束沿第二连接追溯。将追溯到的内容作为所述连接描述记录,“idpp1:iepp1,iepp1:icpp1;”;s3029将该连接描述与以沿第一连接追溯过程中不存在所述第一连接的端口所在实例的实例名称构成的关键字对应。即与关键字d对应。
60.s400,通过检索所述连接字典获取实例的端口到端口的连接信息来进行多端口嵌套模型连接分析。具体的,以所述关键字作为检索词,在所述连接字典中检索检索词获取实例的端口到端口的连接信息。参阅图7当以关键字c为检索词,在所述连接字典中检索c,能检索出如下两组连接描述:“icpp2:iepp0;icpp2:ifpp2:[igpp0,ihpp0];”,其中,“ifpp2:[igpp0,ihpp0]”表示f的p2端口连向g的p0端口和h的p0端口。
[0061]
本发明提供一种多端口嵌套模型连接分析的存储介质,存储至少一条指令,执行所述指令实现如所述的多端口嵌套模型连接分析方法。
[0062]
本发明提供的多端口嵌套模型连接分析方法及介质在应用到专用集成电路系统分析时,通过获取专用集成电路系统的连接字典,并根据检索词检索专用集成电路系统中ip核实例或者模块实例的端口连接情况,从而方便对专用集成电路系统进行分析。无需分析人员根据专用集成电路系统中实例层层去追溯获取连接情况,能够节省大量的分析时间。在进行实例连接的自动化检测时,通过本发明的多端口嵌套模型连接分析方法及介质能够快速获取实例连接情况,减少自动化检测的耗时。
[0063]
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0064]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0065]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1