首页 / 一种IP集成系统

一种IP集成系统实质审查 发明

技术领域

[0001] 本发明涉及芯片设计技术领域,特别是涉及一种IP集成系统。

相关背景技术

[0002] 在芯片设计场景下,通常需要在芯片内集成多个IP核,以芯片能够实现多样化的功能,IP核可以理解为成熟的电路设计模块,在芯片设计过程应用IP核,能够有效降低冗余设计成本,降低错误发生风险,提高芯片设计效率。
[0003] IP核通常包括多个端口,在IP核集成到芯片设计中时,需要将IP核的端口和与其存在信号通信关系的端口通过连接线进行连接,在IP集成过程中,由于IP核的端口命名没有统一的格式,不同来源的IP核的端口命名方式往往存在差异,因此,通常需要人工确定各个端口之间的连接关系,再为存在连接关系的端口写入相同的连接线名称,从而实现端口之间的连接。显然,采用人工写入的方式会引入额外的人力资源消耗,且人工方式的效率较低,因此,如何提高IP集成的效率成为了亟待解决问题。

具体实施方式

[0020] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021] 本实施例提供一种IP集成系统,所述系统包括:作为集成目标模块的主模块a、待集成的子模块集合B={b1,b2,…,bn,…,bN}、数据库、处理器和存储有计算机程序的存储器,其中,bn为第n个子模块,n为[1,N]范围内的整数,N为所述子模块集合B中包含的子模块数量,所述数据库包括所述主模块a的端口名称集合Pa={pa1,pa2,…,pam,…,paM}、子模块n n n nbn的端口名称集合Pbn={pb1,pb 2,…,pbq(n),…,pbQ(n)}和bn对应的映射语句序列Cn,Cn=n n n n
[c1,c2,…,cr(n),…,cR(n)],pam为所述主模块a的第m个端口的端口名称,m为[1,M]范围内n
的整数,M为Pa中包含的端口名称数量,pam对应于连接线名称wam,pbq(n)为第n个子模块的第q(n)个端口的端口名称,q(n)为[1,Q(n)]范围内的整数,Q(n)为Pbn中包含的端口名称数n n n
量,pbq(n)对应于连接线名称wbq(n),Cn为第n个子模块对应的映射语句序列,cr(n)为第n个映射语句序列中的第r(n)个映射语句,r(n)为[1,R(n)]范围内的整数,R(n)为Cn中包含映n n n n
射语句的数量,c r(n)=[cr(n)1,c r(n)2],c r(n)1为Cn中第r(n)个映射语句中的映射条件,n
cr(n)2为Cn中第r(n)个映射语句中的映射指令,参见图1,为本发明实施例提供的一种IP集成系统中计算机程序被处理器执行时的流程图,当所述计算机程序被处理器执行时,实现以下步骤:
[0022] 步骤S101,初始化模块标识i=1;
[0023] 步骤S102,以bi作为对象模块,确定bi对应的映射语句序列Ci,i为[1,N]范围内的整数;
[0024] 步骤S103,初始化执行标识j=1;
[0025] 步骤S104,检测wbiq(i)是否满足映射条件cji(j)1;
[0026] 步骤S105,若wbiq(i)满足映射条件cji(j)1,则执行步骤S106,否则,执行步骤S107;
[0027] 步骤S106,执行映射指令cji(j)2对wbiq(i)进行映射,得到映射结果wdiq(i),使用i iwdq(i)更新wbq(i);
[0028] 步骤S107,更新j=j+1,返回执行步骤S104至步骤S106,直至j=R(i)+1,执行步骤S108;
[0029] 步骤S108,更新i=i+1,返回执行步骤S102至步骤S107,直至i=N+1,执行步骤S109;
[0030] 步骤S109,由连接线名称相同的端口在逻辑上自动连接,得到集成结果。
[0031] 其中,主模块a可以是指端口对应的连接线名称可以作为参考命名方式的模块,子模块可以是指需要将端口对应的连接线名称映射为符合参考命名方式的模块,主模块或者任一子模块均可以包括多个端口,每个端口均有对应的端口名称和连接线名称,需要说明的是,实施者可以根据实际情况灵活确定主模块和子模块,例如,若干个模块的端口对应的连接线名称相同或近似,则可以从其中任选一个模块作为主模块,从而减少子模块端口对应连接线名称的映射次数,以进一步提高IP集成效率。
[0032] 对象模块可以是指当前进行端口连接线名称映射的模块,对象模块对应的映射语句序列可以用于对对象模块各个端口对应的连接线名称进行映射。
[0033] 具体地,针对对象模块任一端口对应的连接线名称,依次使用对象模块对应的映射语句序列中的映射语句对该连接线名称进行处理,映射语句的处理过程包括映射条件检测和映射指令执行,当连接线名称满足映射条件时,执行对应的映射指令,否则跳转至下一条映射语句,需要说明的是,当连接线名称执行映射指令后,以执行映射指令后的结果更新连接线名称,从而在执行下一条映射语句时,是以更新后的连接线名称进行映射条件检测。使用上述方式能够将单个复杂的连接线名称映射转换为多个简单的连接线名称映射,以使得本实施例在兼容复杂场景的同时,尽量简化映射语句序列的设置。
[0034] 在一种具体的实施方式中,cnr(n)1使用正则表达式形式。
[0035] 其中,正则表达式可以是一组由字母和符号组成的特殊文本,正则表达式可以用n于查找满足对应格式的字符串,在本实施例中,c r(n)1使用正则表达式形式,从而可以用于确定满足对应格式的连接线名称。
[0036] 本实施例中,映射语句序列可以将主模块端口和子模块端口之间的连接关系,以及具有连接关系的端口连接线名称作为先验信息,通过对先验信息进行统计,确定映射语句序列中的映射语句,其中,若部分端口对应连接线名称的映射方式相同且格式相同,则可通过正则表达式表示。
[0037] 具体地,cnr(n)2也可以采用正则表达式形式,表示将符合cnr(n)1条件的连接线名称n的格式映射为cr(n)2对应的格式。
[0038] 需要说明的是,实施者也可以使用预设字符串的形式来表示cnr(n)1,此时,需要连n n接线名称完全与cr(n)1一致时,才执行cr(n)2,同理,实施者也可以使用预设字符串的形式来n n n
表示cr(n)2,此时,满足cr(n)1的连接线名称直接转换为cr(n)2,同样地,实施者也可以使用预n n
设字符串的形式来表示cr(n)1和cr(n)2,在此不再赘述。
[0039] 在一种具体的实施方式中,wam与pam相同,wbnq(n)初始与pbnq(n)相同。
[0040] 其中,初始以端口名称作为端口的连接线名称,由于主模块的端口连接线名称不进行映射,因此wam始终与pam相同,而子模块的端口连接线名称仅需要保证在未进行映射之n n前与端口名称一致,也即wbq(n)初始与pbq(n)相同。
[0041] 在一种具体的实施方式中,cnr(n)2对应的映射方式至少包括:对wbnq(n)进行大小写转换。
[0042] 其中,映射方式还可以包括对wbnq(n)中的部分字符进行位置交换、对wbnq(n)中的部n分字符进行增删等,映射方式可以根据实施者设置的cr(n)2灵活确定,从而提高本实施例在应用时的泛化性。
[0043] 在一种具体的实施方式中,当wbnq(n)为第一预设符时,pbnq(n)对应的端口不与其他端口连接。
[0044] 其中,模块中的某些端口可以不与其他端口连接,因此设置第一预设符来表示此类端口,使得当端口对应的连接线名称均为第一预设符时,端口之间也不进行连接。
[0045] 在一种具体的实施方式中,a属于第一层级,B属于第二层级,当wbnq(n)为第二预设n n符时,pbq(n)作为所述第一层级的端口,否则,pbq(n)作为所述第二层级的端口。
[0046] 其中,由于芯片设计通常是多层的,本实施例以a所属层级作为第一层级,B所属层级作为第二层级,对于子模块的某些端口需要与第一层级的端口连接的情况,设置第二预设符来表示此类端口。
[0047] 在一种具体的实施方式中,所述数据库还包括bn对应的模块使用次数gn,相应地,n n映射指令cr(n)2对应的映射方式包括在wbq(n)中插入参考标识。
[0048] 其中,可以在IP集成时使用多个相同的子模块,则参考标识可以用于区分同一子模块的不同使用次数,以避免连接时出现错误。
[0049] 具体地,实施者可以设置参考标识为x,x可以是[1,gn]范围内的整数,即可以区分同一子模块的不同使用次数。
[0050] 进一步地,当多个相同的子模块对应端口之间也存在连接时,可以通过参考标识建立连接关系,例如在插入参考标识x之后,映射x=x+1,则前一次使用的子模块即可与后一次使用的子模块进行端口连接。
[0051] 本实施例中,通过包含多个映射语句的映射语句序列对子模块端口的连接线名称进行映射,从而使得各个子模块的端口连接线名称与主模块的端口连接线名称相同,进而实现主模块和多个子模块的集成,而且,映射语句包括映射条件和映射指令,仅在满足映射条件时才执行映射指令,且映射条件和映射指令可以灵活配置,从而提高了名称映射的灵活性,另外,通过多条映射语句依次使用的方式,能够使得名称映射可以通过多次映射实现,也即能够兼容复杂场景,从而极大提高了IP集成的效率。
[0052] 虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。

当前第1页 第1页 第2页 第3页