当前位置: 首页 > 专利查询>鹏城实验室专利>正文

RTL代码生成方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38903909 阅读:12 留言:0更新日期:2023-09-22 14:22
本申请公开了一种RTL代码生成方法、装置、电子设备及存储介质,所述的RTL代码生成方法包括以下步骤:获取多个子模块各自对应的子模块设计文件,其中,各所述子模块由目标模块分解得到;通过高层次综合将各所述子模块设计文件分别转换为子模块RTL代码;获取各所述子模块中的待连接接口各自对应的连接关系;基于所述连接关系和各所述子模块RTL代码,生成所述目标模块对应的目标模块RTL代码。本申请解决了现有技术大型集成电路设计的开发效率较低的技术问题。的技术问题。的技术问题。

【技术实现步骤摘要】
RTL代码生成方法、装置、电子设备及存储介质


[0001]本申请涉及芯片
,尤其涉及一种RTL代码生成方法、装置、电子设备及存储介质。

技术介绍

[0002]根据NEC(日本电气株式会社)2004年发布的研究,一个拥有100万逻辑门的芯片设计通常需要编写30万行RTL(Register Transfer Level)代码。因此,完全使用RTL级的逻辑抽象设计当代芯片是不现实的,且会对设计、验证、集成等各个环节造成巨大的压力。相比之下,使用诸如C、C++等高层次语言对系统建模,可以将代码密度压缩7到10倍,这极大的缓解了设计复杂度。因此,目前通常是先采用高层次语言进行集成电路设计,进而通过高层次综合将高层次语言转化成RTL代码。
[0003]然而,通过高层次综合对大型集成电路设计进行综合的时间过长,有时甚至会因为资源占用过高导致机器卡死,极大的影响开发的效率。

技术实现思路

[0004]本申请的主要目的在于提供一种RTL代码生成方法、装置、电子设备及存储介质,旨在解决现有技术大型集成电路设计的开发效率较低的技术问题。
[0005]为实现上述目的,本申请提供一种RTL代码生成方法,包括以下步骤:
[0006]获取多个子模块各自对应的子模块设计文件,其中,各所述子模块由目标模块分解得到;
[0007]通过高层次综合将各所述子模块设计文件分别转换为子模块RTL代码;
[0008]获取各所述子模块中的待连接接口各自对应的连接关系;
[0009]基于所述连接关系和各所述子模块RTL代码,生成所述目标模块对应的目标模块RTL代码。
[0010]可选地,所述获取各所述子模块中的待连接接口各自对应的连接关系的步骤包括:
[0011]获取所述目标模块对应的约束规则和配置文件;
[0012]基于所述配置文件中的顶层信息字段,对各所述子模块RTL代码进行解析,确定各所述子模块中的待连接接口的接口信息;
[0013]根据所述约束规则和各所述接口信息,确定各个子模块中的待连接接口各自对应的连接关系。
[0014]可选地,所述基于所述连接关系和各所述子模块RTL代码,生成所述目标模块对应的目标模块RTL代码的步骤包括:
[0015]基于所述连接关系和各所述接口信息生成顶层Scala文件;
[0016]通过执行所述顶层Scala文件,对各所述待连接接口进行连接,生成顶层模块代码;
[0017]对所述顶层模块代码和各所述子模块RTL代码进行集成,得到目标模块RTL代码。
[0018]可选地,所述约束规则包括同步约束规则、匹配约束规则、环回约束规则、映射约束规则、配置约束规则、忽视约束规则和仲裁约束规则。
[0019]可选地,各所述子模块中包括至少一对待互联子模块对,所述待互联子模块对中的两个待互联子模块通过乒乓操作模块进行数据互联。
[0020]可选地,所述乒乓操作模块包括输入数据选择单元、输出数据选择单元、第一缓冲单元和第二缓冲单元,其中,
[0021]所述输入数据选择单元用于切换输入数据存储的第一目标缓冲单元,所述第一目标缓冲单元包括第一缓冲单元和第二缓冲单元;
[0022]所述输出数据选择单元用于切换获取输出数据的第二目标缓冲单元,所述第二目标缓冲单元包括第一缓冲单元和第二缓冲单元。
[0023]可选地,所述基于所述连接关系和各所述子模块RTL代码,生成所述目标模块对应的目标模块RTL代码的步骤之后还包括:
[0024]对所述目标模块RTL代码进行接口连接检测;
[0025]若检测到接口连接异常,则输出连接异常提醒信息。
[0026]本申请还提供一种RTL代码生成装置,所述RTL代码生成装置包括:
[0027]子模块设计文件获取模块,用于获取多个子模块各自对应的子模块设计文件,其中,各所述子模块由目标模块分解得到;
[0028]子模块RTL代码转换模块,用于通过高层次综合将各所述子模块设计文件分别转换为子模块RTL代码;
[0029]连接关系获取模块,用于获取各所述子模块中的待连接接口各自对应的连接关系;
[0030]目标模块RTL代码生成模块,用于基于所述连接关系和各所述子模块RTL代码,生成所述目标模块对应的目标模块RTL代码。
[0031]本申请还提供一种电子设备,所述电子设备为实体设备,所述电子设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述的RTL代码生成方法的程序,所述的RTL代码生成方法的程序被处理器执行时可实现如上述的RTL代码生成方法的步骤。
[0032]本申请还提供一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有实现RTL代码生成方法的程序,所述的RTL代码生成方法的程序被处理器执行时实现如上述的RTL代码生成方法的步骤。
[0033]本申请提供了一种RTL代码生成方法、装置、电子设备及存储介质,通过获取多个子模块各自对应的子模块设计文件,其中,各所述子模块由目标模块分解得到,实现了对集成电路的分解,将较为大型集成电路的设计文件分解成了多个较为小型子模块的子模块设计文件,进而通过高层次综合将各所述子模块设计文件分别转换为子模块RTL代码,实现了分别对各个子模块设计文件的高层次综合,子模块设计文件远小于整个大型集成电路的设计文件,故而可以有效减少其高层次综合的时间和资源占用率,进而通过获取各所述子模块中的待连接接口各自对应的连接关系,基于所述连接关系和各所述子模块RTL代码,生成所述目标模块对应的目标模块RTL代码,实现了对分解后的各个小模块的连线,将分解后的
各个小模块的子模块RTL代码集成为大型的目标模块对应的目标模块RTL代码,也即获得了所述大型集成电路对应的RTL代码。这样,相比于大型集成电路整体进行高层次综合的方式,本申请通过将大型集成电路模块化之后分别进行高层次综合再连接,可以使得高层次综合的时间和资源占用率均大大减少,克服了通过高层次综合对大型集成电路设计进行综合的时间过长,有时甚至会因为资源占用过高导致机器卡死,极大的影响开发的效率的技术缺陷,提高了大型集成电路设计的开发效率。
附图说明
[0034]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0035]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图得到其他的附图。
[0036]图1为本申请中RTL代码生成方法的第一实施例的流程示意图;
[0037]图2为本申请实施例中乒乓操作模块的结构示意图;
[0038]图3为本申请实施例中连线工具的结构示意图;
[0039]图4为本申请中RTL代码生成方法的第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种RTL代码生成方法,其特征在于,所述RTL代码生成方法包括以下步骤:获取多个子模块各自对应的子模块设计文件,其中,各所述子模块由目标模块分解得到;通过高层次综合将各所述子模块设计文件分别转换为子模块RTL代码;获取各所述子模块中的待连接接口各自对应的连接关系;基于所述连接关系和各所述子模块RTL代码,生成所述目标模块对应的目标模块RTL代码。2.如权利要求1所述的RTL代码生成方法,其特征在于,所述获取各所述子模块中的待连接接口各自对应的连接关系的步骤包括:获取所述目标模块对应的约束规则和配置文件;基于所述配置文件中的顶层信息字段,对各所述子模块RTL代码进行解析,确定各所述子模块中的待连接接口的接口信息;根据所述约束规则和各所述接口信息,确定各个子模块中的待连接接口各自对应的连接关系。3.如权利要求2所述的RTL代码生成方法,其特征在于,所述基于所述连接关系和各所述子模块RTL代码,生成所述目标模块对应的目标模块RTL代码的步骤包括:基于所述连接关系和各所述接口信息生成顶层Scala文件;通过执行所述顶层Scala文件,对各所述待连接接口进行连接,生成顶层模块代码;对所述顶层模块代码和各所述子模块RTL代码进行集成,得到目标模块RTL代码。4.如权利要求2所述的RTL代码生成方法,其特征在于,所述约束规则包括同步约束规则、匹配约束规则、环回约束规则、映射约束规则、配置约束规则、忽视约束规则和仲裁约束规则。5.如权利要求1所述的RTL代码生成方法,其特征在于,各所述子模块中包括至少一对待互联子模块对,所述待互联子模块对中的两个待互联子模块通过乒乓操作模块进行数据互联。6.如权利要求5所述的RTL代码生成方法,其特征在于,所述乒乓操作模块包括输入数据选择单元、输出数据选择单元、第一缓冲单元和第...

【专利技术属性】
技术研发人员:廖振雄张鹏武金彪林昊李英都美江姜宇程王景生胡亮
申请(专利权)人:鹏城实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1